danoniplus 38.3.2 → 39.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/css/danoni_main.css +244 -2
- package/js/danoni_main.js +560 -172
- package/js/lib/danoni_constants.js +353 -10
- package/js/template/danoni_setting.js +11 -1
- package/package.json +1 -1
- package/skin/danoni_skin_default.css +10 -1
- package/skin/danoni_skin_light.css +10 -1
- package/skin/danoni_skin_skyblue.css +10 -1
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Source by tickle
|
|
7
7
|
* Created : 2019/11/19
|
|
8
|
-
* Revised : 2025/
|
|
8
|
+
* Revised : 2025/02/04 (v39.1.0)
|
|
9
9
|
*
|
|
10
10
|
* https://github.com/cwtickle/danoniplus
|
|
11
11
|
*/
|
|
@@ -111,6 +111,17 @@ const g_settingPos = {
|
|
|
111
111
|
opacity: { heightPos: 9, y: 10, dw: 0, dh: 0 },
|
|
112
112
|
hitPosition: { heightPos: 10, y: 10, dw: 0, dh: 0 },
|
|
113
113
|
},
|
|
114
|
+
exSetting: {
|
|
115
|
+
playWindow: { heightPos: 0, y: 0, dw: 0, dh: 0 },
|
|
116
|
+
stepArea: { heightPos: 1, y: 0, dw: 0, dh: 0 },
|
|
117
|
+
frzReturn: { heightPos: 2.5, y: 0, dw: 0, dh: 0 },
|
|
118
|
+
shaking: { heightPos: 3.5, y: 0, dw: 0, dh: 0 },
|
|
119
|
+
effect: { heightPos: 5, y: 0, dw: 0, dh: 0 },
|
|
120
|
+
camoufrage: { heightPos: 6, y: 0, dw: 0, dh: 0 },
|
|
121
|
+
swapping: { heightPos: 7, y: 0, dw: 0, dh: 0 },
|
|
122
|
+
judgRange: { heightPos: 8.5, y: 0, dw: 0, dh: 0 },
|
|
123
|
+
autoRetry: { heightPos: 12.5, y: 0, dw: 0, dh: 0 },
|
|
124
|
+
},
|
|
114
125
|
};
|
|
115
126
|
|
|
116
127
|
// スプライト(ムービークリップ相当)のルート
|
|
@@ -639,7 +650,8 @@ const g_typeLists = {
|
|
|
639
650
|
frzColor: [`Normal`, `NormalBar`, `Hit`, `HitBar`, `NormalShadow`, `HitShadow`],
|
|
640
651
|
dataList: [
|
|
641
652
|
`Arrow`, `FrzArrow`, `FrzLength`,
|
|
642
|
-
`Color`, `ColorCd`, `ColorShadow`, `ColorShadowCd`,
|
|
653
|
+
`Color`, `ColorCd`, `ColorShadow`, `ColorShadowCd`,
|
|
654
|
+
`ScrollchArrow`, `ScrollchStep`, `ScrollchArrowDir`, `ScrollchStepDir`, `ScrollchArrowLayer`, `ScrollchStepLayer`,
|
|
643
655
|
`FColorNormal`, `FColorNormalCd`, `FColorNormalBar`, `FColorNormalBarCd`,
|
|
644
656
|
`FColorNormalShadow`, `FColorNormalShadowCd`,
|
|
645
657
|
`FColorHit`, `FColorHitCd`, `FColorHitBar`, `FColorHitBarCd`,
|
|
@@ -791,6 +803,12 @@ const g_judgPosObj = {
|
|
|
791
803
|
ii: 0, shakin: 1, matari: 2, shobon: 3, uwan: 4,
|
|
792
804
|
kita: 0, sfsf: 1, iknai: 2,
|
|
793
805
|
};
|
|
806
|
+
const g_judgRanges = {
|
|
807
|
+
'Normal': [[2, 4, 6, 8, 16], [2, 4, 8]],
|
|
808
|
+
'Narrow': [[2, 3, 4, 8, 16], [2, 4, 8]],
|
|
809
|
+
'Hard': [[1, 3, 5, 8, 16], [1, 3, 8]],
|
|
810
|
+
'ExHard': [[1, 2, 3, 8, 16], [1, 2, 8]],
|
|
811
|
+
};
|
|
794
812
|
|
|
795
813
|
const C_CLR_DUMMY = `#777777`;
|
|
796
814
|
|
|
@@ -910,8 +928,20 @@ const g_stateObj = {
|
|
|
910
928
|
filterLock: C_FLG_OFF,
|
|
911
929
|
opacity: 100,
|
|
912
930
|
|
|
931
|
+
playWindow: `Default`,
|
|
932
|
+
stepArea: `Default`,
|
|
933
|
+
frzReturn: C_FLG_OFF,
|
|
934
|
+
shaking: C_FLG_OFF,
|
|
935
|
+
effect: C_FLG_OFF,
|
|
936
|
+
camoufrage: C_FLG_OFF,
|
|
937
|
+
swapping: C_FLG_OFF,
|
|
938
|
+
judgRange: `Normal`,
|
|
939
|
+
autoRetry: C_FLG_OFF,
|
|
940
|
+
|
|
913
941
|
rotateEnabled: true,
|
|
914
942
|
flatStepHeight: C_ARW_WIDTH,
|
|
943
|
+
|
|
944
|
+
layerNum: 2,
|
|
915
945
|
};
|
|
916
946
|
|
|
917
947
|
const C_VAL_MAXLIFE = 1000;
|
|
@@ -995,6 +1025,7 @@ const g_settings = {
|
|
|
995
1025
|
hitPositionTerms: [50, 10],
|
|
996
1026
|
|
|
997
1027
|
volumes: [0, 0.5, 1, 2, 5, 10, 25, 50, 75, 100],
|
|
1028
|
+
volumeNum: 0,
|
|
998
1029
|
|
|
999
1030
|
appearances: [`Visible`, `Hidden`, `Hidden+`, `Sudden`, `Sudden+`, `Hid&Sud+`],
|
|
1000
1031
|
appearanceNum: 0,
|
|
@@ -1003,6 +1034,7 @@ const g_settings = {
|
|
|
1003
1034
|
filterLockNum: 0,
|
|
1004
1035
|
|
|
1005
1036
|
opacitys: [10, 25, 50, 75, 100],
|
|
1037
|
+
opacityNum: 0,
|
|
1006
1038
|
|
|
1007
1039
|
scoreDetailDefs: [`Density`, `Speed`, `ToolDif`, `HighScore`],
|
|
1008
1040
|
scoreDetails: [],
|
|
@@ -1032,6 +1064,36 @@ const g_settings = {
|
|
|
1032
1064
|
arrowEffect: 0,
|
|
1033
1065
|
special: 0,
|
|
1034
1066
|
},
|
|
1067
|
+
|
|
1068
|
+
playWindows: [`Default`, `Stairs`, `R-Stairs`, `Slope`, `R-Slope`, `Distorted`, `R-Distorted`, `SideScroll`, `R-SideScroll`],
|
|
1069
|
+
playWindowNum: 0,
|
|
1070
|
+
|
|
1071
|
+
stepAreas: [`Default`, `Halfway`, `Mismatched`, `R-Mismatched`, `X-Flower`],
|
|
1072
|
+
stepAreaNum: 0,
|
|
1073
|
+
|
|
1074
|
+
frzReturns: [C_FLG_OFF, `X-Axis`, `Y-Axis`, `Z-Axis`, `Random`, `XY-Axis`, `XZ-Axis`, `YZ-Axis`, `Random+`],
|
|
1075
|
+
frzReturnNum: 0,
|
|
1076
|
+
|
|
1077
|
+
shakings: [C_FLG_OFF, `Horizontal`, `Vertical`, `Drunk`],
|
|
1078
|
+
shakingNum: 0,
|
|
1079
|
+
|
|
1080
|
+
effects: [C_FLG_OFF, `Dizzy`, `Spin`, `Wave`, `Storm`, `Blinking`, `Squids`],
|
|
1081
|
+
effectNum: 0,
|
|
1082
|
+
|
|
1083
|
+
camoufrages: [C_FLG_OFF, `Color`, `Arrow`, `ALL`],
|
|
1084
|
+
camoufrageNum: 0,
|
|
1085
|
+
|
|
1086
|
+
swappings: [C_FLG_OFF, `Mirror`, `X-Mirror`],
|
|
1087
|
+
swappingNum: 0,
|
|
1088
|
+
|
|
1089
|
+
judgRanges: [`Normal`, `Narrow`, `Hard`, `ExHard`],
|
|
1090
|
+
judgRangeNum: 0,
|
|
1091
|
+
|
|
1092
|
+
autoRetrys: [C_FLG_OFF, `Miss`, `Matari(Good)`, `Shakin(Great)`, `Fast/Slow`],
|
|
1093
|
+
autoRetryNum: 0,
|
|
1094
|
+
|
|
1095
|
+
settingWindows: [optionInit, settingsDisplayInit, exSettingInit],
|
|
1096
|
+
settingWindowNum: 0,
|
|
1035
1097
|
};
|
|
1036
1098
|
|
|
1037
1099
|
g_settings.volumeNum = g_settings.volumes.length - 1;
|
|
@@ -1040,10 +1102,59 @@ g_settings.opacityNum = g_settings.opacitys.length - 1;
|
|
|
1040
1102
|
/**
|
|
1041
1103
|
* 設定画面間移動
|
|
1042
1104
|
*/
|
|
1043
|
-
const
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1105
|
+
const g_moveSettingWindow = (_changePageFlg = true, _direction = 1) => {
|
|
1106
|
+
if (_changePageFlg) {
|
|
1107
|
+
g_settings.settingWindowNum = nextPos(g_settings.settingWindowNum, _direction, g_settings.settingWindows.length);
|
|
1108
|
+
}
|
|
1109
|
+
g_settings.settingWindows[g_settings.settingWindowNum]();
|
|
1110
|
+
};
|
|
1111
|
+
|
|
1112
|
+
/**
|
|
1113
|
+
* transform管理
|
|
1114
|
+
*/
|
|
1115
|
+
const g_transforms = {};
|
|
1116
|
+
|
|
1117
|
+
/**
|
|
1118
|
+
* idごとのtransformを追加・変更
|
|
1119
|
+
* - _transformIdごとに transform情報を管理
|
|
1120
|
+
* @param {string} _id
|
|
1121
|
+
* @param {string} _transformId
|
|
1122
|
+
* @param {string} _transform
|
|
1123
|
+
*/
|
|
1124
|
+
const addTransform = (_id, _transformId, _transform) => {
|
|
1125
|
+
if (g_transforms[_id] === undefined) {
|
|
1126
|
+
g_transforms[_id] = {};
|
|
1127
|
+
}
|
|
1128
|
+
g_transforms[_id][_transformId] = _transform;
|
|
1129
|
+
const _transforms = [];
|
|
1130
|
+
Object.keys(g_transforms[_id]).forEach(transformId => _transforms.push(g_transforms[_id][transformId]));
|
|
1131
|
+
$id(_id).transform = _transforms.join(` `);
|
|
1132
|
+
};
|
|
1133
|
+
|
|
1134
|
+
/**
|
|
1135
|
+
* idごとのtransformを追加(一時)
|
|
1136
|
+
* @param {string} _id
|
|
1137
|
+
* @param {string} _transform
|
|
1138
|
+
*/
|
|
1139
|
+
const addTempTransform = (_id, _transform) => {
|
|
1140
|
+
$id(_id).transform = ($id(_id).transform || ``) + ` ` + _transform;
|
|
1141
|
+
};
|
|
1142
|
+
|
|
1143
|
+
/**
|
|
1144
|
+
* transformの初期化
|
|
1145
|
+
*/
|
|
1146
|
+
const resetTransform = () => {
|
|
1147
|
+
Object.keys(g_transforms).forEach(_id => g_transforms[_id] = {});
|
|
1148
|
+
};
|
|
1149
|
+
|
|
1150
|
+
/**
|
|
1151
|
+
* id, transformIdに合致するtransform情報の取得
|
|
1152
|
+
* @param {string} _id
|
|
1153
|
+
* @param {string} _transformId
|
|
1154
|
+
* @returns
|
|
1155
|
+
*/
|
|
1156
|
+
const getTransform = (_id, _transformId) => {
|
|
1157
|
+
return g_transforms[_id]?.[_transformId] || ``;
|
|
1047
1158
|
};
|
|
1048
1159
|
|
|
1049
1160
|
/**
|
|
@@ -1089,6 +1200,128 @@ const g_motionFunc = {
|
|
|
1089
1200
|
'Fountain': _frms => getFountainTrace(_frms, g_stateObj.speed * 2),
|
|
1090
1201
|
};
|
|
1091
1202
|
|
|
1203
|
+
/**
|
|
1204
|
+
* PlayWindow適用関数
|
|
1205
|
+
*/
|
|
1206
|
+
const g_changeStairs = (_rad) => `rotate(${_rad}deg)`;
|
|
1207
|
+
const g_changeSkew = (_rad) => `Skew(${_rad}deg, ${_rad}deg) scaleY(0.9)`;
|
|
1208
|
+
|
|
1209
|
+
const g_playWindowFunc = {
|
|
1210
|
+
'Default': () => ``,
|
|
1211
|
+
'Stairs': () => g_changeStairs(-8),
|
|
1212
|
+
'R-Stairs': () => g_changeStairs(8),
|
|
1213
|
+
'Slope': () => g_changeStairs(-45),
|
|
1214
|
+
'R-Slope': () => g_changeStairs(45),
|
|
1215
|
+
'Distorted': () => g_changeSkew(-15),
|
|
1216
|
+
'R-Distorted': () => g_changeSkew(15),
|
|
1217
|
+
'SideScroll': () => g_changeStairs(-90),
|
|
1218
|
+
'R-SideScroll': () => g_changeStairs(90),
|
|
1219
|
+
};
|
|
1220
|
+
|
|
1221
|
+
const g_stepAreaFunc = {
|
|
1222
|
+
'Default': () => ``,
|
|
1223
|
+
'Halfway': () => {
|
|
1224
|
+
[`stepSprite`, `arrowSprite`, `frzHitSprite`].forEach(sprite => {
|
|
1225
|
+
for (let j = 0; j < g_stateObj.layerNum; j++) {
|
|
1226
|
+
$id(`${sprite}${j}`).top = `${(j % 2 === 0 ? 1 : -1) * (g_headerObj.playingHeight / 2 - g_posObj.stepY + (g_posObj.stepYR - C_ARW_WIDTH) / 2)}px`;
|
|
1227
|
+
}
|
|
1228
|
+
});
|
|
1229
|
+
},
|
|
1230
|
+
'Mismatched': () => {
|
|
1231
|
+
[`stepSprite`, `arrowSprite`, `frzHitSprite`].forEach(sprite => {
|
|
1232
|
+
for (let j = 0; j < g_stateObj.layerNum; j++) {
|
|
1233
|
+
addTransform(`${sprite}${j}`, `stepArea`, `rotate(${(j % 2 === 0 ? 1 : -1) * -15}deg)`);
|
|
1234
|
+
}
|
|
1235
|
+
});
|
|
1236
|
+
},
|
|
1237
|
+
'R-Mismatched': () => {
|
|
1238
|
+
[`stepSprite`, `arrowSprite`, `frzHitSprite`].forEach(sprite => {
|
|
1239
|
+
for (let j = 0; j < g_stateObj.layerNum; j++) {
|
|
1240
|
+
addTransform(`${sprite}${j}`, `stepArea`, `rotate(${(j % 2 === 0 ? 1 : -1) * 15}deg)`);
|
|
1241
|
+
}
|
|
1242
|
+
});
|
|
1243
|
+
},
|
|
1244
|
+
'X-Flower': () => {
|
|
1245
|
+
[`stepSprite`, `arrowSprite`, `frzHitSprite`].forEach(sprite => {
|
|
1246
|
+
for (let j = 0; j < Math.min(g_stateObj.layerNum, 4); j++) {
|
|
1247
|
+
addTransform(`${sprite}${j}`, `stepArea`, `rotate(${(j % 2 === 0 ? 1 : -1) * (j % 4 < 2 ? 1 : -1) * -15}deg)`);
|
|
1248
|
+
}
|
|
1249
|
+
});
|
|
1250
|
+
},
|
|
1251
|
+
};
|
|
1252
|
+
|
|
1253
|
+
/**
|
|
1254
|
+
* Shaking適用関数
|
|
1255
|
+
*/
|
|
1256
|
+
const g_shakingFunc = {
|
|
1257
|
+
'OFF': () => true,
|
|
1258
|
+
'Horizontal': () => $id(`mainSprite`).left = `${(Math.abs((g_scoreObj.baseFrame / 2) % 100 - 50) - 25) / 1}px`,
|
|
1259
|
+
'Vertical': () => $id(`mainSprite`).top = `${(Math.abs((g_scoreObj.baseFrame / 2) % 100 - 50) - 25) / 2}px`,
|
|
1260
|
+
'Drunk': () => {
|
|
1261
|
+
if (parseFloat($id(`mainSprite`).left) === 0 && parseFloat($id(`mainSprite`).top) === 0) {
|
|
1262
|
+
g_workObj.drunkXFlg = [true, false][Math.floor(Math.random() * 2)];
|
|
1263
|
+
g_workObj.drunkYFlg = [true, false][Math.floor(Math.random() * 2)];
|
|
1264
|
+
}
|
|
1265
|
+
if (g_workObj.drunkXFlg) {
|
|
1266
|
+
$id(`mainSprite`).left = `${(Math.abs((g_scoreObj.baseFrame / 2) % 100 - 50) - 25) / 1}px`;
|
|
1267
|
+
$id(`infoSprite`).left = $id(`mainSprite`).left;
|
|
1268
|
+
$id(`judgeSprite`).left = $id(`mainSprite`).left;
|
|
1269
|
+
}
|
|
1270
|
+
if (g_workObj.drunkYFlg) {
|
|
1271
|
+
$id(`mainSprite`).top = `${(Math.abs((g_scoreObj.baseFrame / 2) % 100 - 50) - 25) / 2}px`;
|
|
1272
|
+
$id(`infoSprite`).top = $id(`mainSprite`).top;
|
|
1273
|
+
$id(`judgeSprite`).top = $id(`mainSprite`).top;
|
|
1274
|
+
}
|
|
1275
|
+
},
|
|
1276
|
+
};
|
|
1277
|
+
|
|
1278
|
+
/**
|
|
1279
|
+
* FrzReturn適用関数
|
|
1280
|
+
*/
|
|
1281
|
+
const g_frzReturnFunc = {
|
|
1282
|
+
'OFF': () => true,
|
|
1283
|
+
'X-Axis': () => [`X`],
|
|
1284
|
+
'Y-Axis': () => [`Y`],
|
|
1285
|
+
'Z-Axis': () => [`Z`],
|
|
1286
|
+
'Random': () => [`X`, `Y`, `Z`][Math.floor(Math.random() * 3)],
|
|
1287
|
+
'XY-Axis': () => [`X`, `Y`],
|
|
1288
|
+
'XZ-Axis': () => [`X`, `Z`],
|
|
1289
|
+
'YZ-Axis': () => [`Y`, `Z`],
|
|
1290
|
+
'Random+': () => {
|
|
1291
|
+
const axis1 = [`X`, `Y`, `Z`][Math.floor(Math.random() * 3)];
|
|
1292
|
+
const axis2 = [`X`, `Y`, `Z`, undefined].filter(val => val !== axis1)[Math.floor(Math.random() * 3)];
|
|
1293
|
+
return [axis1, axis2];
|
|
1294
|
+
},
|
|
1295
|
+
};
|
|
1296
|
+
|
|
1297
|
+
/**
|
|
1298
|
+
* Effect適用関数
|
|
1299
|
+
* @param {string} _arrowEffect
|
|
1300
|
+
* @param {string} _frzEffect
|
|
1301
|
+
* @param {string} _frzArrowEffect
|
|
1302
|
+
*/
|
|
1303
|
+
const g_setEffect = (_arrowEffect, _frzEffect = ``, _frzArrowEffect = _arrowEffect) => {
|
|
1304
|
+
const keyNum = g_keyObj[`${g_keyObj.defaultProp}${g_keyObj.currentKey}_${g_keyObj.currentPtn}`].length;
|
|
1305
|
+
for (let j = 0; j < keyNum; j++) {
|
|
1306
|
+
g_workObj.arrowCssMotions[j] = _arrowEffect;
|
|
1307
|
+
if (hasVal(_frzEffect)) {
|
|
1308
|
+
g_workObj.frzCssMotions[j] = _frzEffect;
|
|
1309
|
+
}
|
|
1310
|
+
if (hasVal(_frzArrowEffect)) {
|
|
1311
|
+
g_workObj.frzArrowCssMotions[j] = _frzArrowEffect;
|
|
1312
|
+
}
|
|
1313
|
+
}
|
|
1314
|
+
};
|
|
1315
|
+
const g_effectFunc = {
|
|
1316
|
+
'OFF': () => true,
|
|
1317
|
+
'Dizzy': () => g_setEffect(`effects-dizzy`),
|
|
1318
|
+
'Spin': () => g_setEffect(`effects-spin`),
|
|
1319
|
+
'Wave': () => g_setEffect(`effects-wave`, `effects-wave`),
|
|
1320
|
+
'Storm': () => g_setEffect(`effects-storm`, `effects-storm`, ``),
|
|
1321
|
+
'Blinking': () => g_setEffect(`effects-blinking`, `effects-blinking`, ``),
|
|
1322
|
+
'Squids': () => g_setEffect(`effects-squids-arrow`, `effects-squids-frz`),
|
|
1323
|
+
};
|
|
1324
|
+
|
|
1092
1325
|
const g_keycons = {
|
|
1093
1326
|
configTypes: [`Main`, `Replaced`, `ALL`],
|
|
1094
1327
|
configTypeNum: 0,
|
|
@@ -1130,7 +1363,9 @@ let g_storeSettings = [`adjustment`, `volume`, `appearance`, `opacity`, `hitPosi
|
|
|
1130
1363
|
let g_storeSettingsEx = [`d_stepzone`, `d_judgment`, `d_fastslow`, `d_lifegauge`,
|
|
1131
1364
|
`d_score`, `d_musicinfo`, `d_filterline`];
|
|
1132
1365
|
|
|
1133
|
-
let g_canDisabledSettings = [`motion`, `scroll`, `reverse`, `shuffle`, `autoPlay`, `gauge`,
|
|
1366
|
+
let g_canDisabledSettings = [`motion`, `scroll`, `reverse`, `shuffle`, `autoPlay`, `gauge`,
|
|
1367
|
+
`excessive`, `appearance`, `playWindow`, `stepArea`, `frzReturn`, `shaking`, `effect`, `camoufrage`,
|
|
1368
|
+
`swapping`, `judgRange`, `autoRetry`];
|
|
1134
1369
|
|
|
1135
1370
|
const g_hidSudFunc = {
|
|
1136
1371
|
filterPos: _filterPos => `${_filterPos}${g_lblNameObj.percent}`,
|
|
@@ -1754,6 +1989,33 @@ const g_shortcutObj = {
|
|
|
1754
1989
|
ShiftRight_Tab: { id: `btnBack` },
|
|
1755
1990
|
Tab: { id: `btnSettings` },
|
|
1756
1991
|
},
|
|
1992
|
+
exSetting: {
|
|
1993
|
+
ShiftLeft_KeyP: { id: `lnkPlayWindowL` },
|
|
1994
|
+
ShiftLeft_KeyS: { id: `lnkStepAreaL` },
|
|
1995
|
+
ShiftLeft_KeyF: { id: `lnkFrzReturnL` },
|
|
1996
|
+
ShiftLeft_KeyH: { id: `lnkShakingL` },
|
|
1997
|
+
ShiftLeft_KeyE: { id: `lnkEffectL` },
|
|
1998
|
+
ShiftLeft_KeyC: { id: `lnkCamoufrageL` },
|
|
1999
|
+
ShiftLeft_KeyW: { id: `lnkSwappingL` },
|
|
2000
|
+
ShiftLeft_KeyJ: { id: `lnkJudgRangeL` },
|
|
2001
|
+
ShiftLeft_KeyA: { id: `lnkAutoRetryL` },
|
|
2002
|
+
|
|
2003
|
+
KeyP: { id: `lnkPlayWindowR` },
|
|
2004
|
+
KeyS: { id: `lnkStepAreaR` },
|
|
2005
|
+
KeyF: { id: `lnkFrzReturnR` },
|
|
2006
|
+
KeyH: { id: `lnkShakingR` },
|
|
2007
|
+
KeyE: { id: `lnkEffectR` },
|
|
2008
|
+
KeyC: { id: `lnkCamoufrageR` },
|
|
2009
|
+
KeyW: { id: `lnkSwappingR` },
|
|
2010
|
+
KeyJ: { id: `lnkJudgRangeR` },
|
|
2011
|
+
KeyA: { id: `lnkAutoRetryR` },
|
|
2012
|
+
|
|
2013
|
+
KeyZ: { id: `btnSave` },
|
|
2014
|
+
Escape: { id: `btnBack` },
|
|
2015
|
+
Space: { id: `btnKeyConfig` },
|
|
2016
|
+
Enter: { id: `btnPlay` },
|
|
2017
|
+
Tab: { id: `btnexSetting` },
|
|
2018
|
+
},
|
|
1757
2019
|
keyConfig: {
|
|
1758
2020
|
Escape: { id: `btnBack` },
|
|
1759
2021
|
Backspace_Enter: { id: `btnPlay` },
|
|
@@ -1786,6 +2048,7 @@ const g_btnWaitFrame = {
|
|
|
1786
2048
|
option: { b_frame: 0, s_frame: 0, initial: true },
|
|
1787
2049
|
difSelector: { b_frame: 0, s_frame: 0 },
|
|
1788
2050
|
settingsDisplay: { b_frame: 0, s_frame: 0 },
|
|
2051
|
+
exSetting: { b_frame: 0, s_frame: 0 },
|
|
1789
2052
|
keyConfig: { b_frame: 0, s_frame: 30 },
|
|
1790
2053
|
loading: { b_frame: 0, s_frame: 0 },
|
|
1791
2054
|
loadingIos: { b_frame: 0, s_frame: 0 },
|
|
@@ -1799,6 +2062,7 @@ const g_btnPatterns = {
|
|
|
1799
2062
|
option: { Back: 0, KeyConfig: 0, Play: 0, Display: -5, Save: -10, Graph: -25 },
|
|
1800
2063
|
difSelector: {},
|
|
1801
2064
|
settingsDisplay: { Back: 0, KeyConfig: 0, Play: 0, Save: -10, Settings: -5 },
|
|
2065
|
+
exSetting: { Back: 0, KeyConfig: 0, Play: 0, exSetting: -5, Save: -10 },
|
|
1802
2066
|
loadingIos: { Play: 0 },
|
|
1803
2067
|
keyConfig: { Back: -3, Play: 0 },
|
|
1804
2068
|
result: { Back: -5, Copy: -5, Tweet: -5, Gitter: -5, Retry: 0 },
|
|
@@ -2600,7 +2864,7 @@ g_keycons.groups.forEach(type => {
|
|
|
2600
2864
|
const g_keyCopyLists = {
|
|
2601
2865
|
simpleDef: [`blank`, `scale`],
|
|
2602
2866
|
simple: [`div`, `divMax`, `blank`, `scale`, `keyRetry`, `keyTitleBack`, `transKey`, `scrollDir`, `assistPos`, `flatMode`],
|
|
2603
|
-
multiple: [`chara`, `color`, `stepRtn`, `pos`, `shuffle`, `keyGroup`, `keyGroupOrder`],
|
|
2867
|
+
multiple: [`chara`, `color`, `stepRtn`, `pos`, `shuffle`, `keyGroup`, `keyGroupOrder`, `layerGroup`, `layerTrans`],
|
|
2604
2868
|
};
|
|
2605
2869
|
|
|
2606
2870
|
// タイトル画面関連のリスト群
|
|
@@ -3042,6 +3306,16 @@ const g_lblNameObj = {
|
|
|
3042
3306
|
Opacity: `Opacity`,
|
|
3043
3307
|
HitPosition: `HitPosition`,
|
|
3044
3308
|
|
|
3309
|
+
PlayWindow: `PlayWindow`,
|
|
3310
|
+
StepArea: `StepArea`,
|
|
3311
|
+
FrzReturn: `FrzReturn`,
|
|
3312
|
+
Shaking: `Shaking`,
|
|
3313
|
+
Effect: `Effect`,
|
|
3314
|
+
Camoufrage: `Camoufrage`,
|
|
3315
|
+
Swapping: `Swapping`,
|
|
3316
|
+
JudgRange: `JudgRange`,
|
|
3317
|
+
AutoRetry: `AutoRetry`,
|
|
3318
|
+
|
|
3045
3319
|
'u_x': `x`,
|
|
3046
3320
|
'u_%': `%`,
|
|
3047
3321
|
'u_key': `key`,
|
|
@@ -3097,6 +3371,45 @@ const g_lblNameObj = {
|
|
|
3097
3371
|
'u_Sudden+': `Sudden+`,
|
|
3098
3372
|
'u_Hid&Sud+': `Hid&Sud+`,
|
|
3099
3373
|
|
|
3374
|
+
'u_Stairs': `Stairs`,
|
|
3375
|
+
'u_R-Stairs': `R-Stairs`,
|
|
3376
|
+
'u_Slope': `Slope`,
|
|
3377
|
+
'u_R-Slope': `R-Slope`,
|
|
3378
|
+
'u_Distorted': `Distorted`,
|
|
3379
|
+
'u_R-Distorted': `R-Distorted`,
|
|
3380
|
+
'u_SideScroll': `SideScroll`,
|
|
3381
|
+
'u_R-SideScroll': `R-SideScroll`,
|
|
3382
|
+
|
|
3383
|
+
'u_X-Axis': `X-Axis`,
|
|
3384
|
+
'u_Y-Axis': `Y-Axis`,
|
|
3385
|
+
'u_Z-Axis': `Z-Axis`,
|
|
3386
|
+
'u_XY-Axis': `XY-Axis`,
|
|
3387
|
+
'u_XZ-Axis': `XZ-Axis`,
|
|
3388
|
+
'u_YZ-Axis': `YZ-Axis`,
|
|
3389
|
+
|
|
3390
|
+
'u_Horizontal': `Horizontal`,
|
|
3391
|
+
'u_Vertical': `Vertical`,
|
|
3392
|
+
'u_Drunk': `Drunk`,
|
|
3393
|
+
|
|
3394
|
+
'u_Dizzy': `Dizzy`,
|
|
3395
|
+
'u_Spin': `Spin`,
|
|
3396
|
+
'u_Wave': `Wave`,
|
|
3397
|
+
'u_Storm': `Storm`,
|
|
3398
|
+
'u_Blinking': `Blinking`,
|
|
3399
|
+
'u_Squids': `Squids`,
|
|
3400
|
+
|
|
3401
|
+
'u_Color': `Color`,
|
|
3402
|
+
'u_Arrow': `Arrow`,
|
|
3403
|
+
|
|
3404
|
+
'u_Narrow': `Narrow`,
|
|
3405
|
+
'u_Hard': `Hard`,
|
|
3406
|
+
'u_ExHard': `ExHard`,
|
|
3407
|
+
|
|
3408
|
+
'u_Miss': `Miss`,
|
|
3409
|
+
'u_Matari(Good)': `Matari(Good)`,
|
|
3410
|
+
'u_Shakin(Great)': `Shakin(Great)`,
|
|
3411
|
+
'u_Fast/Slow': `Fast/Slow`,
|
|
3412
|
+
|
|
3100
3413
|
'u_Speed': `Velocity`,
|
|
3101
3414
|
'u_Density': `Density`,
|
|
3102
3415
|
'u_ToolDif': `DifLevel`,
|
|
@@ -3289,7 +3602,7 @@ const g_lang_msgObj = {
|
|
|
3289
3602
|
graph: `譜面密度や速度変化状況、\n譜面の難易度などの情報を表示します。`,
|
|
3290
3603
|
dataSave: `ハイスコア、リバース設定、\nキーコンフィグの保存の有無を設定します。`,
|
|
3291
3604
|
toDisplay: `プレイ画面上のオブジェクトの\n表示・非表示(一部透明度)を設定します。`,
|
|
3292
|
-
toSettings:
|
|
3605
|
+
toSettings: `その他の拡張設定を設定します。`,
|
|
3293
3606
|
|
|
3294
3607
|
d_stepzone: `ステップゾーンの表示`,
|
|
3295
3608
|
d_judgment: `判定キャラクタ・コンボの表示`,
|
|
@@ -3305,6 +3618,18 @@ const g_lang_msgObj = {
|
|
|
3305
3618
|
d_arroweffect: `矢印・フリーズアローモーションの有効化設定`,
|
|
3306
3619
|
d_special: `作品固有の特殊演出の有効化設定`,
|
|
3307
3620
|
|
|
3621
|
+
playWindow: `ステップゾーン及び矢印の位置を全体的に回転する等の設定です。\n[Stairs/Slope] ステップゾーンを階段状にします\n[Distorted] 画面を歪ませます`,
|
|
3622
|
+
sideScrollMsg: `\n[SideScroll] 横スクロールモードになります\n\nSlope, SideScrollを設定する場合は高さが足りているかを確認してください\nクエリパラメータ ?h=600 などで設定できます`,
|
|
3623
|
+
sideScrollDisable: `\n\nウィンドウの高さの自動拡張が無効のため、Slope, SideScrollは使用できません`,
|
|
3624
|
+
stepArea: `ステップゾーンの位置を変更します。\n[Halfway] ステップゾーンが中央に表示されます\n[Mismatched] スクロールの向きが上下で異なる方向に流れます`,
|
|
3625
|
+
frzReturn: `フリーズアロー到達時及び矢印の回復判定が100の倍数に達するごとに、X/Y/Z軸のいずれかに回転します`,
|
|
3626
|
+
shaking: `ステップゾーン及び矢印を揺らす設定です。\n[Horizontal] 横方向に揺らします\n[Vertical] 縦方向に揺らします\n[Drunk] 画面全体を上下左右ランダムに揺らします。画面酔いに注意してください`,
|
|
3627
|
+
effect: `矢印・フリーズアローにエフェクトをかけます。\n[Dizzy/Spin] 矢印が回転します\n[Wave/Storm] 矢印の軌道が左右に揺れます\n[Blinking] 矢印が点滅します\n[Squids] 矢印が伸び縮みします`,
|
|
3628
|
+
camoufrage: `ステップの見た目が配置は同じでランダムに変わります。`,
|
|
3629
|
+
swapping: `ステップゾーンの位置をグループ単位で入れ替えます。`,
|
|
3630
|
+
judgRange: `判定の許容範囲を設定します。\n[Normal] 通常、[Narrow/Hard] 辛判定、[ExHard] 激辛判定`,
|
|
3631
|
+
autoRetry: `自動リトライの条件を設定します。\n[Miss] ミス時、[Matari] マターリ時、[Shakin] シャキン時、[FS] Fast/Slow発生時`,
|
|
3632
|
+
|
|
3308
3633
|
lnkSpeedG: `譜面の進行別の速度変化状況を表示`,
|
|
3309
3634
|
lnkDensityG: `譜面の密度状況を表示`,
|
|
3310
3635
|
lnkToolDifG: `譜面の難易度、矢印・フリーズアローの分布状況を表示`,
|
|
@@ -3359,7 +3684,7 @@ const g_lang_msgObj = {
|
|
|
3359
3684
|
graph: `Displays detailed information about the chart, such as chart's density status, sequences' velocity changes, and chart's difficulty.`,
|
|
3360
3685
|
dataSave: `Set whether to save the high score, reverse setting, and key config.`,
|
|
3361
3686
|
toDisplay: `Set the display or non-display (partial transparency) of objects on the play screen.`,
|
|
3362
|
-
toSettings: `
|
|
3687
|
+
toSettings: `Set other extended settings.`,
|
|
3363
3688
|
|
|
3364
3689
|
d_stepzone: `Display step zone`,
|
|
3365
3690
|
d_judgment: `Display judgment and combo counts`,
|
|
@@ -3375,6 +3700,18 @@ const g_lang_msgObj = {
|
|
|
3375
3700
|
d_arroweffect: `Enable sequences' animations`,
|
|
3376
3701
|
d_special: `Enable setting of special effects to the work`,
|
|
3377
3702
|
|
|
3703
|
+
playWindow: `This is the setting for overall rotation of the step zone and arrow position, etc.\n[Stairs/Slope] The step zone is in a staircase shape.\n[Distorted] Distorts the screen.`,
|
|
3704
|
+
sideScrollMsg: `\n[SideScroll] It becomes a side scroll mode.\n\nWhen setting Slope or SideScroll, please make sure that the height is\nsufficient. Can be set with query parameter ?h=600, etc.`,
|
|
3705
|
+
sideScrollDisable: `\n\nSlope, SideScroll cannot be used because \nautomatic window height expansion is disabled.`,
|
|
3706
|
+
stepArea: `Change the position of the step zone.\n[Halfway] Step zones are centered.\n[Mismatched] Scroll direction flows in different directions up and down.`,
|
|
3707
|
+
frzReturn: `When the Freeze Arrow is reached, and every time the arrow's recovery judgment \nreaches a multiple of 100, it will rotate on either the X, Y, or Z axis.`,
|
|
3708
|
+
shaking: `This is the setting to shake the step zone and arrows.\n[Horizontal] Shakes horizontally.\n[Vertical] Shakes vertically.\n[Drunk] Shakes the entire screen randomly up, down, left, and right. Be careful of motion sickness.`,
|
|
3709
|
+
effect: `Applies effects to the arrows and freeze arrows.\n[Dizzy/Spin] Arrows rotate.\n[Wave/Storm] Swing from left to right.\n[Blinking] Arrows blink.\n[Squids] Arrows stretch and shrink.`,
|
|
3710
|
+
camoufrage: `The appearance of the steps changes randomly with the same placement.`,
|
|
3711
|
+
swapping: `Replaces the position of step zones on a group-by-group basis.`,
|
|
3712
|
+
judgRange: `Set the allowable range of judgment.\n[Normal] Normal judgment, [Narrow/Hard] Hard judgment, [ExHard] Very hard judgment`,
|
|
3713
|
+
autoRetry: `Set the conditions for automatic retry.\n[Miss] When missed, [Matari] When good, [Shakin] When great, [FS] When Fast/Slow occurs`,
|
|
3714
|
+
|
|
3378
3715
|
lnkSpeedG: `Displays the speed change status by progression of the chart.`,
|
|
3379
3716
|
lnkDensityG: `Displays the density status of the chart.`,
|
|
3380
3717
|
lnkToolDifG: `Displays the difficulty level of the chart and the distribution of arrows and freeze arrows.`,
|
|
@@ -3426,12 +3763,17 @@ const g_customJsObj = {
|
|
|
3426
3763
|
option: [],
|
|
3427
3764
|
difficulty: [],
|
|
3428
3765
|
settingsDisplay: [],
|
|
3766
|
+
exSetting: [],
|
|
3429
3767
|
keyconfig: [],
|
|
3430
3768
|
|
|
3431
3769
|
preloading: [],
|
|
3432
3770
|
loading: [],
|
|
3433
3771
|
progress: [],
|
|
3434
3772
|
main: [],
|
|
3773
|
+
|
|
3774
|
+
makeArrow: [],
|
|
3775
|
+
makeFrzArrow: [],
|
|
3776
|
+
|
|
3435
3777
|
dummyArrow: [],
|
|
3436
3778
|
dummyFrz: [],
|
|
3437
3779
|
|
|
@@ -3459,6 +3801,7 @@ const g_skinJsObj = {
|
|
|
3459
3801
|
title: [],
|
|
3460
3802
|
option: [],
|
|
3461
3803
|
settingsDisplay: [],
|
|
3804
|
+
exSetting: [],
|
|
3462
3805
|
keyconfig: [],
|
|
3463
3806
|
|
|
3464
3807
|
preloading: [],
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
3
|
* Dancing☆Onigiri 設定用jsファイル
|
|
4
|
-
* Template Update:
|
|
4
|
+
* Template Update: 2025/02/01 (v39.0.0)
|
|
5
5
|
*
|
|
6
6
|
* このファイルでは、作品全体に対しての初期設定を行うことができます。
|
|
7
7
|
* 譜面データ側で個別に同様の項目が設定されている場合は、譜面データ側の設定が優先されます。
|
|
@@ -246,6 +246,16 @@ g_presetObj.settingUse = {
|
|
|
246
246
|
// background: `true`,
|
|
247
247
|
// arrowEffect: `true`,
|
|
248
248
|
// special: `true`,
|
|
249
|
+
|
|
250
|
+
// playWindow: `true`,
|
|
251
|
+
// stepArea: `true`,
|
|
252
|
+
// frzReturn : `true`,
|
|
253
|
+
// shaking : `true`,
|
|
254
|
+
// effect : `true`,
|
|
255
|
+
// camoufrage : `true`,
|
|
256
|
+
// swapping : `true`,
|
|
257
|
+
// judgRange : `true`,
|
|
258
|
+
// autoRetry : `true`,
|
|
249
259
|
};
|
|
250
260
|
|
|
251
261
|
/*
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
スキンcssファイル (default)
|
|
6
6
|
|
|
7
7
|
Created : 2019/11/04
|
|
8
|
-
Revised :
|
|
8
|
+
Revised : 2025/02/01 (v39.0.0)
|
|
9
9
|
|
|
10
10
|
https://github.com/cwtickle/danoniplus
|
|
11
11
|
------------------------------------------ */
|
|
@@ -43,6 +43,15 @@
|
|
|
43
43
|
--settings-appearance-x: #cc99ff;
|
|
44
44
|
--settings-opacity-x: #ee99ff;
|
|
45
45
|
--settings-hitPosition-x: #ff99ff;
|
|
46
|
+
--settings-playWindow-x: #9999ff;
|
|
47
|
+
--settings-stepArea-x: #6699ff;
|
|
48
|
+
--settings-frzReturn-x: #99ccff;
|
|
49
|
+
--settings-shaking-x: #99ffff;
|
|
50
|
+
--settings-effect-x: #99ffcc;
|
|
51
|
+
--settings-camoufrage-x: #99ff99;
|
|
52
|
+
--settings-swapping-x: #ccff99;
|
|
53
|
+
--settings-judgRange-x: #ffff99;
|
|
54
|
+
--settings-autoRetry-x: #cc99ff;
|
|
46
55
|
|
|
47
56
|
/* 譜面選択部分背景 */
|
|
48
57
|
--settings-difSelector: #111111;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
スキンcssファイル (light)
|
|
6
6
|
|
|
7
7
|
Created : 2019/11/04
|
|
8
|
-
Revised :
|
|
8
|
+
Revised : 2025/02/01 (v39.0.0)
|
|
9
9
|
|
|
10
10
|
https://github.com/cwtickle/danoniplus
|
|
11
11
|
------------------------------------------ */
|
|
@@ -43,6 +43,15 @@
|
|
|
43
43
|
--settings-appearance-x: #9900ff;
|
|
44
44
|
--settings-opacity-x: #cc00ff;
|
|
45
45
|
--settings-hitPosition-x: #ff00ff;
|
|
46
|
+
--settings-playWindow-x: #000099;
|
|
47
|
+
--settings-stepArea-x: #222299;
|
|
48
|
+
--settings-frzReturn-x: #003377;
|
|
49
|
+
--settings-shaking-x: #007777;
|
|
50
|
+
--settings-effect-x: #337744;
|
|
51
|
+
--settings-camoufrage-x: #337733;
|
|
52
|
+
--settings-swapping-x: #557733;
|
|
53
|
+
--settings-judgRange-x: #777700;
|
|
54
|
+
--settings-autoRetry-x: #9900ff;
|
|
46
55
|
|
|
47
56
|
/* 譜面選択部分背景 */
|
|
48
57
|
--settings-difSelector: #eeeeee;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
スキンcssファイル (skyblue)
|
|
6
6
|
|
|
7
7
|
Created : 2019/11/04
|
|
8
|
-
Revised :
|
|
8
|
+
Revised : 2025/02/01 (v39.0.0)
|
|
9
9
|
|
|
10
10
|
https://github.com/cwtickle/danoniplus
|
|
11
11
|
------------------------------------------ */
|
|
@@ -43,6 +43,15 @@
|
|
|
43
43
|
--settings-appearance-x: #9900ff;
|
|
44
44
|
--settings-opacity-x: #cc00ff;
|
|
45
45
|
--settings-hitPosition-x: #ff00ff;
|
|
46
|
+
--settings-playWindow-x: #000099;
|
|
47
|
+
--settings-stepArea-x: #000099;
|
|
48
|
+
--settings-frzReturn-x: #003399;
|
|
49
|
+
--settings-shaking-x: #003399;
|
|
50
|
+
--settings-effect-x: #006699;
|
|
51
|
+
--settings-camoufrage-x: #009999;
|
|
52
|
+
--settings-swapping-x: #006699;
|
|
53
|
+
--settings-judgRange-x: #003399;
|
|
54
|
+
--settings-autoRetry-x: #000099;
|
|
46
55
|
|
|
47
56
|
/* 譜面選択部分背景 */
|
|
48
57
|
--settings-difSelector: #ccddee;
|