danoniplus 51.4.0 → 51.4.1
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 +3 -3
- package/js/lib/danoni_constants.js +2 -2
- package/js/lib/dataLoader.js +2 -1
- package/js/lib/mainWindow.js +30 -39
- 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 : 2026/10/
|
|
7
|
+
* Revised : 2026/10/20
|
|
8
8
|
*
|
|
9
9
|
* https://github.com/cwtickle/danoniplus
|
|
10
10
|
*/
|
|
11
|
-
const g_version = `Ver 51.4.
|
|
12
|
-
const g_revisedDate = `2026/10/
|
|
11
|
+
const g_version = `Ver 51.4.1`;
|
|
12
|
+
const g_revisedDate = `2026/10/20`;
|
|
13
13
|
|
|
14
14
|
// カスタム用バージョン (danoni_custom.js 等で指定可)
|
|
15
15
|
let g_localVersion = ``;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Source by tickle
|
|
7
7
|
* Created : 2019/11/19
|
|
8
|
-
* Revised : 2026/10/
|
|
8
|
+
* Revised : 2026/10/20 (v51.4.1)
|
|
9
9
|
*
|
|
10
10
|
* https://github.com/cwtickle/danoniplus
|
|
11
11
|
*/
|
|
@@ -207,7 +207,7 @@ const updateWindowSiz = () => {
|
|
|
207
207
|
keyTitleSprite: { x: g_btnX(1 / 4), y: g_sHeight / 2 - 5, w: g_btnWidth(1 / 2), h: 16 },
|
|
208
208
|
mSelectTitleSprite: { x: g_btnX(), y: 0, w: g_btnWidth(), h: g_sHeight, clipPath: `inset(12% 0 8% 0)` },
|
|
209
209
|
settingSumSprite: { x: g_btnX() + 25, y: g_sHeight - 200, w: g_btnWidth() - 50, h: 100, pointerEvents: C_DIS_AUTO, overflow: C_DIS_AUTO },
|
|
210
|
-
optionSprite: { x: (g_sWidth - 450) / 2, y: 65, w:
|
|
210
|
+
optionSprite: { x: (g_sWidth - 450) / 2, y: 65, w: g_sWidth / 2 + 225, h: 325 },
|
|
211
211
|
dataSprite: { x: g_btnX() + (g_sWidth - Math.max(g_sWidth - 100, 450)) / 2, y: 65, w: Math.max(g_sWidth - 100, 450), h: 325 },
|
|
212
212
|
keyListSprite: { x: 0, y: g_limitObj.setLblHeight * 7.5 + 40, w: 150, h: g_sHeight - 380, overflow: C_DIS_AUTO },
|
|
213
213
|
difList: { x: 165, y: 60, w: 280, h: 270 + g_sHeight - 500, overflow: C_DIS_AUTO, pointerEvents: C_DIS_AUTO },
|
package/js/lib/dataLoader.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Source by tickle
|
|
7
7
|
* Created : 2026/09/13
|
|
8
|
-
* Revised : 2026/10/
|
|
8
|
+
* Revised : 2026/10/20 (v51.4.1)
|
|
9
9
|
*
|
|
10
10
|
* https://github.com/cwtickle/danoniplus
|
|
11
11
|
*/
|
|
@@ -2466,6 +2466,7 @@ const getArrowSettings = (_retryFlg = false) => {
|
|
|
2466
2466
|
|
|
2467
2467
|
// FrzReturnの初期化
|
|
2468
2468
|
g_workObj.frzReturnFlg = false;
|
|
2469
|
+
g_workObj.frzReturnPausedFlg = false;
|
|
2469
2470
|
g_workObj.frzReturnSeq = g_frzReturnSeqFunc.get(g_stateObj.frzReturnType)();
|
|
2470
2471
|
if (g_workObj.frzReturnTimerId) {
|
|
2471
2472
|
g_timerHandler.clearTimeout(g_workObj.frzReturnTimerId);
|
package/js/lib/mainWindow.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Source by tickle
|
|
7
7
|
* Created : 2026/09/13
|
|
8
|
-
* Revised : 2026/10/
|
|
8
|
+
* Revised : 2026/10/20 (v51.4.1)
|
|
9
9
|
*
|
|
10
10
|
* https://github.com/cwtickle/danoniplus
|
|
11
11
|
*/
|
|
@@ -405,10 +405,12 @@ const mainInit = () => {
|
|
|
405
405
|
};
|
|
406
406
|
Object.keys(jdgMainScoreObj).forEach(jdgScore =>
|
|
407
407
|
infoSprite.appendChild(
|
|
408
|
-
|
|
409
|
-
g_headerObj.playingWidth - 110 + (g_workObj.nonDefaultSc ? g_headerObj.scAreaWidth : 0),
|
|
410
|
-
|
|
411
|
-
|
|
408
|
+
createDivCss2Label(`lbl${jdgScore}`, 0, {
|
|
409
|
+
x: g_headerObj.playingWidth - 110 + (g_workObj.nonDefaultSc ? g_headerObj.scAreaWidth : 0),
|
|
410
|
+
y: g_limitObj.jdgCntsHeight * (jdgMainScoreObj[jdgScore][1] + 1),
|
|
411
|
+
w: g_limitObj.jdgCntsWidth, h: g_limitObj.jdgCntsHeight, siz: g_limitObj.jdgCntsSiz, align: C_ALIGN_RIGHT,
|
|
412
|
+
display: g_workObj.scoreDisp,
|
|
413
|
+
}, g_cssObj[`common_${jdgMainScoreObj[jdgScore][0]}`])
|
|
412
414
|
)
|
|
413
415
|
);
|
|
414
416
|
|
|
@@ -1116,8 +1118,9 @@ const mainInit = () => {
|
|
|
1116
1118
|
|
|
1117
1119
|
// 移動
|
|
1118
1120
|
updateArrowPos(arrowName, currentArrow);
|
|
1121
|
+
currentArrow.cnt--;
|
|
1119
1122
|
|
|
1120
|
-
funcs.judgeMotion(_j, arrowName,
|
|
1123
|
+
funcs.judgeMotion(_j, arrowName, currentArrow.cnt);
|
|
1121
1124
|
funcs.judgeNext(_j, _k, currentArrow.cnt);
|
|
1122
1125
|
};
|
|
1123
1126
|
|
|
@@ -1273,7 +1276,7 @@ const mainInit = () => {
|
|
|
1273
1276
|
* @param {string} _frzName
|
|
1274
1277
|
* @param {object} _frz g_attrObj[_frzName]
|
|
1275
1278
|
*/
|
|
1276
|
-
const
|
|
1279
|
+
const movFrz = (_j, _k, _name, _frzName, _frz) => {
|
|
1277
1280
|
|
|
1278
1281
|
// 全体色変化 (通常時)
|
|
1279
1282
|
changeColorOnFrame(_j, _k, _name, `Normal`);
|
|
@@ -1295,7 +1298,7 @@ const mainInit = () => {
|
|
|
1295
1298
|
* @param {object} _frz g_attrObj[_frzName]
|
|
1296
1299
|
* @param {number} _movY 1フレームあたりの移動量
|
|
1297
1300
|
*/
|
|
1298
|
-
const
|
|
1301
|
+
const holdFrz = (_j, _k, _name, _frzName, _frz, _movY) => {
|
|
1299
1302
|
const funcs = objFuncs[_name];
|
|
1300
1303
|
|
|
1301
1304
|
// 全体色変化 (ヒット時)
|
|
@@ -1332,7 +1335,7 @@ const mainInit = () => {
|
|
|
1332
1335
|
* @param {object} _frz g_attrObj[_frzName]
|
|
1333
1336
|
* @param {number} _movY 1フレームあたりの移動量
|
|
1334
1337
|
*/
|
|
1335
|
-
const
|
|
1338
|
+
const endFrz = (_j, _name, _frzName, _frz, _movY) => {
|
|
1336
1339
|
_frz.frzBarLength -= _movY * _frz.dir;
|
|
1337
1340
|
if (_frz.frzBarLength > 0) {
|
|
1338
1341
|
_frz.y -= _movY;
|
|
@@ -1354,14 +1357,14 @@ const mainInit = () => {
|
|
|
1354
1357
|
const movY = g_workObj.currentSpeed * currentFrz.boostSpd * currentFrz.dir;
|
|
1355
1358
|
|
|
1356
1359
|
if (currentFrz.judgEndFlg) {
|
|
1357
|
-
|
|
1360
|
+
endFrz(_j, _name, frzName, currentFrz, movY);
|
|
1358
1361
|
return;
|
|
1359
1362
|
}
|
|
1360
1363
|
|
|
1361
1364
|
if (currentFrz.isMoving) {
|
|
1362
|
-
|
|
1365
|
+
movFrz(_j, _k, _name, frzName, currentFrz);
|
|
1363
1366
|
} else {
|
|
1364
|
-
|
|
1367
|
+
holdFrz(_j, _k, _name, frzName, currentFrz, movY);
|
|
1365
1368
|
}
|
|
1366
1369
|
|
|
1367
1370
|
// フリーズアローが枠外に出たときの処理
|
|
@@ -1426,8 +1429,7 @@ const mainInit = () => {
|
|
|
1426
1429
|
} else if (/\[fontSize=\d+\]/.test(wordDat)) {
|
|
1427
1430
|
|
|
1428
1431
|
// フォントサイズ変更
|
|
1429
|
-
|
|
1430
|
-
styWord.fontSize = wUnit(fontSize);
|
|
1432
|
+
styWord.fontSize = wUnit(setIntVal(wordDat.match(/\d+/)[0], g_limitObj.mainSiz));
|
|
1431
1433
|
|
|
1432
1434
|
} else {
|
|
1433
1435
|
|
|
@@ -1435,9 +1437,10 @@ const mainInit = () => {
|
|
|
1435
1437
|
const fadeFinished = _currentFrame - g_workObj.lastFadeFrame[wordDepth] >= g_workObj.wordFadeFrame[wordDepth];
|
|
1436
1438
|
if (fadeFinished) {
|
|
1437
1439
|
[`Out`, `In`].forEach(type => {
|
|
1438
|
-
|
|
1440
|
+
const key = `fade${type}Flg${wordDepth}`;
|
|
1441
|
+
if (g_wordObj[key]) {
|
|
1439
1442
|
styWord.animationName = `none`;
|
|
1440
|
-
g_wordObj[
|
|
1443
|
+
g_wordObj[key] = false;
|
|
1441
1444
|
}
|
|
1442
1445
|
});
|
|
1443
1446
|
}
|
|
@@ -1729,6 +1732,7 @@ const mainInit = () => {
|
|
|
1729
1732
|
// FrzReturn演出はflowTimelineと独立したタイマーで動いているため、
|
|
1730
1733
|
// 一時停止時点で早期終了させる(位置復元はせず、通常終了時と同じ後片付けを行う)
|
|
1731
1734
|
resetFrzReturn();
|
|
1735
|
+
g_workObj.frzReturnPausedFlg = true;
|
|
1732
1736
|
}
|
|
1733
1737
|
g_timerHandler.clearTimeout(g_timeoutEvtId);
|
|
1734
1738
|
g_audio.pause();
|
|
@@ -1805,6 +1809,11 @@ const mainInit = () => {
|
|
|
1805
1809
|
pausedElapsedTime = null;
|
|
1806
1810
|
pausedStartAdjustment = null;
|
|
1807
1811
|
g_timeoutEvtId = g_timerHandler.setTimeout(flowTimeline, 1000 / g_fps);
|
|
1812
|
+
|
|
1813
|
+
if (g_workObj.frzReturnPausedFlg) {
|
|
1814
|
+
startFrzReturn();
|
|
1815
|
+
g_workObj.frzReturnPausedFlg = false;
|
|
1816
|
+
}
|
|
1808
1817
|
};
|
|
1809
1818
|
|
|
1810
1819
|
const tick = _remaining => {
|
|
@@ -2059,24 +2068,6 @@ const changeAppearanceFilter = (_num = 10) => {
|
|
|
2059
2068
|
return doubleFilterFlg;
|
|
2060
2069
|
};
|
|
2061
2070
|
|
|
2062
|
-
/**
|
|
2063
|
-
* 判定カウンタ表示作成
|
|
2064
|
-
* @param {string} _id
|
|
2065
|
-
* @param {number} _x
|
|
2066
|
-
* @param {string} _class
|
|
2067
|
-
* @param {number} _heightPos
|
|
2068
|
-
* @param {string|number} _text
|
|
2069
|
-
* @param {string} [_display='inherit'] 表示有無 (inherit: 表示 / none: 非表示)
|
|
2070
|
-
* @returns {HTMLDivElement}
|
|
2071
|
-
*/
|
|
2072
|
-
const makeCounterSymbol = (_id, _x, _class, _heightPos, _text, _display = C_DIS_INHERIT) => {
|
|
2073
|
-
return createDivCss2Label(_id, _text, {
|
|
2074
|
-
x: _x, y: g_limitObj.jdgCntsHeight * _heightPos,
|
|
2075
|
-
w: g_limitObj.jdgCntsWidth, h: g_limitObj.jdgCntsHeight, siz: g_limitObj.jdgCntsSiz, align: C_ALIGN_RIGHT,
|
|
2076
|
-
display: _display,
|
|
2077
|
-
}, _class);
|
|
2078
|
-
};
|
|
2079
|
-
|
|
2080
2071
|
/**
|
|
2081
2072
|
* ステップゾーンの表示・非表示切替
|
|
2082
2073
|
* @param {number} _j
|
|
@@ -2156,6 +2147,7 @@ const executeFrzReturn = (_seq, _idx, _axis) => {
|
|
|
2156
2147
|
// 画面がプレイ画面から移動した場合
|
|
2157
2148
|
g_workObj.frzReturnFlg = false;
|
|
2158
2149
|
g_workObj.frzReturnTimerId = null;
|
|
2150
|
+
g_workObj.frzReturnPausedFlg = false;
|
|
2159
2151
|
return;
|
|
2160
2152
|
}
|
|
2161
2153
|
|
|
@@ -2600,11 +2592,10 @@ const changeLifeColor = (_state = ``) => {
|
|
|
2600
2592
|
|
|
2601
2593
|
if (_state !== `` && _state !== g_workObj.currentLifeState) {
|
|
2602
2594
|
const lifeCss = g_cssObj[`life_${_state}`];
|
|
2603
|
-
lblLife
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
|
|
2595
|
+
[lblLife, lifeBar].forEach(elm => {
|
|
2596
|
+
elm.classList.remove(g_cssObj.life_Max, g_cssObj.life_Cleared, g_cssObj.life_Failed);
|
|
2597
|
+
elm.classList.add(lifeCss);
|
|
2598
|
+
});
|
|
2608
2599
|
g_workObj.currentLifeState = _state;
|
|
2609
2600
|
}
|
|
2610
2601
|
|