danoniplus 31.2.0 → 31.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 +155 -139
- package/js/lib/danoni_constants.js +237 -151
- package/package.json +1 -1
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Source by tickle
|
|
7
7
|
* Created : 2019/11/19
|
|
8
|
-
* Revised : 2023/
|
|
8
|
+
* Revised : 2023/04/08 (v31.4.0)
|
|
9
9
|
*
|
|
10
10
|
* https://github.com/cwtickle/danoniplus
|
|
11
11
|
*/
|
|
@@ -21,10 +21,12 @@ const C_VALIGN_TOP = `top`;
|
|
|
21
21
|
const C_VALIGN_MIDDLE = `middle`;
|
|
22
22
|
const C_VALIGN_BOTTOM = `bottom`;
|
|
23
23
|
|
|
24
|
+
const C_LBL_BASICFONT = `"Meiryo UI", sans-serif`;
|
|
25
|
+
|
|
26
|
+
/** 廃止予定の定数群 */
|
|
24
27
|
const C_LBL_TITLESIZE = 32;
|
|
25
28
|
const C_LBL_BTNSIZE = 28;
|
|
26
29
|
const C_LBL_LNKSIZE = 16;
|
|
27
|
-
const C_LBL_BASICFONT = `"Meiryo UI", sans-serif`;
|
|
28
30
|
|
|
29
31
|
const C_BTN_HEIGHT = 50;
|
|
30
32
|
const C_LNK_HEIGHT = 30;
|
|
@@ -42,6 +44,98 @@ const C_SIZ_DIFSELECTOR = 14;
|
|
|
42
44
|
const C_SIZ_MAIN = 14;
|
|
43
45
|
const C_SIZ_MUSIC_TITLE = 13;
|
|
44
46
|
|
|
47
|
+
const C_LEN_JDGCHARA_WIDTH = 200;
|
|
48
|
+
const C_LEN_JDGCHARA_HEIGHT = 20;
|
|
49
|
+
const C_SIZ_JDGCHARA = 20;
|
|
50
|
+
|
|
51
|
+
const C_LEN_JDGCNTS_WIDTH = 100;
|
|
52
|
+
const C_LEN_JDGCNTS_HEIGHT = 20;
|
|
53
|
+
const C_SIZ_JDGCNTS = 16;
|
|
54
|
+
|
|
55
|
+
const C_LEN_GRAPH_WIDTH = 286;
|
|
56
|
+
const C_LEN_GRAPH_HEIGHT = 226;
|
|
57
|
+
const C_CLR_SPEEDGRAPH_SPEED = `#cc3333`;
|
|
58
|
+
const C_CLR_SPEEDGRAPH_BOOST = `#999900`;
|
|
59
|
+
const C_CLR_DENSITY_MAX = `#990000cc`;
|
|
60
|
+
const C_CLR_DENSITY_DEFAULT = `#999999cc`;
|
|
61
|
+
const C_LEN_DENSITY_DIVISION = 16;
|
|
62
|
+
|
|
63
|
+
const C_MAX_ADJUSTMENT = 30;
|
|
64
|
+
|
|
65
|
+
/** 設定幅、位置などを管理するプロパティ */
|
|
66
|
+
const g_limitObj = {
|
|
67
|
+
|
|
68
|
+
// Adjustment, HitPositionの設定幅
|
|
69
|
+
adjustment: 30,
|
|
70
|
+
hitPosition: 50,
|
|
71
|
+
|
|
72
|
+
// 譜面密度グラフの分割数、上位色付け数
|
|
73
|
+
densityDivision: 16,
|
|
74
|
+
densityMaxVals: 3,
|
|
75
|
+
|
|
76
|
+
// ボタン・リンクの高さ、フォントサイズ
|
|
77
|
+
btnHeight: 50,
|
|
78
|
+
btnSiz: 28,
|
|
79
|
+
lnkHeight: 30,
|
|
80
|
+
lnkSiz: 16,
|
|
81
|
+
|
|
82
|
+
// 設定画面用のボタンの位置、幅、高さ、フォントサイズ
|
|
83
|
+
setLblLeft: 160,
|
|
84
|
+
setLblWidth: 210,
|
|
85
|
+
setLblHeight: 22,
|
|
86
|
+
setLblSiz: 17,
|
|
87
|
+
|
|
88
|
+
// 設定画面の左右移動ボタンの幅、フォントサイズ
|
|
89
|
+
setMiniWidth: 40,
|
|
90
|
+
setMiniSiz: 18,
|
|
91
|
+
|
|
92
|
+
// 譜面選択エリアの幅、フォントサイズ
|
|
93
|
+
difSelectorWidth: 250,
|
|
94
|
+
difSelectorSiz: 14,
|
|
95
|
+
difCoverWidth: 110,
|
|
96
|
+
|
|
97
|
+
// 判定キャラクタの幅、高さ、フォントサイズ
|
|
98
|
+
jdgCharaWidth: 200,
|
|
99
|
+
jdgCharaHeight: 20,
|
|
100
|
+
jdgCharaSiz: 20,
|
|
101
|
+
|
|
102
|
+
// 判定数の幅、高さ、フォントサイズ
|
|
103
|
+
jdgCntsWidth: 100,
|
|
104
|
+
jdgCntsHeight: 20,
|
|
105
|
+
jdgCntsSiz: 16,
|
|
106
|
+
|
|
107
|
+
// グラフ表示部分の幅、高さ
|
|
108
|
+
graphWidth: 286,
|
|
109
|
+
graphHeight: 226,
|
|
110
|
+
|
|
111
|
+
// その他のフォントサイズ
|
|
112
|
+
titleSiz: 32,
|
|
113
|
+
mainSiz: 14,
|
|
114
|
+
musicTitleSiz: 13,
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
/** 設定項目の位置 */
|
|
118
|
+
const g_settingPos = {
|
|
119
|
+
option: {
|
|
120
|
+
difficulty: { heightPos: 0, y: -5, dw: 0, dh: 10 },
|
|
121
|
+
speed: { heightPos: 2, y: 0, dw: 0, dh: 0 },
|
|
122
|
+
motion: { heightPos: 3, y: 0, dw: 0, dh: 0 },
|
|
123
|
+
reverse: { heightPos: 4, y: 0, dw: 0, dh: 0 },
|
|
124
|
+
scroll: { heightPos: 4, y: 0, dw: 0, dh: 0 },
|
|
125
|
+
shuffle: { heightPos: 5.5, y: 0, dw: 0, dh: 0 },
|
|
126
|
+
autoPlay: { heightPos: 6.5, y: 0, dw: 0, dh: 0 },
|
|
127
|
+
gauge: { heightPos: 7.5, y: 0, dw: 0, dh: 0 },
|
|
128
|
+
adjustment: { heightPos: 10.5, y: 0, dw: 0, dh: 0 },
|
|
129
|
+
fadein: { heightPos: 11.5, y: 0, dw: 0, dh: 0 },
|
|
130
|
+
volume: { heightPos: 12.5, y: 0, dw: 0, dh: 0 },
|
|
131
|
+
},
|
|
132
|
+
settingsDisplay: {
|
|
133
|
+
appearance: { heightPos: 7.4, y: 10, dw: 0, dh: 0 },
|
|
134
|
+
opacity: { heightPos: 9, y: 10, dw: 0, dh: 0 },
|
|
135
|
+
hitPosition: { heightPos: 10, y: 10, dw: 0, dh: 0 },
|
|
136
|
+
},
|
|
137
|
+
};
|
|
138
|
+
|
|
45
139
|
// スプライト(ムービークリップ相当)のルート
|
|
46
140
|
const C_SPRITE_ROOT = `divRoot`;
|
|
47
141
|
|
|
@@ -98,7 +192,7 @@ const g_lblPosObj = {};
|
|
|
98
192
|
const updateWindowSiz = _ => {
|
|
99
193
|
Object.assign(g_windowObj, {
|
|
100
194
|
optionSprite: { x: (g_sWidth - 450) / 2, y: 65 + (g_sHeight - 500) / 2, w: 450, h: 325 },
|
|
101
|
-
displaySprite: { x: 25, y: 30, w: (g_sWidth - 450) / 2, h:
|
|
195
|
+
displaySprite: { x: 25, y: 30, w: (g_sWidth - 450) / 2, h: g_limitObj.setLblHeight * 5 },
|
|
102
196
|
keyconSprite: { y: 88 + (g_sHeight - 500) / 2, h: g_sHeight, overflow: `auto` },
|
|
103
197
|
loader: { y: g_sHeight - 10, h: 10, backgroundColor: `#333333` },
|
|
104
198
|
playDataWindow: { x: g_sWidth / 2 - 225, y: 70 + (g_sHeight - 500) / 2, w: 450, h: 110 },
|
|
@@ -118,11 +212,11 @@ const updateWindowSiz = _ => {
|
|
|
118
212
|
x: 0, y: g_sHeight - 150, w: 40, h: 40, siz: 30, title: g_msgObj.howto,
|
|
119
213
|
},
|
|
120
214
|
lnkMaker: {
|
|
121
|
-
x: 0, y: g_sHeight - 50, w: g_sWidth / 2, h:
|
|
215
|
+
x: 0, y: g_sHeight - 50, w: g_sWidth / 2, h: g_limitObj.lnkHeight,
|
|
122
216
|
align: C_ALIGN_LEFT, title: g_headerObj.creatorUrl,
|
|
123
217
|
},
|
|
124
218
|
lnkArtist: {
|
|
125
|
-
x: g_sWidth / 2, y: g_sHeight - 50, w: g_sWidth / 2, h:
|
|
219
|
+
x: g_sWidth / 2, y: g_sHeight - 50, w: g_sWidth / 2, h: g_limitObj.lnkHeight,
|
|
126
220
|
align: C_ALIGN_LEFT, title: g_headerObj.artistUrl,
|
|
127
221
|
},
|
|
128
222
|
lnkVersion: {
|
|
@@ -133,7 +227,7 @@ const updateWindowSiz = _ => {
|
|
|
133
227
|
x: g_sWidth - 20, y: g_sHeight - 20, w: 20, h: 16, siz: 12, title: g_msgObj.security,
|
|
134
228
|
},
|
|
135
229
|
lblComment: {
|
|
136
|
-
x: 0, y: 70, w: g_sWidth, h: g_sHeight - 180, siz:
|
|
230
|
+
x: 0, y: 70, w: g_sWidth, h: g_sHeight - 180, siz: g_limitObj.difSelectorSiz, align: C_ALIGN_LEFT,
|
|
137
231
|
overflow: `auto`, background: `#222222`, color: `#cccccc`, display: C_DIS_NONE,
|
|
138
232
|
whiteSpace: `normal`,
|
|
139
233
|
},
|
|
@@ -150,7 +244,7 @@ const updateWindowSiz = _ => {
|
|
|
150
244
|
x: g_sWidth * 2 / 3,
|
|
151
245
|
},
|
|
152
246
|
btnSwitchSetting: {
|
|
153
|
-
x: g_sWidth / 2 + 175 -
|
|
247
|
+
x: g_sWidth / 2 + 175 - g_limitObj.setMiniWidth / 2, y: 25, w: g_limitObj.setMiniWidth, h: 40,
|
|
154
248
|
},
|
|
155
249
|
btnSave: {
|
|
156
250
|
x: 0, y: 5, w: g_sWidth / 5, h: 16, siz: 12,
|
|
@@ -158,22 +252,22 @@ const updateWindowSiz = _ => {
|
|
|
158
252
|
},
|
|
159
253
|
|
|
160
254
|
btnReverse: {
|
|
161
|
-
x: 160, y: 0, w: 90, h: 21, siz:
|
|
255
|
+
x: 160, y: 0, w: 90, h: 21, siz: g_limitObj.difSelectorSiz, borderStyle: `solid`,
|
|
162
256
|
},
|
|
163
257
|
lblGauge2: {
|
|
164
|
-
x:
|
|
165
|
-
w:
|
|
258
|
+
x: g_limitObj.setLblLeft - 35, y: g_limitObj.setLblHeight,
|
|
259
|
+
w: g_limitObj.setLblWidth + 60, h: g_limitObj.setLblHeight * 2, siz: 11,
|
|
166
260
|
},
|
|
167
261
|
lnkFadein: {
|
|
168
|
-
x:
|
|
262
|
+
x: g_limitObj.setLblLeft, y: 0,
|
|
169
263
|
},
|
|
170
264
|
lblFadeinBar: {
|
|
171
|
-
x:
|
|
265
|
+
x: g_limitObj.setLblLeft, y: 0,
|
|
172
266
|
},
|
|
173
267
|
|
|
174
268
|
/** 設定: 譜面明細子画面 */
|
|
175
269
|
lblTooldif: {
|
|
176
|
-
y: 5, w: 250, siz:
|
|
270
|
+
y: 5, w: 250, siz: g_limitObj.jdgCntsSiz,
|
|
177
271
|
},
|
|
178
272
|
dataTooldif: {
|
|
179
273
|
x: 270, y: 3, w: 160, siz: 18,
|
|
@@ -189,10 +283,10 @@ const updateWindowSiz = _ => {
|
|
|
189
283
|
x: 345, w: 160,
|
|
190
284
|
},
|
|
191
285
|
lblArrowInfo: {
|
|
192
|
-
x: 130, y: 45, w: 290, siz:
|
|
286
|
+
x: 130, y: 45, w: 290, siz: g_limitObj.jdgCntsSiz,
|
|
193
287
|
},
|
|
194
288
|
dataArrowInfo: {
|
|
195
|
-
x: 270, y: 45, w: 160, siz:
|
|
289
|
+
x: 270, y: 45, w: 160, siz: g_limitObj.jdgCntsSiz,
|
|
196
290
|
},
|
|
197
291
|
lblArrowInfo2: {
|
|
198
292
|
x: 130, y: 70, w: 200, h: 90,
|
|
@@ -201,7 +295,7 @@ const updateWindowSiz = _ => {
|
|
|
201
295
|
x: 140, y: 70, w: 275, h: 150, overflow: `auto`,
|
|
202
296
|
},
|
|
203
297
|
lnkDifInfo: {
|
|
204
|
-
w:
|
|
298
|
+
w: g_limitObj.difCoverWidth, borderStyle: `solid`,
|
|
205
299
|
},
|
|
206
300
|
|
|
207
301
|
/** ディスプレイ画面 */
|
|
@@ -209,16 +303,16 @@ const updateWindowSiz = _ => {
|
|
|
209
303
|
x: 0, y: g_sHeight - 45, w: g_sWidth, h: 20,
|
|
210
304
|
},
|
|
211
305
|
sdDesc: {
|
|
212
|
-
x: 0, y: 65, w: g_sWidth, h: 20, siz:
|
|
306
|
+
x: 0, y: 65, w: g_sWidth, h: 20, siz: g_limitObj.mainSiz,
|
|
213
307
|
},
|
|
214
308
|
lblAppearancePos: {
|
|
215
|
-
x:
|
|
309
|
+
x: g_limitObj.setLblLeft, y: 20, siz: 12, align: C_ALIGN_CENTER,
|
|
216
310
|
},
|
|
217
311
|
lblAppearanceBar: {
|
|
218
|
-
x:
|
|
312
|
+
x: g_limitObj.setLblLeft, y: 15,
|
|
219
313
|
},
|
|
220
314
|
lnkLockBtn: {
|
|
221
|
-
x:
|
|
315
|
+
x: g_limitObj.setLblLeft + g_limitObj.setLblWidth - 40, y: 0, w: 40, h: g_limitObj.setLblHeight, siz: 12,
|
|
222
316
|
borderStyle: `solid`,
|
|
223
317
|
},
|
|
224
318
|
|
|
@@ -227,7 +321,7 @@ const updateWindowSiz = _ => {
|
|
|
227
321
|
x: 0, y: g_sHeight - 45, w: g_sWidth, h: 20,
|
|
228
322
|
},
|
|
229
323
|
kcMsg: {
|
|
230
|
-
x: 0, y: g_sHeight - 25, w: g_sWidth, h: 20, siz:
|
|
324
|
+
x: 0, y: g_sHeight - 25, w: g_sWidth, h: 20, siz: g_limitObj.mainSiz,
|
|
231
325
|
},
|
|
232
326
|
kcDesc: {
|
|
233
327
|
x: 0, y: 68, w: g_sWidth, h: 20,
|
|
@@ -244,30 +338,30 @@ const updateWindowSiz = _ => {
|
|
|
244
338
|
|
|
245
339
|
btnKcBack: {
|
|
246
340
|
x: g_sWidth / 3, y: g_sHeight - 75,
|
|
247
|
-
w: g_sWidth / 3, h:
|
|
341
|
+
w: g_sWidth / 3, h: g_limitObj.btnHeight / 2, siz: g_limitObj.btnSiz * 2 / 3,
|
|
248
342
|
},
|
|
249
343
|
lblPattern: {
|
|
250
|
-
x: g_sWidth / 6, y: g_sHeight - 100, w: g_sWidth / 3, h:
|
|
344
|
+
x: g_sWidth / 6, y: g_sHeight - 100, w: g_sWidth / 3, h: g_limitObj.btnHeight / 2,
|
|
251
345
|
},
|
|
252
346
|
btnPtnChangeR: {
|
|
253
347
|
x: g_sWidth / 2, y: g_sHeight - 100,
|
|
254
|
-
w: g_sWidth / 9, h:
|
|
348
|
+
w: g_sWidth / 9, h: g_limitObj.btnHeight / 2, siz: g_limitObj.btnSiz * 2 / 3,
|
|
255
349
|
},
|
|
256
350
|
btnPtnChangeL: {
|
|
257
351
|
x: g_sWidth / 18, y: g_sHeight - 100,
|
|
258
|
-
w: g_sWidth / 9, h:
|
|
352
|
+
w: g_sWidth / 9, h: g_limitObj.btnHeight / 2, siz: g_limitObj.btnSiz * 2 / 3,
|
|
259
353
|
},
|
|
260
354
|
btnPtnChangeRR: {
|
|
261
355
|
x: g_sWidth * 11 / 18, y: g_sHeight - 100,
|
|
262
|
-
w: g_sWidth / 18, h:
|
|
356
|
+
w: g_sWidth / 18, h: g_limitObj.btnHeight / 2, siz: g_limitObj.btnSiz * 2 / 3,
|
|
263
357
|
},
|
|
264
358
|
btnPtnChangeLL: {
|
|
265
359
|
x: 0, y: g_sHeight - 100,
|
|
266
|
-
w: g_sWidth / 18, h:
|
|
360
|
+
w: g_sWidth / 18, h: g_limitObj.btnHeight / 2, siz: g_limitObj.btnSiz * 2 / 3,
|
|
267
361
|
},
|
|
268
362
|
btnKcReset: {
|
|
269
363
|
x: 0, y: g_sHeight - 75,
|
|
270
|
-
w: g_sWidth / 3, h:
|
|
364
|
+
w: g_sWidth / 3, h: g_limitObj.btnHeight / 2, siz: g_limitObj.btnSiz * 2 / 3,
|
|
271
365
|
},
|
|
272
366
|
|
|
273
367
|
/** メイン画面 */
|
|
@@ -290,14 +384,14 @@ const updateWindowSiz = _ => {
|
|
|
290
384
|
x: 125, y: g_sHeight - 16, w: g_headerObj.playingWidth, h: 20, align: C_ALIGN_LEFT,
|
|
291
385
|
},
|
|
292
386
|
lblTime1: {
|
|
293
|
-
x: 18, y: g_sHeight - 30, w: 40, h: 20, siz:
|
|
387
|
+
x: 18, y: g_sHeight - 30, w: 40, h: 20, siz: g_limitObj.mainSiz, align: C_ALIGN_RIGHT,
|
|
294
388
|
},
|
|
295
389
|
lblTime2: {
|
|
296
|
-
x: 60, y: g_sHeight - 30, w: 60, h: 20, siz:
|
|
390
|
+
x: 60, y: g_sHeight - 30, w: 60, h: 20, siz: g_limitObj.mainSiz,
|
|
297
391
|
},
|
|
298
392
|
lblWord: {
|
|
299
393
|
x: 100, w: g_headerObj.playingWidth - 200, h: 50,
|
|
300
|
-
siz:
|
|
394
|
+
siz: g_limitObj.mainSiz, align: C_ALIGN_LEFT, display: `block`, margin: `auto`,
|
|
301
395
|
},
|
|
302
396
|
finishView: {
|
|
303
397
|
x: g_headerObj.playingWidth / 2 - 150, y: g_sHeight / 2 - 50, w: 300, h: 20, siz: 50,
|
|
@@ -317,21 +411,21 @@ const updateWindowSiz = _ => {
|
|
|
317
411
|
x: g_sWidth / 2 + 50, y: 40, w: 200, h: 30, siz: 20,
|
|
318
412
|
},
|
|
319
413
|
btnRsBack: {
|
|
320
|
-
w: g_sWidth / 4, h:
|
|
414
|
+
w: g_sWidth / 4, h: g_limitObj.btnHeight * 5 / 4, animationName: `smallToNormalY`,
|
|
321
415
|
},
|
|
322
416
|
btnRsCopy: {
|
|
323
|
-
x: g_sWidth / 4, w: g_sWidth / 2, h:
|
|
417
|
+
x: g_sWidth / 4, w: g_sWidth / 2, h: g_limitObj.btnHeight * 5 / 8, siz: 24, animationName: `smallToNormalY`,
|
|
324
418
|
},
|
|
325
419
|
btnRsTweet: {
|
|
326
|
-
x: g_sWidth / 4, y: g_sHeight - 100 +
|
|
327
|
-
w: g_sWidth / 4, h:
|
|
420
|
+
x: g_sWidth / 4, y: g_sHeight - 100 + g_limitObj.btnHeight * 5 / 8,
|
|
421
|
+
w: g_sWidth / 4, h: g_limitObj.btnHeight * 5 / 8, siz: 24, animationName: `smallToNormalY`,
|
|
328
422
|
},
|
|
329
423
|
btnRsGitter: {
|
|
330
|
-
x: g_sWidth / 2, y: g_sHeight - 100 +
|
|
331
|
-
w: g_sWidth / 4, h:
|
|
424
|
+
x: g_sWidth / 2, y: g_sHeight - 100 + g_limitObj.btnHeight * 5 / 8,
|
|
425
|
+
w: g_sWidth / 4, h: g_limitObj.btnHeight * 5 / 8, siz: 24, animationName: `smallToNormalY`,
|
|
332
426
|
},
|
|
333
427
|
btnRsRetry: {
|
|
334
|
-
x: g_sWidth / 4 * 3, w: g_sWidth / 4, h:
|
|
428
|
+
x: g_sWidth / 4 * 3, w: g_sWidth / 4, h: g_limitObj.btnHeight * 5 / 4, animationName: `smallToNormalY`,
|
|
335
429
|
},
|
|
336
430
|
});
|
|
337
431
|
};
|
|
@@ -506,24 +600,50 @@ const g_typeLists = {
|
|
|
506
600
|
// Motionオプション配列の基準位置
|
|
507
601
|
const C_MOTION_STD_POS = 15;
|
|
508
602
|
|
|
509
|
-
// キーブロック対象(
|
|
603
|
+
// キーブロック対象(KeyBoardEvent.codeを指定)
|
|
510
604
|
const C_BLOCK_KEYS = [
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
27 /* Esc */
|
|
605
|
+
`Backspace`, `Tab`, `Enter`, `ControlLeft`, `ControlRight`, `AltLeft`, `AltRight`, `Space`,
|
|
606
|
+
`PageUp`, `PageDown`, `End`, `Home`,
|
|
607
|
+
`ArrowLeft`, `ArrowDown`, `ArrowUp`, `ArrowRight`, `Delete`,
|
|
608
|
+
`F1`, `F2`, `F3`, `F4`, `F6`, `F7`, `F8`, `F9`, `F10`, `F11`, `F12`, `F13`, `F14`, `F15`, `Escape`
|
|
516
609
|
];
|
|
517
610
|
|
|
518
|
-
/**
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
const
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
611
|
+
/**
|
|
612
|
+
* 特殊文字列の置き換えリスト
|
|
613
|
+
* (置き換え元、置き換え先の組で二次元配列として定義。主にreplaceStr関数で使用)
|
|
614
|
+
*/
|
|
615
|
+
const g_escapeStr = {
|
|
616
|
+
escape: [[`&`, `&`], [`<`, `<`], [`>`, `>`], [`"`, `"`]],
|
|
617
|
+
escapeTag: [
|
|
618
|
+
[`*amp*`, `&`], [`*pipe*`, `|`], [`*dollar*`, `$`], [`*rsquo*`, `’`],
|
|
619
|
+
[`*quot*`, `"`], [`*comma*`, `‚`], [`*squo*`, `'`], [`*bkquo*`, ```],
|
|
620
|
+
[`*lt*`, `<`], [`*gt*`, `>`], [`*lbrace*`, `{`], [`*rbrace*`, `}`],
|
|
621
|
+
],
|
|
622
|
+
unEscapeTag: [
|
|
623
|
+
[`&`, `&`], [`’`, `’`], [`"`, `"`], [`‚`, `,`],
|
|
624
|
+
[`<`, `<`], [`>`, `>`], [`'`, `'`], [```, `\``],
|
|
625
|
+
],
|
|
626
|
+
escapeCode: [
|
|
627
|
+
[`<script>`, ``], [`</script>`, ``],
|
|
628
|
+
],
|
|
629
|
+
musicNameSimple: [
|
|
630
|
+
[`<br>`, ` `], [`<nbr>`, ``], [`<dbr>`, ` `],
|
|
631
|
+
],
|
|
632
|
+
musicNameMultiLine: [
|
|
633
|
+
[`<nbr>`, `<br>`], [`<dbr>`, `<br>`],
|
|
634
|
+
],
|
|
635
|
+
frzName: [
|
|
636
|
+
[`leftdia`, `frzLdia`], [`rightdia`, `frzRdia`],
|
|
637
|
+
[`left`, `frzLeft`], [`down`, `frzDown`], [`up`, `frzUp`], [`right`, `frzRight`],
|
|
638
|
+
[`space`, `frzSpace`], [`iyo`, `frzIyo`], [`gor`, `frzGor`], [`oni`, `foni`],
|
|
639
|
+
],
|
|
640
|
+
keyCtrlName: [
|
|
641
|
+
[`Left`, ``], [`Digit`, `D`], [`Numpad`, `N`], [`Semicolon`, `;`],
|
|
642
|
+
[`Multiply`, `*`], [`Add`, `+`], [`Subtract`, `-`], [`Decimal`, `.`], [`Divide`, `Div`],
|
|
643
|
+
],
|
|
644
|
+
};
|
|
526
645
|
|
|
646
|
+
/** 設定・オプション画面用共通 */
|
|
527
647
|
const g_graphColorObj = {
|
|
528
648
|
max: `#993333cc`,
|
|
529
649
|
default: `#999999cc`,
|
|
@@ -531,6 +651,9 @@ const g_graphColorObj = {
|
|
|
531
651
|
default2Push: `#777777cc`,
|
|
532
652
|
max3Push: `#003399cc`,
|
|
533
653
|
default3Push: `#555555cc`,
|
|
654
|
+
|
|
655
|
+
speed: `#cc3333`,
|
|
656
|
+
boost: `#999900`,
|
|
534
657
|
};
|
|
535
658
|
|
|
536
659
|
const g_settingBtnObj = {
|
|
@@ -547,25 +670,17 @@ const g_settingBtnObj = {
|
|
|
547
670
|
U: `↑`,
|
|
548
671
|
},
|
|
549
672
|
pos: {
|
|
550
|
-
L:
|
|
551
|
-
LL:
|
|
552
|
-
LLL:
|
|
553
|
-
HL:
|
|
554
|
-
R:
|
|
555
|
-
RR:
|
|
556
|
-
RRR:
|
|
557
|
-
HR:
|
|
673
|
+
L: g_limitObj.setLblLeft - g_limitObj.setMiniWidth,
|
|
674
|
+
LL: g_limitObj.setLblLeft,
|
|
675
|
+
LLL: g_limitObj.setLblLeft + g_limitObj.setMiniWidth + 1,
|
|
676
|
+
HL: g_limitObj.setLblLeft,
|
|
677
|
+
R: g_limitObj.setLblLeft + g_limitObj.setLblWidth,
|
|
678
|
+
RR: g_limitObj.setLblLeft + g_limitObj.setLblWidth - g_limitObj.setMiniWidth,
|
|
679
|
+
RRR: g_limitObj.setLblLeft + g_limitObj.setLblWidth - g_limitObj.setMiniWidth * 3 / 2 - 1,
|
|
680
|
+
HR: g_limitObj.setLblLeft + g_limitObj.setLblWidth - g_limitObj.setMiniWidth,
|
|
558
681
|
}
|
|
559
682
|
};
|
|
560
683
|
|
|
561
|
-
const g_limitObj = {
|
|
562
|
-
adjustment: 30,
|
|
563
|
-
hitPosition: 50,
|
|
564
|
-
|
|
565
|
-
densityDivision: 16,
|
|
566
|
-
densityMaxVals: 3,
|
|
567
|
-
};
|
|
568
|
-
const C_MAX_ADJUSTMENT = 30;
|
|
569
684
|
const C_MAX_SPEED = 10;
|
|
570
685
|
const C_MIN_SPEED = 1;
|
|
571
686
|
|
|
@@ -591,14 +706,6 @@ const g_judgPosObj = {
|
|
|
591
706
|
|
|
592
707
|
const C_CLR_DUMMY = `#777777`;
|
|
593
708
|
|
|
594
|
-
const C_LEN_JDGCHARA_WIDTH = 200;
|
|
595
|
-
const C_LEN_JDGCHARA_HEIGHT = 20;
|
|
596
|
-
const C_SIZ_JDGCHARA = 20;
|
|
597
|
-
|
|
598
|
-
const C_LEN_JDGCNTS_WIDTH = 100;
|
|
599
|
-
const C_LEN_JDGCNTS_HEIGHT = 20;
|
|
600
|
-
const C_SIZ_JDGCNTS = 16;
|
|
601
|
-
|
|
602
709
|
let C_FRM_HITMOTION = 4;
|
|
603
710
|
let C_FRM_JDGMOTION = 60;
|
|
604
711
|
|
|
@@ -1481,6 +1588,7 @@ const g_keyObj = {
|
|
|
1481
1588
|
// - 原則、キー×パターンの数だけ設定が必要
|
|
1482
1589
|
currentKey: 7,
|
|
1483
1590
|
currentPtn: 0,
|
|
1591
|
+
defaultProp: `keyCtrl`,
|
|
1484
1592
|
|
|
1485
1593
|
prevKey: `Dummy`,
|
|
1486
1594
|
dfPtnNum: 0,
|
|
@@ -1697,52 +1805,52 @@ const g_keyObj = {
|
|
|
1697
1805
|
|
|
1698
1806
|
// 基本パターン (キーコンフィグ)
|
|
1699
1807
|
// - 順番はchara, stepRtnと対応している。
|
|
1700
|
-
// -
|
|
1701
|
-
keyCtrl5_0: [[
|
|
1702
|
-
keyCtrl7_0: [[
|
|
1703
|
-
keyCtrl7i_0: [[
|
|
1704
|
-
keyCtrl8_0: [[
|
|
1705
|
-
keyCtrl9A_0: [[
|
|
1706
|
-
keyCtrl9B_0: [[
|
|
1707
|
-
keyCtrl9i_0: [[
|
|
1708
|
-
keyCtrl11_0: [[
|
|
1709
|
-
keyCtrl11L_0: [[
|
|
1710
|
-
keyCtrl11W_0: [[
|
|
1711
|
-
keyCtrl11i_0: [[
|
|
1712
|
-
keyCtrl12_0: [[
|
|
1713
|
-
keyCtrl13_0: [[
|
|
1714
|
-
keyCtrl14_0: [[
|
|
1715
|
-
keyCtrl14i_0: [[
|
|
1716
|
-
keyCtrl15A_0: [[
|
|
1717
|
-
keyCtrl15B_0: [[
|
|
1718
|
-
keyCtrl16i_0: [[
|
|
1719
|
-
keyCtrl17_0: [[
|
|
1720
|
-
keyCtrl23_0: [[
|
|
1721
|
-
[
|
|
1808
|
+
// - 多次元配列内はステップに対応するキーコードもしくはコード名を示す。カンマ区切りで複数指定できる。
|
|
1809
|
+
keyCtrl5_0: [[`Left`], [`Down`], [`Up`], [`Right`], [`Space`]],
|
|
1810
|
+
keyCtrl7_0: [[`S`], [`D`], [`F`], [`Space`], [`J`], [`K`], [`L`]],
|
|
1811
|
+
keyCtrl7i_0: [[`Z`], [`X`], [`C`], [`Left`], [`Down`], [`Up`], [`Right`]],
|
|
1812
|
+
keyCtrl8_0: [[`S`], [`D`], [`F`], [`Space`], [`J`], [`K`], [`L`], [`Enter`]],
|
|
1813
|
+
keyCtrl9A_0: [[`S`], [`D`], [`E`, `R`], [`F`], [`Space`], [`J`], [`K`], [`I`], [`L`]],
|
|
1814
|
+
keyCtrl9B_0: [[`A`], [`S`], [`D`], [`F`], [`Space`], [`J`], [`K`], [`L`], [`;`]],
|
|
1815
|
+
keyCtrl9i_0: [[`Left`], [`Down`], [`Up`], [`Right`], [`A`], [`S`], [`D`], [`F`], [`Space`]],
|
|
1816
|
+
keyCtrl11_0: [[`Left`], [`Down`], [`Up`], [`Right`], [`S`], [`D`], [`F`], [`Space`], [`J`], [`K`], [`L`]],
|
|
1817
|
+
keyCtrl11L_0: [[`W`], [`E`], [`D3`, `D4`], [`R`], [`S`], [`D`], [`F`], [`Space`], [`J`], [`K`], [`L`]],
|
|
1818
|
+
keyCtrl11W_0: [[`D1`, `D2`], [`T`], [`Y`], [`D0`, `Minus`], [`S`], [`D`], [`F`], [`Space`], [`J`], [`K`], [`L`]],
|
|
1819
|
+
keyCtrl11i_0: [[`S`], [`X`, `C`], [`D`], [`E`, `R`], [`F`], [`Space`], [`J`], [`M`, `Comma`], [`K`], [`I`, `O`], [`L`]],
|
|
1820
|
+
keyCtrl12_0: [[`U`], [`I`], [`D8`, `D9`], [`O`], [`Space`], [`N`], [`J`], [`M`], [`K`], [`Comma`], [`L`], [`Period`]],
|
|
1821
|
+
keyCtrl13_0: [[`Left`], [`Down`], [`Up`], [`Right`], [`S`], [`D`], [`E`, `R`], [`F`], [`Space`], [`J`], [`K`], [`I`], [`L`]],
|
|
1822
|
+
keyCtrl14_0: [[`T`, `Y`], [`U`], [`I`], [`D8`, `D7`, `D9`, `D0`], [`O`], [`BracketLeft`, `P`], [`Space`], [`N`], [`J`], [`M`], [`K`], [`Comma`], [`L`], [`Period`]],
|
|
1823
|
+
keyCtrl14i_0: [[`Z`, `W`], [`X`, `E`], [`C`, `R`], [`Left`], [`Down`], [`Up`], [`Right`], [`S`], [`D`], [`F`], [`Space`], [`J`], [`K`], [`L`]],
|
|
1824
|
+
keyCtrl15A_0: [[`W`], [`E`], [`D3`, `D4`], [`R`], [`Left`], [`Down`], [`Up`], [`Right`], [`S`], [`D`], [`F`], [`Space`], [`J`], [`K`], [`L`]],
|
|
1825
|
+
keyCtrl15B_0: [[`W`], [`E`], [`D3`, `D4`], [`R`], [`U`], [`I`], [`D8`, `D9`], [`O`], [`S`], [`D`], [`F`], [`Space`], [`J`], [`K`], [`L`]],
|
|
1826
|
+
keyCtrl16i_0: [[`Z`, `W`], [`X`, `E`], [`C`, `R`], [`Left`], [`Down`], [`Up`], [`Right`], [`A`], [`S`], [`D`], [`F`], [`Space`], [`J`], [`K`], [`L`], [`;`]],
|
|
1827
|
+
keyCtrl17_0: [[`A`], [`Z`], [`S`], [`X`], [`D`], [`C`], [`F`], [`V`], [`Space`], [`N`], [`J`], [`M`], [`K`], [`Comma`], [`L`], [`Period`], [`;`]],
|
|
1828
|
+
keyCtrl23_0: [[`W`], [`E`], [`D3`, `D4`], [`R`], [`U`], [`I`], [`D8`, `D9`], [`O`],
|
|
1829
|
+
[`Z`], [`S`], [`X`], [`D`], [`C`], [`F`], [`V`], [`Space`], [`N`], [`J`], [`M`], [`K`], [`Comma`], [`L`], [`Period`]],
|
|
1722
1830
|
|
|
1723
1831
|
// 変則パターン (キーコンフィグ)
|
|
1724
1832
|
// - _0 の数字部分をカウントアップすることで実現できる。
|
|
1725
|
-
keyCtrl5_1: [[
|
|
1726
|
-
keyCtrl7_1: [[
|
|
1727
|
-
keyCtrl8_1: [[
|
|
1728
|
-
keyCtrl9A_1: [[
|
|
1729
|
-
keyCtrl9i_1: [[
|
|
1730
|
-
keyCtrl12_1: [[
|
|
1731
|
-
keyCtrl14_1: [[
|
|
1732
|
-
keyCtrl17_1: [[
|
|
1833
|
+
keyCtrl5_1: [[`Space`], [`Left`], [`Down`], [`Up`], [`Right`]],
|
|
1834
|
+
keyCtrl7_1: [[`S`], [`E`], [`F`], [`Space`, `G`, `H`], [`J`], [`I`], [`L`]],
|
|
1835
|
+
keyCtrl8_1: [[`Enter`], [`S`], [`D`], [`F`], [`Space`], [`J`], [`K`], [`L`]],
|
|
1836
|
+
keyCtrl9A_1: [[`S`], [`D`], [`E`, `R`], [`F`], [`Space`], [`Left`], [`Down`], [`Up`], [`Right`]],
|
|
1837
|
+
keyCtrl9i_1: [[`A`], [`S`], [`D`], [`F`], [`Space`], [`Left`], [`Down`], [`Up`], [`Right`]],
|
|
1838
|
+
keyCtrl12_1: [[`Y`], [`U`, `I`], [`D8`, `D7`, `D9`], [`O`], [`Space`], [`B`], [`H`], [`N`, `M`], [`J`, `K`], [`Comma`], [`L`], [`Period`]],
|
|
1839
|
+
keyCtrl14_1: [[`R`, `T`], [`Y`], [`U`, `I`], [`D8`, `D6`, `D7`, `D9`, `D0`], [`O`], [`BracketLeft`, `P`], [`Space`], [`B`], [`H`], [`N`, `M`], [`J`, `K`], [`Comma`], [`L`], [`Period`]],
|
|
1840
|
+
keyCtrl17_1: [[`A`], [`S`], [`D`], [`F`], [`Space`], [`J`], [`K`], [`L`], [`;`], [`Z`], [`X`], [`C`], [`V`], [`N`], [`M`], [`Comma`], [`Period`]],
|
|
1733
1841
|
|
|
1734
|
-
keyCtrl5_2: [[
|
|
1735
|
-
keyCtrl8_2: [[
|
|
1736
|
-
keyCtrl12_2: [[
|
|
1737
|
-
keyCtrl14_2: [[
|
|
1842
|
+
keyCtrl5_2: [[`D`], [`F`], [`Space`], [`J`], [`K`]],
|
|
1843
|
+
keyCtrl8_2: [[`Space`], [`N`], [`J`], [`M`], [`K`], [`Comma`], [`L`], [`Period`]],
|
|
1844
|
+
keyCtrl12_2: [[`W`], [`E`], [`D3`, `D4`], [`R`], [`Shift`], [`Z`], [`S`], [`X`], [`D`], [`C`], [`F`], [`V`]],
|
|
1845
|
+
keyCtrl14_2: [[`Tab`, `Q`], [`W`], [`E`], [`D3`, `D2`, `D4`, `D5`], [`R`], [`Y`, `T`], [`Shift`], [`Z`], [`S`], [`X`], [`D`], [`C`], [`F`], [`V`]],
|
|
1738
1846
|
|
|
1739
|
-
keyCtrl8_3: [[
|
|
1740
|
-
keyCtrl12_3: [[
|
|
1741
|
-
keyCtrl14_3: [[
|
|
1847
|
+
keyCtrl8_3: [[`Space`], [`B`], [`H`], [`N`, `M`], [`J`, `K`], [`Comma`], [`L`], [`Period`]],
|
|
1848
|
+
keyCtrl12_3: [[`W`], [`E`, `R`], [`D3`, `D4`, `D5`], [`T`], [`Shift`], [`Z`], [`S`], [`X`, `C`], [`D`, `F`], [`V`], [`G`], [`B`]],
|
|
1849
|
+
keyCtrl14_3: [[`Tab`, `Q`], [`W`], [`E`, `R`], [`D3`, `D2`, `D4`, `D5`, `D6`], [`T`], [`U`, `Y`], [`Shift`], [`Z`], [`S`], [`X`, `C`], [`D`, `F`], [`V`], [`G`], [`B`]],
|
|
1742
1850
|
|
|
1743
|
-
keyCtrl8_4: [[
|
|
1851
|
+
keyCtrl8_4: [[`Shift`], [`Z`], [`S`], [`X`], [`D`], [`C`], [`F`], [`V`]],
|
|
1744
1852
|
|
|
1745
|
-
keyCtrl8_5: [[
|
|
1853
|
+
keyCtrl8_5: [[`Shift`], [`Z`], [`S`], [`X`, `C`], [`D`, `F`], [`V`], [`G`], [`B`]],
|
|
1746
1854
|
|
|
1747
1855
|
// 矢印間隔補正
|
|
1748
1856
|
blank: 55,
|
|
@@ -1988,10 +2096,8 @@ const g_keyObj = {
|
|
|
1988
2096
|
|
|
1989
2097
|
};
|
|
1990
2098
|
|
|
1991
|
-
//
|
|
1992
|
-
Object.
|
|
1993
|
-
setKeyDfVal(charaPtn.slice(`chara`.length));
|
|
1994
|
-
});
|
|
2099
|
+
// g_keyObj.defaultProp の上書きを禁止
|
|
2100
|
+
Object.defineProperty(g_keyObj, `defaultProp`, { writable: false });
|
|
1995
2101
|
|
|
1996
2102
|
// キーパターンのコピーリスト
|
|
1997
2103
|
// ・コピー先:コピー元の順に指定する
|
|
@@ -2040,6 +2146,17 @@ const g_copyKeyPtn = {
|
|
|
2040
2146
|
'15B_1': `15A_0`,
|
|
2041
2147
|
};
|
|
2042
2148
|
|
|
2149
|
+
// charaX_Y, posX_Y, keyGroupX_Y, divX_Y, divMaxX_Yが未定義のときに0からの連番で補完する処理 (charaX_Yが定義されていることが前提)
|
|
2150
|
+
// この後g_copyKeyPtnにてデータコピーするため、ここのみcharaX_Yがあるものだけについて処理
|
|
2151
|
+
Object.keys(g_keyObj).filter(val => val.startsWith(`chara`) &&
|
|
2152
|
+
!Object.keys(g_copyKeyPtn).includes(val.slice(`chara`.length))).forEach(charaPtn => {
|
|
2153
|
+
setKeyDfVal(charaPtn.slice(`chara`.length));
|
|
2154
|
+
});
|
|
2155
|
+
|
|
2156
|
+
// キー名をキーコードに変換
|
|
2157
|
+
Object.keys(g_keyObj).filter(val => val.startsWith(`keyCtrl`)).forEach(property =>
|
|
2158
|
+
g_keyObj[property].forEach((list, j) => g_keyObj[property][j] = list.map(valN => getKeyCtrlVal(valN))));
|
|
2159
|
+
|
|
2043
2160
|
// キーパターンのコピー処理
|
|
2044
2161
|
// ただし、すでに定義済みの場合は定義済みのものを優先する
|
|
2045
2162
|
Object.keys(g_copyKeyPtn).forEach(keyPtnTo => {
|
|
@@ -2068,9 +2185,9 @@ Object.keys(g_copyKeyPtn).forEach(keyPtnTo => {
|
|
|
2068
2185
|
copyKeyPtn(`stepRtn`, `${keyPtnFrom}_${stepRtnGr}`, `${keyPtnTo}_${stepRtnGr}`);
|
|
2069
2186
|
stepRtnGr++;
|
|
2070
2187
|
}
|
|
2188
|
+
copyKeyPtn(`keyCtrl`);
|
|
2071
2189
|
copyKeyPtn(`chara`);
|
|
2072
2190
|
copyKeyPtn(`pos`);
|
|
2073
|
-
copyKeyPtn(`keyCtrl`);
|
|
2074
2191
|
copyKeyPtn(`scrollDir`);
|
|
2075
2192
|
copyKeyPtn(`assistPos`);
|
|
2076
2193
|
|
|
@@ -2258,37 +2375,6 @@ const g_dfColorBaseObj = {
|
|
|
2258
2375
|
},
|
|
2259
2376
|
};
|
|
2260
2377
|
|
|
2261
|
-
/**
|
|
2262
|
-
* 特殊文字列の置き換えリスト
|
|
2263
|
-
* (置き換え元、置き換え先の組で二次元配列として定義。主にreplaceStr関数で使用)
|
|
2264
|
-
*/
|
|
2265
|
-
const g_escapeStr = {
|
|
2266
|
-
escape: [[`&`, `&`], [`<`, `<`], [`>`, `>`], [`"`, `"`]],
|
|
2267
|
-
escapeTag: [
|
|
2268
|
-
[`*amp*`, `&`], [`*pipe*`, `|`], [`*dollar*`, `$`], [`*rsquo*`, `’`],
|
|
2269
|
-
[`*quot*`, `"`], [`*comma*`, `‚`], [`*squo*`, `'`], [`*bkquo*`, ```],
|
|
2270
|
-
[`*lt*`, `<`], [`*gt*`, `>`], [`*lbrace*`, `{`], [`*rbrace*`, `}`],
|
|
2271
|
-
],
|
|
2272
|
-
unEscapeTag: [
|
|
2273
|
-
[`&`, `&`], [`’`, `’`], [`"`, `"`], [`‚`, `,`],
|
|
2274
|
-
[`<`, `<`], [`>`, `>`], [`'`, `'`], [```, `\``],
|
|
2275
|
-
],
|
|
2276
|
-
escapeCode: [
|
|
2277
|
-
[`<script>`, ``], [`</script>`, ``],
|
|
2278
|
-
],
|
|
2279
|
-
musicNameSimple: [
|
|
2280
|
-
[`<br>`, ` `], [`<nbr>`, ``], [`<dbr>`, ` `],
|
|
2281
|
-
],
|
|
2282
|
-
musicNameMultiLine: [
|
|
2283
|
-
[`<nbr>`, `<br>`], [`<dbr>`, `<br>`],
|
|
2284
|
-
],
|
|
2285
|
-
frzName: [
|
|
2286
|
-
[`leftdia`, `frzLdia`], [`rightdia`, `frzRdia`],
|
|
2287
|
-
[`left`, `frzLeft`], [`down`, `frzDown`], [`up`, `frzUp`], [`right`, `frzRight`],
|
|
2288
|
-
[`space`, `frzSpace`], [`iyo`, `frzIyo`], [`gor`, `frzGor`], [`oni`, `foni`],
|
|
2289
|
-
],
|
|
2290
|
-
};
|
|
2291
|
-
|
|
2292
2378
|
/**
|
|
2293
2379
|
* 文字列部分一致用リスト
|
|
2294
2380
|
*/
|