danoniplus 29.3.5 → 29.4.2
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 +55 -12
- package/js/lib/danoni_constants.js +2 -2
- 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 : 2023/
|
|
7
|
+
* Revised : 2023/02/26
|
|
8
8
|
*
|
|
9
9
|
* https://github.com/cwtickle/danoniplus
|
|
10
10
|
*/
|
|
11
|
-
const g_version = `Ver 29.
|
|
12
|
-
const g_revisedDate = `2023/
|
|
11
|
+
const g_version = `Ver 29.4.2`;
|
|
12
|
+
const g_revisedDate = `2023/02/26`;
|
|
13
13
|
const g_alphaVersion = ``;
|
|
14
14
|
|
|
15
15
|
// カスタム用バージョン (danoni_custom.js 等で指定可)
|
|
@@ -580,6 +580,17 @@ const openLink = _url => {
|
|
|
580
580
|
}
|
|
581
581
|
};
|
|
582
582
|
|
|
583
|
+
/**
|
|
584
|
+
* URLのフルパスを取得
|
|
585
|
+
* @param {string} _url
|
|
586
|
+
* @returns
|
|
587
|
+
*/
|
|
588
|
+
const getFullPath = _url => {
|
|
589
|
+
const link = document.createElement(`a`);
|
|
590
|
+
link.href = _url;
|
|
591
|
+
return link.href;
|
|
592
|
+
};
|
|
593
|
+
|
|
583
594
|
/**
|
|
584
595
|
* プリロードするファイルの設定
|
|
585
596
|
* @param {string} _as
|
|
@@ -645,7 +656,7 @@ const loadScript2 = (_url, _requiredFlg = true, _charset = `UTF-8`) => {
|
|
|
645
656
|
};
|
|
646
657
|
script.onerror = _err => {
|
|
647
658
|
if (_requiredFlg) {
|
|
648
|
-
makeWarningWindow(g_msgInfoObj.E_0041.split(`{0}`).join(
|
|
659
|
+
makeWarningWindow(g_msgInfoObj.E_0041.split(`{0}`).join(getFullPath(baseUrl)));
|
|
649
660
|
reject(_err);
|
|
650
661
|
} else {
|
|
651
662
|
resolve(script);
|
|
@@ -673,7 +684,7 @@ const importCssFile2 = _href => {
|
|
|
673
684
|
resolve(link);
|
|
674
685
|
};
|
|
675
686
|
link.onerror = _ => {
|
|
676
|
-
makeWarningWindow(g_msgInfoObj.E_0041.split(`{0}`).join(baseUrl), { resetFlg: `title` });
|
|
687
|
+
makeWarningWindow(g_msgInfoObj.E_0041.split(`{0}`).join(getFullPath(baseUrl)), { resetFlg: `title` });
|
|
677
688
|
resolve(link);
|
|
678
689
|
};
|
|
679
690
|
document.head.appendChild(link);
|
|
@@ -3564,6 +3575,12 @@ const keysConvert = (_dosObj, { keyExtraList = _dosObj.keyExtraList.split(`,`) }
|
|
|
3564
3575
|
g_keyObj[`divMax${ptnName}`] = setVal(tmpDivPtn[1], -1, C_TYP_FLOAT);
|
|
3565
3576
|
}
|
|
3566
3577
|
}
|
|
3578
|
+
} else if (g_keyObj[`chara${newKey}_0`] !== undefined) {
|
|
3579
|
+
// 特に指定が無い場合はcharaX_Yの配列長で決定
|
|
3580
|
+
for (let k = 0; k < tmpMinPatterns; k++) {
|
|
3581
|
+
const ptnName = `${newKey}_${k + dfPtnNum}`;
|
|
3582
|
+
g_keyObj[`div${ptnName}`] = g_keyObj[`chara${newKey}_0`].length;
|
|
3583
|
+
}
|
|
3567
3584
|
}
|
|
3568
3585
|
|
|
3569
3586
|
// ステップゾーン位置 (posX_Y)
|
|
@@ -3602,6 +3619,14 @@ const keysConvert = (_dosObj, { keyExtraList = _dosObj.keyExtraList.split(`,`) }
|
|
|
3602
3619
|
|
|
3603
3620
|
// シャッフルグループ (shuffleX_Y)
|
|
3604
3621
|
newKeyTripleParam(newKey, `shuffle`);
|
|
3622
|
+
if (g_keyObj[`shuffle${newKey}_${dfPtnNum}_0`] === undefined) {
|
|
3623
|
+
// 特に指定が無い場合はcolorX_Yの配列長で決定
|
|
3624
|
+
for (let k = 0; k < tmpMinPatterns; k++) {
|
|
3625
|
+
const ptnName = `${newKey}_${k + dfPtnNum}`;
|
|
3626
|
+
g_keyObj[`shuffle${ptnName}_0`] = [...Array(g_keyObj[`color${ptnName}`].length)].fill(0);
|
|
3627
|
+
g_keyObj[`shuffle${ptnName}`] = structuredClone(g_keyObj[`shuffle${ptnName}_0`]);
|
|
3628
|
+
}
|
|
3629
|
+
}
|
|
3605
3630
|
|
|
3606
3631
|
// スクロールパターン (scrollX_Y)
|
|
3607
3632
|
// |scroll(newKey)=Cross::1,1,-1,-1,-1,1,1/Split::1,1,1,-1,-1,-1,-1$...|
|
|
@@ -4696,15 +4721,22 @@ const createOptionWindow = _sprite => {
|
|
|
4696
4721
|
}
|
|
4697
4722
|
|
|
4698
4723
|
const setReverse = _btn => {
|
|
4699
|
-
|
|
4700
|
-
|
|
4701
|
-
|
|
4724
|
+
if (!g_settings.scrolls.includes(`Reverse`)) {
|
|
4725
|
+
g_settings.reverseNum = (g_settings.reverseNum + 1) % 2;
|
|
4726
|
+
g_stateObj.reverse = g_settings.reverses[g_settings.reverseNum];
|
|
4727
|
+
setReverseView(_btn);
|
|
4728
|
+
}
|
|
4702
4729
|
};
|
|
4703
4730
|
|
|
4704
4731
|
const setReverseView = _btn => {
|
|
4705
4732
|
_btn.classList.replace(g_cssObj[`button_Rev${g_settings.reverses[(g_settings.reverseNum + 1) % 2]}`],
|
|
4706
4733
|
g_cssObj[`button_Rev${g_settings.reverses[g_settings.reverseNum]}`]);
|
|
4707
|
-
|
|
4734
|
+
if (!g_settings.scrolls.includes(`Reverse`)) {
|
|
4735
|
+
_btn.textContent = `${g_lblNameObj.Reverse}:${getStgDetailName(g_stateObj.reverse)}`;
|
|
4736
|
+
} else {
|
|
4737
|
+
_btn.textContent = `X`;
|
|
4738
|
+
setReverseDefault();
|
|
4739
|
+
}
|
|
4708
4740
|
};
|
|
4709
4741
|
|
|
4710
4742
|
// ---------------------------------------------------
|
|
@@ -5097,6 +5129,10 @@ const createOptionWindow = _sprite => {
|
|
|
5097
5129
|
spriteList[visibleScr].style.display = C_DIS_INHERIT;
|
|
5098
5130
|
spriteList[hiddenScr].style.display = C_DIS_NONE;
|
|
5099
5131
|
setSetting(0, visibleScr);
|
|
5132
|
+
|
|
5133
|
+
g_shortcutObj.option.KeyR.id = g_settings.scrolls.includes(`Reverse`) ?
|
|
5134
|
+
g_shortcutObj.option.KeyR.exId : g_shortcutObj.option.KeyR.dfId;
|
|
5135
|
+
|
|
5100
5136
|
if (g_settings.scrolls.length > 1) {
|
|
5101
5137
|
setReverseView(document.querySelector(`#btnReverse`));
|
|
5102
5138
|
}
|
|
@@ -5280,11 +5316,18 @@ const getKeyReverse = (_localStorage, _extraKeyName = ``) => {
|
|
|
5280
5316
|
g_stateObj.reverse = _localStorage[`reverse${_extraKeyName}`] ?? C_FLG_OFF;
|
|
5281
5317
|
g_settings.reverseNum = roundZero(g_settings.reverses.findIndex(reverse => reverse === g_stateObj.reverse));
|
|
5282
5318
|
} else {
|
|
5283
|
-
|
|
5284
|
-
g_settings.reverseNum = 0;
|
|
5319
|
+
setReverseDefault();
|
|
5285
5320
|
}
|
|
5286
5321
|
};
|
|
5287
5322
|
|
|
5323
|
+
/**
|
|
5324
|
+
* リバースのデフォルト化処理
|
|
5325
|
+
*/
|
|
5326
|
+
const setReverseDefault = _ => {
|
|
5327
|
+
g_stateObj.reverse = C_FLG_OFF;
|
|
5328
|
+
g_settings.reverseNum = 0;
|
|
5329
|
+
};
|
|
5330
|
+
|
|
5288
5331
|
/**
|
|
5289
5332
|
* 保存済みキーコンフィグ取得処理
|
|
5290
5333
|
* @param {object} _localStorage 保存先のローカルストレージ名
|
|
@@ -6433,7 +6476,7 @@ const loadMusic = _ => {
|
|
|
6433
6476
|
lblLoading.textContent = g_lblNameObj.pleaseWait;
|
|
6434
6477
|
setAudio(blobUrl);
|
|
6435
6478
|
} else {
|
|
6436
|
-
makeWarningWindow(`${g_msgInfoObj.
|
|
6479
|
+
makeWarningWindow(`${g_msgInfoObj.E_0041.split('{0}').join(getFullPath(musicUrl))}<br>(${request.status} ${request.statusText})`, { backBtnUse: true });
|
|
6437
6480
|
}
|
|
6438
6481
|
});
|
|
6439
6482
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Source by tickle
|
|
7
7
|
* Created : 2019/11/19
|
|
8
|
-
* Revised : 2023/01/
|
|
8
|
+
* Revised : 2023/01/28 (v29.4.1)
|
|
9
9
|
*
|
|
10
10
|
* https://github.com/cwtickle/danoniplus
|
|
11
11
|
*/
|
|
@@ -1182,7 +1182,7 @@ const g_shortcutObj = {
|
|
|
1182
1182
|
KeyM: { id: `lnkMotionR` },
|
|
1183
1183
|
ArrowUp: { id: `lnkScrollL` },
|
|
1184
1184
|
ArrowDown: { id: `lnkScrollR` },
|
|
1185
|
-
KeyR: { id: `lnkReverseR` },
|
|
1185
|
+
KeyR: { id: `lnkReverseR`, dfId: `lnkReverseR`, exId: `btnReverse` },
|
|
1186
1186
|
|
|
1187
1187
|
ShiftLeft_KeyS: { id: `lnkShuffleL` },
|
|
1188
1188
|
KeyS: { id: `lnkShuffleR` },
|