danoniplus 31.1.0 → 31.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * Source by tickle
7
7
  * Created : 2019/11/19
8
- * Revised : 2023/03/25 (v31.1.0)
8
+ * Revised : 2023/04/05 (v31.3.1)
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: C_LEN_SETLBL_HEIGHT * 5 },
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: C_LNK_HEIGHT,
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: C_LNK_HEIGHT,
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: C_SIZ_DIFSELECTOR, align: C_ALIGN_LEFT,
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 - C_LEN_SETMINI_WIDTH / 2, y: 25, w: C_LEN_SETMINI_WIDTH, h: 40,
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: C_SIZ_DIFSELECTOR, borderStyle: `solid`,
255
+ x: 160, y: 0, w: 90, h: 21, siz: g_limitObj.difSelectorSiz, borderStyle: `solid`,
162
256
  },
163
257
  lblGauge2: {
164
- x: C_LEN_SETLBL_LEFT - 35, y: C_LEN_SETLBL_HEIGHT,
165
- w: C_LEN_SETLBL_WIDTH + 60, h: C_LEN_SETLBL_HEIGHT * 2, siz: 11,
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: C_LEN_SETLBL_LEFT, y: 0,
262
+ x: g_limitObj.setLblLeft, y: 0,
169
263
  },
170
264
  lblFadeinBar: {
171
- x: C_LEN_SETLBL_LEFT, y: 0,
265
+ x: g_limitObj.setLblLeft, y: 0,
172
266
  },
173
267
 
174
268
  /** 設定: 譜面明細子画面 */
175
269
  lblTooldif: {
176
- y: 5, w: 250, siz: C_SIZ_JDGCNTS,
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: C_SIZ_JDGCNTS,
286
+ x: 130, y: 45, w: 290, siz: g_limitObj.jdgCntsSiz,
193
287
  },
194
288
  dataArrowInfo: {
195
- x: 270, y: 45, w: 160, siz: C_SIZ_JDGCNTS,
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: C_LEN_DIFCOVER_WIDTH, borderStyle: `solid`,
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: C_SIZ_MAIN,
306
+ x: 0, y: 65, w: g_sWidth, h: 20, siz: g_limitObj.mainSiz,
213
307
  },
214
308
  lblAppearancePos: {
215
- x: C_LEN_SETLBL_LEFT, y: 20, siz: 12, align: C_ALIGN_CENTER,
309
+ x: g_limitObj.setLblLeft, y: 20, siz: 12, align: C_ALIGN_CENTER,
216
310
  },
217
311
  lblAppearanceBar: {
218
- x: C_LEN_SETLBL_LEFT, y: 15,
312
+ x: g_limitObj.setLblLeft, y: 15,
219
313
  },
220
314
  lnkLockBtn: {
221
- x: C_LEN_SETLBL_LEFT + C_LEN_SETLBL_WIDTH - 40, y: 0, w: 40, h: C_LEN_SETLBL_HEIGHT, siz: 12,
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: C_SIZ_MAIN,
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: C_BTN_HEIGHT / 2, siz: C_LBL_BTNSIZE * 2 / 3,
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: C_BTN_HEIGHT / 2,
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: C_BTN_HEIGHT / 2, siz: C_LBL_BTNSIZE * 2 / 3,
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: C_BTN_HEIGHT / 2, siz: C_LBL_BTNSIZE * 2 / 3,
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: C_BTN_HEIGHT / 2, siz: C_LBL_BTNSIZE * 2 / 3,
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: C_BTN_HEIGHT / 2, siz: C_LBL_BTNSIZE * 2 / 3,
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: C_BTN_HEIGHT / 2, siz: C_LBL_BTNSIZE * 2 / 3,
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: C_SIZ_MAIN, align: C_ALIGN_RIGHT,
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: C_SIZ_MAIN,
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: C_SIZ_MAIN, align: C_ALIGN_LEFT, display: `block`, margin: `auto`,
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: C_BTN_HEIGHT * 5 / 4, animationName: `smallToNormalY`,
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: C_BTN_HEIGHT * 5 / 8, siz: 24, animationName: `smallToNormalY`,
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 + C_BTN_HEIGHT * 5 / 8,
327
- w: g_sWidth / 4, h: C_BTN_HEIGHT * 5 / 8, siz: 24, animationName: `smallToNormalY`,
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 + C_BTN_HEIGHT * 5 / 8,
331
- w: g_sWidth / 4, h: C_BTN_HEIGHT * 5 / 8, siz: 24, animationName: `smallToNormalY`,
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: C_BTN_HEIGHT * 5 / 4, animationName: `smallToNormalY`,
428
+ x: g_sWidth / 4 * 3, w: g_sWidth / 4, h: g_limitObj.btnHeight * 5 / 4, animationName: `smallToNormalY`,
335
429
  },
