danoniplus 44.5.4 → 45.1.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 +49 -44
- package/js/lib/danoni_constants.js +106 -40
- package/js/template/danoni_setting.js +12 -4
- package/package.json +1 -1
package/js/danoni_main.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* https://github.com/cwtickle/danoniplus
|
|
10
10
|
*/
|
|
11
|
-
const g_version = `Ver
|
|
11
|
+
const g_version = `Ver 45.1.0`;
|
|
12
12
|
const g_revisedDate = `2026/02/26`;
|
|
13
13
|
|
|
14
14
|
// カスタム用バージョン (danoni_custom.js 等で指定可)
|
|
@@ -1687,12 +1687,12 @@ const createEmptySprite = (_parentObj, _newObjId, { x = 0, y = 0, w = g_sWidth,
|
|
|
1687
1687
|
* @param {number} [object.x=0]
|
|
1688
1688
|
* @returns {HTMLDivElement}
|
|
1689
1689
|
*/
|
|
1690
|
-
const createMultipleSprite = (_baseName, _num, { x = 0 } = {}) => {
|
|
1690
|
+
const createMultipleSprite = (_baseName, _num, { x = 0, priority = g_transPriority.layer } = {}) => {
|
|
1691
1691
|
const sprite = createEmptySprite(divRoot, _baseName);
|
|
1692
1692
|
for (let j = 0; j <= _num; j++) {
|
|
1693
1693
|
createEmptySprite(sprite, `${_baseName}${j}`);
|
|
1694
1694
|
}
|
|
1695
|
-
addX(_baseName, `root`, x);
|
|
1695
|
+
addX(_baseName, `root`, x, { priority });
|
|
1696
1696
|
return sprite;
|
|
1697
1697
|
};
|
|
1698
1698
|
|
|
@@ -7908,9 +7908,7 @@ const createGeneralSetting = (_obj, _settingName, { unitName = ``,
|
|
|
7908
7908
|
const initName = `${getStgDetailName(g_stateObj[_settingName])}${unitName}`;
|
|
7909
7909
|
_obj.appendChild(createLblSetting(settingUpper, adjY, toCapitalize(settingLabel)));
|
|
7910
7910
|
|
|
7911
|
-
if (_settingName ===
|
|
7912
|
-
g_headerObj[`${_settingName}Use`] === undefined || g_headerObj[`${_settingName}Use`]
|
|
7913
|
-
)) {
|
|
7911
|
+
if (g_headerObj[`${_settingName}Use`] === undefined || g_headerObj[`${_settingName}Use`]) {
|
|
7914
7912
|
|
|
7915
7913
|
multiAppend(_obj,
|
|
7916
7914
|
makeSettingLblCssButton(linkId, `${initName}${g_localStorage[_settingName] === g_stateObj[_settingName] ? ' *' : ''}`, 0,
|
|
@@ -8775,7 +8773,7 @@ const keyConfigInit = (_kcType = g_kcType) => {
|
|
|
8775
8773
|
[tkObj.keyCtrlPtn, tkObj.keyNum, tkObj.posMax, tkObj.divideCnt];
|
|
8776
8774
|
|
|
8777
8775
|
g_keyCopyLists.simpleDef.forEach(header => updateKeyInfo(header, keyCtrlPtn));
|
|
8778
|
-
addTransform(`keyconSprite`, `root`, `scale(${g_keyObj.scale})
|
|
8776
|
+
addTransform(`keyconSprite`, `root`, `scale(${g_keyObj.scale})`, g_transPriority.scale);
|
|
8779
8777
|
keyconSprite.style.height = `${parseFloat(keyconSprite.style.height) / ((1 + g_keyObj.scale) / 2)}px`;
|
|
8780
8778
|
const kWidth = parseInt(keyconSprite.style.width);
|
|
8781
8779
|
changeSetColor();
|
|
@@ -10337,7 +10335,7 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
|
|
|
10337
10335
|
const dosSpeedData = getRefData(_header, `${_scoreNo}${_footer}`);
|
|
10338
10336
|
const speedData = [];
|
|
10339
10337
|
|
|
10340
|
-
if (hasVal(dosSpeedData) && g_stateObj.
|
|
10338
|
+
if (hasVal(dosSpeedData) && g_stateObj.d_velocity !== C_FLG_OFF) {
|
|
10341
10339
|
const tmpArrayData = splitLF(dosSpeedData);
|
|
10342
10340
|
|
|
10343
10341
|
tmpArrayData.filter(data => hasVal(data)).forEach(tmpData => {
|
|
@@ -10919,11 +10917,11 @@ const getSpeedFactor = _speed => {
|
|
|
10919
10917
|
// ±1 はそのまま返して符号を保持
|
|
10920
10918
|
return _speed;
|
|
10921
10919
|
}
|
|
10922
|
-
if (g_stateObj.
|
|
10920
|
+
if (g_stateObj.d_velocity === `Extreme`) {
|
|
10923
10921
|
// |speed|>1 を強めに、<1 を弱めに
|
|
10924
10922
|
return _speed * (Math.abs(_speed) > 1 ? 1.5 : 0.75);
|
|
10925
10923
|
}
|
|
10926
|
-
if (g_stateObj.
|
|
10924
|
+
if (g_stateObj.d_velocity === `Soft`) {
|
|
10927
10925
|
// 変化幅を緩和(符号は維持)
|
|
10928
10926
|
return (1 + Math.abs(_speed)) / 2 * Math.sign(_speed);
|
|
10929
10927
|
}
|
|
@@ -12086,17 +12084,16 @@ const mainInit = () => {
|
|
|
12086
12084
|
mainSprite.style.transformOrigin = `center 55%`;
|
|
12087
12085
|
}
|
|
12088
12086
|
|
|
12089
|
-
addTransform(`mainSprite`, `root`, `scale(${g_workObj.scale})
|
|
12090
|
-
addXY(`mainSprite`, `root`, g_workObj.playingX, g_posObj.stepY - C_STEP_Y + g_headerObj.playingY);
|
|
12087
|
+
addTransform(`mainSprite`, `root`, `scale(${g_workObj.scale})`, g_transPriority.scale);
|
|
12088
|
+
addXY(`mainSprite`, `root`, g_workObj.playingX, g_posObj.stepY - C_STEP_Y + g_headerObj.playingY, { priority: g_transPriority.base });
|
|
12091
12089
|
|
|
12092
12090
|
// 曲情報・判定カウント用スプライトを作成(メインスプライトより上位)
|
|
12093
12091
|
const infoSprite = createEmptySprite(divRoot, `infoSprite`, mainCommonPos);
|
|
12094
|
-
addXY(`infoSprite`, `root`, g_workObj.playingX, g_headerObj.playingY);
|
|
12092
|
+
addXY(`infoSprite`, `root`, g_workObj.playingX, g_headerObj.playingY, { priority: g_transPriority.base });
|
|
12095
12093
|
|
|
12096
12094
|
// 判定系スプライトを作成(メインスプライトより上位)
|
|
12097
12095
|
const judgeSprite = createEmptySprite(divRoot, `judgeSprite`, mainCommonPos);
|
|
12098
|
-
addXY(`judgeSprite`, `root`, g_workObj.playingX, g_headerObj.playingY);
|
|
12099
|
-
|
|
12096
|
+
addXY(`judgeSprite`, `root`, g_workObj.playingX, g_headerObj.playingY, { priority: g_transPriority.base });
|
|
12100
12097
|
const tkObj = getKeyInfo();
|
|
12101
12098
|
const [keyCtrlPtn, keyNum] = [tkObj.keyCtrlPtn, tkObj.keyNum];
|
|
12102
12099
|
|
|
@@ -12150,7 +12147,7 @@ const mainInit = () => {
|
|
|
12150
12147
|
// StepAreaオプションにより、レイヤーが倍化される場合があるため基準レイヤー数ごとに設定
|
|
12151
12148
|
const transj = j % g_stateObj.layerNumDf;
|
|
12152
12149
|
addTransform(`mainSprite${j}`, `mainSprite${j}`,
|
|
12153
|
-
g_keyObj[`layerTrans${keyCtrlPtn}`]?.[0]?.[Math.floor(transj / 2) * 2 + (transj + Number(g_stateObj.reverse === C_FLG_ON)) % 2]);
|
|
12150
|
+
g_keyObj[`layerTrans${keyCtrlPtn}`]?.[0]?.[Math.floor(transj / 2) * 2 + (transj + Number(g_stateObj.reverse === C_FLG_ON)) % 2], g_transPriority.layer);
|
|
12154
12151
|
|
|
12155
12152
|
stepSprite.push(createEmptySprite(mainSpriteJ, `stepSprite${j}`, mainCommonPos));
|
|
12156
12153
|
arrowSprite.push(createEmptySprite(mainSpriteJ, `arrowSprite${j}`, Object.assign({ y: g_workObj.hitPosition * (j % 2 === 0 ? 1 : -1) }, mainCommonPos)));
|
|
@@ -12202,7 +12199,7 @@ const mainInit = () => {
|
|
|
12202
12199
|
g_stepAreaFunc.get(g_stateObj.stepArea)();
|
|
12203
12200
|
|
|
12204
12201
|
// mainSpriteのtransform追加処理
|
|
12205
|
-
addTransform(`mainSprite`, `playWindow`, g_playWindowFunc.get(g_stateObj.playWindow)());
|
|
12202
|
+
addTransform(`mainSprite`, `playWindow`, g_playWindowFunc.get(g_stateObj.playWindow)(), g_transPriority.playWindow);
|
|
12206
12203
|
|
|
12207
12204
|
// EffectのArrowEffect追加処理
|
|
12208
12205
|
g_effectFunc.get(g_stateObj.effect)();
|
|
@@ -12213,7 +12210,7 @@ const mainInit = () => {
|
|
|
12213
12210
|
|
|
12214
12211
|
// Shaking初期化
|
|
12215
12212
|
if (g_stateObj.shaking !== C_FLG_OFF) {
|
|
12216
|
-
addXY(`mainSprite`, `shaking`, 0, 0);
|
|
12213
|
+
addXY(`mainSprite`, `shaking`, 0, 0, { priority: g_transPriority.shaking });
|
|
12217
12214
|
}
|
|
12218
12215
|
|
|
12219
12216
|
// 現在の矢印・フリーズアローの速度、個別加算速度の初期化 (速度変化時に直す)
|
|
@@ -12674,6 +12671,7 @@ const mainInit = () => {
|
|
|
12674
12671
|
const judgeObjDelete = {};
|
|
12675
12672
|
g_typeLists.arrow.forEach(type =>
|
|
12676
12673
|
judgeObjDelete[type] = (_j, _deleteName) => {
|
|
12674
|
+
delTransform(_deleteName, `root`);
|
|
12677
12675
|
g_workObj[`judg${toCapitalize(type)}Cnt`][_j]++;
|
|
12678
12676
|
document.getElementById(_deleteName).remove();
|
|
12679
12677
|
delete g_attrObj[_deleteName];
|
|
@@ -12892,8 +12890,8 @@ const mainInit = () => {
|
|
|
12892
12890
|
(_attrs.initY * g_workObj.boostSpd +
|
|
12893
12891
|
_attrs.initBoostY * g_workObj.boostDir) * g_workObj.scrollDir[_j];
|
|
12894
12892
|
|
|
12895
|
-
const
|
|
12896
|
-
x: g_workObj.stepX[_j], y:
|
|
12893
|
+
const arrowRoot = createEmptySprite(arrowSprite[g_workObj.dividePos[_j]], arrowName, {
|
|
12894
|
+
x: g_workObj.stepX[_j], y: 0, w: C_ARW_WIDTH, h: C_ARW_WIDTH,
|
|
12897
12895
|
});
|
|
12898
12896
|
/**
|
|
12899
12897
|
* 矢印毎の属性情報
|
|
@@ -12916,14 +12914,17 @@ const mainInit = () => {
|
|
|
12916
12914
|
// 現フレーム時の位置
|
|
12917
12915
|
y: firstPosY,
|
|
12918
12916
|
};
|
|
12917
|
+
addTransform(arrowName, `root`, `translateY(${wUnit(firstPosY)})`);
|
|
12918
|
+
|
|
12919
12919
|
// 矢印色の設定
|
|
12920
12920
|
// - 枠/塗りつぶし色: g_attrObj[arrowName].Arrow / ArrowShadow
|
|
12921
12921
|
g_typeLists.arrowColor.forEach(val => g_attrObj[arrowName][`Arrow${val}`] = g_workObj[`${_name}${val}Colors`][_j]);
|
|
12922
|
-
arrowSprite[g_workObj.dividePos[_j]].appendChild(
|
|
12922
|
+
arrowSprite[g_workObj.dividePos[_j]].appendChild(arrowRoot);
|
|
12923
|
+
const arrowSubRoot = createEmptySprite(arrowRoot, `sub${arrowName}`, { x: 0, y: 0, w: C_ARW_WIDTH, h: C_ARW_WIDTH });
|
|
12923
12924
|
|
|
12924
12925
|
if (g_workObj[`${_name}CssMotions`][_j] !== ``) {
|
|
12925
|
-
|
|
12926
|
-
|
|
12926
|
+
arrowSubRoot.classList.add(g_workObj[`${_name}CssMotions`][_j]);
|
|
12927
|
+
arrowSubRoot.style.animationDuration = `${_attrs.arrivalFrame / g_fps}s`;
|
|
12927
12928
|
}
|
|
12928
12929
|
|
|
12929
12930
|
/**
|
|
@@ -12940,11 +12941,11 @@ const mainInit = () => {
|
|
|
12940
12941
|
if (_shadowColor === `Default`) {
|
|
12941
12942
|
arrShadow.style.opacity = 0.5;
|
|
12942
12943
|
}
|
|
12943
|
-
|
|
12944
|
+
arrowSubRoot.appendChild(arrShadow);
|
|
12944
12945
|
}
|
|
12945
12946
|
|
|
12946
12947
|
// 矢印 (枠)
|
|
12947
|
-
|
|
12948
|
+
arrowSubRoot.appendChild(createColorObject2(`${_name}Top${_j}_${_arrowCnt}`, {
|
|
12948
12949
|
background: _color, rotate: g_workObj.arrowRtn[_j],
|
|
12949
12950
|
}));
|
|
12950
12951
|
g_customJsObj.makeArrow.forEach(func => func(_attrs, arrowName, _name, _arrowCnt));
|
|
@@ -12969,7 +12970,7 @@ const mainInit = () => {
|
|
|
12969
12970
|
currentArrow.prevY = currentArrow.y;
|
|
12970
12971
|
currentArrow.y -= (g_workObj.currentSpeed * currentArrow.boostSpd +
|
|
12971
12972
|
(g_workObj.motionOnFrames[boostCnt] || 0) * currentArrow.boostDir) * currentArrow.dir;
|
|
12972
|
-
|
|
12973
|
+
addTransform(arrowName, `root`, `translateY(${wUnit(currentArrow.y)})`);
|
|
12973
12974
|
g_motionAlphaFunc.get(g_stateObj.motion)(arrowName, currentArrow);
|
|
12974
12975
|
currentArrow.boostCnt--;
|
|
12975
12976
|
}
|
|
@@ -12999,7 +13000,7 @@ const mainInit = () => {
|
|
|
12999
13000
|
const firstBarLength = g_workObj[`mk${toCapitalize(_name)}Length`][_j][(_arrowCnt - 1) * 2] * g_workObj.boostSpd;
|
|
13000
13001
|
|
|
13001
13002
|
const frzRoot = createEmptySprite(arrowSprite[g_workObj.dividePos[_j]], frzName, {
|
|
13002
|
-
x: g_workObj.stepX[_j], y:
|
|
13003
|
+
x: g_workObj.stepX[_j], y: 0, w: C_ARW_WIDTH, h: C_ARW_WIDTH + firstBarLength,
|
|
13003
13004
|
});
|
|
13004
13005
|
/**
|
|
13005
13006
|
* フリーズアロー毎の属性情報
|
|
@@ -13032,6 +13033,8 @@ const mainInit = () => {
|
|
|
13032
13033
|
// フリーズアロー(対矢印)の相対位置
|
|
13033
13034
|
btmY: firstBarLength * g_workObj.scrollDir[_j],
|
|
13034
13035
|
};
|
|
13036
|
+
addTransform(frzName, `root`, `translateY(${wUnit(firstPosY)})`);
|
|
13037
|
+
|
|
13035
13038
|
// フリーズアロー色の設定
|
|
13036
13039
|
// - 通常時 (矢印枠/矢印塗りつぶし/帯): g_attrObj[frzName].Normal / NormalShadow / NormalBar
|
|
13037
13040
|
// - ヒット時 (矢印枠/矢印塗りつぶし/帯): g_attrObj[frzName].Hit / HitShadow / HitBar
|
|
@@ -13044,12 +13047,13 @@ const mainInit = () => {
|
|
|
13044
13047
|
});
|
|
13045
13048
|
arrowSprite[g_workObj.dividePos[_j]].appendChild(frzRoot);
|
|
13046
13049
|
let shadowColor = _shadowColor === `Default` ? _normalColor : _shadowColor;
|
|
13050
|
+
const frzSubRoot = createEmptySprite(frzRoot, `sub${frzName}`, { x: 0, y: 0, w: C_ARW_WIDTH, h: C_ARW_WIDTH + firstBarLength });
|
|
13047
13051
|
|
|
13048
13052
|
/**
|
|
13049
13053
|
* フリーズアローオブジェクトの生成
|
|
13050
13054
|
* - 後で生成されたものが手前に表示されるため、以下の順で作成
|
|
13051
13055
|
*/
|
|
13052
|
-
multiAppend(
|
|
13056
|
+
multiAppend(frzSubRoot,
|
|
13053
13057
|
|
|
13054
13058
|
// フリーズアロー帯(frzBar)
|
|
13055
13059
|
createColorObject2(`${_name}Bar${frzNo}`, {
|
|
@@ -13057,9 +13061,9 @@ const mainInit = () => {
|
|
|
13057
13061
|
opacity: 0.75,
|
|
13058
13062
|
}),
|
|
13059
13063
|
);
|
|
13060
|
-
const frzTopRoot = createEmptySprite(
|
|
13064
|
+
const frzTopRoot = createEmptySprite(frzSubRoot, `${_name}TopRoot${frzNo}`,
|
|
13061
13065
|
{ x: 0, y: 0, w: C_ARW_WIDTH, h: C_ARW_WIDTH });
|
|
13062
|
-
const frzBtmRoot = createEmptySprite(
|
|
13066
|
+
const frzBtmRoot = createEmptySprite(frzSubRoot, `${_name}BtmRoot${frzNo}`,
|
|
13063
13067
|
{ x: 0, y: g_attrObj[frzName].btmY, w: C_ARW_WIDTH, h: C_ARW_WIDTH });
|
|
13064
13068
|
|
|
13065
13069
|
multiAppend(frzTopRoot,
|
|
@@ -13089,8 +13093,8 @@ const mainInit = () => {
|
|
|
13089
13093
|
|
|
13090
13094
|
);
|
|
13091
13095
|
if (g_workObj[`${_name}CssMotions`][_j] !== ``) {
|
|
13092
|
-
|
|
13093
|
-
|
|
13096
|
+
frzSubRoot.classList.add(g_workObj[`${_name}CssMotions`][_j]);
|
|
13097
|
+
frzSubRoot.style.animationDuration = `${_attrs.arrivalFrame / g_fps}s`;
|
|
13094
13098
|
}
|
|
13095
13099
|
if (g_workObj[`${_name}ArrowCssMotions`][_j] !== ``) {
|
|
13096
13100
|
[frzTopRoot, frzBtmRoot].forEach(obj => {
|
|
@@ -13123,7 +13127,7 @@ const mainInit = () => {
|
|
|
13123
13127
|
if (g_workObj.currentSpeed !== 0) {
|
|
13124
13128
|
currentFrz.prevY = currentFrz.y;
|
|
13125
13129
|
currentFrz.y -= movY + (g_workObj.motionOnFrames[currentFrz.boostCnt] || 0) * currentFrz.dir * currentFrz.boostDir;
|
|
13126
|
-
|
|
13130
|
+
addTransform(frzName, `root`, `translateY(${wUnit(currentFrz.y)})`);
|
|
13127
13131
|
g_motionAlphaFunc.get(g_stateObj.motion)(frzName, currentFrz);
|
|
13128
13132
|
currentFrz.boostCnt--;
|
|
13129
13133
|
}
|
|
@@ -13163,7 +13167,7 @@ const mainInit = () => {
|
|
|
13163
13167
|
currentFrz.frzBarLength -= movY * currentFrz.dir;
|
|
13164
13168
|
if (currentFrz.frzBarLength > 0) {
|
|
13165
13169
|
currentFrz.y -= movY;
|
|
13166
|
-
|
|
13170
|
+
addTransform(frzName, `root`, `translateY(${wUnit(currentFrz.y)})`);
|
|
13167
13171
|
} else {
|
|
13168
13172
|
judgeObjDelete[_name](_j, frzName);
|
|
13169
13173
|
}
|
|
@@ -13576,19 +13580,20 @@ const changeAppearanceFilter = (_num = 10) => {
|
|
|
13576
13580
|
$id(`arrowSprite${topNum + j}`).clipPath = topShape;
|
|
13577
13581
|
$id(`arrowSprite${bottomNum + j}`).clipPath = bottomShape;
|
|
13578
13582
|
|
|
13579
|
-
addY(`filterBar${topNum + j}`, `appearance`, parseFloat($id(`arrowSprite${j}`).top) + topDist);
|
|
13580
|
-
addY(`filterBar${bottomNum + j}`, `appearance`, parseFloat($id(`arrowSprite${j + 1}`).top) + bottomDist);
|
|
13583
|
+
addY(`filterBar${topNum + j}`, `appearance`, parseFloat($id(`arrowSprite${j}`).top) + topDist, { priority: g_transPriority.layer });
|
|
13584
|
+
addY(`filterBar${bottomNum + j}`, `appearance`, parseFloat($id(`arrowSprite${j + 1}`).top) + bottomDist, { priority: g_transPriority.layer });
|
|
13581
13585
|
|
|
13582
13586
|
if (![`Default`, `Halfway`].includes(g_stateObj.stepArea)) {
|
|
13583
|
-
addY(`filterBar${bottomNum + j}_HS`, `appearance`, parseFloat($id(`arrowSprite${j}`).top) + bottomDist);
|
|
13584
|
-
addY(`filterBar${topNum + j}_HS`, `appearance`, parseFloat($id(`arrowSprite${j + 1}`).top) + topDist);
|
|
13587
|
+
addY(`filterBar${bottomNum + j}_HS`, `appearance`, parseFloat($id(`arrowSprite${j}`).top) + bottomDist, { priority: g_transPriority.layer });
|
|
13588
|
+
addY(`filterBar${topNum + j}_HS`, `appearance`, parseFloat($id(`arrowSprite${j + 1}`).top) + topDist, { priority: g_transPriority.layer });
|
|
13585
13589
|
}
|
|
13586
13590
|
}
|
|
13587
13591
|
|
|
13588
13592
|
// フィルターバーのパーセント表示(フィルターバーが複数表示されるなど複雑なため、最初の階層グループの位置に追従)
|
|
13589
13593
|
if (g_appearanceRanges.includes(g_stateObj.appearance)) {
|
|
13590
13594
|
const currentBarNum = g_hidSudObj.std[g_stateObj.appearance][g_stateObj.reverse];
|
|
13591
|
-
|
|
13595
|
+
addY(`filterView`, `appearance`, parseFloat($id(`arrowSprite${currentBarNum % 2}`).top) +
|
|
13596
|
+
(currentBarNum % 2 === 0 ? bottomDist : topDist), { priority: g_transPriority.layer });
|
|
13592
13597
|
filterView.textContent = `${_num}%`;
|
|
13593
13598
|
g_hidSudObj.filterPos = _num;
|
|
13594
13599
|
}
|
|
@@ -13678,12 +13683,12 @@ const changeReturn = (_rad, _axis) => {
|
|
|
13678
13683
|
}
|
|
13679
13684
|
sprite.style.opacity = isBack ? 0.7 : 1;
|
|
13680
13685
|
|
|
13681
|
-
addTransform(`mainSprite`, `frzReturn`, _transform);
|
|
13686
|
+
addTransform(`mainSprite`, `frzReturn`, _transform, g_transPriority.frzReturn);
|
|
13682
13687
|
|
|
13683
13688
|
if (_rad < 360 && g_workObj.frzReturnFlg) {
|
|
13684
13689
|
setTimeout(() => changeReturn(_rad + 4, _axis), 20);
|
|
13685
13690
|
} else {
|
|
13686
|
-
|
|
13691
|
+
delTransform(`mainSprite`, `frzReturn`);
|
|
13687
13692
|
g_workObj.frzReturnFlg = false;
|
|
13688
13693
|
}
|
|
13689
13694
|
}
|
|
@@ -13781,7 +13786,7 @@ const changeScrollArrowDirs = (_frameNum) => {
|
|
|
13781
13786
|
tmpObj.set(g_workObj.dividePos[targetj], g_workObj.mkScrollchArrowLayerTrans[_frameNum][j]);
|
|
13782
13787
|
}
|
|
13783
13788
|
});
|
|
13784
|
-
tmpObj.forEach((val, key, map) => addTransform(`mainSprite${key}`, `scrollch`, val));
|
|
13789
|
+
tmpObj.forEach((val, key, map) => addTransform(`mainSprite${key}`, `scrollch`, val, g_transPriority.layer));
|
|
13785
13790
|
};
|
|
13786
13791
|
|
|
13787
13792
|
/**
|
|
@@ -13831,7 +13836,6 @@ const changeHitFrz = (_j, _k, _name, _difFrame = 0) => {
|
|
|
13831
13836
|
|
|
13832
13837
|
// フリーズアロー位置の修正(ステップゾーン上に来るように)
|
|
13833
13838
|
const delFrzLength = parseFloat($id(`stepRoot${_j}`).top) - currentFrz.y;
|
|
13834
|
-
$id(frzName).top = $id(`stepRoot${_j}`).top;
|
|
13835
13839
|
|
|
13836
13840
|
// 早押ししたboostCnt分のフリーズアロー終端位置の修正
|
|
13837
13841
|
const delFrzMotionLength = sumData(g_workObj.motionOnFrames.slice(0, currentFrz.boostCnt + 1));
|
|
@@ -13844,6 +13848,7 @@ const changeHitFrz = (_j, _k, _name, _difFrame = 0) => {
|
|
|
13844
13848
|
currentFrz.btmY -= delFrzLength + delFrzMotionLength + hitPos;
|
|
13845
13849
|
currentFrz.y += delFrzLength;
|
|
13846
13850
|
currentFrz.isMoving = false;
|
|
13851
|
+
addTransform(frzName, `root`, `translateY(${wUnit(currentFrz.y)})`);
|
|
13847
13852
|
|
|
13848
13853
|
/**
|
|
13849
13854
|
* フリーズアロー(ヒット時)の色変更
|
|
@@ -15132,7 +15137,7 @@ const getSelectedSettingList = (_shuffleName) => {
|
|
|
15132
15137
|
}
|
|
15133
15138
|
|
|
15134
15139
|
let display2Data = [
|
|
15135
|
-
withDisplays(g_stateObj.
|
|
15140
|
+
withDisplays(g_stateObj.d_velocity, C_FLG_ON, g_lblNameObj.rd_Velocity),
|
|
15136
15141
|
withDisplays(g_stateObj.d_color, C_FLG_ON, g_lblNameObj.rd_Color),
|
|
15137
15142
|
withDisplays(g_stateObj.d_lyrics, C_FLG_ON, g_lblNameObj.rd_Lyrics),
|
|
15138
15143
|
withDisplays(g_stateObj.d_background, C_FLG_ON, g_lblNameObj.rd_Background),
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Source by tickle
|
|
7
7
|
* Created : 2019/11/19
|
|
8
|
-
* Revised : 2026/02/
|
|
8
|
+
* Revised : 2026/02/26 (v45.1.0)
|
|
9
9
|
*
|
|
10
10
|
* https://github.com/cwtickle/danoniplus
|
|
11
11
|
*/
|
|
@@ -1154,7 +1154,7 @@ const g_stateObj = {
|
|
|
1154
1154
|
d_filterline: C_FLG_ON,
|
|
1155
1155
|
|
|
1156
1156
|
d_color: C_FLG_ON,
|
|
1157
|
-
|
|
1157
|
+
d_velocity: C_FLG_ON,
|
|
1158
1158
|
d_arroweffect: C_FLG_ON,
|
|
1159
1159
|
d_lyrics: C_FLG_ON,
|
|
1160
1160
|
d_background: C_FLG_ON,
|
|
@@ -1313,7 +1313,7 @@ const g_settings = {
|
|
|
1313
1313
|
|
|
1314
1314
|
// Display設定の拡張リスト
|
|
1315
1315
|
d_stepZones: [`FlatBar`],
|
|
1316
|
-
|
|
1316
|
+
d_velocitys: [`Extreme`, `Soft`],
|
|
1317
1317
|
|
|
1318
1318
|
displayNum: {
|
|
1319
1319
|
stepZone: 0,
|
|
@@ -1322,7 +1322,7 @@ const g_settings = {
|
|
|
1322
1322
|
lifeGauge: 0,
|
|
1323
1323
|
score: 0,
|
|
1324
1324
|
musicInfo: 0,
|
|
1325
|
-
|
|
1325
|
+
velocity: 0,
|
|
1326
1326
|
color: 0,
|
|
1327
1327
|
lyrics: 0,
|
|
1328
1328
|
background: 0,
|
|
@@ -1388,6 +1388,15 @@ const g_moveSettingWindow = (_changePageFlg = true, _direction = 1) => {
|
|
|
1388
1388
|
const g_transforms = {};
|
|
1389
1389
|
const g_posXs = {};
|
|
1390
1390
|
const g_posYs = {};
|
|
1391
|
+
const g_transPriority = {
|
|
1392
|
+
base: 0,
|
|
1393
|
+
layer: 10,
|
|
1394
|
+
playWindow: 100,
|
|
1395
|
+
stepArea: 110,
|
|
1396
|
+
frzReturn: 120,
|
|
1397
|
+
shaking: 130,
|
|
1398
|
+
scale: 200,
|
|
1399
|
+
};
|
|
1391
1400
|
|
|
1392
1401
|
/**
|
|
1393
1402
|
* idごとのtransformを追加・変更
|
|
@@ -1395,13 +1404,37 @@ const g_posYs = {};
|
|
|
1395
1404
|
* @param {string} _id
|
|
1396
1405
|
* @param {string} _transformId
|
|
1397
1406
|
* @param {string} _transform
|
|
1407
|
+
* @param {number} [_priority=1000] transformの優先度(数値が小さいほど優先される。デフォルトは1000)
|
|
1398
1408
|
*/
|
|
1399
|
-
const addTransform = (_id, _transformId, _transform) => {
|
|
1409
|
+
const addTransform = (_id, _transformId, _transform, _priority = 1000) => {
|
|
1400
1410
|
if (g_transforms[_id] === undefined) {
|
|
1401
1411
|
g_transforms[_id] = new Map();
|
|
1402
1412
|
}
|
|
1403
|
-
g_transforms[_id].set(_transformId, _transform);
|
|
1404
|
-
$id(_id).transform = Array.from(g_transforms[_id].values())
|
|
1413
|
+
g_transforms[_id].set(_transformId, { transform: _transform, priority: _priority });
|
|
1414
|
+
$id(_id).transform = Array.from(g_transforms[_id].values())
|
|
1415
|
+
.sort((a, b) => b.priority - a.priority)
|
|
1416
|
+
.map(v => v.transform)
|
|
1417
|
+
.join(` `);
|
|
1418
|
+
};
|
|
1419
|
+
|
|
1420
|
+
/**
|
|
1421
|
+
* id, transformIdに合致するtransformの削除
|
|
1422
|
+
* @param {string} _id
|
|
1423
|
+
* @param {string} _transformId
|
|
1424
|
+
*/
|
|
1425
|
+
const delTransform = (_id, _transformId) => {
|
|
1426
|
+
if (g_transforms[_id]) {
|
|
1427
|
+
g_transforms[_id].delete(_transformId);
|
|
1428
|
+
if (g_transforms[_id].size === 0) {
|
|
1429
|
+
delete g_transforms[_id];
|
|
1430
|
+
$id(_id).transform = ``;
|
|
1431
|
+
return;
|
|
1432
|
+
}
|
|
1433
|
+
$id(_id).transform = Array.from(g_transforms[_id].values())
|
|
1434
|
+
.sort((a, b) => b.priority - a.priority)
|
|
1435
|
+
.map(v => v.transform)
|
|
1436
|
+
.join(` `);
|
|
1437
|
+
}
|
|
1405
1438
|
};
|
|
1406
1439
|
|
|
1407
1440
|
/**
|
|
@@ -1427,7 +1460,7 @@ const resetTransform = () => {
|
|
|
1427
1460
|
* @returns {string}
|
|
1428
1461
|
*/
|
|
1429
1462
|
const getTransform = (_id, _transformId) => {
|
|
1430
|
-
return g_transforms[_id]?.
|
|
1463
|
+
return g_transforms[_id]?.get(_transformId)?.transform || ``;
|
|
1431
1464
|
};
|
|
1432
1465
|
|
|
1433
1466
|
/**
|
|
@@ -1435,10 +1468,11 @@ const getTransform = (_id, _transformId) => {
|
|
|
1435
1468
|
* @param {string} _id
|
|
1436
1469
|
* @param {string} _typeId
|
|
1437
1470
|
* @param {number} [_x=0]
|
|
1438
|
-
* @param {boolean} [
|
|
1471
|
+
* @param {boolean} [overwrite=false]
|
|
1472
|
+
* @param {number} [priority=1000] transformの優先度(数値が小さいほど優先される。デフォルトは1000)
|
|
1439
1473
|
*/
|
|
1440
|
-
const addX = (_id, _typeId, _x = 0,
|
|
1441
|
-
if (
|
|
1474
|
+
const addX = (_id, _typeId, _x = 0, { overwrite = false, priority = 1000 } = {}) => {
|
|
1475
|
+
if (overwrite) {
|
|
1442
1476
|
delete g_posXs?.[_id];
|
|
1443
1477
|
}
|
|
1444
1478
|
if (g_posXs[_id] === undefined) {
|
|
@@ -1446,7 +1480,7 @@ const addX = (_id, _typeId, _x = 0, _overwrite = false) => {
|
|
|
1446
1480
|
}
|
|
1447
1481
|
if (g_posXs[_id].get(_typeId) !== _x) {
|
|
1448
1482
|
g_posXs[_id].set(_typeId, _x);
|
|
1449
|
-
|
|
1483
|
+
addTransform(_id, `posX`, `translateX(${sumData(Array.from(g_posXs[_id].values()))}px)`, priority);
|
|
1450
1484
|
}
|
|
1451
1485
|
};
|
|
1452
1486
|
|
|
@@ -1455,10 +1489,11 @@ const addX = (_id, _typeId, _x = 0, _overwrite = false) => {
|
|
|
1455
1489
|
* @param {string} _id
|
|
1456
1490
|
* @param {string} _typeId
|
|
1457
1491
|
* @param {number} [_y=0]
|
|
1458
|
-
* @param {boolean} [
|
|
1492
|
+
* @param {boolean} [overwrite=false]
|
|
1493
|
+
* @param {number} [priority=1000] transformの優先度(数値が小さいほど優先される。デフォルトは1000)
|
|
1459
1494
|
*/
|
|
1460
|
-
const addY = (_id, _typeId, _y = 0,
|
|
1461
|
-
if (
|
|
1495
|
+
const addY = (_id, _typeId, _y = 0, { overwrite = false, priority = 1000 } = {}) => {
|
|
1496
|
+
if (overwrite) {
|
|
1462
1497
|
delete g_posYs?.[_id];
|
|
1463
1498
|
}
|
|
1464
1499
|
if (g_posYs[_id] === undefined) {
|
|
@@ -1466,7 +1501,7 @@ const addY = (_id, _typeId, _y = 0, _overwrite = false) => {
|
|
|
1466
1501
|
}
|
|
1467
1502
|
if (g_posYs[_id].get(_typeId) !== _y) {
|
|
1468
1503
|
g_posYs[_id].set(_typeId, _y);
|
|
1469
|
-
|
|
1504
|
+
addTransform(_id, `posY`, `translateY(${sumData(Array.from(g_posYs[_id].values()))}px)`, priority);
|
|
1470
1505
|
}
|
|
1471
1506
|
};
|
|
1472
1507
|
|
|
@@ -1476,8 +1511,14 @@ const addY = (_id, _typeId, _y = 0, _overwrite = false) => {
|
|
|
1476
1511
|
* @param {string} _typeId
|
|
1477
1512
|
*/
|
|
1478
1513
|
const delX = (_id, _typeId) => {
|
|
1514
|
+
if (g_posXs[_id] === undefined) return;
|
|
1479
1515
|
g_posXs[_id]?.delete(_typeId);
|
|
1480
|
-
|
|
1516
|
+
if (g_posXs[_id].size === 0) {
|
|
1517
|
+
delTransform(_id, `posX`);
|
|
1518
|
+
return;
|
|
1519
|
+
}
|
|
1520
|
+
const priority = g_transforms[_id]?.get(`posX`)?.priority ?? 1000;
|
|
1521
|
+
addTransform(_id, `posX`, `translateX(${sumData(Array.from(g_posXs[_id].values()))}px)`, priority);
|
|
1481
1522
|
};
|
|
1482
1523
|
|
|
1483
1524
|
/**
|
|
@@ -1486,8 +1527,14 @@ const delX = (_id, _typeId) => {
|
|
|
1486
1527
|
* @param {string} _typeId
|
|
1487
1528
|
*/
|
|
1488
1529
|
const delY = (_id, _typeId) => {
|
|
1530
|
+
if (g_posYs[_id] === undefined) return;
|
|
1489
1531
|
g_posYs[_id]?.delete(_typeId);
|
|
1490
|
-
|
|
1532
|
+
if (g_posYs[_id].size === 0) {
|
|
1533
|
+
delTransform(_id, `posY`);
|
|
1534
|
+
return;
|
|
1535
|
+
}
|
|
1536
|
+
const priority = g_transforms[_id]?.get(`posY`)?.priority ?? 1000;
|
|
1537
|
+
addTransform(_id, `posY`, `translateY(${sumData(Array.from(g_posYs[_id].values()))}px)`, priority);
|
|
1491
1538
|
};
|
|
1492
1539
|
|
|
1493
1540
|
/**
|
|
@@ -1496,11 +1543,30 @@ const delY = (_id, _typeId) => {
|
|
|
1496
1543
|
* @param {string} _typeId
|
|
1497
1544
|
* @param {number} _x
|
|
1498
1545
|
* @param {number} _y
|
|
1499
|
-
* @param {boolean} [
|
|
1546
|
+
* @param {boolean} [overwrite=false]
|
|
1547
|
+
* @param {number} [priority=1000] transformの優先度(数値が小さいほど優先される。デフォルトは1000)
|
|
1500
1548
|
*/
|
|
1501
|
-
const addXY = (_id, _typeId, _x = 0, _y = 0,
|
|
1502
|
-
addX(_id, _typeId, _x,
|
|
1503
|
-
addY(_id, _typeId, _y,
|
|
1549
|
+
const addXY = (_id, _typeId, _x = 0, _y = 0, { overwrite = false, priority = 1000 } = {}) => {
|
|
1550
|
+
addX(_id, _typeId, _x, { overwrite, priority });
|
|
1551
|
+
addY(_id, _typeId, _y, { overwrite, priority });
|
|
1552
|
+
};
|
|
1553
|
+
|
|
1554
|
+
/**
|
|
1555
|
+
* 座標を回転させた場合の変換処理
|
|
1556
|
+
* @param {number} _x
|
|
1557
|
+
* @param {number} _y
|
|
1558
|
+
* @param {number} _angleDeg
|
|
1559
|
+
* @returns {object} {x: number, y: number}
|
|
1560
|
+
*/
|
|
1561
|
+
const rotateXY = (_x, _y, _angleDeg) => {
|
|
1562
|
+
const rad = _angleDeg * Math.PI / 180;
|
|
1563
|
+
const cos = Math.cos(rad);
|
|
1564
|
+
const sin = Math.sin(rad);
|
|
1565
|
+
|
|
1566
|
+
const rx = _x * cos - _y * sin;
|
|
1567
|
+
const ry = _x * sin + _y * cos;
|
|
1568
|
+
|
|
1569
|
+
return { x: rx, y: ry };
|
|
1504
1570
|
};
|
|
1505
1571
|
|
|
1506
1572
|
/**
|
|
@@ -1667,7 +1733,7 @@ const g_stepAreaFunc = new Map([
|
|
|
1667
1733
|
}],
|
|
1668
1734
|
['Mismatched', () => {
|
|
1669
1735
|
for (let j = 0; j < g_stateObj.layerNum; j++) {
|
|
1670
|
-
addTransform(`mainSprite${j}`, `stepArea`, `rotate(${getDirFromLayer(j) * -15}deg)
|
|
1736
|
+
addTransform(`mainSprite${j}`, `stepArea`, `rotate(${getDirFromLayer(j) * -15}deg)`, g_transPriority.stepArea);
|
|
1671
1737
|
}
|
|
1672
1738
|
if (g_workObj.orgFlatFlg) {
|
|
1673
1739
|
g_arrowGroupSprite.forEach(sprite => {
|
|
@@ -1679,7 +1745,7 @@ const g_stepAreaFunc = new Map([
|
|
|
1679
1745
|
}],
|
|
1680
1746
|
['R-Mismatched', () => {
|
|
1681
1747
|
for (let j = 0; j < g_stateObj.layerNum; j++) {
|
|
1682
|
-
addTransform(`mainSprite${j}`, `stepArea`, `rotate(${getDirFromLayer(j) * 15}deg)
|
|
1748
|
+
addTransform(`mainSprite${j}`, `stepArea`, `rotate(${getDirFromLayer(j) * 15}deg)`, g_transPriority.stepArea);
|
|
1683
1749
|
}
|
|
1684
1750
|
if (g_workObj.orgFlatFlg) {
|
|
1685
1751
|
g_arrowGroupSprite.forEach(sprite => {
|
|
@@ -1698,13 +1764,13 @@ const g_stepAreaFunc = new Map([
|
|
|
1698
1764
|
}],
|
|
1699
1765
|
['X-Flower', () => {
|
|
1700
1766
|
for (let j = 0; j < g_stateObj.layerNum; j++) {
|
|
1701
|
-
addTransform(`mainSprite${j}`, `stepArea`, `rotate(${getDirFromLayer(j) * -15}deg)
|
|
1767
|
+
addTransform(`mainSprite${j}`, `stepArea`, `rotate(${getDirFromLayer(j) * -15}deg)`, g_transPriority.stepArea);
|
|
1702
1768
|
}
|
|
1703
1769
|
}],
|
|
1704
1770
|
['Alt-Crossing', () => {
|
|
1705
1771
|
for (let j = 0; j < g_stateObj.layerNum; j++) {
|
|
1706
1772
|
addTransform(`mainSprite${j}`, `stepArea`, `rotate(${getDirFromLayer(j) * -10}deg) ` +
|
|
1707
|
-
`translateX(${getDirFromLayer(j) * 20}px)
|
|
1773
|
+
`translateX(${getDirFromLayer(j) * 20}px)`, g_transPriority.stepArea);
|
|
1708
1774
|
}
|
|
1709
1775
|
}],
|
|
1710
1776
|
]);
|
|
@@ -1861,7 +1927,7 @@ const g_keycons = {
|
|
|
1861
1927
|
};
|
|
1862
1928
|
|
|
1863
1929
|
let g_displays = [`stepZone`, `judgment`, `fastSlow`, `lifeGauge`, `score`, `musicInfo`, `filterLine`,
|
|
1864
|
-
`
|
|
1930
|
+
`velocity`, `color`, `lyrics`, `background`, `arrowEffect`, `special`];
|
|
1865
1931
|
|
|
1866
1932
|
// ローカルストレージ保存対象
|
|
1867
1933
|
let g_storeSettings = [`adjustment`, `volume`, `appearance`, `opacity`, `hitPosition`];
|
|
@@ -1870,7 +1936,7 @@ let g_storeSettings = [`adjustment`, `volume`, `appearance`, `opacity`, `hitPosi
|
|
|
1870
1936
|
let g_storeSettingsEx = [`d_stepzone`, `d_judgment`, `d_fastslow`, `d_lifegauge`,
|
|
1871
1937
|
`d_score`, `d_musicinfo`, `d_filterline`];
|
|
1872
1938
|
|
|
1873
|
-
let g_canDisabledSettings = [`motion`, `scroll`, `reverse`, `shuffle`, `autoPlay`, `gauge`,
|
|
1939
|
+
let g_canDisabledSettings = [`speed`, `motion`, `scroll`, `reverse`, `shuffle`, `autoPlay`, `gauge`,
|
|
1874
1940
|
`excessive`, `appearance`, `playWindow`, `stepArea`, `frzReturn`, `shaking`, `effect`, `camoufrage`,
|
|
1875
1941
|
`swapping`, `judgRange`, `autoRetry`];
|
|
1876
1942
|
|
|
@@ -2463,8 +2529,8 @@ const g_shortcutObj = {
|
|
|
2463
2529
|
ShiftRight_Digit6: { id: `lnkmusicInfoR` },
|
|
2464
2530
|
ShiftLeft_Digit7: { id: `lnkfilterLineR` },
|
|
2465
2531
|
ShiftRight_Digit7: { id: `lnkfilterLineR` },
|
|
2466
|
-
ShiftLeft_Digit8: { id: `
|
|
2467
|
-
ShiftRight_Digit8: { id: `
|
|
2532
|
+
ShiftLeft_Digit8: { id: `lnkvelocityR` },
|
|
2533
|
+
ShiftRight_Digit8: { id: `lnkvelocityR` },
|
|
2468
2534
|
ShiftLeft_Digit9: { id: `lnkcolorR` },
|
|
2469
2535
|
ShiftRight_Digit9: { id: `lnkcolorR` },
|
|
2470
2536
|
ShiftLeft_Digit0: { id: `lnklyricsR` },
|
|
@@ -2483,7 +2549,7 @@ const g_shortcutObj = {
|
|
|
2483
2549
|
Digit5: { id: `lnkscore` },
|
|
2484
2550
|
Digit6: { id: `lnkmusicInfo` },
|
|
2485
2551
|
Digit7: { id: `lnkfilterLine` },
|
|
2486
|
-
Digit8: { id: `
|
|
2552
|
+
Digit8: { id: `lnkvelocity` },
|
|
2487
2553
|
Digit9: { id: `lnkcolor` },
|
|
2488
2554
|
Digit0: { id: `lnklyrics` },
|
|
2489
2555
|
Semicolon: { id: `lnkbackground` },
|
|
@@ -2504,8 +2570,8 @@ const g_shortcutObj = {
|
|
|
2504
2570
|
ShiftRight_Numpad6: { id: `lnkmusicInfoR` },
|
|
2505
2571
|
ShiftLeft_Numpad7: { id: `lnkfilterLineR` },
|
|
2506
2572
|
ShiftRight_Numpad7: { id: `lnkfilterLineR` },
|
|
2507
|
-
ShiftLeft_Numpad8: { id: `
|
|
2508
|
-
ShiftRight_Numpad8: { id: `
|
|
2573
|
+
ShiftLeft_Numpad8: { id: `lnkvelocityR` },
|
|
2574
|
+
ShiftRight_Numpad8: { id: `lnkvelocityR` },
|
|
2509
2575
|
ShiftLeft_Numpad9: { id: `lnkcolorR` },
|
|
2510
2576
|
ShiftRight_Numpad9: { id: `lnkcolorR` },
|
|
2511
2577
|
ShiftLeft_Numpad0: { id: `lnklyricsR` },
|
|
@@ -2524,7 +2590,7 @@ const g_shortcutObj = {
|
|
|
2524
2590
|
Numpad5: { id: `lnkscore` },
|
|
2525
2591
|
Numpad6: { id: `lnkmusicInfo` },
|
|
2526
2592
|
Numpad7: { id: `lnkfilterLine` },
|
|
2527
|
-
Numpad8: { id: `
|
|
2593
|
+
Numpad8: { id: `lnkvelocity` },
|
|
2528
2594
|
Numpad9: { id: `lnkcolor` },
|
|
2529
2595
|
Numpad0: { id: `lnklyrics` },
|
|
2530
2596
|
NumpadAdd: { id: `lnkbackground` },
|
|
@@ -4091,7 +4157,7 @@ const g_lblNameObj = {
|
|
|
4091
4157
|
d_Score: `Score`,
|
|
4092
4158
|
d_MusicInfo: `MusicInfo`,
|
|
4093
4159
|
d_FilterLine: `FilterLine`,
|
|
4094
|
-
|
|
4160
|
+
d_Velocity: `Velocity`,
|
|
4095
4161
|
d_Color: `Color`,
|
|
4096
4162
|
d_Lyrics: `Lyrics`,
|
|
4097
4163
|
d_Background: `Background`,
|
|
@@ -4218,7 +4284,7 @@ const g_lblNameObj = {
|
|
|
4218
4284
|
'u_Shakin(Great)': `Shakin(Great)`,
|
|
4219
4285
|
'u_Fast/Slow': `Fast/Slow`,
|
|
4220
4286
|
|
|
4221
|
-
'
|
|
4287
|
+
'u_Velocity': `Velocity`,
|
|
4222
4288
|
'u_Density': `Density`,
|
|
4223
4289
|
'u_ToolDif': `DifLevel`,
|
|
4224
4290
|
'u_HighScore': `HighScore`,
|
|
@@ -4264,7 +4330,7 @@ const g_lblNameObj = {
|
|
|
4264
4330
|
rd_Score: `Score`,
|
|
4265
4331
|
rd_MusicInfo: `MusicInfo`,
|
|
4266
4332
|
rd_FilterLine: `Filter`,
|
|
4267
|
-
|
|
4333
|
+
rd_Velocity: `Velocity`,
|
|
4268
4334
|
rd_Color: `Color`,
|
|
4269
4335
|
rd_Lyrics: `Lyrics`,
|
|
4270
4336
|
rd_Background: `Back`,
|
|
@@ -4432,7 +4498,7 @@ const g_lang_msgObj = {
|
|
|
4432
4498
|
d_score: `現時点の判定数を表示`,
|
|
4433
4499
|
d_musicinfo: `音楽情報(時間表示含む)`,
|
|
4434
4500
|
d_filterline: `Hidden+, Sudden+使用時のフィルターの境界線表示`,
|
|
4435
|
-
|
|
4501
|
+
d_velocity: `途中変速、個別加速の有効化設定`,
|
|
4436
4502
|
d_color: `色変化の有効化設定`,
|
|
4437
4503
|
d_lyrics: `歌詞表示の有効化設定`,
|
|
4438
4504
|
d_background: `背景・マスクモーションの有効化設定`,
|
|
@@ -4525,7 +4591,7 @@ const g_lang_msgObj = {
|
|
|
4525
4591
|
d_score: `Display the current number of judgments`,
|
|
4526
4592
|
d_musicinfo: `Display the music credits and current time`,
|
|
4527
4593
|
d_filterline: `Filter border display when using "Hidden+" or "Sudden+"`,
|
|
4528
|
-
|
|
4594
|
+
d_velocity: `Enable velocity change settings`,
|
|
4529
4595
|
d_color: `Enable color change settings`,
|
|
4530
4596
|
d_lyrics: `Enable lyrics display`,
|
|
4531
4597
|
d_background: `Enable background images and animations`,
|
|
@@ -4548,7 +4614,7 @@ const g_lang_msgObj = {
|
|
|
4548
4614
|
judgRange: `Set the allowable range of judgment.\n[Normal] Normal judgment, [Narrow/Hard] Hard judgment, [ExHard] Very hard judgment`,
|
|
4549
4615
|
autoRetry: `Set the conditions for automatic retry.\n[Miss] When missed, [Matari] When good, [Shakin] When great, [FS] When Fast/Slow occurs`,
|
|
4550
4616
|
|
|
4551
|
-
lnkSpeedG: `Displays the
|
|
4617
|
+
lnkSpeedG: `Displays the velocity change status by progression of the chart.`,
|
|
4552
4618
|
lnkDensityG: `Displays the density status of the chart.`,
|
|
4553
4619
|
lnkToolDifG: `Displays the difficulty level of the chart and the distribution of arrows and freeze arrows.`,
|
|
4554
4620
|
lnkHighScoreG: `Displays the high score of the chart.`,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
3
|
* Dancing☆Onigiri 設定用jsファイル
|
|
4
|
-
* Template Update:
|
|
4
|
+
* Template Update: 2026/02/26 (v45.0.0)
|
|
5
5
|
*
|
|
6
6
|
* このファイルでは、作品全体に対しての初期設定を行うことができます。
|
|
7
7
|
* 譜面データ側で個別に同様の項目が設定されている場合は、譜面データ側の設定が優先されます。
|
|
@@ -185,7 +185,7 @@ g_presetObj.customDesignUse = {
|
|
|
185
185
|
Flat時ステップ間隔:50(px) ※矢印サイズ
|
|
186
186
|
リモート時のディレクトリ:`` (指定なし。自サーバーの画像を使用する)
|
|
187
187
|
*/
|
|
188
|
-
|
|
188
|
+
g_presetObj.imageSets = [``, `classic,png`, `classic-thin,png`, `note,svg,false,0`];
|
|
189
189
|
|
|
190
190
|
/**
|
|
191
191
|
デフォルト画像セット (C_IMG_XXXX, 厳密にはg_imgObj) に対して拡張子の上書きを行うか設定
|
|
@@ -226,6 +226,7 @@ g_presetObj.customDesignUse = {
|
|
|
226
226
|
Display設定の場合は `true,OFF`(設定は有効だが初期値はOFF)といったことができる
|
|
227
227
|
*/
|
|
228
228
|
g_presetObj.settingUse = {
|
|
229
|
+
// speed : `true`,
|
|
229
230
|
motion: `true`,
|
|
230
231
|
scroll: `true`,
|
|
231
232
|
// reverse: `true`,
|
|
@@ -242,7 +243,7 @@ g_presetObj.settingUse = {
|
|
|
242
243
|
// score: `true`,
|
|
243
244
|
// musicInfo: `true`,
|
|
244
245
|
// filterLine: `true`,
|
|
245
|
-
//
|
|
246
|
+
// velocity: `true`,
|
|
246
247
|
// color: `true`,
|
|
247
248
|
// lyrics: `true`,
|
|
248
249
|
// background: `true`,
|
|
@@ -403,10 +404,17 @@ g_presetObj.msg = {
|
|
|
403
404
|
* 設定名の上書き可否設定
|
|
404
405
|
*/
|
|
405
406
|
g_presetObj.lblRenames = {
|
|
407
|
+
// title: true,
|
|
408
|
+
// dataMgt: true,
|
|
409
|
+
// precondition: true,
|
|
406
410
|
option: true,
|
|
411
|
+
difSelector: true,
|
|
407
412
|
settingsDisplay: true,
|
|
408
|
-
|
|
413
|
+
exSetting: true,
|
|
409
414
|
keyConfig: true,
|
|
415
|
+
// loading: true,
|
|
416
|
+
// loadingIos: true,
|
|
417
|
+
main: true,
|
|
410
418
|
result: true,
|
|
411
419
|
};
|
|
412
420
|
|