danoniplus 42.4.0 → 42.5.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 +48 -21
- 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 : 2025/08/
|
|
7
|
+
* Revised : 2025/08/25
|
|
8
8
|
*
|
|
9
9
|
* https://github.com/cwtickle/danoniplus
|
|
10
10
|
*/
|
|
11
|
-
const g_version = `Ver 42.
|
|
12
|
-
const g_revisedDate = `2025/08/
|
|
11
|
+
const g_version = `Ver 42.5.1`;
|
|
12
|
+
const g_revisedDate = `2025/08/25`;
|
|
13
13
|
|
|
14
14
|
// カスタム用バージョン (danoni_custom.js 等で指定可)
|
|
15
15
|
let g_localVersion = ``;
|
|
@@ -3012,8 +3012,19 @@ const resetColorSetting = _scoreId => {
|
|
|
3012
3012
|
// 初期矢印・フリーズアロー色の再定義
|
|
3013
3013
|
if (g_stateObj.scoreLockFlg) {
|
|
3014
3014
|
Object.assign(g_rootObj, copySetColor(g_rootObj, _scoreId));
|
|
3015
|
+
|
|
3016
|
+
// 分割先のファイルで初期色が未定義の場合はデフォルト値を適用
|
|
3017
|
+
[``, `Shadow`].forEach(pattern =>
|
|
3018
|
+
[`set`, `frz`].forEach(arrow => {
|
|
3019
|
+
// frzShadowColorStrのみ、空で構成された初期配列があるためその条件を追加して除外条件とする
|
|
3020
|
+
if (!hasVal(g_rootObj[`${arrow}${pattern}Color${_scoreId + 1}`])
|
|
3021
|
+
&& g_headerObj[`${arrow}${pattern}ColorStr`]?.flat()?.some(val => hasVal(val))) {
|
|
3022
|
+
g_rootObj[`${arrow}${pattern}Color`] = g_headerObj[`${arrow}${pattern}ColorStr`].join(`,`);
|
|
3023
|
+
}
|
|
3024
|
+
})
|
|
3025
|
+
);
|
|
3015
3026
|
}
|
|
3016
|
-
Object.assign(g_headerObj, resetBaseColorList(g_headerObj, g_rootObj, { scoreId: _scoreId }));
|
|
3027
|
+
Object.assign(g_headerObj, resetBaseColorList(g_headerObj, g_rootObj, { scoreId: _scoreId, scoreLockFlg: false }));
|
|
3017
3028
|
};
|
|
3018
3029
|
|
|
3019
3030
|
/**
|
|
@@ -3034,12 +3045,14 @@ const resetGaugeSetting = _scoreId => {
|
|
|
3034
3045
|
*/
|
|
3035
3046
|
const copySetColor = (_baseObj, _scoreId) => {
|
|
3036
3047
|
const obj = {};
|
|
3048
|
+
// Todo: dosIdを引数にして、dosIdと一致するscoreIdを算出
|
|
3049
|
+
// 算出したscoreIdすべてに対して下記処理を実行
|
|
3037
3050
|
const srcIdHeader = setScoreIdHeader(_scoreId, g_stateObj.scoreLockFlg, true);
|
|
3038
3051
|
const targetIdHeader = setScoreIdHeader(_scoreId, false, true);
|
|
3039
3052
|
[``, `Shadow`].forEach(pattern =>
|
|
3040
|
-
[`set`, `frz`].filter(arrow => hasVal(_baseObj[`${arrow}${pattern}Color`]))
|
|
3053
|
+
[`set`, `frz`].filter(arrow => hasVal(_baseObj[`${arrow}${pattern}Color${srcIdHeader}`] || _baseObj[`${arrow}${pattern}Color`]))
|
|
3041
3054
|
.forEach(arrow => obj[`${arrow}${pattern}Color${targetIdHeader}`] =
|
|
3042
|
-
|
|
3055
|
+
_baseObj[`${arrow}${pattern}Color${srcIdHeader}`] || _baseObj[`${arrow}${pattern}Color`]));
|
|
3043
3056
|
return obj;
|
|
3044
3057
|
};
|
|
3045
3058
|
|
|
@@ -4253,12 +4266,13 @@ const addGaugeFulls = _obj => _obj.map(key => g_gaugeOptionObj.customFulls[key]
|
|
|
4253
4266
|
* @param {object} _baseObj
|
|
4254
4267
|
* @param {object} _dosObj
|
|
4255
4268
|
* @param {string} [object.scoreId='']
|
|
4269
|
+
* @param {boolean} [object.scoreLockFlg=g_stateObj.scoreLockFlg]
|
|
4256
4270
|
* @returns {object} ※Object.assign(obj, resetBaseColorList(...))の形で呼び出しが必要
|
|
4257
4271
|
*/
|
|
4258
|
-
const resetBaseColorList = (_baseObj, _dosObj, { scoreId =
|
|
4272
|
+
const resetBaseColorList = (_baseObj, _dosObj, { scoreId = ``, scoreLockFlg = g_stateObj.scoreLockFlg } = {}) => {
|
|
4259
4273
|
|
|
4260
4274
|
const obj = {};
|
|
4261
|
-
const idHeader = setScoreIdHeader(scoreId,
|
|
4275
|
+
const idHeader = setScoreIdHeader(scoreId, scoreLockFlg, scoreId !== ``);
|
|
4262
4276
|
const getRefData = (_header, _dataName) => {
|
|
4263
4277
|
const data = _dosObj[`${_header}${_dataName}`];
|
|
4264
4278
|
return data?.startsWith(_header) ? _dosObj[data] : data;
|
|
@@ -11199,20 +11213,33 @@ const getArrowSettings = () => {
|
|
|
11199
11213
|
g_workObj.dividePos[j] = baseLayer * 2 + ((posj <= divideCnt ? 0 : 1) + (scrollDirOptions[j] === 1 ? 0 : 1) + (g_stateObj.reverse === C_FLG_OFF ? 0 : 1)) % 2;
|
|
11200
11214
|
g_workObj.scrollDir[j] = (posj <= divideCnt ? 1 : -1) * scrollDirOptions[j] * (g_stateObj.reverse === C_FLG_OFF ? 1 : -1);
|
|
11201
11215
|
|
|
11202
|
-
|
|
11203
|
-
|
|
11204
|
-
|
|
11205
|
-
|
|
11206
|
-
|
|
11207
|
-
|
|
11208
|
-
|
|
11209
|
-
|
|
11210
|
-
|
|
11211
|
-
|
|
11212
|
-
});
|
|
11213
|
-
g_workObj[`frzNormalShadowColors${type}`][j] = g_headerObj.frzShadowColor[colorj][0] || ``;
|
|
11214
|
-
g_workObj[`frzHitShadowColors${type}`][j] = g_headerObj.frzShadowColor[colorj][1] || ``;
|
|
11216
|
+
// 個別色設定
|
|
11217
|
+
g_workObj.arrowColors[j] = g_headerObj.setColor[colorj];
|
|
11218
|
+
g_workObj.dummyArrowColors[j] = g_headerObj.setDummyColor[colorj];
|
|
11219
|
+
g_workObj.arrowShadowColors[j] = g_headerObj.setShadowColor[colorj] || ``;
|
|
11220
|
+
g_workObj.dummyArrowShadowColors[j] = g_headerObj.setDummyColor[colorj] || ``;
|
|
11221
|
+
|
|
11222
|
+
g_typeLists.frzColor.forEach((frzType, k) => {
|
|
11223
|
+
g_workObj[`frz${frzType}Colors`][j] = g_headerObj.frzColor[colorj][k] || ``;
|
|
11224
|
+
g_workObj[`dummyFrz${frzType}Colors`][j] =
|
|
11225
|
+
frzType.includes(`Shadow`) ? `` : g_headerObj.setDummyColor[colorj] || ``;
|
|
11215
11226
|
});
|
|
11227
|
+
g_workObj.frzNormalShadowColors[j] = g_headerObj.frzShadowColor[colorj][0] || ``;
|
|
11228
|
+
g_workObj.frzHitShadowColors[j] = g_headerObj.frzShadowColor[colorj][1] || ``;
|
|
11229
|
+
|
|
11230
|
+
// 全体色設定
|
|
11231
|
+
g_workObj.arrowColorsAll[j] = ``;
|
|
11232
|
+
g_workObj.dummyArrowColorsAll[j] = ``;
|
|
11233
|
+
g_workObj.arrowShadowColorsAll[j] = ``;
|
|
11234
|
+
g_workObj.dummyArrowShadowColorsAll[j] = ``;
|
|
11235
|
+
|
|
11236
|
+
g_typeLists.frzColor.forEach((frzType, k) => {
|
|
11237
|
+
g_workObj[`frz${frzType}ColorsAll`][j] = ``;
|
|
11238
|
+
g_workObj[`dummyFrz${frzType}ColorsAll`][j] = ``;
|
|
11239
|
+
});
|
|
11240
|
+
g_workObj.frzNormalShadowColorsAll[j] = ``;
|
|
11241
|
+
g_workObj.frzHitShadowColorsAll[j] = ``;
|
|
11242
|
+
|
|
11216
11243
|
}
|
|
11217
11244
|
g_workObj.orgFlatFlg = g_workObj.dividePos.every(v => v % 2 === g_workObj.dividePos[0] % 2);
|
|
11218
11245
|
g_stateObj.layerNumDf = Math.max(g_stateObj.layerNumDf, Math.ceil((Math.max(...g_workObj.dividePos) + 1) / 2) * 2);
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Source by tickle
|
|
7
7
|
* Created : 2019/11/19
|
|
8
|
-
* Revised : 2025/
|
|
8
|
+
* Revised : 2025/08/22 (v42.5.0)
|
|
9
9
|
*
|
|
10
10
|
* https://github.com/cwtickle/danoniplus
|
|
11
11
|
*/
|
|
@@ -3695,7 +3695,7 @@ const g_checkStr = {
|
|
|
3695
3695
|
|
|
3696
3696
|
// 譜面分割あり、譜面番号固定時のみ譜面データを一時クリアする際の条件
|
|
3697
3697
|
resetDosHeader: [`gauge`],
|
|
3698
|
-
resetDosFooter: [`_data`, `_change`, `Color`, `customGauge`],
|
|
3698
|
+
resetDosFooter: [`_data`, `_change`, `Color`, `Color1`, `customGauge`],
|
|
3699
3699
|
};
|
|
3700
3700
|
|
|
3701
3701
|
/**
|