336
430
  });
337
431
  };
@@ -516,14 +610,6 @@ const C_BLOCK_KEYS = [
516
610
  ];
517
611
 
518
612
  /** 設定・オプション画面用共通 */
519
- const C_LEN_GRAPH_WIDTH = 286;
520
- const C_LEN_GRAPH_HEIGHT = 226;
521
- const C_CLR_SPEEDGRAPH_SPEED = `#cc3333`;
522
- const C_CLR_SPEEDGRAPH_BOOST = `#999900`;
523
- const C_CLR_DENSITY_MAX = `#990000cc`;
524
- const C_CLR_DENSITY_DEFAULT = `#999999cc`;
525
- const C_LEN_DENSITY_DIVISION = 16;
526
-
527
613
  const g_graphColorObj = {
528
614
  max: `#993333cc`,
529
615
  default: `#999999cc`,
@@ -531,6 +617,9 @@ const g_graphColorObj = {
531
617
  default2Push: `#777777cc`,
532
618
  max3Push: `#003399cc`,
533
619
  default3Push: `#555555cc`,
620
+
621
+ speed: `#cc3333`,
622
+ boost: `#999900`,
534
623
  };
535
624
 
536
625
  const g_settingBtnObj = {
@@ -547,25 +636,17 @@ const g_settingBtnObj = {
547
636
  U: `↑`,
548
637
  },
549
638
  pos: {
550
- L: C_LEN_SETLBL_LEFT - C_LEN_SETMINI_WIDTH,
551
- LL: C_LEN_SETLBL_LEFT,
552
- LLL: C_LEN_SETLBL_LEFT + C_LEN_SETMINI_WIDTH + 1,
553
- HL: C_LEN_SETLBL_LEFT,
554
- R: C_LEN_SETLBL_LEFT + C_LEN_SETLBL_WIDTH,
555
- RR: C_LEN_SETLBL_LEFT + C_LEN_SETLBL_WIDTH - C_LEN_SETMINI_WIDTH,
556
- RRR: C_LEN_SETLBL_LEFT + C_LEN_SETLBL_WIDTH - C_LEN_SETMINI_WIDTH * 3 / 2 - 1,
557
- HR: C_LEN_SETLBL_LEFT + C_LEN_SETLBL_WIDTH - C_LEN_SETMINI_WIDTH,
639
+ L: g_limitObj.setLblLeft - g_limitObj.setMiniWidth,
640
+ LL: g_limitObj.setLblLeft,
641
+ LLL: g_limitObj.setLblLeft + g_limitObj.setMiniWidth + 1,
642
+ HL: g_limitObj.setLblLeft,
643
+ R: g_limitObj.setLblLeft + g_limitObj.setLblWidth,
644
+ RR: g_limitObj.setLblLeft + g_limitObj.setLblWidth - g_limitObj.setMiniWidth,
645
+ RRR: g_limitObj.setLblLeft + g_limitObj.setLblWidth - g_limitObj.setMiniWidth * 3 / 2 - 1,
646
+ HR: g_limitObj.setLblLeft + g_limitObj.setLblWidth - g_limitObj.setMiniWidth,
558
647
  }
559
648
  };
560
649
 
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
650
  const C_MAX_SPEED = 10;
570
651
  const C_MIN_SPEED = 1;
571
652
 
@@ -591,14 +672,6 @@ const g_judgPosObj = {
591
672
 
592
673
  const C_CLR_DUMMY = `#777777`;
593
674
 
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
675
  let C_FRM_HITMOTION = 4;
603
676
  let C_FRM_JDGMOTION = 60;
604
677
 
@@ -1481,6 +1554,7 @@ const g_keyObj = {
1481
1554
  // - 原則、キー×パターンの数だけ設定が必要
1482
1555
  currentKey: 7,
1483
1556
  currentPtn: 0,
1557
+ defaultProp: `keyCtrl`,
1484
1558
 
1485
1559
  prevKey: `Dummy`,
1486
1560
  dfPtnNum: 0,
@@ -1988,10 +2062,8 @@ const g_keyObj = {
1988
2062
 
1989
2063
  };
1990
2064
 
1991
- // posX_Y, divX_Y, divMaxX_Yが未定義のときに0からの連番で補完する処理 (charaX_Yが定義されていることが前提)
1992
- Object.keys(g_keyObj).filter(val => val.startsWith(`chara`)).forEach(charaPtn => {
1993
- setKeyDfVal(charaPtn.slice(`chara`.length));
1994
- });
2065
+ // g_keyObj.defaultProp の上書きを禁止
2066
+ Object.defineProperty(g_keyObj, `defaultProp`, { writable: false });
1995
2067
 
1996
2068
  // キーパターンのコピーリスト
1997
2069
  // ・コピー先:コピー元の順に指定する
@@ -2040,6 +2112,13 @@ const g_copyKeyPtn = {
2040
2112
  '15B_1': `15A_0`,
2041
2113
  };
2042
2114
 
2115
+ // charaX_Y, posX_Y, keyGroupX_Y, divX_Y, divMaxX_Yが未定義のときに0からの連番で補完する処理 (charaX_Yが定義されていることが前提)
2116
+ // この後g_copyKeyPtnにてデータコピーするため、ここのみcharaX_Yがあるものだけについて処理
2117
+ Object.keys(g_keyObj).filter(val => val.startsWith(`chara`) &&
2118
+ !Object.keys(g_copyKeyPtn).includes(val.slice(`chara`.length))).forEach(charaPtn => {
2119
+ setKeyDfVal(charaPtn.slice(`chara`.length));
2120
+ });
2121
+
2043
2122
  // キーパターンのコピー処理
2044
2123
  // ただし、すでに定義済みの場合は定義済みのものを優先する
2045
2124
  Object.keys(g_copyKeyPtn).forEach(keyPtnTo => {
@@ -2068,9 +2147,9 @@ Object.keys(g_copyKeyPtn).forEach(keyPtnTo => {
2068
2147
  copyKeyPtn(`stepRtn`, `${keyPtnFrom}_${stepRtnGr}`, `${keyPtnTo}_${stepRtnGr}`);
2069
2148
  stepRtnGr++;
2070
2149
  }
2150
+ copyKeyPtn(`keyCtrl`);
2071
2151
  copyKeyPtn(`chara`);
2072
2152
  copyKeyPtn(`pos`);
2073
- copyKeyPtn(`keyCtrl`);
2074
2153
  copyKeyPtn(`scrollDir`);
2075
2154
  copyKeyPtn(`assistPos`);
2076
2155
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "danoniplus",
3
- "version": "31.1.0",
3
+ "version": "31.3.1",
4
4
  "description": "Dancing☆Onigiri (CW Edition) - Web-based Rhythm Game",
5
5
  "main": "index.js",
6
6
  "scripts": {