danoniplus 37.3.0 → 37.4.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 +21 -9
- 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 : 2024/
|
|
7
|
+
* Revised : 2024/08/14
|
|
8
8
|
*
|
|
9
9
|
* https://github.com/cwtickle/danoniplus
|
|
10
10
|
*/
|
|
11
|
-
const g_version = `Ver 37.
|
|
12
|
-
const g_revisedDate = `2024/
|
|
11
|
+
const g_version = `Ver 37.4.0`;
|
|
12
|
+
const g_revisedDate = `2024/08/14`;
|
|
13
13
|
|
|
14
14
|
// カスタム用バージョン (danoni_custom.js 等で指定可)
|
|
15
15
|
let g_localVersion = ``;
|
|
@@ -475,8 +475,8 @@ const fuzzyListMatching = (_str, _headerList, _footerList) =>
|
|
|
475
475
|
* @param {array} _pairs
|
|
476
476
|
*/
|
|
477
477
|
const replaceStr = (_str, _pairs) => {
|
|
478
|
-
let tmpStr = _str
|
|
479
|
-
_pairs.forEach(pair => tmpStr = tmpStr
|
|
478
|
+
let tmpStr = _str || ``;
|
|
479
|
+
_pairs.forEach(pair => tmpStr = tmpStr.split(pair[0]).join(pair[1]));
|
|
480
480
|
return tmpStr;
|
|
481
481
|
};
|
|
482
482
|
|
|
@@ -493,11 +493,17 @@ const escapeHtml = (_str, _escapeList = g_escapeStr.escape) => escapeHtmlForEnab
|
|
|
493
493
|
*/
|
|
494
494
|
const escapeHtmlForEnabledTag = _str => replaceStr(_str, g_escapeStr.escapeTag);
|
|
495
495
|
|
|
496
|
+
/**
|
|
497
|
+
* HTML Entityから元の文字に戻す
|
|
498
|
+
* @param {string} _str
|
|
499
|
+
*/
|
|
500
|
+
const unEscapeEmoji = _str => _str?.replace(/&#(.*?);/g, (_, p1) => String.fromCodePoint(`0${p1}`));
|
|
501
|
+
|
|
496
502
|
/**
|
|
497
503
|
* エスケープ文字を元の文字に戻す
|
|
498
504
|
* @param {string} _str
|
|
499
505
|
*/
|
|
500
|
-
const unEscapeHtml = _str => replaceStr(_str, g_escapeStr.unEscapeTag);
|
|
506
|
+
const unEscapeHtml = _str => unEscapeEmoji(replaceStr(_str, g_escapeStr.unEscapeTag));
|
|
501
507
|
|
|
502
508
|
/**
|
|
503
509
|
* 配列の中身を全てエスケープ処理
|
|
@@ -2406,7 +2412,7 @@ const storeBaseData = (_scoreId, _scoreObj, _keyCtrlPtn) => {
|
|
|
2406
2412
|
g_detailObj.maxDensity[_scoreId] = getMaxValIdxs(densityData, g_limitObj.densityMaxVals).flat();
|
|
2407
2413
|
|
|
2408
2414
|
g_detailObj.arrowCnt[_scoreId] = noteCnt.arrow.concat();
|
|
2409
|
-
g_detailObj.frzCnt[_scoreId] = noteCnt.frz.
|
|
2415
|
+
g_detailObj.frzCnt[_scoreId] = noteCnt.frz.map((val, k) => _scoreObj.frzData[k].length % 2 === 0 ? val : val - 0.5);
|
|
2410
2416
|
g_detailObj.startFrame[_scoreId] = startFrame;
|
|
2411
2417
|
g_detailObj.playingFrame[_scoreId] = playingFrame;
|
|
2412
2418
|
g_detailObj.playingFrameWithBlank[_scoreId] = lastFrame - startFrame;
|
|
@@ -4977,7 +4983,7 @@ const makeDifInfoLabels = _scoreId => {
|
|
|
4977
4983
|
const makeDifInfo = _scoreId => {
|
|
4978
4984
|
|
|
4979
4985
|
const arrowCnts = sumData(g_detailObj.arrowCnt[_scoreId]);
|
|
4980
|
-
const frzCnts = sumData(g_detailObj.frzCnt[_scoreId]);
|
|
4986
|
+
const frzCnts = sumData(g_detailObj.frzCnt[_scoreId].map(val => Math.floor(val)));
|
|
4981
4987
|
const push3CntStr = (g_detailObj.toolDif[_scoreId].push3.length === 0 ? `None` : `(${g_detailObj.toolDif[_scoreId].push3.join(', ')})`);
|
|
4982
4988
|
|
|
4983
4989
|
if (document.getElementById(`lblTooldif`) === null) {
|
|
@@ -5011,6 +5017,9 @@ const makeDifInfo = _scoreId => {
|
|
|
5011
5017
|
array[j] = (val === minVal ? `<span class="settings_minArrowCnts">${val}</span>` :
|
|
5012
5018
|
(val === maxVal ? `<span class="settings_maxArrowCnts common_bold">${val}</span>` : val));
|
|
5013
5019
|
}
|
|
5020
|
+
if (val - Math.floor(val) > 0) {
|
|
5021
|
+
array[j] = `<span class="keyconfig_warning">${val}</span>`;
|
|
5022
|
+
}
|
|
5014
5023
|
});
|
|
5015
5024
|
cntlistStr += array.join(`, `) + ` ]`;
|
|
5016
5025
|
});
|
|
@@ -7513,7 +7522,7 @@ const loadingScoreInit = async () => {
|
|
|
7513
7522
|
g_allArrow = 0;
|
|
7514
7523
|
g_allFrz = 0;
|
|
7515
7524
|
g_scoreObj.arrowData.forEach(data => g_allArrow += data.length);
|
|
7516
|
-
g_scoreObj.frzData.forEach(data => g_allFrz += data.length);
|
|
7525
|
+
g_scoreObj.frzData.forEach(data => g_allFrz += Math.floor(data.length / 2) * 2);
|
|
7517
7526
|
|
|
7518
7527
|
// ライフ回復・ダメージ量の計算
|
|
7519
7528
|
// フリーズ始点でも通常判定させる場合は総矢印数を水増しする
|
|
@@ -8496,6 +8505,9 @@ const pushArrows = (_dataObj, _speedOnFrame, _motionOnFrame, _firstArrivalFrame)
|
|
|
8496
8505
|
|
|
8497
8506
|
const camelHeader = toCapitalize(_header);
|
|
8498
8507
|
const setcnt = (_frzFlg ? 2 : 1);
|
|
8508
|
+
if (_frzFlg && _data.length % 2 !== 0) {
|
|
8509
|
+
_data.pop();
|
|
8510
|
+
}
|
|
8499
8511
|
|
|
8500
8512
|
const startPoint = [];
|
|
8501
8513
|
let spdNext = Infinity;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Source by tickle
|
|
7
7
|
* Created : 2019/11/19
|
|
8
|
-
* Revised : 2024/
|
|
8
|
+
* Revised : 2024/08/14 (v37.4.0)
|
|
9
9
|
*
|
|
10
10
|
* https://github.com/cwtickle/danoniplus
|
|
11
11
|
*/
|
|
@@ -1958,12 +1958,15 @@ const g_keyObj = {
|
|
|
1958
1958
|
color9B_2_0: [0, 0, 0, 0, 2, 1, 1, 1, 1],
|
|
1959
1959
|
|
|
1960
1960
|
// ColorGroup - 2
|
|
1961
|
+
color9A_0_1: [0, 0, 3, 0, 2, 0, 0, 3, 0],
|
|
1961
1962
|
color9B_0_1: [4, 3, 1, 0, 2, 0, 1, 3, 4],
|
|
1962
1963
|
color17_0_1: [0, 1, 0, 1, 0, 1, 0, 1, 2, 3, 4, 3, 4, 3, 4, 3, 4],
|
|
1963
1964
|
|
|
1965
|
+
color9B_1_1: [0, 0, 1, 0, 2, 0, 0, 1, 0],
|
|
1964
1966
|
color17_1_1: [1, 1, 1, 1, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0],
|
|
1965
1967
|
|
|
1966
1968
|
color9A_2_1: [4, 1, 3, 0, 2, 0, 3, 1, 4],
|
|
1969
|
+
color9B_2_1: [0, 0, 1, 0, 2, 0, 0, 1, 0],
|
|
1967
1970
|
|
|
1968
1971
|
// ColorGroup - 3
|
|
1969
1972
|
color17_0_2: [1, 4, 0, 3, 1, 4, 0, 3, 2, 3, 0, 4, 1, 3, 0, 4, 1],
|