danoniplus 26.6.0 → 26.7.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 +29 -54
- package/js/lib/danoni_constants.js +16 -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 : 2022/
|
|
7
|
+
* Revised : 2022/04/10
|
|
8
8
|
*
|
|
9
9
|
* https://github.com/cwtickle/danoniplus
|
|
10
10
|
*/
|
|
11
|
-
const g_version = `Ver 26.
|
|
12
|
-
const g_revisedDate = `2022/
|
|
11
|
+
const g_version = `Ver 26.7.1`;
|
|
12
|
+
const g_revisedDate = `2022/04/10`;
|
|
13
13
|
const g_alphaVersion = ``;
|
|
14
14
|
|
|
15
15
|
// カスタム用バージョン (danoni_custom.js 等で指定可)
|
|
@@ -41,11 +41,11 @@ let g_localVersion2 = ``;
|
|
|
41
41
|
*/
|
|
42
42
|
const current = _ => {
|
|
43
43
|
if (document.currentScript) {
|
|
44
|
-
return document.currentScript.src;
|
|
44
|
+
return encodeURI(document.currentScript.src);
|
|
45
45
|
}
|
|
46
46
|
const scripts = document.getElementsByTagName(`script`);
|
|
47
47
|
const targetScript = scripts[scripts.length - 1];
|
|
48
|
-
return targetScript.src;
|
|
48
|
+
return encodeURI(targetScript.src);
|
|
49
49
|
};
|
|
50
50
|
const g_rootPath = current().match(/(^.*\/)/)[0];
|
|
51
51
|
const g_remoteFlg = g_rootPath.match(`^https://cwtickle.github.io/danoniplus/`) !== null;
|
|
@@ -2003,7 +2003,8 @@ const loadChartFile = async (_scoreId = g_stateObj.scoreId) => {
|
|
|
2003
2003
|
|
|
2004
2004
|
const dosInput = document.querySelector(`#dos`);
|
|
2005
2005
|
const divRoot = document.querySelector(`#divRoot`);
|
|
2006
|
-
const queryDos = getQueryParamVal(`dos`) !== null ?
|
|
2006
|
+
const queryDos = getQueryParamVal(`dos`) !== null ?
|
|
2007
|
+
`dos/${getQueryParamVal('dos')}.txt` : encodeURI(document.querySelector(`#externalDos`)?.value ?? ``);
|
|
2007
2008
|
|
|
2008
2009
|
if (dosInput === null && queryDos === ``) {
|
|
2009
2010
|
makeWarningWindow(g_msgInfoObj.E_0023);
|
|
@@ -3017,16 +3018,14 @@ const headerConvert = _dosObj => {
|
|
|
3017
3018
|
* 曲名(1行)の取得
|
|
3018
3019
|
* @param {string} _musicName
|
|
3019
3020
|
*/
|
|
3020
|
-
const getMusicNameSimple = _musicName =>
|
|
3021
|
-
return _musicName.split(`<br>`).join(` `).split(`<nbr>`).join(``).split(`<dbr>`).join(` `);
|
|
3022
|
-
};
|
|
3021
|
+
const getMusicNameSimple = _musicName => replaceStr(_musicName, g_escapeStr.musicNameSimple);
|
|
3023
3022
|
|
|
3024
3023
|
/**
|
|
3025
3024
|
* 曲名(複数行)の取得
|
|
3026
3025
|
* @param {string} _musicName
|
|
3027
3026
|
*/
|
|
3028
3027
|
const getMusicNameMultiLine = _musicName => {
|
|
3029
|
-
const tmpName = _musicName.
|
|
3028
|
+
const tmpName = replaceStr(_musicName, g_escapeStr.musicNameMultiLine).split(`<br>`);
|
|
3030
3029
|
return tmpName.length === 1 ? [tmpName[0], ``] : tmpName;
|
|
3031
3030
|
};
|
|
3032
3031
|
|
|
@@ -6722,17 +6721,7 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
|
|
|
6722
6721
|
}
|
|
6723
6722
|
|
|
6724
6723
|
// 矢印名からフリーズアロー名への変換
|
|
6725
|
-
let frzName = g_keyObj[`chara${_keyCtrlPtn}`][j].
|
|
6726
|
-
frzName = frzName.replace(`rightdia`, `frzRdia`);
|
|
6727
|
-
frzName = frzName.replace(`left`, `frzLeft`);
|
|
6728
|
-
frzName = frzName.replace(`down`, `frzDown`);
|
|
6729
|
-
frzName = frzName.replace(`up`, `frzUp`);
|
|
6730
|
-
frzName = frzName.replace(`right`, `frzRight`);
|
|
6731
|
-
frzName = frzName.replace(`space`, `frzSpace`);
|
|
6732
|
-
frzName = frzName.replace(`iyo`, `frzIyo`);
|
|
6733
|
-
frzName = frzName.replace(`gor`, `frzGor`);
|
|
6734
|
-
frzName = frzName.replace(`oni`, `foni`);
|
|
6735
|
-
|
|
6724
|
+
let frzName = replaceStr(g_keyObj[`chara${_keyCtrlPtn}`][j], g_escapeStr.frzName);
|
|
6736
6725
|
if (frzName.indexOf(`frz`) === -1 && frzName.indexOf(`foni`) === -1) {
|
|
6737
6726
|
if ((frzName.startsWith(`s`)) || frzName.startsWith(`t`) ||
|
|
6738
6727
|
(frzName.startsWith(`a`) && !frzName.startsWith(`arrow`))) {
|
|
@@ -8684,22 +8673,10 @@ const MainInit = _ => {
|
|
|
8684
8673
|
* @param _j 矢印の位置
|
|
8685
8674
|
*/
|
|
8686
8675
|
const checkKeyUpFunc = {
|
|
8687
|
-
|
|
8688
|
-
|
|
8689
|
-
|
|
8690
|
-
|
|
8691
|
-
|
|
8692
|
-
frzON: (_j) => {
|
|
8693
|
-
return true;
|
|
8694
|
-
},
|
|
8695
|
-
|
|
8696
|
-
dummyFrzOFF: (_j) => {
|
|
8697
|
-
return true;
|
|
8698
|
-
},
|
|
8699
|
-
|
|
8700
|
-
dummyFrzON: (_j) => {
|
|
8701
|
-
return true;
|
|
8702
|
-
},
|
|
8676
|
+
frzOFF: (_j) => g_workObj.keyHitFlg[_j].find(flg => flg),
|
|
8677
|
+
frzON: (_j) => true,
|
|
8678
|
+
dummyFrzOFF: (_j) => true,
|
|
8679
|
+
dummyFrzON: (_j) => true,
|
|
8703
8680
|
};
|
|
8704
8681
|
|
|
8705
8682
|
/**
|
|
@@ -9571,7 +9548,7 @@ const judgeMatari = _difFrame => {
|
|
|
9571
9548
|
changeJudgeCharacter(`matari`, g_lblNameObj.j_matari);
|
|
9572
9549
|
comboJ.textContent = ``;
|
|
9573
9550
|
|
|
9574
|
-
displayDiff(
|
|
9551
|
+
displayDiff(_difFrame, g_headerObj.justFrames);
|
|
9575
9552
|
finishViewing();
|
|
9576
9553
|
|
|
9577
9554
|
g_customJsObj.judg_matari.forEach(func => func(_difFrame));
|
|
@@ -9780,10 +9757,7 @@ const resultInit = _ => {
|
|
|
9780
9757
|
}
|
|
9781
9758
|
|
|
9782
9759
|
const keyCtrlPtn = `${g_keyObj.currentKey}_${g_keyObj.currentPtn}`;
|
|
9783
|
-
|
|
9784
|
-
if (hasVal(g_keyObj[`transKey${keyCtrlPtn}`])) {
|
|
9785
|
-
transKeyData = `(` + g_keyObj[`transKey${keyCtrlPtn}`] + `)`;
|
|
9786
|
-
}
|
|
9760
|
+
const transKeyData = hasVal(g_keyObj[`transKey${keyCtrlPtn}`]) ? `(` + g_keyObj[`transKey${keyCtrlPtn}`] + `)` : ``;
|
|
9787
9761
|
|
|
9788
9762
|
/**
|
|
9789
9763
|
* プレイスタイルのカスタム有無
|
|
@@ -10027,18 +10001,19 @@ const resultInit = _ => {
|
|
|
10027
10001
|
tweetMaxCombo += `-${g_resultObj.fmaxCombo}`;
|
|
10028
10002
|
}
|
|
10029
10003
|
|
|
10030
|
-
let tweetResultTmp = g_headerObj.resultFormat
|
|
10031
|
-
|
|
10032
|
-
|
|
10033
|
-
|
|
10034
|
-
|
|
10035
|
-
|
|
10036
|
-
|
|
10037
|
-
|
|
10038
|
-
|
|
10039
|
-
|
|
10040
|
-
|
|
10041
|
-
|
|
10004
|
+
let tweetResultTmp = replaceStr(g_headerObj.resultFormat, [
|
|
10005
|
+
[`[hashTag]`, hashTag],
|
|
10006
|
+
[`[musicTitle]`, musicTitle],
|
|
10007
|
+
[`[keyLabel]`, tweetDifData],
|
|
10008
|
+
[`[maker]`, g_headerObj.tuning],
|
|
10009
|
+
[`[rank]`, rankMark],
|
|
10010
|
+
[`[score]`, g_resultObj.score],
|
|
10011
|
+
[`[playStyle]`, playStyleData],
|
|
10012
|
+
[`[arrowJdg]`, `${g_resultObj.ii}-${g_resultObj.shakin}-${g_resultObj.matari}-${g_resultObj.shobon}-${g_resultObj.uwan}`],
|
|
10013
|
+
[`[frzJdg]`, tweetFrzJdg],
|
|
10014
|
+
[`[maxCombo]`, tweetMaxCombo],
|
|
10015
|
+
[`[url]`, g_isLocal ? `` : `${twiturl.toString()}`.replace(/[\t\n]/g, ``)]
|
|
10016
|
+
]);
|
|
10042
10017
|
if (g_presetObj.resultVals !== undefined) {
|
|
10043
10018
|
Object.keys(g_presetObj.resultVals).forEach(key => {
|
|
10044
10019
|
tweetResultTmp = tweetResultTmp.split(`[${key}]`).join(g_resultObj[g_presetObj.resultVals[key]]);
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Source by tickle
|
|
7
7
|
* Created : 2019/11/19
|
|
8
|
-
* Revised : 2022/
|
|
8
|
+
* Revised : 2022/03/12 (v26.7.0)
|
|
9
9
|
*
|
|
10
10
|
* https://github.com/cwtickle/danoniplus
|
|
11
11
|
*/
|
|
@@ -2393,6 +2393,10 @@ const g_dfColorLightObj = {
|
|
|
2393
2393
|
],
|
|
2394
2394
|
};
|
|
2395
2395
|
|
|
2396
|
+
/**
|
|
2397
|
+
* 特殊文字列の置き換えリスト
|
|
2398
|
+
* (置き換え元、置き換え先の組で二次元配列として定義。主にreplaceStr関数で使用)
|
|
2399
|
+
*/
|
|
2396
2400
|
const g_escapeStr = {
|
|
2397
2401
|
escape: [[`&`, `&`], [`<`, `<`], [`>`, `>`], [`"`, `"`]],
|
|
2398
2402
|
escapeTag: [
|
|
@@ -2407,6 +2411,17 @@ const g_escapeStr = {
|
|
|
2407
2411
|
escapeCode: [
|
|
2408
2412
|
[`<script>`, ``], [`</script>`, ``],
|
|
2409
2413
|
],
|
|
2414
|
+
musicNameSimple: [
|
|
2415
|
+
[`<br>`, ` `], [`<nbr>`, ``], [`<dbr>`, ` `],
|
|
2416
|
+
],
|
|
2417
|
+
musicNameMultiLine: [
|
|
2418
|
+
[`<nbr>`, `<br>`], [`<dbr>`, `<br>`],
|
|
2419
|
+
],
|
|
2420
|
+
frzName: [
|
|
2421
|
+
[`leftdia`, `frzLdia`], [`rightdia`, `frzRdia`],
|
|
2422
|
+
[`left`, `frzLeft`], [`down`, `frzDown`], [`up`, `frzUp`], [`right`, `frzRight`],
|
|
2423
|
+
[`space`, `frzSpace`], [`iyo`, `frzIyo`], [`gor`, `frzGor`], [`oni`, `foni`],
|
|
2424
|
+
],
|
|
2410
2425
|
};
|
|
2411
2426
|
|
|
2412
2427
|
/**
|