danoniplus 42.5.2 → 43.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/js/danoni_main.js +65 -26
- package/js/lib/danoni_constants.js +4 -1
- package/package.json +1 -1
package/js/danoni_main.js
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Source by tickle
|
|
6
6
|
* Created : 2018/10/08
|
|
7
|
-
* Revised : 2025/
|
|
7
|
+
* Revised : 2025/09/15
|
|
8
8
|
*
|
|
9
9
|
* https://github.com/cwtickle/danoniplus
|
|
10
10
|
*/
|
|
11
|
-
const g_version = `Ver
|
|
12
|
-
const g_revisedDate = `2025/
|
|
11
|
+
const g_version = `Ver 43.0.0`;
|
|
12
|
+
const g_revisedDate = `2025/09/15`;
|
|
13
13
|
|
|
14
14
|
// カスタム用バージョン (danoni_custom.js 等で指定可)
|
|
15
15
|
let g_localVersion = ``;
|
|
@@ -3574,7 +3574,7 @@ const headerConvert = _dosObj => {
|
|
|
3574
3574
|
obj.bpms[j] = musics[4] || obj.bpms[0];
|
|
3575
3575
|
|
|
3576
3576
|
// 代替タイトル名
|
|
3577
|
-
if (j === 0) {
|
|
3577
|
+
if (j === 0 && hasVal(_dosObj.musicNo)) {
|
|
3578
3578
|
alternativeTitle = musics[3];
|
|
3579
3579
|
}
|
|
3580
3580
|
}
|
|
@@ -4008,8 +4008,31 @@ const headerConvert = _dosObj => {
|
|
|
4008
4008
|
// フリーズアローの始点で通常矢印の判定を行うか(dotさんソース方式)
|
|
4009
4009
|
obj.frzStartjdgUse = setBoolVal(_dosObj.frzStartjdgUse ?? g_presetObj.frzStartjdgUse);
|
|
4010
4010
|
|
|
4011
|
-
//
|
|
4012
|
-
|
|
4011
|
+
// 空押し判定の設定
|
|
4012
|
+
// excessiveUses : 譜面毎の空押し有効化設定
|
|
4013
|
+
// excessiveJdgUses: 譜面毎の空押し初期設定
|
|
4014
|
+
obj.excessiveUses = [];
|
|
4015
|
+
obj.excessiveJdgUses = [];
|
|
4016
|
+
splitLF2(_dosObj.excessiveUse)?.forEach(val => {
|
|
4017
|
+
const tmpVal = val.split(`,`);
|
|
4018
|
+
obj.excessiveUses.push(setBoolVal(tmpVal[0]));
|
|
4019
|
+
obj.excessiveJdgUses.push(setVal(tmpVal[1], C_FLG_OFF, C_TYP_SWITCH) === C_FLG_ON);
|
|
4020
|
+
});
|
|
4021
|
+
if ((obj.excessiveUses?.length || 0) < obj.difLabels.length) {
|
|
4022
|
+
obj.excessiveUses = makeBaseArray(obj.excessiveUses, obj.difLabels.length,
|
|
4023
|
+
setBoolVal(obj.excessiveUses?.[0] ?? _dosObj.excessiveUse ?? g_presetObj.excessiveUse, true));
|
|
4024
|
+
obj.excessiveJdgUses = makeBaseArray(obj.excessiveJdgUses, obj.difLabels.length,
|
|
4025
|
+
setBoolVal(obj.excessiveJdgUses?.[0] ?? g_presetObj.excessiveJdgUse ?? false));
|
|
4026
|
+
}
|
|
4027
|
+
|
|
4028
|
+
// excessiveJdgUseが有効な場合は全譜面に対して強制的に上書き
|
|
4029
|
+
if (_dosObj.excessiveJdgUse !== undefined) {
|
|
4030
|
+
const excessiveJdg = setBoolVal(_dosObj.excessiveJdgUse);
|
|
4031
|
+
if (excessiveJdg) {
|
|
4032
|
+
obj.excessiveJdgUses = obj.excessiveJdgUses.map(val => true);
|
|
4033
|
+
}
|
|
4034
|
+
}
|
|
4035
|
+
obj.excessiveJdgUse = obj.excessiveJdgUses[0];
|
|
4013
4036
|
g_stateObj.excessive = boolToSwitch(obj.excessiveJdgUse);
|
|
4014
4037
|
g_settings.excessiveNum = Number(obj.excessiveJdgUse);
|
|
4015
4038
|
|
|
@@ -5209,8 +5232,11 @@ const titleInit = (_initFlg = false) => {
|
|
|
5209
5232
|
}
|
|
5210
5233
|
} else if (!g_headerObj.customTitleUse) {
|
|
5211
5234
|
// 曲名文字描画(曲名は譜面データから取得)
|
|
5212
|
-
divRoot.appendChild(
|
|
5213
|
-
g_headerObj.musicSelectUse
|
|
5235
|
+
divRoot.appendChild(
|
|
5236
|
+
g_headerObj.musicSelectUse
|
|
5237
|
+
? drawTitle(g_headerObj.musicTitlesForView[g_settings.musicIdxNum], g_headerObj.viewLists[0] + 1)
|
|
5238
|
+
: drawTitle()
|
|
5239
|
+
);
|
|
5214
5240
|
}
|
|
5215
5241
|
|
|
5216
5242
|
// クレジット表示
|
|
@@ -7120,6 +7146,18 @@ const setDifficulty = (_initFlg) => {
|
|
|
7120
7146
|
g_stateObj.autoPlay = g_settings.autoPlays[g_settings.autoPlayNum];
|
|
7121
7147
|
lnkAutoPlay.textContent = getStgDetailName(g_stateObj.autoPlay);
|
|
7122
7148
|
|
|
7149
|
+
// 譜面毎のExcessive再設定
|
|
7150
|
+
g_stateObj.excessive = boolToSwitch(g_headerObj.excessiveJdgUses[g_stateObj.scoreId]);
|
|
7151
|
+
g_headerObj.excessiveUse = g_headerObj.excessiveUses[g_stateObj.scoreId];
|
|
7152
|
+
g_headerObj.excessiveJdgUse = g_headerObj.excessiveJdgUses[g_stateObj.scoreId];
|
|
7153
|
+
if (g_headerObj.excessiveUse) {
|
|
7154
|
+
setExcessive(document.getElementById(`lnkExcessive`), g_stateObj.excessive === C_FLG_ON);
|
|
7155
|
+
lnkExcessive.style.display = C_DIS_INHERIT;
|
|
7156
|
+
} else {
|
|
7157
|
+
lblExcessive.style.display = (g_stateObj.excessive === C_FLG_ON ? C_DIS_INHERIT : C_DIS_NONE);
|
|
7158
|
+
lnkExcessive.style.display = C_DIS_NONE;
|
|
7159
|
+
}
|
|
7160
|
+
|
|
7123
7161
|
// 譜面明細画面の再描画
|
|
7124
7162
|
if (g_settings.scoreDetails.length > 0) {
|
|
7125
7163
|
drawSpeedGraph(g_stateObj.scoreId);
|
|
@@ -7363,20 +7401,17 @@ const createOptionWindow = _sprite => {
|
|
|
7363
7401
|
}
|
|
7364
7402
|
|
|
7365
7403
|
// 空押し判定設定 (Excessive)
|
|
7366
|
-
|
|
7367
|
-
|
|
7368
|
-
|
|
7369
|
-
|
|
7370
|
-
|
|
7371
|
-
|
|
7372
|
-
)
|
|
7373
|
-
|
|
7374
|
-
|
|
7375
|
-
|
|
7376
|
-
|
|
7377
|
-
)
|
|
7378
|
-
);
|
|
7379
|
-
}
|
|
7404
|
+
spriteList.gauge.appendChild(
|
|
7405
|
+
createDivCss2Label(`lblExcessive`, `${g_lblNameObj.Excessive}:${C_FLG_ON}`,
|
|
7406
|
+
g_lblPosObj.lblExcessive, g_cssObj[`button_Disabled${C_FLG_ON}`]
|
|
7407
|
+
)
|
|
7408
|
+
);
|
|
7409
|
+
spriteList.gauge.appendChild(
|
|
7410
|
+
createCss2Button(`lnkExcessive`, g_lblNameObj.Excessive, evt => setExcessive(evt.target),
|
|
7411
|
+
Object.assign(g_lblPosObj.btnExcessive, {
|
|
7412
|
+
title: g_msgObj.excessive, cxtFunc: evt => setExcessive(evt.target),
|
|
7413
|
+
}), g_cssObj.button_Default, g_cssObj[`button_Rev${g_stateObj.excessive}`])
|
|
7414
|
+
);
|
|
7380
7415
|
|
|
7381
7416
|
// ---------------------------------------------------
|
|
7382
7417
|
// タイミング調整 (Adjustment)
|
|
@@ -7851,11 +7886,15 @@ const getAccuracy = (_border, _rcv, _dmg, _init, _allCnt) => {
|
|
|
7851
7886
|
* 空押し判定の設定
|
|
7852
7887
|
* @param {HTMLDivElement} _btn
|
|
7853
7888
|
*/
|
|
7854
|
-
const setExcessive = _btn => {
|
|
7855
|
-
|
|
7889
|
+
const setExcessive = (_btn, _val) => {
|
|
7890
|
+
const curExcessive = Number(g_settings.excessiveNum);
|
|
7891
|
+
g_settings.excessiveNum = _val ?? (curExcessive + 1) % 2;
|
|
7892
|
+
|
|
7856
7893
|
g_stateObj.excessive = g_settings.excessives[g_settings.excessiveNum];
|
|
7857
|
-
|
|
7858
|
-
g_cssObj[`button_Rev${g_settings.excessives[
|
|
7894
|
+
if ((curExcessive + g_settings.excessiveNum) % 2 !== 0) {
|
|
7895
|
+
_btn.classList.replace(g_cssObj[`button_Rev${g_settings.excessives[curExcessive]}`],
|
|
7896
|
+
g_cssObj[`button_Rev${g_settings.excessives[Number(g_settings.excessiveNum)]}`]);
|
|
7897
|
+
}
|
|
7859
7898
|
};
|
|
7860
7899
|
|
|
7861
7900
|
/**
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Source by tickle
|
|
7
7
|
* Created : 2019/11/19
|
|
8
|
-
* Revised : 2025/
|
|
8
|
+
* Revised : 2025/09/15 (v43.0.0)
|
|
9
9
|
*
|
|
10
10
|
* https://github.com/cwtickle/danoniplus
|
|
11
11
|
*/
|
|
@@ -376,6 +376,9 @@ const updateWindowSiz = () => {
|
|
|
376
376
|
btnReverse: {
|
|
377
377
|
x: 160, y: 0, w: 90, h: 21, siz: g_limitObj.difSelectorSiz, borderStyle: `solid`,
|
|
378
378
|
},
|
|
379
|
+
lblExcessive: {
|
|
380
|
+
x: 5, y: 27, w: 90, h: 18, siz: 12,
|
|
381
|
+
},
|
|
379
382
|
btnExcessive: {
|
|
380
383
|
x: 5, y: 25, w: 90, h: 21, siz: g_limitObj.difSelectorSiz, borderStyle: `solid`,
|
|
381
384
|
},
|