danoniplus 19.5.14

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.
Files changed (63) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +92 -0
  3. package/css/danoni_main.css +300 -0
  4. package/danoni/dTemplate.html +71 -0
  5. package/danoni/danoni0.html +138 -0
  6. package/danoni/danoni0_remote.html +138 -0
  7. package/danoni/danoni1.html +157 -0
  8. package/danoni/danoni2.html +51 -0
  9. package/danoni/danoni3.html +109 -0
  10. package/danoni/danoni4_skin.html +74 -0
  11. package/danoni/danoniA.txt +22 -0
  12. package/danoni/danoniA2.txt +11 -0
  13. package/danoni/dos/0001_ThrustUp.txt +73 -0
  14. package/danoni/dos/0002_Combative.txt +31 -0
  15. package/img/aaShadow.png +0 -0
  16. package/img/aaShadow.svg +1 -0
  17. package/img/arrow.png +0 -0
  18. package/img/arrow.svg +1 -0
  19. package/img/arrowShadow.png +0 -0
  20. package/img/arrowShadow.svg +1 -0
  21. package/img/borderline.png +0 -0
  22. package/img/borderline.svg +1 -0
  23. package/img/c.png +0 -0
  24. package/img/c.svg +1 -0
  25. package/img/classic/arrow.png +0 -0
  26. package/img/classic/arrowShadow.png +0 -0
  27. package/img/classic-thin/arrow.png +0 -0
  28. package/img/classic-thin/arrowShadow.png +0 -0
  29. package/img/cursor.png +0 -0
  30. package/img/cursor.svg +1 -0
  31. package/img/frzbar.png +0 -0
  32. package/img/frzbar.svg +1 -0
  33. package/img/giko.png +0 -0
  34. package/img/giko.svg +1 -0
  35. package/img/iyo.png +0 -0
  36. package/img/iyo.svg +1 -0
  37. package/img/monar.png +0 -0
  38. package/img/monar.svg +1 -0
  39. package/img/morara.png +0 -0
  40. package/img/morara.svg +1 -0
  41. package/img/onigiri.png +0 -0
  42. package/img/onigiri.svg +1 -0
  43. package/js/danoni_main.js +9554 -0
  44. package/js/lib/danoni_constants.js +2092 -0
  45. package/js/lib/danoni_legacy_function.js +435 -0
  46. package/js/lib/danoni_localbinary.js +29 -0
  47. package/js/sample/danoni_custom-003.js +125 -0
  48. package/js/template/danoni_custom.js +165 -0
  49. package/js/template/danoni_custom2.js +163 -0
  50. package/js/template/danoni_setting.js +188 -0
  51. package/jsconfig.json +9 -0
  52. package/music/nosound.mp3 +0 -0
  53. package/package.json +23 -0
  54. package/skin/danoni_skin_background.css +8 -0
  55. package/skin/danoni_skin_background.js +75 -0
  56. package/skin/danoni_skin_blank.css +1 -0
  57. package/skin/danoni_skin_blank.js +75 -0
  58. package/skin/danoni_skin_default.css +343 -0
  59. package/skin/danoni_skin_default.js +63 -0
  60. package/skin/danoni_skin_light.css +343 -0
  61. package/skin/danoni_skin_light.js +62 -0
  62. package/skin/danoni_skin_skyblue.css +343 -0
  63. package/skin/danoni_skin_skyblue.js +62 -0
@@ -0,0 +1,2092 @@
1
+ 'use strict';
2
+ /**
3
+ * Dancing☆Onigiri (CW Edition)
4
+ * 定数・初期設定用ファイル
5
+ *
6
+ * Source by tickle
7
+ * Created : 2019/11/19
8
+ * Revised : 2021/09/24 (v19.5.10)
9
+ *
10
+ * https://github.com/cwtickle/danoniplus
11
+ */
12
+
13
+ /**
14
+ * 汎用定数定義
15
+ */
16
+ // 表示位置
17
+ const C_ALIGN_LEFT = `left`;
18
+ const C_ALIGN_CENTER = `center`;
19
+ const C_ALIGN_RIGHT = `right`;
20
+ const C_VALIGN_TOP = `top`;
21
+ const C_VALIGN_MIDDLE = `middle`;
22
+ const C_VALIGN_BOTTOM = `bottom`;
23
+
24
+ const C_LBL_TITLESIZE = 32;
25
+ const C_LBL_BTNSIZE = 28;
26
+ const C_LBL_LNKSIZE = 16;
27
+ const C_LBL_BASICFONT = `"Meiryo UI", sans-serif`;
28
+
29
+ const C_BTN_HEIGHT = 50;
30
+ const C_LNK_HEIGHT = 20;
31
+
32
+ // スプライト(ムービークリップ相当)のルート
33
+ const C_SPRITE_ROOT = `divRoot`;
34
+
35
+ const g_userAgent = window.navigator.userAgent.toLowerCase(); // msie, edge, chrome, safari, firefox, opera
36
+ const g_isIos = listMatching(g_userAgent, [`iphone`, `ipad`, `ipod`]);
37
+ const g_isMac = listMatching(g_userAgent, [`iphone`, `ipad`, `ipod`, `mac os`]);
38
+
39
+ // 変数型
40
+ const C_TYP_BOOLEAN = `boolean`;
41
+ const C_TYP_NUMBER = `number`;
42
+ const C_TYP_STRING = `string`;
43
+ const C_TYP_FLOAT = `float`;
44
+ const C_TYP_OBJECT = `object`;
45
+ const C_TYP_FUNCTION = `function`;
46
+ const C_TYP_SWITCH = `switch`;
47
+ const C_TYP_CALC = `calc`;
48
+
49
+ // 画像ファイル
50
+ let C_IMG_ARROW = `../img/arrow.svg`;
51
+ let C_IMG_ARROWSD = `../img/arrowShadow.svg`;
52
+ let C_IMG_ONIGIRI = `../img/onigiri.svg`;
53
+ let C_IMG_AASD = `../img/aaShadow.svg`;
54
+ let C_IMG_GIKO = `../img/giko.svg`;
55
+ let C_IMG_IYO = `../img/iyo.svg`;
56
+ let C_IMG_C = `../img/c.svg`;
57
+ let C_IMG_MORARA = `../img/morara.svg`;
58
+ let C_IMG_MONAR = `../img/monar.svg`;
59
+ let C_IMG_CURSOR = `../img/cursor.svg`;
60
+ let C_IMG_FRZBAR = `../img/frzbar.svg`;
61
+ let C_IMG_LIFEBAR = `../img/frzbar.svg`;
62
+ let C_IMG_LIFEBORDER = `../img/borderline.svg`;
63
+
64
+ if (typeof loadBinary === C_TYP_FUNCTION) {
65
+ loadBinary();
66
+ }
67
+
68
+ // jsファイル
69
+ const C_JSF_CUSTOM = `danoni_custom.js`;
70
+ const C_JSF_BLANK = `danoni_blank.js`;
71
+
72
+ // ディレクトリパス
73
+ const C_DIR_JS = `../js/`;
74
+ const C_DIR_CSS = `../css/`;
75
+ const C_DIR_MUSIC = `../music/`;
76
+ const C_DIR_SKIN = `../skin/`;
77
+
78
+ // カレントディレクトリマーク
79
+ const C_MRK_CURRENT_DIRECTORY = `(..)`;
80
+
81
+ const g_imgObj = {
82
+ arrow: C_IMG_ARROW,
83
+ arrowShadow: C_IMG_ARROWSD,
84
+ onigiri: C_IMG_ONIGIRI,
85
+ onigiriShadow: C_IMG_AASD,
86
+ giko: C_IMG_GIKO,
87
+ gikoShadow: C_IMG_AASD,
88
+ iyo: C_IMG_IYO,
89
+ iyoShadow: C_IMG_AASD,
90
+ c: C_IMG_C,
91
+ cShadow: C_IMG_AASD,
92
+ morara: C_IMG_MORARA,
93
+ moraraShadow: C_IMG_AASD,
94
+ monar: C_IMG_MONAR,
95
+ monarShadow: C_IMG_AASD,
96
+
97
+ arrowStep: C_IMG_ARROW,
98
+ arrowShadowStep: C_IMG_ARROWSD,
99
+ onigiriStep: C_IMG_ONIGIRI,
100
+ onigiriShadowStep: C_IMG_AASD,
101
+ gikoStep: C_IMG_GIKO,
102
+ gikoShadowStep: C_IMG_AASD,
103
+ iyoStep: C_IMG_IYO,
104
+ iyoShadowStep: C_IMG_AASD,
105
+ cStep: C_IMG_C,
106
+ cShadowStep: C_IMG_AASD,
107
+ moraraStep: C_IMG_MORARA,
108
+ moraraShadowStep: C_IMG_AASD,
109
+ monarStep: C_IMG_MONAR,
110
+ monarShadowStep: C_IMG_AASD,
111
+
112
+ arrowStepHit: C_IMG_ARROW,
113
+ onigiriStepHit: C_IMG_ONIGIRI,
114
+ gikoStepHit: C_IMG_GIKO,
115
+ iyoStepHit: C_IMG_IYO,
116
+ cStepHit: C_IMG_C,
117
+ moraraStepHit: C_IMG_MORARA,
118
+ monarStepHit: C_IMG_MONAR,
119
+
120
+ cursor: C_IMG_CURSOR,
121
+ frzBar: C_IMG_FRZBAR,
122
+ lifeBar: C_IMG_LIFEBAR,
123
+ lifeBorder: C_IMG_LIFEBORDER,
124
+ };
125
+
126
+ // g_imgObjのうち、初期読込するリスト
127
+ const g_imgInitList = [
128
+ `arrow`, `arrowShadow`, `onigiri`, `onigiriShadow`,
129
+ `giko`, `iyo`, `c`, `morara`, `monar`, `cursor`, `frzBar`, `lifeBorder`,
130
+ ];
131
+
132
+ // 読込対象の画像拡張子
133
+ let g_imgExtensions = [`png`, `gif`, `bmp`, `jpg`, `jpeg`, `svg`];
134
+
135
+ // オブジェクト種別
136
+ const g_typeLists = {
137
+ arrow: [`arrow`, `dummyArrow`, `frz`, `dummyFrz`],
138
+ color: [`color`, `acolor`, `shadowColor`, `ashadowColor`],
139
+ frzColor: [`Normal`, `NormalBar`, `Hit`, `HitBar`],
140
+ dataList: [
141
+ `Arrow`, `FrzArrow`, `FrzLength`,
142
+ `Color`, `ColorCd`, `FColor`, `FColorCd`,
143
+ `AColor`, `AColorCd`, `FAColor`, `FAColorCd`,
144
+ `shadowColor`, `shadowColorCd`, `FshadowColor`, `FshadowColorCd`,
145
+ `AshadowColor`, `AshadowColorCd`, `FAshadowColor`, `FAshadowColorCd`,
146
+ `ArrowCssMotion`, `ArrowCssMotionName`,
147
+ `FrzCssMotion`, `FrzCssMotionName`,
148
+ ],
149
+ };
150
+
151
+ // Motionオプション配列の基準位置
152
+ const C_MOTION_STD_POS = 15;
153
+
154
+ // キーブロック対象(キーコードを指定)
155
+ const C_BLOCK_KEYS = [
156
+ 8, 9, 13, 17, 18, 32, /* BackSpace, Tab, Enter, Ctrl, Alt, Space */
157
+ 33, 34, 35, 36, /* PageUp, PageDown, End, Home */
158
+ 37, 38, 39, 40, 46, /* Left, Down, Up, Right, Delete */
159
+ 112, 113, 114, 115, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, /* F1~F15 (F5は除く) */
160
+ 27 /* Esc */
161
+ ];
162
+
163
+ /** 設定・オプション画面用共通 */
164
+ const C_LEN_SETLBL_LEFT = 160;
165
+ const C_LEN_SETLBL_WIDTH = 210;
166
+ const C_LEN_DIFSELECTOR_WIDTH = 250;
167
+ const C_LEN_SETLBL_HEIGHT = 23;
168
+ const C_SIZ_SETLBL = 17;
169
+ const C_LEN_SETDIFLBL_HEIGHT = 25;
170
+ const C_SIZ_SETDIFLBL = 17;
171
+ const C_LEN_SETMINI_WIDTH = 40;
172
+ const C_SIZ_SETMINI = 18;
173
+ const C_SIZ_DIFSELECTOR = 14;
174
+ const C_SIZ_MAIN = 14;
175
+
176
+ const C_LEN_GRAPH_WIDTH = 286;
177
+ const C_LEN_GRAPH_HEIGHT = 226;
178
+ const C_CLR_SPEEDGRAPH_SPEED = `#cc3333`;
179
+ const C_CLR_SPEEDGRAPH_BOOST = `#999900`;
180
+ const C_CLR_DENSITY_MAX = `#990000cc`;
181
+ const C_CLR_DENSITY_DEFAULT = `#999999cc`;
182
+ const C_LEN_DENSITY_DIVISION = 16;
183
+
184
+ const C_LBL_SETMINIL = `<`;
185
+ const C_LEN_SETMINIL_LEFT = C_LEN_SETLBL_LEFT - C_LEN_SETMINI_WIDTH;
186
+ const C_LBL_SETMINILL = `<`;
187
+ const C_LEN_SETMINILL_LEFT = C_LEN_SETMINIL_LEFT + C_LEN_SETMINI_WIDTH;
188
+ const C_LBL_SETMINIR = `>`;
189
+ const C_LBL_SETMINIRR = `>`;
190
+ const C_LEN_SETMINIR_LEFT = C_LEN_SETLBL_LEFT + C_LEN_SETLBL_WIDTH;
191
+ const C_LEN_SETMINIRR_LEFT = C_LEN_SETMINIR_LEFT - C_LEN_SETMINI_WIDTH;
192
+
193
+ const C_MAX_ADJUSTMENT = 30;
194
+ const C_MAX_SPEED = 10;
195
+ const C_MIN_SPEED = 1;
196
+
197
+ const C_KYC_HEIGHT = 150;
198
+ const C_KYC_REPHEIGHT = 20;
199
+
200
+ const C_FRM_AFTERFADE = 420;
201
+ const C_FRM_FRZATTEMPT = 5;
202
+
203
+ /** ショートカットキー */
204
+ const C_KEY_RETRY = 8;
205
+ const C_KEY_TITLEBACK = 46;
206
+
207
+ /** 判定系共通オブジェクト */
208
+ const g_judgObj = {
209
+ arrowJ: [2, 4, 6, 8, 8],
210
+ frzJ: [2, 4, 8]
211
+ };
212
+ const C_JDG_II = 0;
213
+ const C_JDG_SHAKIN = 1;
214
+ const C_JDG_MATARI = 2;
215
+ const C_JDG_SHOBON = 3;
216
+ const C_JDG_UWAN = 4;
217
+
218
+ const C_JDG_KITA = 0;
219
+ const C_JDG_SFSF = 1;
220
+ const C_JDG_IKNAI = 2;
221
+
222
+ const C_CLR_DUMMY = `#777777`;
223
+
224
+ const C_LEN_JDGCHARA_WIDTH = 200;
225
+ const C_LEN_JDGCHARA_HEIGHT = 20;
226
+ const C_SIZ_JDGCHARA = 20;
227
+
228
+ const C_LEN_JDGCNTS_WIDTH = 100;
229
+ const C_LEN_JDGCNTS_HEIGHT = 20;
230
+ const C_SIZ_JDGCNTS = 16;
231
+
232
+ let C_FRM_HITMOTION = 4;
233
+ let C_FRM_JDGMOTION = 60;
234
+
235
+ /** 結果画面用共通オブジェクト */
236
+ const g_resultObj = {
237
+ ii: 0,
238
+ shakin: 0,
239
+ matari: 0,
240
+ shobon: 0,
241
+ uwan: 0,
242
+ kita: 0,
243
+ sfsf: 0,
244
+ iknai: 0,
245
+ combo: 0,
246
+ maxCombo: 0,
247
+ fCombo: 0,
248
+ fmaxCombo: 0,
249
+ score: 0,
250
+
251
+ fast: 0,
252
+ slow: 0,
253
+
254
+ spState: ``,
255
+ };
256
+
257
+ const C_RLT_BRACKET_L = 210;
258
+ const C_RLT_HIDIF_X = 165;
259
+ const C_RLT_BRACKET_R = 320;
260
+
261
+ let g_allArrow = 0;
262
+ let g_allFrz = 0;
263
+ let g_fullArrows = 0;
264
+ let g_currentArrows = 0;
265
+ const g_rankObj = {
266
+ rankMarks: [`SS`, `S`, `SA`, `AAA`, `AA`, `A`, `B`, `C`],
267
+ rankRate: [97, 90, 85, 80, 75, 70, 50, 0],
268
+ rankColor: [`#00ccff`, `#6600ff`, `#ff9900`, `#ff0000`, `#00ff00`, `#ff00ff`, `#cc00ff`, `#cc9933`],
269
+
270
+ rankMarkPF: `PF`,
271
+ rankColorPF: `#cccc00`,
272
+ rankMarkC: `C`,
273
+ rankColorC: `#cc9933`,
274
+ rankMarkF: `F`,
275
+ rankColorF: `#999999`,
276
+ rankMarkX: `X`,
277
+ rankColorX: `#996600`
278
+ };
279
+
280
+ const g_pointAllocation = {
281
+ ii: 8,
282
+ shakin: 4,
283
+ matari: 2,
284
+ kita: 8,
285
+ sfsf: 4,
286
+ maxCombo: 2,
287
+ fmaxCombo: 2,
288
+ }
289
+
290
+ let C_WOD_FRAME = 30;
291
+
292
+ // 譜面データ持ち回り用
293
+ const g_stateObj = {
294
+ scoreLockFlg: false,
295
+ scoreId: 0,
296
+ dummyId: ``,
297
+ speed: 3.5,
298
+ motion: C_FLG_OFF,
299
+ reverse: C_FLG_OFF,
300
+ scroll: `---`,
301
+ shuffle: C_FLG_OFF,
302
+ autoPlay: C_FLG_OFF,
303
+ autoAll: C_FLG_OFF,
304
+ gauge: `Normal`,
305
+ adjustment: 0,
306
+ fadein: 0,
307
+ volume: 100,
308
+ lifeRcv: 2,
309
+ lifeDmg: 7,
310
+ lifeMode: `Border`,
311
+ lifeBorder: 70,
312
+ lifeInit: 25,
313
+ lifeVariable: C_FLG_OFF,
314
+
315
+ extraKeyFlg: false,
316
+ dataSaveFlg: true,
317
+ scoreDetailViewFlg: false,
318
+ scoreDetail: `Speed`,
319
+
320
+ d_stepzone: C_FLG_ON,
321
+ d_judgment: C_FLG_ON,
322
+ d_fastslow: C_FLG_ON,
323
+ d_lifegauge: C_FLG_ON,
324
+ d_musicinfo: C_FLG_ON,
325
+ d_score: C_FLG_ON,
326
+ d_filterline: C_FLG_ON,
327
+
328
+ d_color: C_FLG_ON,
329
+ d_speed: C_FLG_ON,
330
+ d_arroweffect: C_FLG_ON,
331
+ d_lyrics: C_FLG_ON,
332
+ d_background: C_FLG_ON,
333
+ d_special: C_FLG_ON,
334
+ appearance: `Visible`,
335
+ opacity: 100,
336
+ };
337
+
338
+ const C_VAL_MAXLIFE = 1000;
339
+ let C_CLR_BORDER = `#555555`;
340
+ const C_LFE_SURVIVAL = `Survival`;
341
+ const C_LFE_BORDER = `Border`;
342
+ const C_LFE_CUSTOM = `Custom`;
343
+
344
+ let g_gaugeOptionObj = {};
345
+ let g_gaugeType;
346
+
347
+ let g_speeds = [...Array((C_MAX_SPEED - C_MIN_SPEED) * 4 + 1).keys()].map(i => C_MIN_SPEED + i / 4);
348
+ let g_speedNum = 0;
349
+
350
+ let g_motions = [C_FLG_OFF, `Boost`, `Brake`];
351
+ let g_motionNum = 0;
352
+
353
+ let g_reverses = [C_FLG_OFF, C_FLG_ON];
354
+ let g_reverseNum = 0;
355
+
356
+ let g_scrolls = [];
357
+ let g_scrollNum = 0;
358
+
359
+ let g_shuffles = [C_FLG_OFF, `Mirror`, `Random`, `Random+`, `S-Random`, `S-Random+`];
360
+ let g_shuffleNum = 0;
361
+
362
+ let g_gauges = [];
363
+ let g_gaugeNum = 0;
364
+
365
+ let g_autoPlays = [C_FLG_OFF, C_FLG_ALL];
366
+ const g_autoPlaysBase = [C_FLG_OFF, C_FLG_ALL];
367
+ let g_autoPlayNum = 0;
368
+
369
+ let g_adjustments = [...Array(C_MAX_ADJUSTMENT * 2 + 1).keys()].map(i => i - C_MAX_ADJUSTMENT);
370
+ let g_adjustmentNum = C_MAX_ADJUSTMENT;
371
+
372
+ let g_volumes = [0, 0.5, 1, 2, 5, 10, 25, 50, 75, 100];
373
+ let g_volumeNum = g_volumes.length - 1;
374
+
375
+ let g_appearances = [`Visible`, `Hidden`, `Hidden+`, `Sudden`, `Sudden+`, `Hid&Sud+`];
376
+ let g_appearanceNum = 0;
377
+
378
+ let g_appearanceRanges = [`Hidden+`, `Sudden+`, `Hid&Sud+`];
379
+
380
+ let g_opacitys = [10, 25, 50, 75, 100];
381
+ let g_opacityNum = g_opacitys.length - 1;
382
+
383
+ let g_scoreDetails = [`Speed`, `Density`, `ToolDif`];
384
+ let g_scoreDetailNum = 0;
385
+
386
+ let g_keycons = {
387
+ configTypes: [`Main`, `Replaced`, `ALL`],
388
+ configFunc: [resetCursorMain, resetCursorReplaced, resetCursorALL],
389
+ configTypeNum: 0,
390
+
391
+ colorTypes: [`Default`, `Type0`, `Type1`, `Type2`],
392
+ colorDefs: [C_FLG_ON, C_FLG_ON, C_FLG_OFF, C_FLG_OFF],
393
+ colorTypeNum: 0,
394
+ };
395
+
396
+ let g_displays = [`stepZone`, `judgment`, `fastSlow`, `lifeGauge`, `score`, `musicInfo`, `filterLine`,
397
+ `speed`, `color`, `lyrics`, `background`, `arrowEffect`, `special`];
398
+
399
+ let g_storeSettings = [`appearance`, `opacity`, `d_stepzone`, `d_judgment`, `d_fastslow`, `d_lifegauge`,
400
+ `d_score`, `d_musicinfo`, `d_filterline`];
401
+
402
+ let g_canDisabledSettings = [`motion`, `scroll`, `shuffle`, `autoPlay`, `gauge`, `appearance`];
403
+
404
+ // サイズ(後で指定)
405
+ let g_sWidth;
406
+ let g_sHeight;
407
+
408
+ const g_hidSudObj = {
409
+ filterPos: 10,
410
+ pgDown: {},
411
+ pgUp: {},
412
+ std: {},
413
+ filterPosDefault: {},
414
+ };
415
+ g_hidSudObj[`Visible`] = 1;
416
+ g_hidSudObj[`Hidden`] = 0;
417
+ g_hidSudObj[`Hidden+`] = 0;
418
+ g_hidSudObj[`Sudden`] = 1;
419
+ g_hidSudObj[`Sudden+`] = 1;
420
+ g_hidSudObj[`Hid&Sud+`] = 1;
421
+
422
+ g_hidSudObj.filterPosDefault[`Visible`] = 0;
423
+ g_hidSudObj.filterPosDefault[`Hidden`] = 50;
424
+ g_hidSudObj.filterPosDefault[`Sudden`] = 40;
425
+ g_hidSudObj.pgDown[`Hidden+`] = {
426
+ OFF: `PageDown`,
427
+ ON: `PageUp`,
428
+ };
429
+ g_hidSudObj.pgDown[`Sudden+`] = {
430
+ OFF: `PageUp`,
431
+ ON: `PageDown`,
432
+ }
433
+ g_hidSudObj.pgDown[`Hid&Sud+`] = {
434
+ OFF: `PageUp`,
435
+ ON: `PageDown`,
436
+ }
437
+ g_hidSudObj.pgUp[`Hidden+`] = {
438
+ OFF: `PageUp`,
439
+ ON: `PageDown`,
440
+ }
441
+ g_hidSudObj.pgUp[`Sudden+`] = {
442
+ OFF: `PageDown`,
443
+ ON: `PageUp`,
444
+ }
445
+ g_hidSudObj.pgUp[`Hid&Sud+`] = {
446
+ OFF: `PageDown`,
447
+ ON: `PageUp`,
448
+ }
449
+ g_hidSudObj.std[`Hidden+`] = {
450
+ OFF: 0,
451
+ ON: 1,
452
+ };
453
+ g_hidSudObj.std[`Sudden+`] = {
454
+ OFF: 1,
455
+ ON: 0,
456
+ }
457
+ g_hidSudObj.std[`Hid&Sud+`] = {
458
+ OFF: 1,
459
+ ON: 0,
460
+ }
461
+
462
+ // ステップゾーン位置、到達距離(後で指定)
463
+ const C_STEP_Y = 70;
464
+ const C_STEP_YR = 0;
465
+ let g_stepY;
466
+ let g_distY;
467
+ let g_reverseStepY;
468
+ let g_stepYR;
469
+ let g_stepDiffY;
470
+ let g_arrowHeight;
471
+
472
+ const g_posObj = {
473
+ stepY: 70,
474
+ distY: 0,
475
+ reverseStepY: 0,
476
+ stepYR: 0,
477
+ stepDiffY: 0,
478
+ arrowHeight: 0,
479
+ }
480
+
481
+ const g_diffObj = {
482
+ arrowJdgY: 0,
483
+ frzJdgY: 0,
484
+ };
485
+
486
+ // キーコンフィグカーソル
487
+ let g_currentj = 0;
488
+ let g_currentk = 0;
489
+ let g_prevKey = -1;
490
+
491
+ // キーコード
492
+ const g_kCd = [];
493
+ const g_kCdN = [];
494
+ for (let j = 0; j < 255; j++) {
495
+ g_kCd[j] = ``;
496
+ g_kCdN[j] = ``;
497
+ }
498
+
499
+ // キー表示用
500
+ g_kCd[0] = `- - -`;
501
+ g_kCd[1] = `Unknown`;
502
+ g_kCd[8] = `BackSpace`;
503
+ g_kCd[9] = `Tab`;
504
+ g_kCd[12] = `Clear`;
505
+ g_kCd[13] = `Enter`;
506
+ g_kCd[16] = `Shift`;
507
+ g_kCd[17] = `Ctrl`;
508
+ g_kCd[18] = `Alt`;
509
+ g_kCd[19] = `Pause`;
510
+ g_kCd[27] = `Esc`;
511
+ g_kCd[28] = `Conv`;
512
+ g_kCd[29] = `noConv`;
513
+ g_kCd[32] = `Space`;
514
+ g_kCd[33] = `PgUp`;
515
+ g_kCd[34] = `PgDown`;
516
+ g_kCd[35] = `End`;
517
+ g_kCd[36] = `Home`;
518
+ g_kCd[37] = `←`;
519
+ g_kCd[38] = `↑`;
520
+ g_kCd[39] = `→`;
521
+ g_kCd[40] = `↓`;
522
+ g_kCd[44] = `PS`;
523
+ g_kCd[45] = `Insert`;
524
+ g_kCd[46] = `Delete`;
525
+ g_kCd[47] = `Help`;
526
+ g_kCd[48] = `0`;
527
+ g_kCd[49] = `1`;
528
+ g_kCd[50] = `2`;
529
+ g_kCd[51] = `3`;
530
+ g_kCd[52] = `4`;
531
+ g_kCd[53] = `5`;
532
+ g_kCd[54] = `6`;
533
+ g_kCd[55] = `7`;
534
+ g_kCd[56] = `8`;
535
+ g_kCd[57] = `9`;
536
+ g_kCd[65] = `A`;
537
+ g_kCd[66] = `B`;
538
+ g_kCd[67] = `C`;
539
+ g_kCd[68] = `D`;
540
+ g_kCd[69] = `E`;
541
+ g_kCd[70] = `F`;
542
+ g_kCd[71] = `G`;
543
+ g_kCd[72] = `H`;
544
+ g_kCd[73] = `I`;
545
+ g_kCd[74] = `J`;
546
+ g_kCd[75] = `K`;
547
+ g_kCd[76] = `L`;
548
+ g_kCd[77] = `M`;
549
+ g_kCd[78] = `N`;
550
+ g_kCd[79] = `O`;
551
+ g_kCd[80] = `P`;
552
+ g_kCd[81] = `Q`;
553
+ g_kCd[82] = `R`;
554
+ g_kCd[83] = `S`;
555
+ g_kCd[84] = `T`;
556
+ g_kCd[85] = `U`;
557
+ g_kCd[86] = `V`;
558
+ g_kCd[87] = `W`;
559
+ g_kCd[88] = `X`;
560
+ g_kCd[89] = `Y`;
561
+ g_kCd[90] = `Z`;
562
+ g_kCd[91] = `Window`;
563
+ g_kCd[93] = `Appli`;
564
+ g_kCd[96] = `T0`;
565
+ g_kCd[97] = `T1`;
566
+ g_kCd[98] = `T2`;
567
+ g_kCd[99] = `T3`;
568
+ g_kCd[100] = `T4`;
569
+ g_kCd[101] = `T5`;
570
+ g_kCd[102] = `T6`;
571
+ g_kCd[103] = `T7`;
572
+ g_kCd[104] = `T8`;
573
+ g_kCd[105] = `T9`;
574
+ g_kCd[106] = `T*`;
575
+ g_kCd[107] = `T+`;
576
+ g_kCd[108] = `TEnter`;
577
+ g_kCd[109] = `T-`;
578
+ g_kCd[110] = `T_`;
579
+ g_kCd[111] = `T/`;
580
+ g_kCd[112] = `F1`;
581
+ g_kCd[113] = `F2`;
582
+ g_kCd[114] = `F3`;
583
+ g_kCd[115] = `F4`;
584
+ g_kCd[116] = `F5`;
585
+ g_kCd[117] = `F6`;
586
+ g_kCd[118] = `F7`;
587
+ g_kCd[119] = `F8`;
588
+ g_kCd[120] = `F9`;
589
+ g_kCd[121] = `F10`;
590
+ g_kCd[122] = `F11`;
591
+ g_kCd[123] = `F12`;
592
+ g_kCd[124] = `F13`;
593
+ g_kCd[125] = `F14`;
594
+ g_kCd[126] = `F15`;
595
+ g_kCd[134] = `FN`;
596
+ g_kCd[144] = `NumLk`;
597
+ g_kCd[145] = `SL`;
598
+ g_kCd[186] = `: *`;
599
+ g_kCd[187] = `; +`;
600
+ g_kCd[188] = `, <`;
601
+ g_kCd[189] = `- =`;
602
+ g_kCd[190] = `. >`;
603
+ g_kCd[191] = `/ ?`;
604
+ g_kCd[192] = "@ `";
605
+ g_kCd[219] = `[ {`;
606
+ g_kCd[220] = `\\ |`;
607
+ g_kCd[221] = `] }`;
608
+ g_kCd[222] = `^ ~`;
609
+ g_kCd[226] = `\\ _`;
610
+ g_kCd[229] = `IME`;
611
+ g_kCd[240] = `CapsLk`;
612
+
613
+ // 従来のキーコードとの変換用
614
+ g_kCdN[0] = `- - -`; // 無効値
615
+ g_kCdN[1] = ``; // 特殊キー(PR #924 参照)
616
+ g_kCdN[8] = `Backspace`;
617
+ g_kCdN[9] = `Tab`;
618
+ g_kCdN[12] = `Clear`;
619
+ g_kCdN[13] = `Enter`;
620
+ g_kCdN[16] = `ShiftLeft`;
621
+ g_kCdN[17] = `ControlLeft`;
622
+ g_kCdN[18] = `AltLeft`;
623
+ g_kCdN[19] = `Pause`;
624
+ g_kCdN[27] = `Escape`;
625
+ g_kCdN[28] = `Convert`;
626
+ g_kCdN[29] = `NonConvert`;
627
+ g_kCdN[32] = `Space`;
628
+ g_kCdN[33] = `PageUp`;
629
+ g_kCdN[34] = `PageDown`;
630
+ g_kCdN[35] = `End`;
631
+ g_kCdN[36] = `Home`;
632
+ g_kCdN[37] = `ArrowLeft`;
633
+ g_kCdN[38] = `ArrowUp`;
634
+ g_kCdN[39] = `ArrowRight`;
635
+ g_kCdN[40] = `ArrowDown`;
636
+ g_kCdN[44] = `PrintScreen`;
637
+ g_kCdN[45] = `Insert`;
638
+ g_kCdN[46] = `Delete`;
639
+ g_kCdN[47] = `Help`;
640
+ g_kCdN[48] = `Digit0`;
641
+ g_kCdN[49] = `Digit1`;
642
+ g_kCdN[50] = `Digit2`;
643
+ g_kCdN[51] = `Digit3`;
644
+ g_kCdN[52] = `Digit4`;
645
+ g_kCdN[53] = `Digit5`;
646
+ g_kCdN[54] = `Digit6`;
647
+ g_kCdN[55] = `Digit7`;
648
+ g_kCdN[56] = `Digit8`;
649
+ g_kCdN[57] = `Digit9`;
650
+ g_kCdN[65] = `KeyA`;
651
+ g_kCdN[66] = `KeyB`;
652
+ g_kCdN[67] = `KeyC`;
653
+ g_kCdN[68] = `KeyD`;
654
+ g_kCdN[69] = `KeyE`;
655
+ g_kCdN[70] = `KeyF`;
656
+ g_kCdN[71] = `KeyG`;
657
+ g_kCdN[72] = `KeyH`;
658
+ g_kCdN[73] = `KeyI`;
659
+ g_kCdN[74] = `KeyJ`;
660
+ g_kCdN[75] = `KeyK`;
661
+ g_kCdN[76] = `KeyL`;
662
+ g_kCdN[77] = `KeyM`;
663
+ g_kCdN[78] = `KeyN`;
664
+ g_kCdN[79] = `KeyO`;
665
+ g_kCdN[80] = `KeyP`;
666
+ g_kCdN[81] = `KeyQ`;
667
+ g_kCdN[82] = `KeyR`;
668
+ g_kCdN[83] = `KeyS`;
669
+ g_kCdN[84] = `KeyT`;
670
+ g_kCdN[85] = `KeyU`;
671
+ g_kCdN[86] = `KeyV`;
672
+ g_kCdN[87] = `KeyW`;
673
+ g_kCdN[88] = `KeyX`;
674
+ g_kCdN[89] = `KeyY`;
675
+ g_kCdN[90] = `KeyZ`;
676
+ g_kCdN[91] = `MetaLeft`;
677
+ g_kCdN[93] = `ContextMenu`;
678
+ g_kCdN[96] = `Numpad0`;
679
+ g_kCdN[97] = `Numpad1`;
680
+ g_kCdN[98] = `Numpad2`;
681
+ g_kCdN[99] = `Numpad3`;
682
+ g_kCdN[100] = `Numpad4`;
683
+ g_kCdN[101] = `Numpad5`;
684
+ g_kCdN[102] = `Numpad6`;
685
+ g_kCdN[103] = `Numpad7`;
686
+ g_kCdN[104] = `Numpad8`;
687
+ g_kCdN[105] = `Numpad9`;
688
+ g_kCdN[106] = `NumpadMultiply`;
689
+ g_kCdN[107] = `NumpadAdd`;
690
+ g_kCdN[108] = `NumpadEnter`;
691
+ g_kCdN[109] = `NumpadSubtract`;
692
+ g_kCdN[110] = `NumpadDecimal`;
693
+ g_kCdN[111] = `NumpadDivide`;
694
+ g_kCdN[112] = `F1`;
695
+ g_kCdN[113] = `F2`;
696
+ g_kCdN[114] = `F3`;
697
+ g_kCdN[115] = `F4`;
698
+ g_kCdN[116] = `F5`;
699
+ g_kCdN[117] = `F6`;
700
+ g_kCdN[118] = `F7`;
701
+ g_kCdN[119] = `F8`;
702
+ g_kCdN[120] = `F9`;
703
+ g_kCdN[121] = `F10`;
704
+ g_kCdN[122] = `F11`;
705
+ g_kCdN[123] = `F12`;
706
+ g_kCdN[124] = `F13`;
707
+ g_kCdN[125] = `F14`;
708
+ g_kCdN[126] = `F15`;
709
+ g_kCdN[134] = `FN`;
710
+ g_kCdN[144] = `NumLock`;
711
+ g_kCdN[145] = `ScrollLock`;
712
+ g_kCdN[186] = `Quote`;
713
+ g_kCdN[187] = `Semicolon`;
714
+ g_kCdN[188] = `Comma`;
715
+ g_kCdN[189] = `Minus`;
716
+ g_kCdN[190] = `Period`;
717
+ g_kCdN[191] = `Slash`;
718
+ g_kCdN[192] = `BracketLeft`;
719
+ g_kCdN[219] = `BracketRight`;
720
+ g_kCdN[220] = `IntlYen`;
721
+ g_kCdN[221] = `Backslash`;
722
+ g_kCdN[222] = `Equal`;
723
+ g_kCdN[226] = `IntlRo`;
724
+ g_kCdN[229] = `Backquote`;
725
+ g_kCdN[240] = `CapsLock`;
726
+
727
+ // 画面別ショートカット
728
+ const g_shortcutObj = {
729
+ title: {
730
+ Enter: { id: `btnStart` },
731
+ },
732
+ option: {
733
+ ShiftLeft_KeyD: { id: `lnkDifficultyL` },
734
+ KeyD: { id: `lnkDifficultyR` },
735
+ ShiftLeft_ArrowRight: { id: `lnkSpeedR` },
736
+ ArrowRight: { id: `lnkSpeedRR` },
737
+ ShiftLeft_ArrowLeft: { id: `lnkSpeedL` },
738
+ ArrowLeft: { id: `lnkSpeedLL` },
739
+
740
+ ShiftLeft_KeyM: { id: `lnkMotionL` },
741
+ KeyM: { id: `lnkMotionR` },
742
+ ArrowUp: { id: `lnkScrollL` },
743
+ ArrowDown: { id: `lnkScrollR` },
744
+ KeyR: { id: `lnkReverseR` },
745
+
746
+ ShiftLeft_KeyS: { id: `lnkShuffleL` },
747
+ KeyS: { id: `lnkShuffleR` },
748
+ ShiftLeft_KeyA: { id: `lnkAutoPlayL` },
749
+ KeyA: { id: `lnkAutoPlayR` },
750
+ ShiftLeft_KeyG: { id: `lnkGaugeL` },
751
+ KeyG: { id: `lnkGaugeR` },
752
+
753
+ ShiftLeft_Semicolon: { id: `lnkAdjustmentR` },
754
+ Semicolon: { id: `lnkAdjustmentRR` },
755
+ ShiftLeft_Minus: { id: `lnkAdjustmentL` },
756
+ Minus: { id: `lnkAdjustmentLL` },
757
+
758
+ ShiftLeft_NumpadAdd: { id: `lnkAdjustmentR` },
759
+ NumpadAdd: { id: `lnkAdjustmentRR` },
760
+ ShiftLeft_NumpadSubtract: { id: `lnkAdjustmentL` },
761
+ NumpadSubtract: { id: `lnkAdjustmentLL` },
762
+
763
+ ShiftLeft_KeyV: { id: `lnkVolumeL` },
764
+ KeyV: { id: `lnkVolumeR` },
765
+
766
+ KeyI: { id: `btnGraph` },
767
+ KeyQ: { id: `lnkScoreDetail` },
768
+ KeyP: { id: `lnkDifInfo` },
769
+ KeyZ: { id: `btnSave` },
770
+
771
+ Escape: { id: `btnBack` },
772
+ Space: { id: `btnKeyConfig` },
773
+ Enter: { id: `btnPlay` },
774
+ ShiftLeft_Tab: { id: `btnBack` },
775
+ Tab: { id: `btnDisplay` },
776
+ },
777
+ settingsDisplay: {
778
+ ShiftLeft_KeyA: { id: `lnkAppearanceL` },
779
+ KeyA: { id: `lnkAppearanceR` },
780
+ ShiftLeft_KeyO: { id: `lnkOpacityL` },
781
+ KeyO: { id: `lnkOpacityR` },
782
+
783
+ Digit1: { id: `lnkstepZone` },
784
+ Digit2: { id: `lnkjudgment` },
785
+ Digit3: { id: `lnkfastSlow` },
786
+ Digit4: { id: `lnklifeGauge` },
787
+ Digit5: { id: `lnkscore` },
788
+ Digit6: { id: `lnkmusicInfo` },
789
+ Digit7: { id: `lnkfilterLine` },
790
+ Digit8: { id: `lnkspeed` },
791
+ Digit9: { id: `lnkcolor` },
792
+ Digit0: { id: `lnklyrics` },
793
+ Semicolon: { id: `lnkbackground` },
794
+ Minus: { id: `lnkarrowEffect` },
795
+ Slash: { id: `lnkspecial` },
796
+
797
+ Numpad1: { id: `lnkstepZone` },
798
+ Numpad2: { id: `lnkjudgment` },
799
+ Numpad3: { id: `lnkfastSlow` },
800
+ Numpad4: { id: `lnklifeGauge` },
801
+ Numpad5: { id: `lnkscore` },
802
+ Numpad6: { id: `lnkmusicInfo` },
803
+ Numpad7: { id: `lnkfilterLine` },
804
+ Numpad8: { id: `lnkspeed` },
805
+ Numpad9: { id: `lnkcolor` },
806
+ Numpad0: { id: `lnklyrics` },
807
+ NumpadAdd: { id: `lnkbackground` },
808
+ NumpadSubtract: { id: `lnkarrowEffect` },
809
+ NumpadDivide: { id: `lnkspecial` },
810
+
811
+ Escape: { id: `btnBack` },
812
+ Space: { id: `btnKeyConfig` },
813
+ Enter: { id: `btnPlay` },
814
+ ShiftLeft_Tab: { id: `btnBack` },
815
+ Tab: { id: `btnSettings` },
816
+ },
817
+ keyConfig: {
818
+ Escape: { id: `btnBack` },
819
+ },
820
+ result: {
821
+ Escape: { id: `btnBack` },
822
+ ShiftLeft_Tab: { id: `btnBack` },
823
+ KeyC: { id: `btnCopy`, reset: true },
824
+ KeyT: { id: `btnTweet`, reset: true },
825
+ KeyG: { id: `btnGitter`, reset: true },
826
+ Backspace: { id: `btnRetry` },
827
+ },
828
+ };
829
+
830
+ // ショートカットキーの有効化時間(ミリ秒)※結果画面のみ利用
831
+ const g_shortcutWaitTime = {
832
+ result: 2000,
833
+ };
834
+
835
+ // 主要ボタンのリスト
836
+ const g_btnPatterns = {
837
+ title: { Start: 0 },
838
+ option: { Back: 0, KeyConfig: 0, Play: 0, Display: -5, Save: -10, Graph: -25 },
839
+ settingsDisplay: { Back: 0, KeyConfig: 0, Play: 0, Settings: -5 },
840
+ keyConfig: { Back: -3 },
841
+ result: { Back: -5, Copy: -5, Tweet: -5, Gitter: -5, Retry: 0 },
842
+ };
843
+
844
+ // CSS名称
845
+ const g_cssObj = {
846
+ title_base: `title_base`,
847
+
848
+ settings_DifSelector: `settings_DifSelector`,
849
+ settings_Disabled: `settings_Disabled`,
850
+ settings_FadeinBar: `settings_FadeinBar`,
851
+
852
+ keyconfig_warning: `keyconfig_warning`,
853
+ keyconfig_ConfigType: `keyconfig_ConfigType`,
854
+ keyconfig_ColorType: `keyconfig_ColorType`,
855
+ keyconfig_Changekey: `keyconfig_Changekey`,
856
+ keyconfig_Defaultkey: `keyconfig_Defaultkey`,
857
+
858
+ main_stepKeyDown: `main_stepKeyDown`,
859
+ main_stepDefault: `main_stepDefault`,
860
+ main_stepDummy: `main_stepDummy`,
861
+ main_stepIi: `main_stepIi`,
862
+ main_stepShakin: `main_stepShakin`,
863
+ main_stepMatari: `main_stepMatari`,
864
+ main_stepShobon: `main_stepShobon`,
865
+
866
+ main_objStepShadow: `main_objStepShadow`,
867
+ main_objShadow: `main_objShadow`,
868
+ main_frzHitTop: `main_frzHitTop`,
869
+
870
+ life_Max: `life_Max`,
871
+ life_Cleared: `life_Cleared`,
872
+ life_Failed: `life_Failed`,
873
+ life_Background: `life_Background`,
874
+ life_Border: `life_Border`,
875
+ life_BorderColor: `life_BorderColor`,
876
+
877
+ result_lbl: `result_lbl`,
878
+ result_style: `result_style`,
879
+
880
+ common_ii: `common_ii`,
881
+ common_shakin: `common_shakin`,
882
+ common_matari: `common_matari`,
883
+ common_shobon: `common_shobon`,
884
+ common_uwan: `common_uwan`,
885
+ common_kita: `common_kita`,
886
+ common_iknai: `common_iknai`,
887
+ common_combo: `common_combo`,
888
+ common_score: `common_score`,
889
+
890
+ result_score: `result_score`,
891
+ result_scoreHiBlanket: `result_scoreHiBlanket`,
892
+ result_scoreHi: `result_scoreHi`,
893
+ result_scoreHiPlus: `result_scoreHiPlus`,
894
+ result_noRecord: `result_noRecord`,
895
+
896
+ result_AllPerfect: `result_AllPerfect`,
897
+ result_Perfect: `result_Perfect`,
898
+ result_FullCombo: `result_FullCombo`,
899
+ result_Cleared: `result_Cleared`,
900
+ result_Failed: `result_Failed`,
901
+ result_Window: `result_Window`,
902
+ result_PlayDataWindow: `result_PlayDataWindow`,
903
+
904
+ button_Start: `button_Start`,
905
+ button_Default: `button_Default`,
906
+ button_Mini: `button_Mini`,
907
+ button_Back: `button_Back`,
908
+ button_Setting: `button_Setting`,
909
+ button_Next: `button_Next`,
910
+ button_Reset: `button_Reset`,
911
+ button_Tweet: `button_Tweet`,
912
+
913
+ button_OFF: `button_OFF`,
914
+ button_ON: `button_ON`,
915
+ button_RevOFF: `button_RevOFF`,
916
+ button_RevON: `button_RevON`,
917
+
918
+ button_DisabledOFF: `button_DisabledOFF`,
919
+ button_DisabledON: `button_DisabledON`,
920
+
921
+ flex_centering: `flex_centering`,
922
+ };
923
+
924
+ // キー別の設定(一旦ここで定義)
925
+ // ステップゾーンの位置関係は自動化を想定
926
+ const g_keyObj = {
927
+
928
+ // 現在の選択キー、選択パターン
929
+ // - キーとパターンの組み合わせで、ステップゾーンや対応キー等が決まる
930
+ // - 原則、キー×パターンの数だけ設定が必要
931
+ currentKey: 7,
932
+ currentPtn: 0,
933
+
934
+ // キー別ヘッダー
935
+ // - 譜面データ中に出てくる矢印(ノーツ)の種類と順番(ステップゾーン表示順)を管理する。
936
+ // - ここで出てくる順番は、この後のstepRtn, keyCtrlとも対応している。
937
+ chara5_0: [`left`, `down`, `up`, `right`, `space`],
938
+ chara7_0: [`left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
939
+ chara7i_0: [`left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
940
+ chara8_0: [`left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`, `sleft`],
941
+ chara9A_0: [`left`, `down`, `up`, `right`, `space`, `sleft`, `sdown`, `sup`, `sright`],
942
+ chara9B_0: [`left`, `down`, `up`, `right`, `space`, `sleft`, `sdown`, `sup`, `sright`],
943
+ chara9i_0: [`sleft`, `sdown`, `sup`, `sright`, `left`, `down`, `up`, `right`, `space`],
944
+ chara11_0: [`sleft`, `sdown`, `sup`, `sright`,
945
+ `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
946
+ chara11L_0: [`sleft`, `sdown`, `sup`, `sright`,
947
+ `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
948
+ chara11i_0: [`left`, `down`, `gor`, `up`, `right`, `space`,
949
+ `sleft`, `sdown`, `siyo`, `sup`, `sright`],
950
+ chara11W_0: [`sleft`, `sdown`, `sup`, `sright`,
951
+ `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
952
+ chara12_0: [`sleft`, `sdown`, `sup`, `sright`,
953
+ `oni`, `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
954
+ chara13_0: [`tleft`, `tdown`, `tup`, `tright`,
955
+ `left`, `down`, `up`, `right`, `space`, `sleft`, `sdown`, `sup`, `sright`],
956
+ chara14_0: [`sleftdia`, `sleft`, `sdown`, `sup`, `sright`, `srightdia`,
957
+ `oni`, `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
958
+ chara14i_0: [`gor`, `space`, `iyo`, `left`, `down`, `up`, `right`,
959
+ `sleft`, `sleftdia`, `sdown`, `sspace`, `sup`, `srightdia`, `sright`],
960
+ chara15A_0: [`sleft`, `sdown`, `sup`, `sright`, `tleft`, `tdown`, `tup`, `tright`,
961
+ `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
962
+ chara15B_0: [`sleft`, `sdown`, `sup`, `sright`, `tleft`, `tdown`, `tup`, `tright`,
963
+ `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
964
+ chara16i_0: [`gor`, `space`, `iyo`, `left`, `down`, `up`, `right`,
965
+ `sleft`, `sdown`, `sup`, `sright`, `aspace`, `aleft`, `adown`, `aup`, `aright`],
966
+ chara17_0: [`aleft`, `bleft`, `adown`, `bdown`, `aup`, `bup`, `aright`, `bright`, `space`,
967
+ `cleft`, `dleft`, `cdown`, `ddown`, `cup`, `dup`, `cright`, `dright`],
968
+ chara23_0: [`aleft`, `adown`, `aup`, `aright`, `bleft`, `bdown`, `bup`, `bright`,
969
+ `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`, `oni`,
970
+ `sleft`, `sleftdia`, `sdown`, `sspace`, `sup`, `srightdia`, `sright`],
971
+
972
+ chara5_1: [`space`, `left`, `down`, `up`, `right`],
973
+ chara7_1: [`left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
974
+ chara8_1: [`sleft`, `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
975
+ chara9A_1: [`left`, `down`, `up`, `right`, `space`, `sleft`, `sdown`, `sup`, `sright`],
976
+ chara9B_1: [`left`, `down`, `up`, `right`, `space`, `sleft`, `sdown`, `sup`, `sright`],
977
+ chara9i_1: [`left`, `down`, `up`, `right`, `space`, `sleft`, `sdown`, `sup`, `sright`],
978
+ chara11_1: [`sleft`, `sdown`, `sup`, `sright`,
979
+ `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
980
+ chara11L_1: [`sleft`, `sdown`, `sup`, `sright`,
981
+ `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
982
+ chara11W_1: [`sleft`, `sdown`, `sup`, `sright`,
983
+ `oni`, `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
984
+ chara12_1: [`sleft`, `sdown`, `sup`, `sright`,
985
+ `oni`, `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
986
+ chara14_1: [`sleftdia`, `sleft`, `sdown`, `sup`, `sright`, `srightdia`,
987
+ `oni`, `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
988
+ chara15A_1: [`sleft`, `sdown`, `sup`, `sright`, `tleft`, `tdown`, `tup`, `tright`,
989
+ `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
990
+ chara15B_1: [`sleft`, `sdown`, `sup`, `sright`, `tleft`, `tdown`, `tup`, `tright`,
991
+ `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
992
+ chara17_1: [`aleft`, `adown`, `aup`, `aright`, `space`, `dleft`, `ddown`, `dup`, `dright`,
993
+ `bleft`, `bdown`, `bup`, `bright`, `cleft`, `cdown`, `cup`, `cright`],
994
+
995
+ chara5_2: [`left`, `down`, `space`, `up`, `right`],
996
+ chara7_2: [`oni`, `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
997
+ chara8_2: [`sleft`, `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
998
+ chara9A_2: [`left`, `down`, `up`, `right`, `space`, `sleft`, `sdown`, `sup`, `sright`],
999
+ chara9B_2: [`left`, `down`, `up`, `right`, `space`, `sleft`, `sdown`, `sup`, `sright`],
1000
+ chara11_2: [`sleft`, `sdown`, `sup`, `sright`,
1001
+ `oni`, `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
1002
+ chara11L_2: [`sleft`, `sdown`, `sup`, `sright`,
1003
+ `oni`, `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
1004
+ chara11W_2: [`sleft`, `sdown`, `sup`, `sright`,
1005
+ `oni`, `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
1006
+
1007
+ chara7_3: [`oni`, `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
1008
+ chara8_3: [`sleft`, `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
1009
+ chara9A_3: [`left`, `down`, `gor`, `up`, `right`, `space`,
1010
+ `sleft`, `sdown`, `siyo`, `sup`, `sright`],
1011
+ chara11_3: [`sleft`, `sdown`, `sup`, `sright`,
1012
+ `oni`, `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
1013
+ chara11L_3: [`sleft`, `sdown`, `sup`, `sright`,
1014
+ `oni`, `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
1015
+
1016
+ // カラーパターン
1017
+ color5_0: [0, 0, 0, 0, 2],
1018
+ color7_0: [0, 1, 0, 2, 0, 1, 0],
1019
+ color7i_0: [2, 2, 2, 0, 0, 0, 0],
1020
+ color8_0: [0, 1, 0, 2, 0, 1, 0, 2],
1021
+ color9A_0: [0, 0, 0, 0, 2, 3, 3, 3, 3],
1022
+ color9B_0: [1, 0, 1, 0, 2, 0, 1, 0, 1],
1023
+ color9i_0: [0, 0, 0, 0, 2, 2, 2, 2, 2],
1024
+ color11_0: [3, 3, 3, 3, 0, 1, 0, 2, 0, 1, 0],
1025
+ color11L_0: [3, 3, 3, 3, 0, 1, 0, 2, 0, 1, 0],
1026
+ color11W_0: [2, 3, 3, 2, 0, 1, 0, 2, 0, 1, 0],
1027
+ color11i_0: [0, 0, 2, 0, 0, 2, 3, 3, 2, 3, 3],
1028
+ color12_0: [3, 3, 3, 3, 2, 0, 1, 0, 1, 0, 1, 0],
1029
+ color13_0: [4, 4, 4, 4, 0, 0, 0, 0, 2, 3, 3, 3, 3],
1030
+ color14_0: [4, 3, 3, 3, 3, 4, 2, 0, 1, 0, 1, 0, 1, 0],
1031
+ color14i_0: [2, 2, 2, 3, 3, 3, 3, 0, 1, 0, 2, 0, 1, 0],
1032
+ color15A_0: [3, 3, 3, 3, 4, 4, 4, 4, 0, 1, 0, 2, 0, 1, 0],
1033
+ color15B_0: [3, 3, 3, 3, 4, 4, 4, 4, 0, 1, 0, 2, 0, 1, 0],
1034
+ color16i_0: [2, 2, 2, 3, 3, 3, 3, 1, 0, 1, 0, 2, 0, 1, 0, 1],
1035
+ color17_0: [0, 1, 0, 1, 0, 1, 0, 1, 2, 3, 4, 3, 4, 3, 4, 3, 4],
1036
+ color23_0: [3, 3, 3, 3, 4, 4, 4, 4, 0, 1, 0, 1, 0, 1, 0, 2, 0, 1, 0, 1, 0, 1, 0],
1037
+
1038
+ color5_1: [2, 0, 0, 0, 0],
1039
+ color7_1: [0, 1, 0, 2, 0, 1, 0],
1040
+ color8_1: [2, 0, 1, 0, 2, 0, 1, 0],
1041
+ color9A_1: [0, 0, 0, 0, 2, 3, 3, 3, 3],
1042
+ color9B_1: [0, 0, 0, 0, 2, 1, 1, 1, 1],
1043
+ color9i_1: [2, 2, 2, 2, 2, 0, 0, 0, 0],
1044
+ color11_1: [3, 3, 3, 3, 0, 1, 0, 2, 0, 1, 0],
1045
+ color11L_1: [3, 3, 3, 3, 0, 1, 0, 2, 0, 1, 0],
1046
+ color11W_1: [3, 3, 3, 3, 2, 0, 1, 0, 1, 0, 1, 0],
1047
+ color12_1: [3, 3, 3, 3, 2, 0, 1, 0, 1, 0, 1, 0],
1048
+ color14_1: [4, 3, 3, 3, 3, 4, 2, 0, 1, 0, 1, 0, 1, 0],
1049
+ color15A_1: [3, 3, 3, 3, 4, 4, 4, 4, 0, 1, 0, 2, 0, 1, 0],
1050
+ color15B_1: [3, 3, 3, 3, 4, 4, 4, 4, 0, 1, 0, 2, 0, 1, 0],
1051
+ color17_1: [0, 0, 0, 0, 2, 4, 4, 4, 4, 1, 1, 1, 1, 3, 3, 3, 3],
1052
+
1053
+ color5_2: [0, 0, 2, 0, 0],
1054
+ color7_2: [2, 0, 1, 0, 1, 0, 1, 0],
1055
+ color8_2: [2, 0, 1, 0, 1, 0, 1, 0],
1056
+ color9A_2: [3, 0, 3, 0, 2, 0, 3, 0, 3],
1057
+ color9B_2: [0, 0, 0, 0, 2, 1, 1, 1, 1],
1058
+ color11_2: [3, 3, 3, 3, 2, 0, 1, 0, 1, 0, 1, 0],
1059
+ color11L_2: [3, 3, 3, 3, 2, 0, 1, 0, 1, 0, 1, 0],
1060
+ color11W_2: [3, 3, 3, 3, 2, 0, 1, 0, 1, 0, 1, 0],
1061
+
1062
+ color7_3: [2, 0, 1, 0, 1, 0, 1, 0],
1063
+ color8_3: [2, 0, 1, 0, 1, 0, 1, 0],
1064
+ color9A_3: [0, 0, 2, 0, 0, 2, 3, 3, 2, 3, 3],
1065
+ color11_3: [3, 3, 3, 3, 2, 0, 1, 0, 1, 0, 1, 0],
1066
+ color11L_3: [3, 3, 3, 3, 2, 0, 1, 0, 1, 0, 1, 0],
1067
+
1068
+ // シャッフルグループ
1069
+ // - Mirror, Random, S-Random使用時、同じグループ同士で入れ替えます
1070
+ // - 同じ数字が同じグループになります
1071
+ shuffle5_0: [0, 0, 0, 0, 1],
1072
+ shuffle7_0: [0, 0, 0, 1, 0, 0, 0],
1073
+ shuffle7i_0: [0, 0, 0, 1, 1, 1, 1],
1074
+ shuffle8_0: [0, 0, 0, 1, 0, 0, 0, 2],
1075
+ shuffle9A_0: [0, 0, 0, 0, 1, 2, 2, 2, 2],
1076
+ shuffle9B_0: [0, 0, 0, 0, 1, 0, 0, 0, 0],
1077
+ shuffle9i_0: [0, 0, 0, 0, 1, 1, 1, 1, 1],
1078
+ shuffle11_0: [0, 0, 0, 0, 1, 1, 1, 2, 1, 1, 1],
1079
+ shuffle11L_0: [0, 0, 0, 0, 1, 1, 1, 2, 1, 1, 1],
1080
+ shuffle11W_0: [0, 0, 0, 0, 1, 1, 1, 2, 1, 1, 1],
1081
+ shuffle11i_0: [0, 0, 1, 0, 0, 2, 3, 3, 4, 3, 3],
1082
+ shuffle12_0: [0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2],
1083
+ shuffle13_0: [0, 0, 0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 3],
1084
+ shuffle14_0: [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2],
1085
+ shuffle14i_0: [0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 2, 2, 2],
1086
+ shuffle15A_0: [0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 2, 2, 2],
1087
+ shuffle15B_0: [0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 2, 2, 2],
1088
+ shuffle16i_0: [0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 2, 2, 2, 2],
1089
+ shuffle17_0: [0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2],
1090
+ shuffle23_0: [0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 4, 4, 4, 4, 4, 4, 4],
1091
+
1092
+ shuffle5_1: [1, 0, 0, 0, 0],
1093
+ shuffle7_1: [0, 0, 0, 1, 0, 0, 0],
1094
+ shuffle8_1: [2, 0, 0, 0, 1, 0, 0, 0],
1095
+ shuffle9A_1: [0, 0, 0, 0, 1, 2, 2, 2, 2],
1096
+ shuffle9B_1: [0, 0, 0, 0, 1, 2, 2, 2, 2],
1097
+ shuffle9i_1: [0, 0, 0, 0, 0, 1, 1, 1, 1],
1098
+ shuffle11_1: [0, 0, 0, 0, 1, 1, 1, 2, 1, 1, 1],
1099
+ shuffle11L_1: [0, 0, 0, 0, 1, 1, 1, 2, 1, 1, 1],
1100
+ shuffle11W_1: [0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2],
1101
+ shuffle12_1: [0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2],
1102
+ shuffle14_1: [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2],
1103
+ shuffle15A_1: [0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 2, 2, 2],
1104
+ shuffle15B_1: [0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 2, 2, 2],
1105
+ shuffle17_1: [0, 0, 0, 0, 1, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2],
1106
+
1107
+ shuffle5_2: [0, 0, 1, 0, 0],
1108
+ shuffle7_2: [1, 0, 0, 0, 0, 0, 0, 0],
1109
+ shuffle8_2: [1, 0, 0, 0, 0, 0, 0, 0],
1110
+ shuffle9A_2: [0, 0, 0, 0, 1, 0, 0, 0, 0],
1111
+ shuffle9B_2: [0, 0, 0, 0, 1, 2, 2, 2, 2],
1112
+ shuffle11_2: [0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2],
1113
+ shuffle11L_2: [0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2],
1114
+ shuffle11W_2: [0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2],
1115
+
1116
+ shuffle7_3: [1, 0, 0, 0, 0, 0, 0, 0],
1117
+ shuffle8_3: [1, 0, 0, 0, 0, 0, 0, 0],
1118
+ shuffle9A_3: [0, 0, 1, 0, 0, 2, 3, 3, 4, 3, 3],
1119
+ shuffle11_3: [0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2],
1120
+ shuffle11L_3: [0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2],
1121
+
1122
+ // 基本パターン (矢印回転、AAキャラクタ)
1123
+ // - AAキャラクタの場合、キャラクタ名を指定
1124
+ stepRtn5_0: [0, -90, 90, 180, `onigiri`],
1125
+ stepRtn7_0: [0, -45, -90, `onigiri`, 90, 135, 180],
1126
+ stepRtn7i_0: [`giko`, `onigiri`, `iyo`, 0, -90, 90, 180],
1127
+ stepRtn8_0: [0, -45, -90, `onigiri`, 90, 135, 180, `onigiri`],
1128
+ stepRtn9A_0: [0, -90, 90, 180, `onigiri`, 0, -90, 90, 180],
1129
+ stepRtn9B_0: [45, 0, -45, -90, `onigiri`, 90, 135, 180, 225],
1130
+ stepRtn9i_0: [0, -90, 90, 180, `monar`, `giko`, `c`, `morara`, `onigiri`],
1131
+ stepRtn11_0: [0, -90, 90, 180, 0, -45, -90, `onigiri`, 90, 135, 180],
1132
+ stepRtn11L_0: [0, -90, 90, 180, 0, -45, -90, `onigiri`, 90, 135, 180],
1133
+ stepRtn11W_0: [`giko`, 135, 45, `iyo`, 0, -45, -90, `onigiri`, 90, 135, 180],
1134
+ stepRtn11i_0: [0, -90, `giko`, 90, 180, `onigiri`, 0, -90, `iyo`, 90, 180],
1135
+ stepRtn12_0: [0, -90, 90, 180, `onigiri`, 0, 30, 60, 90, 120, 150, 180],
1136
+ stepRtn13_0: [0, -90, 90, 180, 0, -90, 90, 180, `onigiri`, 0, -90, 90, 180],
1137
+ stepRtn14_0: [45, 0, -90, 90, 180, 135, `onigiri`, 0, 30, 60, 90, 120, 150, 180],
1138
+ stepRtn14i_0: [`giko`, `onigiri`, `iyo`, 0, -90, 90, 180, 0, -45, -90, `onigiri`, 90, 135, 180],
1139
+ stepRtn15A_0: [0, -90, 90, 180, 0, -90, 90, 180, 0, -45, -90, `onigiri`, 90, 135, 180],
1140
+ stepRtn15B_0: [0, -90, 90, 180, 0, -90, 90, 180, 0, -45, -90, `onigiri`, 90, 135, 180],
1141
+ stepRtn16i_0: [`giko`, `onigiri`, `iyo`, 0, -90, 90, 180, 45, 0, -45, -90, `onigiri`, 90, 135, 180, 225],
1142
+ stepRtn17_0: [0, -22.5, -45, -67.5, -90, -112.5, -135, -157.5, `onigiri`,
1143
+ 22.5, 45, 67.5, 90, 112.5, 135, 157.5, 180],
1144
+ stepRtn23_0: [0, -90, 90, 180, 0, -90, 90, 180, 0, 30, 60, 90, 120, 150, 180, `onigiri`, 0, 30, 60, 90, 120, 150, 180],
1145
+
1146
+ // 変則パターン (矢印回転、AAキャラクタ)
1147
+ // - 末尾の番号をカウントアップさせることで実現できる。keyCtrlと合わせること
1148
+ // - 配列の数は、通常パターンと同数で無くてはいけない(keyCtrlも同様)
1149
+ stepRtn5_1: [`onigiri`, 0, -90, 90, 180],
1150
+ stepRtn7_1: [0, -45, -90, `onigiri`, 90, 135, 180],
1151
+ stepRtn8_1: [`onigiri`, 0, -45, -90, `onigiri`, 90, 135, 180],
1152
+ stepRtn9A_1: [0, -90, 90, 180, `onigiri`, 0, -90, 90, 180],
1153
+ stepRtn9B_1: [0, -90, 90, 180, `onigiri`, 0, -90, 90, 180],
1154
+ stepRtn9i_1: [`monar`, `giko`, `c`, `morara`, `onigiri`, 0, -90, 90, 180],
1155
+ stepRtn11_1: [0, -90, 90, 180, 0, -45, -90, `onigiri`, 90, 135, 180],
1156
+ stepRtn11L_1: [0, -90, 90, 180, 0, -45, -90, `onigiri`, 90, 135, 180],
1157
+ stepRtn11W_1: [0, -90, 90, 180, `onigiri`, 0, 30, 60, 90, 120, 150, 180],
1158
+ stepRtn12_1: [0, -90, 90, 180, `onigiri`, 0, 30, 60, 90, 120, 150, 180],
1159
+ stepRtn14_1: [45, 0, -90, 90, 180, 135, `onigiri`, 0, 30, 60, 90, 120, 150, 180],
1160
+ stepRtn15A_1: [0, -90, 90, 180, 0, -90, 90, 180, 0, -45, -90, `onigiri`, 90, 135, 180],
1161
+ stepRtn15B_1: [0, -90, 90, 180, 0, -90, 90, 180, 0, -45, -90, `onigiri`, 90, 135, 180],
1162
+ stepRtn17_1: [0, -45, -90, -135, `onigiri`, 45, 90, 135, 180,
1163
+ -22.5, -67.5, -112.5, -157.5, 22.5, 67.5, 112.5, 157.5],
1164
+
1165
+ stepRtn5_2: [0, -90, `onigiri`, 90, 180],
1166
+ stepRtn7_2: [`onigiri`, 0, 30, 60, 90, 120, 150, 180],
1167
+ stepRtn8_2: [`onigiri`, 0, 30, 60, 90, 120, 150, 180],
1168
+ stepRtn9A_2: [45, 0, -45, -90, `onigiri`, 90, 135, 180, 225],
1169
+ stepRtn9B_2: [0, -90, 90, 180, `onigiri`, 0, -90, 90, 180],
1170
+ stepRtn11_2: [0, -90, 90, 180, `onigiri`, 0, 30, 60, 90, 120, 150, 180],
1171
+ stepRtn11L_2: [0, -90, 90, 180, `onigiri`, 0, 30, 60, 90, 120, 150, 180],
1172
+ stepRtn11W_2: [0, -90, 90, 180, `onigiri`, 0, 30, 60, 90, 120, 150, 180],
1173
+
1174
+ stepRtn7_3: [`onigiri`, 0, 30, 60, 90, 120, 150, 180],
1175
+ stepRtn8_3: [`onigiri`, 0, 30, 60, 90, 120, 150, 180],
1176
+ stepRtn9A_3: [0, -90, `giko`, 90, 180, `onigiri`, 0, -90, `iyo`, 90, 180],
1177
+ stepRtn11_3: [0, -90, 90, 180, `onigiri`, 0, 30, 60, 90, 120, 150, 180],
1178
+ stepRtn11L_3: [0, -90, 90, 180, `onigiri`, 0, 30, 60, 90, 120, 150, 180],
1179
+
1180
+ // 各キーの区切り位置
1181
+ div5_0: 5,
1182
+ div7_0: 7,
1183
+ div7i_0: 7,
1184
+ div8_0: 8,
1185
+ div9A_0: 9,
1186
+ div9B_0: 9,
1187
+ div9i_0: 6,
1188
+ div11_0: 6,
1189
+ div11L_0: 6,
1190
+ div11W_0: 6,
1191
+ div11i_0: 11,
1192
+ div12_0: 5,
1193
+ div13_0: 8,
1194
+ div14_0: 7,
1195
+ div14i_0: 8,
1196
+ div15A_0: 8,
1197
+ div15B_0: 8,
1198
+ div16i_0: 8,
1199
+ div17_0: 17,
1200
+ div23_0: 12,
1201
+
1202
+ div5_1: 5,
1203
+ div7_1: 7,
1204
+ div8_1: 8,
1205
+ div9A_1: 9,
1206
+ div9B_1: 9,
1207
+ div9i_1: 9,
1208
+ div11_1: 6,
1209
+ div11L_1: 6,
1210
+ div11W_1: 5,
1211
+ div12_1: 5,
1212
+ div14_1: 7,
1213
+ div15A_1: 8,
1214
+ div15B_1: 8,
1215
+ div17_1: 9,
1216
+
1217
+ div5_2: 5,
1218
+ div7_2: 8,
1219
+ div8_2: 8,
1220
+ div9A_2: 9,
1221
+ div9B_2: 9,
1222
+ div11_2: 5,
1223
+ div11L_2: 5,
1224
+ div11W_2: 5,
1225
+
1226
+ div7_3: 8,
1227
+ div8_3: 8,
1228
+ div9A_3: 11,
1229
+ div11_3: 5,
1230
+ div11L_3: 5,
1231
+
1232
+ // 各キーの位置関係
1233
+ pos5_0: [0, 1, 2, 3, 4],
1234
+ pos7_0: [0, 1, 2, 3, 4, 5, 6],
1235
+ pos7i_0: [0, 1, 2, 3, 4, 5, 6],
1236
+ pos8_0: [0, 1, 2, 3, 4, 5, 6, 7],
1237
+ pos9A_0: [0, 1, 2, 3, 4, 5, 6, 7, 8],
1238
+ pos9B_0: [0, 1, 2, 3, 4, 5, 6, 7, 8],
1239
+ pos9i_0: [2, 3, 4, 5, 6, 7, 8, 9, 10],
1240
+ pos11_0: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
1241
+ pos11L_0: [0, 1, 2, 3, 6, 7, 8, 9, 10, 11, 12],
1242
+ pos11W_0: [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12],
1243
+ pos11i_0: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
1244
+ pos12_0: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
1245
+ pos13_0: [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
1246
+ pos14_0: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
1247
+ pos14i_0: [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15],
1248
+ pos15A_0: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
1249
+ pos15B_0: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
1250
+ pos16i_0: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
1251
+ pos17_0: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
1252
+ pos23_0: [0, 1, 2, 3, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26],
1253
+
1254
+ pos5_1: [0, 1, 2, 3, 4],
1255
+ pos7_1: [0, 1, 2, 3, 4, 5, 6],
1256
+ pos8_1: [0, 1, 2, 3, 4, 5, 6, 7],
1257
+ pos9A_1: [0, 1, 2, 3, 4, 5, 6, 7, 8],
1258
+ pos9B_1: [0, 1, 2, 3, 4, 5, 6, 7, 8],
1259
+ pos9i_1: [0, 1, 2, 3, 4, 5, 6, 7, 8],
1260
+ pos11_1: [0, 1, 2, 3, 6, 7, 8, 9, 10, 11, 12],
1261
+ pos11L_1: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
1262
+ pos11W_1: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
1263
+ pos12_1: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
1264
+ pos14_1: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
1265
+ pos15A_1: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
1266
+ pos15B_1: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
1267
+ pos17_1: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
1268
+
1269
+ pos5_2: [0, 1, 2, 3, 4],
1270
+ pos7_2: [0, 1, 2, 3, 4, 5, 6, 7],
1271
+ pos8_2: [0, 1, 2, 3, 4, 5, 6, 7],
1272
+ pos9A_2: [0, 1, 2, 3, 4, 5, 6, 7, 8],
1273
+ pos9B_2: [0, 1, 2, 3, 4, 5, 6, 7, 8],
1274
+ pos11_2: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
1275
+ pos11L_2: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
1276
+ pos11W_2: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
1277
+
1278
+ pos7_3: [0, 1, 2, 3, 4, 5, 6, 7],
1279
+ pos8_3: [0, 1, 2, 3, 4, 5, 6, 7],
1280
+ pos9A_3: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
1281
+ pos11_3: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
1282
+ pos11L_3: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
1283
+
1284
+ // 基本パターン (キーコンフィグ)
1285
+ // - 末尾dなし(実際の設定値)と末尾dあり(デフォルト値)は必ずセットで揃えること。配列数も合わせる。
1286
+ // - 順番はchara, stepRtnと対応している。
1287
+ // - 多次元配列内はステップに対応するキーコードを示す。カンマ区切りで複数指定できる。
1288
+ keyCtrl5_0: [[37, 0], [40, 0], [38, 0], [39, 0], [32, 0]],
1289
+ keyCtrl7_0: [[83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1290
+ keyCtrl7i_0: [[90, 0], [88, 0], [67, 0], [37, 0], [40, 0], [38, 0], [39, 0]],
1291
+ keyCtrl8_0: [[83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0], [13, 0]],
1292
+ keyCtrl9A_0: [[83, 0], [68, 0], [69, 82], [70, 0], [32, 0], [74, 0], [75, 0], [73, 0], [76, 0]],
1293
+ keyCtrl9B_0: [[65, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0], [187, 0]],
1294
+ keyCtrl9i_0: [[37, 0], [40, 0], [38, 0], [39, 0], [65, 0], [83, 0], [68, 0], [70, 0], [32, 0]],
1295
+ keyCtrl11_0: [[37, 0], [40, 0], [38, 0], [39, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1296
+ keyCtrl11L_0: [[87, 0], [69, 0], [51, 52], [82, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1297
+ keyCtrl11W_0: [[49, 50], [84, 0], [89, 0], [48, 189], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1298
+ keyCtrl11i_0: [[83, 0], [88, 67], [68, 0], [69, 82], [70, 0], [32, 0], [74, 0], [77, 188], [75, 0], [73, 79], [76, 0]],
1299
+ keyCtrl12_0: [[85, 0], [73, 0], [56, 57], [79, 0], [32, 0], [78, 0], [74, 0], [77, 0], [75, 0], [188, 0], [76, 0], [190, 0]],
1300
+ keyCtrl13_0: [[37, 0], [40, 0], [38, 0], [39, 0], [83, 0], [68, 0], [69, 82], [70, 0], [32, 0], [74, 0], [75, 0], [73, 0], [76, 0]],
1301
+ keyCtrl14_0: [[84, 89], [85, 0], [73, 0], [56, 55, 57, 48], [79, 0], [192, 80], [32, 0], [78, 0], [74, 0], [77, 0], [75, 0], [188, 0], [76, 0], [190, 0]],
1302
+ keyCtrl14i_0: [[90, 0], [88, 0], [67, 0], [37, 0], [40, 0], [38, 0], [39, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1303
+ keyCtrl15A_0: [[87, 0], [69, 0], [51, 52], [82, 0], [37, 0], [40, 0], [38, 0], [39, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1304
+ keyCtrl15B_0: [[87, 0], [69, 0], [51, 52], [82, 0], [85, 0], [73, 0], [56, 57], [79, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1305
+ keyCtrl16i_0: [[90, 0], [88, 0], [67, 0], [37, 0], [40, 0], [38, 0], [39, 0], [65, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0], [187, 0]],
1306
+ keyCtrl17_0: [[65, 0], [90, 0], [83, 0], [88, 0], [68, 0], [67, 0], [70, 0], [86, 0], [32, 0], [78, 0], [74, 0], [77, 0], [75, 0], [188, 0], [76, 0], [190, 0], [187, 0]],
1307
+ keyCtrl23_0: [[87, 0], [69, 0], [51, 52], [82, 0], [85, 0], [73, 0], [56, 57], [79, 0],
1308
+ [90, 0], [83, 0], [88, 0], [68, 0], [67, 0], [70, 0], [86, 0], [32, 0], [78, 0], [74, 0], [77, 0], [75, 0], [188, 0], [76, 0], [190, 0]],
1309
+
1310
+ keyCtrl5_0d: [[37, 0], [40, 0], [38, 0], [39, 0], [32, 0]],
1311
+ keyCtrl7_0d: [[83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1312
+ keyCtrl7i_0d: [[90, 0], [88, 0], [67, 0], [37, 0], [40, 0], [38, 0], [39, 0]],
1313
+ keyCtrl8_0d: [[83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0], [13, 0]],
1314
+ keyCtrl9A_0d: [[83, 0], [68, 0], [69, 82], [70, 0], [32, 0], [74, 0], [75, 0], [73, 0], [76, 0]],
1315
+ keyCtrl9B_0d: [[65, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0], [187, 0]],
1316
+ keyCtrl9i_0d: [[37, 0], [40, 0], [38, 0], [39, 0], [65, 0], [83, 0], [68, 0], [70, 0], [32, 0]],
1317
+ keyCtrl11_0d: [[37, 0], [40, 0], [38, 0], [39, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1318
+ keyCtrl11L_0d: [[87, 0], [69, 0], [51, 52], [82, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1319
+ keyCtrl11W_0d: [[49, 50], [84, 0], [89, 0], [48, 189], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1320
+ keyCtrl11i_0d: [[83, 0], [88, 67], [68, 0], [69, 82], [70, 0], [32, 0], [74, 0], [77, 188], [75, 0], [73, 79], [76, 0]],
1321
+ keyCtrl12_0d: [[85, 0], [73, 0], [56, 57], [79, 0], [32, 0], [78, 0], [74, 0], [77, 0], [75, 0], [188, 0], [76, 0], [190, 0]],
1322
+ keyCtrl13_0d: [[37, 0], [40, 0], [38, 0], [39, 0], [83, 0], [68, 0], [69, 82], [70, 0], [32, 0], [74, 0], [75, 0], [73, 0], [76, 0]],
1323
+ keyCtrl14_0d: [[84, 89], [85, 0], [73, 0], [56, 55, 57, 48], [79, 0], [192, 80], [32, 0], [78, 0], [74, 0], [77, 0], [75, 0], [188, 0], [76, 0], [190, 0]],
1324
+ keyCtrl14i_0d: [[90, 0], [88, 0], [67, 0], [37, 0], [40, 0], [38, 0], [39, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1325
+ keyCtrl15A_0d: [[87, 0], [69, 0], [51, 52], [82, 0], [37, 0], [40, 0], [38, 0], [39, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1326
+ keyCtrl15B_0d: [[87, 0], [69, 0], [51, 52], [82, 0], [85, 0], [73, 0], [56, 57], [79, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1327
+ keyCtrl16i_0d: [[90, 0], [88, 0], [67, 0], [37, 0], [40, 0], [38, 0], [39, 0], [65, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0], [187, 0]],
1328
+ keyCtrl17_0d: [[65, 0], [90, 0], [83, 0], [88, 0], [68, 0], [67, 0], [70, 0], [86, 0], [32, 0], [78, 0], [74, 0], [77, 0], [75, 0], [188, 0], [76, 0], [190, 0], [187, 0]],
1329
+ keyCtrl23_0d: [[87, 0], [69, 0], [51, 52], [82, 0], [85, 0], [73, 0], [56, 57], [79, 0],
1330
+ [90, 0], [83, 0], [88, 0], [68, 0], [67, 0], [70, 0], [86, 0], [32, 0], [78, 0], [74, 0], [77, 0], [75, 0], [188, 0], [76, 0], [190, 0]],
1331
+
1332
+ // 変則パターン (キーコンフィグ)
1333
+ // - 末尾dなし(実際の設定値)と末尾dあり(デフォルト値)は必ずセットで揃えること。配列数も合わせる。
1334
+ // - _0, _0dの数字部分をカウントアップすることで実現できる。
1335
+ // - 配列数は合わせる必要はあるが、代替キーの数は _X, _Xdで揃っていれば合わせる必要はない。
1336
+ keyCtrl5_1: [[32, 0], [37, 0], [40, 0], [38, 0], [39, 0]],
1337
+ keyCtrl7_1: [[83, 0], [69, 0], [70, 0], [32, 71, 72], [74, 0], [73, 0], [76, 0]],
1338
+ keyCtrl8_1: [[13, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1339
+ keyCtrl9A_1: [[83, 0], [68, 0], [69, 82], [70, 0], [32, 0], [37, 0], [40, 0], [38, 0], [39, 0]],
1340
+ keyCtrl9B_1: [[83, 0], [68, 0], [69, 82], [70, 0], [32, 0], [74, 0], [75, 0], [73, 0], [76, 0]],
1341
+ keyCtrl9i_1: [[65, 0], [83, 0], [68, 0], [70, 0], [32, 0], [37, 0], [40, 0], [38, 0], [39, 0]],
1342
+ keyCtrl11_1: [[87, 0], [69, 0], [51, 52], [82, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1343
+ keyCtrl11L_1: [[37, 0], [40, 0], [38, 0], [39, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1344
+ keyCtrl11W_1: [[85, 0], [73, 0], [56, 57], [79, 0], [32, 0], [78, 0], [74, 0], [77, 0], [75, 0], [188, 0], [76, 0], [190, 0]],
1345
+ keyCtrl12_1: [[89, 0], [85, 73], [56, 55, 57], [79, 0], [32, 0], [66, 0], [72, 0], [78, 77], [74, 75], [188, 0], [76, 0], [190, 0]],
1346
+ keyCtrl14_1: [[82, 84], [89, 0], [85, 73], [56, 54, 55, 57, 48], [79, 0], [192, 80], [32, 0], [66, 0], [72, 0], [78, 77], [74, 75], [188, 0], [76, 0], [190, 0]],
1347
+ keyCtrl15A_1: [[87, 0], [69, 0], [51, 52], [82, 0], [85, 0], [73, 0], [56, 57], [79, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1348
+ keyCtrl15B_1: [[87, 0], [69, 0], [51, 52], [82, 0], [37, 0], [40, 0], [38, 0], [39, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1349
+ keyCtrl17_1: [[65, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0], [187, 0], [90, 0], [88, 0], [67, 0], [86, 0], [78, 0], [77, 0], [188, 0], [190, 0]],
1350
+
1351
+ keyCtrl5_1d: [[32, 0], [37, 0], [40, 0], [38, 0], [39, 0]],
1352
+ keyCtrl7_1d: [[83, 0], [69, 0], [70, 0], [32, 71, 72], [74, 0], [73, 0], [76, 0]],
1353
+ keyCtrl8_1d: [[13, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1354
+ keyCtrl9A_1d: [[83, 0], [68, 0], [69, 82], [70, 0], [32, 0], [37, 0], [40, 0], [38, 0], [39, 0]],
1355
+ keyCtrl9B_1d: [[83, 0], [68, 0], [69, 82], [70, 0], [32, 0], [74, 0], [75, 0], [73, 0], [76, 0]],
1356
+ keyCtrl9i_1d: [[65, 0], [83, 0], [68, 0], [70, 0], [32, 0], [37, 0], [40, 0], [38, 0], [39, 0]],
1357
+ keyCtrl11_1d: [[87, 0], [69, 0], [51, 52], [82, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1358
+ keyCtrl11L_1d: [[37, 0], [40, 0], [38, 0], [39, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1359
+ keyCtrl11W_1d: [[85, 0], [73, 0], [56, 57], [79, 0], [32, 0], [78, 0], [74, 0], [77, 0], [75, 0], [188, 0], [76, 0], [190, 0]],
1360
+ keyCtrl12_1d: [[89, 0], [85, 73], [56, 55, 57], [79, 0], [32, 0], [66, 0], [72, 0], [78, 77], [74, 75], [188, 0], [76, 0], [190, 0]],
1361
+ keyCtrl14_1d: [[82, 84], [89, 0], [85, 73], [56, 54, 55, 57, 48], [79, 0], [192, 80], [32, 0], [66, 0], [72, 0], [78, 77], [74, 75], [188, 0], [76, 0], [190, 0]],
1362
+ keyCtrl15A_1d: [[87, 0], [69, 0], [51, 52], [82, 0], [85, 0], [73, 0], [56, 57], [79, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1363
+ keyCtrl15B_1d: [[87, 0], [69, 0], [51, 52], [82, 0], [37, 0], [40, 0], [38, 0], [39, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1364
+ keyCtrl17_1d: [[65, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0], [187, 0], [90, 0], [88, 0], [67, 0], [86, 0], [78, 0], [77, 0], [188, 0], [190, 0]],
1365
+
1366
+ keyCtrl5_2: [[68, 0], [70, 0], [32, 0], [74, 0], [75, 0]],
1367
+ keyCtrl7_2: [[32, 0], [78, 0], [74, 0], [77, 0], [75, 0], [188, 0], [76, 0], [190, 0]],
1368
+ keyCtrl8_2: [[32, 0], [78, 0], [74, 0], [77, 0], [75, 0], [188, 0], [76, 0], [190, 0]],
1369
+ keyCtrl9A_2: [[65, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0], [187, 0]],
1370
+ keyCtrl9B_2: [[83, 0], [68, 0], [69, 82], [70, 0], [32, 0], [37, 0], [40, 0], [38, 0], [39, 0]],
1371
+ keyCtrl11_2: [[85, 0], [73, 0], [56, 57], [79, 0], [32, 0], [78, 0], [74, 0], [77, 0], [75, 0], [188, 0], [76, 0], [190, 0]],
1372
+ keyCtrl11L_2: [[85, 0], [73, 0], [56, 57], [79, 0], [32, 0], [78, 0], [74, 0], [77, 0], [75, 0], [188, 0], [76, 0], [190, 0]],
1373
+ keyCtrl11W_2: [[89, 0], [85, 73], [56, 55, 57], [79, 0], [32, 0], [66, 0], [72, 0], [78, 77], [74, 75], [188, 0], [76, 0], [190, 0]],
1374
+
1375
+ keyCtrl5_2d: [[68, 0], [70, 0], [32, 0], [74, 0], [75, 0]],
1376
+ keyCtrl7_2d: [[32, 0], [78, 0], [74, 0], [77, 0], [75, 0], [188, 0], [76, 0], [190, 0]],
1377
+ keyCtrl8_2d: [[32, 0], [78, 0], [74, 0], [77, 0], [75, 0], [188, 0], [76, 0], [190, 0]],
1378
+ keyCtrl9A_2d: [[65, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0], [187, 0]],
1379
+ keyCtrl9B_2d: [[83, 0], [68, 0], [69, 82], [70, 0], [32, 0], [37, 0], [40, 0], [38, 0], [39, 0]],
1380
+ keyCtrl11_2d: [[85, 0], [73, 0], [56, 57], [79, 0], [32, 0], [78, 0], [74, 0], [77, 0], [75, 0], [188, 0], [76, 0], [190, 0]],
1381
+ keyCtrl11L_2d: [[85, 0], [73, 0], [56, 57], [79, 0], [32, 0], [78, 0], [74, 0], [77, 0], [75, 0], [188, 0], [76, 0], [190, 0]],
1382
+ keyCtrl11W_2d: [[89, 0], [85, 73], [56, 55, 57], [79, 0], [32, 0], [66, 0], [72, 0], [78, 77], [74, 75], [188, 0], [76, 0], [190, 0]],
1383
+
1384
+ keyCtrl7_3: [[32, 0], [66, 0], [72, 0], [78, 77], [74, 75], [188, 0], [76, 0], [190, 0]],
1385
+ keyCtrl8_3: [[32, 0], [66, 0], [72, 0], [78, 77], [74, 75], [188, 0], [76, 0], [190, 0]],
1386
+ keyCtrl9A_3: [[83, 0], [88, 67], [68, 0], [69, 82], [70, 0], [32, 0], [74, 0], [77, 188], [75, 0], [73, 79], [76, 0]],
1387
+ keyCtrl11_3: [[89, 0], [85, 73], [56, 55, 57], [79, 0], [32, 0], [66, 0], [72, 0], [78, 77], [74, 75], [188, 0], [76, 0], [190, 0]],
1388
+ keyCtrl11L_3: [[89, 0], [85, 73], [56, 55, 57], [79, 0], [32, 0], [66, 0], [72, 0], [78, 77], [74, 75], [188, 0], [76, 0], [190, 0]],
1389
+
1390
+ keyCtrl7_3d: [[32, 0], [66, 0], [72, 0], [78, 77], [74, 75], [188, 0], [76, 0], [190, 0]],
1391
+ keyCtrl8_3d: [[32, 0], [66, 0], [72, 0], [78, 77], [74, 75], [188, 0], [76, 0], [190, 0]],
1392
+ keyCtrl9A_3d: [[83, 0], [88, 67], [68, 0], [69, 82], [70, 0], [32, 0], [74, 0], [77, 188], [75, 0], [73, 79], [76, 0]],
1393
+ keyCtrl11_3d: [[89, 0], [85, 73], [56, 55, 57], [79, 0], [32, 0], [66, 0], [72, 0], [78, 77], [74, 75], [188, 0], [76, 0], [190, 0]],
1394
+ keyCtrl11L_3d: [[89, 0], [85, 73], [56, 55, 57], [79, 0], [32, 0], [66, 0], [72, 0], [78, 77], [74, 75], [188, 0], [76, 0], [190, 0]],
1395
+
1396
+ // 矢印間隔補正
1397
+ blank: 55,
1398
+ blank_def: 55,
1399
+ blank11i_0: 50,
1400
+ blank17_0: 45,
1401
+ blank5_0: 57.5,
1402
+ blank5_1: 57.5,
1403
+ blank5_2: 57.5,
1404
+ blank9A_0: 52.5,
1405
+ blank9A_1: 52.5,
1406
+ blank9A_2: 52.5,
1407
+ blank9A_3: 50,
1408
+ blank9B_0: 52.5,
1409
+ blank9B_1: 52.5,
1410
+ blank9B_2: 52.5,
1411
+ blank23_0: 50,
1412
+
1413
+ // 矢印群の倍率指定
1414
+ scale: 1,
1415
+ scale_def: 1,
1416
+ scale17_0: 0.85,
1417
+
1418
+ // ショートカットキーコード
1419
+ keyRetry: 8,
1420
+ keyRetry8_0: 9,
1421
+ keyRetry8_1: 9,
1422
+
1423
+ keyTitleBack: 46,
1424
+
1425
+ // 別キー
1426
+ transKey9B_1: '9A',
1427
+ transKey11_1: '11L',
1428
+ transKey11L_1: '11',
1429
+ transKey11W_1: '12',
1430
+
1431
+ transKey9A_2: '9B',
1432
+ transKey9B_2: '9A',
1433
+ transKey7_2: '12',
1434
+ transKey8_2: '12',
1435
+ transKey11_2: '12',
1436
+ transKey11L_2: '12',
1437
+ transKey11W_2: '12',
1438
+
1439
+ transKey7_3: '12',
1440
+ transKey8_3: '12',
1441
+ transKey9A_3: '11i',
1442
+ transKey11_3: '12',
1443
+ transKey11L_3: '12',
1444
+
1445
+ // キー置換用(ParaFla版との互換)
1446
+ keyTransPattern: {
1447
+ '9': '9A',
1448
+ 'DP': '9A',
1449
+ '9A-1': '9A',
1450
+ '9A-2': '9A',
1451
+ '9B-1': '9B',
1452
+ '9B-2': '9B',
1453
+ 'TP': '13',
1454
+ '15': '15A',
1455
+ '15R': '15B',
1456
+ },
1457
+
1458
+ // スクロール拡張オプション
1459
+ scrollName_def: [`---`],
1460
+ scrollName5: [`---`, `Cross`, `Split`, `Alternate`],
1461
+ scrollName7: [`---`, `Cross`, `Split`, `Alternate`, `Twist`, `Asymmetry`],
1462
+ scrollName7i: [`---`, `Cross`, `Split`, `Alternate`, `Twist`, `Asymmetry`],
1463
+ scrollName8: [`---`, `Cross`, `Split`, `Alternate`, `Twist`, `Asymmetry`],
1464
+ scrollName9A: [`---`, `Cross`, `Split`, `Alternate`],
1465
+ scrollName9B: [`---`, `Cross`, `Split`, `Alternate`],
1466
+ scrollName11: [`---`, `Flat`],
1467
+ scrollName11L: [`---`, `Flat`],
1468
+ scrollName11W: [`---`, `Flat`],
1469
+ scrollName11i: [`---`, `Cross`, `Split`, `Alternate`],
1470
+ scrollName12: [`---`, `Flat`],
1471
+ scrollName13: [`---`, `Flat`],
1472
+ scrollName14: [`---`, `Flat`],
1473
+ scrollName14i: [`---`, `Flat`],
1474
+ scrollName15A: [`---`, `Flat`],
1475
+ scrollName15B: [`---`, `Flat`],
1476
+ scrollName16i: [`---`, `Flat`],
1477
+ scrollName23: [`---`, `Flat`],
1478
+
1479
+ scrollDir5_0: {
1480
+ '---': [1, 1, 1, 1, 1],
1481
+ 'Cross': [1, -1, -1, 1, 1],
1482
+ 'Split': [1, 1, -1, -1, -1],
1483
+ 'Alternate': [1, -1, 1, -1, 1],
1484
+ },
1485
+ scrollDir5_1: {
1486
+ '---': [1, 1, 1, 1, 1],
1487
+ 'Cross': [1, 1, -1, -1, 1],
1488
+ 'Split': [1, 1, 1, -1, -1],
1489
+ 'Alternate': [1, -1, 1, -1, 1],
1490
+ },
1491
+ scrollDir5_2: {
1492
+ '---': [1, 1, 1, 1, 1],
1493
+ 'Cross': [1, -1, -1, -1, 1],
1494
+ 'Split': [1, 1, -1, -1, -1],
1495
+ 'Alternate': [1, -1, 1, -1, 1],
1496
+ },
1497
+ scrollDir7_0: {
1498
+ '---': [1, 1, 1, 1, 1, 1, 1],
1499
+ 'Cross': [1, 1, -1, -1, -1, 1, 1],
1500
+ 'Split': [1, 1, 1, -1, -1, -1, -1],
1501
+ 'Alternate': [1, -1, 1, -1, 1, -1, 1],
1502
+ 'Twist': [1, 1, -1, -1, 1, 1, -1],
1503
+ 'Asymmetry': [1, -1, 1, -1, -1, 1, -1],
1504
+ },
1505
+ scrollDir7_1: {
1506
+ '---': [1, 1, 1, 1, 1, 1, 1],
1507
+ 'Cross': [1, 1, -1, -1, -1, 1, 1],
1508
+ 'Split': [1, 1, 1, -1, -1, -1, -1],
1509
+ 'Alternate': [1, -1, 1, -1, 1, -1, 1],
1510
+ 'Twist': [1, 1, -1, -1, 1, 1, -1],
1511
+ 'Asymmetry': [1, -1, 1, -1, -1, 1, -1],
1512
+ },
1513
+ scrollDir7_2: {
1514
+ '---': [1, 1, 1, 1, 1, 1, 1, 1],
1515
+ 'Cross': [1, 1, 1, -1, -1, -1, 1, 1],
1516
+ 'Split': [1, 1, 1, 1, 1, -1, -1, -1],
1517
+ 'Alternate': [-1, 1, -1, 1, -1, 1, -1, 1],
1518
+ 'Twist': [1, 1, -1, -1, 1, 1, -1, -1],
1519
+ 'Asymmetry': [1, 1, -1, 1, -1, -1, 1, -1],
1520
+ },
1521
+ scrollDir7_3: {
1522
+ '---': [1, 1, 1, 1, 1, 1, 1, 1],
1523
+ 'Cross': [1, 1, 1, -1, -1, -1, 1, 1],
1524
+ 'Split': [1, 1, 1, 1, 1, -1, -1, -1],
1525
+ 'Alternate': [-1, 1, -1, 1, -1, 1, -1, 1],
1526
+ 'Twist': [1, 1, -1, -1, 1, 1, -1, -1],
1527
+ 'Asymmetry': [1, 1, -1, 1, -1, -1, 1, -1],
1528
+ },
1529
+
1530
+ scrollDir7i_0: {
1531
+ '---': [1, 1, 1, 1, 1, 1, 1],
1532
+ 'Cross': [1, 1, -1, -1, -1, 1, 1],
1533
+ 'Split': [1, 1, 1, -1, -1, -1, -1],
1534
+ 'Alternate': [1, -1, 1, -1, 1, -1, 1],
1535
+ 'Twist': [1, 1, -1, -1, 1, 1, -1],
1536
+ 'Asymmetry': [1, -1, 1, 1, -1, 1, -1],
1537
+ },
1538
+ scrollDir8_0: {
1539
+ '---': [1, 1, 1, 1, 1, 1, 1, 1],
1540
+ 'Cross': [1, 1, -1, -1, -1, 1, 1, 1],
1541
+ 'Split': [1, 1, 1, 1, -1, -1, -1, -1],
1542
+ 'Alternate': [1, -1, 1, -1, 1, -1, 1, -1],
1543
+ 'Twist': [1, 1, -1, -1, 1, 1, -1, -1],
1544
+ 'Asymmetry': [1, -1, 1, -1, -1, 1, -1, 1],
1545
+ },
1546
+ scrollDir8_1: {
1547
+ '---': [1, 1, 1, 1, 1, 1, 1, 1],
1548
+ 'Cross': [1, 1, 1, -1, -1, -1, 1, 1],
1549
+ 'Split': [1, 1, 1, 1, -1, -1, -1, -1],
1550
+ 'Alternate': [-1, 1, -1, 1, -1, 1, -1, 1],
1551
+ 'Twist': [1, 1, -1, -1, 1, 1, -1, -1],
1552
+ 'Asymmetry': [1, -1, 1, -1, -1, 1, -1, 1],
1553
+ },
1554
+ scrollDir8_2: {
1555
+ '---': [1, 1, 1, 1, 1, 1, 1, 1],
1556
+ 'Cross': [1, 1, 1, -1, -1, -1, 1, 1],
1557
+ 'Split': [1, 1, 1, 1, 1, -1, -1, -1],
1558
+ 'Alternate': [-1, 1, -1, 1, -1, 1, -1, 1],
1559
+ 'Twist': [1, 1, -1, -1, 1, 1, -1, -1],
1560
+ 'Asymmetry': [1, 1, -1, 1, -1, -1, 1, -1],
1561
+ },
1562
+ scrollDir8_3: {
1563
+ '---': [1, 1, 1, 1, 1, 1, 1, 1],
1564
+ 'Cross': [1, 1, 1, -1, -1, -1, 1, 1],
1565
+ 'Split': [1, 1, 1, 1, 1, -1, -1, -1],
1566
+ 'Alternate': [-1, 1, -1, 1, -1, 1, -1, 1],
1567
+ 'Twist': [1, 1, -1, -1, 1, 1, -1, -1],
1568
+ 'Asymmetry': [1, 1, -1, 1, -1, -1, 1, -1],
1569
+ },
1570
+ scrollDir9A_0: {
1571
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1],
1572
+ 'Cross': [1, 1, -1, -1, -1, -1, -1, 1, 1],
1573
+ 'Split': [1, 1, 1, 1, -1, -1, -1, -1, -1],
1574
+ 'Alternate': [1, -1, 1, -1, 1, -1, 1, -1, 1],
1575
+ },
1576
+ scrollDir9A_1: {
1577
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1],
1578
+ 'Cross': [1, 1, -1, -1, -1, -1, -1, 1, 1],
1579
+ 'Split': [1, 1, 1, 1, -1, -1, -1, -1, -1],
1580
+ 'Alternate': [1, -1, 1, -1, 1, -1, 1, -1, 1],
1581
+ },
1582
+ scrollDir9A_2: {
1583
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1],
1584
+ 'Cross': [1, 1, -1, -1, -1, -1, -1, 1, 1],
1585
+ 'Split': [1, 1, 1, 1, -1, -1, -1, -1, -1],
1586
+ 'Alternate': [1, -1, 1, -1, 1, -1, 1, -1, 1],
1587
+ },
1588
+ scrollDir9A_3: {
1589
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1590
+ 'Cross': [1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1],
1591
+ 'Split': [1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1],
1592
+ 'Alternate': [1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1],
1593
+ },
1594
+
1595
+ scrollDir9B_0: {
1596
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1],
1597
+ 'Cross': [1, 1, -1, -1, -1, -1, -1, 1, 1],
1598
+ 'Split': [1, 1, 1, 1, -1, -1, -1, -1, -1],
1599
+ 'Alternate': [1, -1, 1, -1, 1, -1, 1, -1, 1],
1600
+ },
1601
+ scrollDir9B_1: {
1602
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1],
1603
+ 'Cross': [1, 1, -1, -1, -1, -1, -1, 1, 1],
1604
+ 'Split': [1, 1, 1, 1, -1, -1, -1, -1, -1],
1605
+ 'Alternate': [1, -1, 1, -1, 1, -1, 1, -1, 1],
1606
+ },
1607
+ scrollDir9B_2: {
1608
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1],
1609
+ 'Cross': [1, 1, -1, -1, -1, -1, -1, 1, 1],
1610
+ 'Split': [1, 1, 1, 1, -1, -1, -1, -1, -1],
1611
+ 'Alternate': [1, -1, 1, -1, 1, -1, 1, -1, 1],
1612
+ },
1613
+
1614
+ scrollDir11_0: {
1615
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1616
+ 'Flat': [1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1],
1617
+ },
1618
+ scrollDir11_1: {
1619
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1620
+ 'Flat': [-1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1],
1621
+ },
1622
+ scrollDir11_2: {
1623
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1624
+ 'Flat': [1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1],
1625
+ },
1626
+ scrollDir11_3: {
1627
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1628
+ 'Flat': [1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1],
1629
+ },
1630
+
1631
+ scrollDir11L_0: {
1632
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1633
+ 'Flat': [1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1],
1634
+ },
1635
+ scrollDir11L_1: {
1636
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1637
+ 'Flat': [-1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1],
1638
+ },
1639
+ scrollDir11L_2: {
1640
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1641
+ 'Flat': [1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1],
1642
+ },
1643
+ scrollDir11L_3: {
1644
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1645
+ 'Flat': [1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1],
1646
+ },
1647
+
1648
+ scrollDir11W_0: {
1649
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1650
+ 'Flat': [1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1],
1651
+ },
1652
+ scrollDir11W_1: {
1653
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1654
+ 'Flat': [1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1],
1655
+ },
1656
+ scrollDir11W_2: {
1657
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1658
+ 'Flat': [1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1],
1659
+ },
1660
+
1661
+ scrollDir11i_0: {
1662
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1663
+ 'Cross': [1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1],
1664
+ 'Split': [1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1],
1665
+ 'Alternate': [1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1],
1666
+ },
1667
+
1668
+ scrollDir12_0: {
1669
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1670
+ 'Flat': [1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1],
1671
+ },
1672
+ scrollDir12_1: {
1673
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1674
+ 'Flat': [1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1],
1675
+ },
1676
+ scrollDir13_0: {
1677
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1678
+ 'Flat': [1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1],
1679
+ },
1680
+ scrollDir14_0: {
1681
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1682
+ 'Flat': [1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1],
1683
+ },
1684
+ scrollDir14_1: {
1685
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1686
+ 'Flat': [1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1],
1687
+ },
1688
+ scrollDir14i_0: {
1689
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1690
+ 'Flat': [1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1],
1691
+ },
1692
+ scrollDir15A_0: {
1693
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1694
+ 'Flat': [1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1],
1695
+ },
1696
+ scrollDir15A_1: {
1697
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1698
+ 'Flat': [1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1],
1699
+ },
1700
+ scrollDir15B_0: {
1701
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1702
+ 'Flat': [1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1],
1703
+ },
1704
+ scrollDir15B_1: {
1705
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1706
+ 'Flat': [1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1],
1707
+ },
1708
+ scrollDir16i_0: {
1709
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1710
+ 'Flat': [1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1],
1711
+ },
1712
+ scrollDir23_0: {
1713
+ '---': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
1714
+ 'Flat': [1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1],
1715
+ },
1716
+
1717
+ // プレイアシスト設定
1718
+ assistName5: [`Onigiri`],
1719
+ assistName9A: [`Left`, `Right`],
1720
+ assistName11i: [`Left`, `Right`],
1721
+ assistName17: [`Left`, `Right`],
1722
+ assistName23: [`Left`, `Right`],
1723
+
1724
+ assistPos5_0: {
1725
+ 'Onigiri': [0, 0, 0, 0, 1],
1726
+ },
1727
+ assistPos5_1: {
1728
+ 'Onigiri': [1, 0, 0, 0, 0],
1729
+ },
1730
+ assistPos5_2: {
1731
+ 'Onigiri': [0, 0, 1, 0, 0],
1732
+ },
1733
+
1734
+ assistPos9A_0: {
1735
+ 'Left': [1, 1, 1, 1, 0, 0, 0, 0, 0],
1736
+ 'Right': [0, 0, 0, 0, 0, 1, 1, 1, 1],
1737
+ },
1738
+ assistPos9A_1: {
1739
+ 'Left': [1, 1, 1, 1, 0, 0, 0, 0, 0],
1740
+ 'Right': [0, 0, 0, 0, 0, 1, 1, 1, 1],
1741
+ },
1742
+ assistPos9A_2: {
1743
+ 'Left': [1, 1, 1, 1, 0, 0, 0, 0, 0],
1744
+ 'Right': [0, 0, 0, 0, 0, 1, 1, 1, 1],
1745
+ },
1746
+ assistPos9A_3: {
1747
+ 'Left': [1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0],
1748
+ 'Right': [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1],
1749
+ },
1750
+
1751
+ assistPos11i_0: {
1752
+ 'Left': [1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0],
1753
+ 'Right': [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1],
1754
+ },
1755
+
1756
+ assistPos17_0: {
1757
+ 'Left': [1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1758
+ 'Right': [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1],
1759
+ },
1760
+ assistPos17_1: {
1761
+ 'Left': [1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0],
1762
+ 'Right': [0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1],
1763
+ },
1764
+ assistPos23_0: {
1765
+ 'Left': [1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0],
1766
+ 'Right': [0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1],
1767
+ },
1768
+
1769
+ dummy: 0 // ダミー(カンマ抜け落ち防止)
1770
+ };
1771
+
1772
+ // 特殊キーのコピー種 (simple: 代入、multiple: 配列ごと代入)
1773
+ const g_keyCopyLists = {
1774
+ simple: [`div`, `blank`, `scale`, `keyRetry`, `keyTitleBack`, `transKey`, `scrollDir`, `assistPos`],
1775
+ multiple: [`chara`, `color`, `stepRtn`, `pos`, `shuffle`],
1776
+ };
1777
+
1778
+ // タイトル画面関連のリスト群
1779
+ const g_titleLists = {
1780
+ /** タイトル画面で利用する初期オブジェクトのリスト */
1781
+ init: [`title`, `titleArrow`, `titleAnimation`, `back`, `backMain`, `ready`],
1782
+
1783
+ /** タイトルのデフォルトフォント */
1784
+ defaultFonts: [`'メイリオ'`],
1785
+
1786
+ /** グラデーション関連初期リスト */
1787
+ grdList: [`titlegrd`, `titlearrowgrd`],
1788
+
1789
+ /** タイトル用アニメーションの設定種 */
1790
+ animation: [`Name`, `Duration`, `Delay`, `TimingFunction`],
1791
+
1792
+ };
1793
+
1794
+ const g_animationData = [`back`, `mask`];
1795
+
1796
+ /**
1797
+ * データ種, 最小データ長のセット
1798
+ */
1799
+ const g_dataMinObj = {
1800
+ speed: 2,
1801
+ boost: 2,
1802
+ color: 3,
1803
+ acolor: 3,
1804
+ shadowcolor: 3,
1805
+ ashadowcolor: 3,
1806
+ arrowCssMotion: 3,
1807
+ frzCssMotion: 3,
1808
+ dummyArrowCssMotion: 3,
1809
+ dummyFrzCssMotion: 3,
1810
+ word: 3,
1811
+ mask: 1,
1812
+ back: 1,
1813
+ };
1814
+
1815
+ const g_dfColorObj = {
1816
+
1817
+ // 矢印初期色情報
1818
+ setColorInit: [`#6666ff`, `#99ffff`, `#ffffff`, `#ffff99`, `#ff9966`],
1819
+ setShadowColorInit: [``, ``, ``, ``, ``],
1820
+
1821
+ setColorType1: [`#6666ff`, `#99ffff`, `#ffffff`, `#ffff99`, `#ff9966`],
1822
+ setColorType2: [`#ffffff`, `#9999ff`, `#99ccff`, `#ffccff`, `#ff9999`],
1823
+
1824
+ // フリーズアロー初期色情報
1825
+ frzColorInit: [`#66ffff`, `#6600ff`, `#cccc33`, `#999933`],
1826
+ frzShadowColorInit: [``, ``, ``, ``],
1827
+ frzColorType1: [
1828
+ [`#66ffff`, `#6600ff`, `#cccc33`, `#999933`],
1829
+ [`#00ffcc`, `#339999`, `#cccc33`, `#999933`],
1830
+ [`#66ffff`, `#6600ff`, `#cccc33`, `#999933`],
1831
+ [`#cc99ff`, `#9966ff`, `#cccc33`, `#999933`],
1832
+ [`#ff99cc`, `#ff6699`, `#cccc33`, `#999933`]
1833
+ ],
1834
+ frzColorType2: [
1835
+ [`#cccccc`, `#999999`, `#cccc33`, `#999933`],
1836
+ [`#66ffff`, `#6600ff`, `#cccc33`, `#999933`],
1837
+ [`#66ffff`, `#6600ff`, `#cccc33`, `#999933`],
1838
+ [`#cc99cc`, `#ff99ff`, `#cccc33`, `#999933`],
1839
+ [`#ff6666`, `#ff9999`, `#cccc33`, `#999933`]
1840
+ ],
1841
+ };
1842
+
1843
+ const g_escapeStr = {
1844
+ escape: [[`&`, `&amp;`], [`<`, `&lt;`], [`>`, `&gt;`], [`"`, `&quot;`]],
1845
+ escapeTag: [
1846
+ [`*amp*`, `&amp;`], [`*pipe*`, `|`], [`*dollar*`, `$`], [`*rsquo*`, `&rsquo;`],
1847
+ [`*quot*`, `&quot;`], [`*comma*`, `&sbquo;`], [`*squo*`, `&#39;`], [`*bkquo*`, `&#96;`],
1848
+ [`*lt*`, `&lt;`], [`*gt*`, `&gt;`],
1849
+ ],
1850
+ unEscapeTag: [
1851
+ [`&amp;`, `&`], [`&rsquo;`, `’`], [`&quot;`, `"`], [`&sbquo;`, `,`],
1852
+ [`&lt;`, `<`], [`&gt;`, `>`], [`&#39;`, `'`], [`&#96;`, `\``],
1853
+ ],
1854
+ escapeCode: [
1855
+ [`<script>`, ``], [`</script>`, ``],
1856
+ ],
1857
+ };
1858
+
1859
+ // グラデーションで、カラーコードではないパーセント表記、位置表記系を除外するためのリスト
1860
+ // 'at', 'to'のみ、'to left'や'to right'のように方向が入るため、半角スペースまで込みで判断
1861
+ const g_cssCheckStr = {
1862
+ header: [`at `, `to `, `from`, `circle`, `ellipse`, `closest-`, `farthest-`, `transparent`],
1863
+ footer: [`deg`, `rad`, `grad`, `turn`, `repeat`],
1864
+ };
1865
+
1866
+ /**
1867
+ * メッセージ定義
1868
+ * - 変数名は `X_YYYY` の形で、末尾に (X-YYYY) をつける。
1869
+ * - 記述不正の場合、書き方を2行目に指定すると親切。
1870
+ */
1871
+ const g_msgInfoObj = {
1872
+ W_0001: `お使いのブラウザは動作保証外です。<br>
1873
+ Chrome/Opera/Vivaldiなど、WebKit系ブラウザの利用を推奨します。(W-0001)`,
1874
+ W_0011: `fileスキームでの動作のため、内蔵の画像データを使用します。(W-0011)<br>
1875
+ imgフォルダ以下の画像の変更は適用されません。`,
1876
+
1877
+ E_0011: `アーティスト名が未入力です。(E-0011)`,
1878
+ E_0012: `曲名情報が未設定です。(E-0012)<br>
1879
+ |musicTitle=曲名,アーティスト名,アーティストURL|`,
1880
+ E_0021: `譜面情報が未指定か、フォーマットが間違っています。(E-0021)<br>
1881
+ |difData=キー数,譜面名,初期速度|`,
1882
+ E_0022: `外部譜面ファイルのフォーマットが間違っています。(E-0022)<br>
1883
+ function externalDosInit() { g_externalDos = \`(譜面データ)\`; }`,
1884
+ E_0023: `譜面情報が未指定です。(E-0023)<br>
1885
+ 以下のいずれか、または両方を指定してください。<br>
1886
+ &lt;input type="hidden" name="externalDos" id="externalDos" value="dos.txt"&gt;<br>
1887
+ &lt;input type="hidden" name="dos" id="dos" value="(譜面データ)"&gt;<br>`,
1888
+ E_0031: `楽曲ファイルが未指定か、フォーマットが間違っています。(E-0031)<br>
1889
+ |musicUrl=****.mp3|`,
1890
+ E_0032: `楽曲ファイルの読み込みに失敗しました。(E-0032)`,
1891
+ E_0033: `楽曲ファイルの読み込み中に接続がタイムアウトしました。(E-0033)`,
1892
+ E_0034: `楽曲ファイルの読み込み中にエラーが発生しました。(E-0034)`,
1893
+ E_0035: `お使いのOSでは指定された楽曲フォーマットに対応していません。(E-0035)`,
1894
+ E_0041: `ファイル:{0}の読み込みに失敗しました。(E-0041)<br>`,
1895
+ E_0042: `{0}は0より大きい値を指定する必要があります。(E-0042)`,
1896
+ E_0051: `Displayオプションのデフォルト設定(XXXXChainOFF)で、<br>指定できない組み合わせが設定されています。(E-0051)`,
1897
+
1898
+ E_0101: `新しいキー:{0}の[color]が未定義です。(E-0101)<br>
1899
+ |color{0}=0,1,0,1,0,2|`,
1900
+ E_0102: `新しいキー:{0}の[chara]が未定義です。(E-0102)<br>
1901
+ |chara{0}=arrowA,arrowB,arrowC,arrowD,arrowE,arrowF|`,
1902
+ E_0103: `新しいキー:{0}の[stepRtn]が未定義です。(E-0103)<br>
1903
+ |stepRtn{0}=0,45,-90,135,180,onigiri|`,
1904
+ E_0104: `新しいキー:{0}の[keyCtrl]が未定義です。(E-0104)<br>
1905
+ |keyCtrl{0}=75,79,76,80,187,32/0|`,
1906
+
1907
+ I_0001: `リザルトデータをクリップボードにコピーしました!`,
1908
+ I_0002: `入力したキーは割り当てできません。他のキーを指定してください。`,
1909
+ I_0003: `各譜面の明細情報をクリップボードにコピーしました!`,
1910
+ };
1911
+
1912
+ /**
1913
+ * ラベル表示定義
1914
+ */
1915
+ const g_lblNameObj = {
1916
+ dancing: `DANCING`,
1917
+ star: `☆`,
1918
+ onigiri: `ONIGIRI`,
1919
+ settings: `SETTINGS`,
1920
+ display: `DISPLAY`,
1921
+ key: `KEY`,
1922
+ config: `CONFIG`,
1923
+ result: `RESULT`,
1924
+
1925
+ kcDesc: `[{0}:スキップ / {1}:(代替キーのみ)キー無効化]`,
1926
+ sdDesc: `[クリックでON/OFFを切替、灰色でOFF]`,
1927
+ kcShortcutDesc: `プレイ中ショートカット:「{0}」タイトルバック / 「{1}」リトライ`,
1928
+ transKeyDesc: `別キーモードではハイスコア、キーコンフィグ等は保存されません`,
1929
+ sdShortcutDesc: `Hid+/Sud+時ショートカット:「pageUp」カバーを上へ / 「pageDown」下へ`,
1930
+
1931
+ maker: `Maker`,
1932
+ artist: `Artist`,
1933
+
1934
+ dataReset: `Data Reset`,
1935
+ dataSave: `Data Save`,
1936
+ clickHere: `Click Here!!`,
1937
+ comment: `Comment`,
1938
+
1939
+ nowLoading: `Now Loading...`,
1940
+ pleaseWait: `Please Wait...`,
1941
+
1942
+ b_back: `Back`,
1943
+ b_keyConfig: `KeyConfig`,
1944
+ b_play: `PLAY!`,
1945
+ b_reset: `Reset`,
1946
+ b_settings: `To Settings`,
1947
+ b_copy: `CopyResult`,
1948
+ b_tweet: `Tweet`,
1949
+ b_gitter: `Gitter`,
1950
+ b_retry: `Retry`,
1951
+
1952
+ Difficulty: `Difficulty`,
1953
+ Speed: `Speed`,
1954
+ Motion: `Motion`,
1955
+ Scroll: `Scroll`,
1956
+ Reverse: `Reverse`,
1957
+ Shuffle: `Shuffle`,
1958
+ AutoPlay: `AutoPlay`,
1959
+ Gauge: `Gauge`,
1960
+ Adjustment: `Adjustment`,
1961
+ Fadein: `Fadein`,
1962
+ Volume: `Volume`,
1963
+
1964
+ sc_speed: `←→`,
1965
+ sc_scroll: `R/↑↓`,
1966
+ sc_adjustment: `- +`,
1967
+
1968
+ g_start: `Start`,
1969
+ g_border: `Border`,
1970
+ g_recovery: `Recovery`,
1971
+ g_damage: `Damage`,
1972
+
1973
+ s_speed: `Speed`,
1974
+ s_boost: `Boost`,
1975
+ s_apm: `APM`,
1976
+ s_time: `Time`,
1977
+ s_arrow: `Arrow`,
1978
+ s_frz: `Frz`,
1979
+
1980
+ s_level: `Level`,
1981
+ s_douji: `同時補正`,
1982
+ s_tate: `縦連補正`,
1983
+ s_cnts: `All Arrows`,
1984
+ s_linecnts: `- 矢印 Arrow:<br><br>- 氷矢 Frz:<br><br>- 3つ押し位置 ({0}):`,
1985
+ s_print: `データ出力`,
1986
+ s_printTitle: `Dancing☆Onigiri レベル計算ツール+++`,
1987
+ s_printHeader: `難易度\t同時\t縦連\t総数\t矢印\t氷矢印\tAPM\t時間`,
1988
+
1989
+ d_StepZone: `StepZone`,
1990
+ d_Judgment: `Judgment`,
1991
+ d_FastSlow: `FastSlow`,
1992
+ d_LifeGauge: `LifeGauge`,
1993
+ d_Score: `Score`,
1994
+ d_MusicInfo: `MusicInfo`,
1995
+ d_FilterLine: `FilterLine`,
1996
+ d_Speed: `Speed`,
1997
+ d_Color: `Color`,
1998
+ d_Lyrics: `Lyrics`,
1999
+ d_Background: `Background`,
2000
+ d_ArrowEffect: `ArrowEffect`,
2001
+ d_Special: `Special`,
2002
+
2003
+ Appearance: `Appearance`,
2004
+ Opacity: `Opacity`,
2005
+
2006
+ ConfigType: `ConfigType`,
2007
+ ColorType: `ColorType`,
2008
+ KeyPattern: `KeyPattern`,
2009
+
2010
+ j_ii: "(・∀・)イイ!!",
2011
+ j_shakin: "(`・ω・)シャキン",
2012
+ j_matari: "( ´∀`)マターリ",
2013
+ j_shobon: "(´・ω・`)ショボーン",
2014
+ j_uwan: "( `Д´)ウワァン!!",
2015
+
2016
+ j_kita: "(゚∀゚)キタ-!!",
2017
+ j_iknai: "(・A・)イクナイ",
2018
+
2019
+ j_maxCombo: `MaxCombo`,
2020
+ j_fmaxCombo: `FreezeCombo`,
2021
+ j_score: `Score`,
2022
+
2023
+ j_fast: `Fast`,
2024
+ j_slow: `Slow`,
2025
+
2026
+ allPerfect: `All Perfect!!`,
2027
+ perfect: `Perfect!!`,
2028
+ fullCombo: `FullCombo!`,
2029
+ cleared: `CLEARED!`,
2030
+ failed: `FAILED...`,
2031
+ };
2032
+
2033
+ // 判定名
2034
+ let C_JCR_II = g_lblNameObj.j_ii;
2035
+ let C_JCR_SHAKIN = g_lblNameObj.j_shakin;
2036
+ let C_JCR_MATARI = g_lblNameObj.j_matari;
2037
+ let C_JCR_SHOBON = g_lblNameObj.j_shobon;
2038
+ let C_JCR_UWAN = g_lblNameObj.j_uwan;
2039
+
2040
+ let C_JCR_KITA = g_lblNameObj.j_kita;
2041
+ let C_JCR_SFSF = "";
2042
+ let C_JCR_IKNAI = g_lblNameObj.j_iknai;
2043
+
2044
+ /**
2045
+ * オンマウステキスト、確認メッセージ定義
2046
+ */
2047
+ const g_msgObj = {
2048
+
2049
+ reload: `ページを再読込します。`,
2050
+ howto: `ゲーム画面の見方や設定の詳細についてのページへ移動します(GitHub Wiki)。`,
2051
+ dataReset: `この作品で保存されているハイスコアや\nAdjustment情報等をリセットします。`,
2052
+ github: `Dancing☆Onigiri (CW Edition)のGitHubページへ移動します。`,
2053
+ security: `Dancing☆Onigiri (CW Edition)のサポート情報ページへ移動します。`,
2054
+
2055
+ dataResetConfirm: `この作品のローカル設定をクリアします。よろしいですか?\n(ハイスコアやAdjustment等のデータがクリアされます)`,
2056
+ keyResetConfirm: `キーを初期配置に戻します。よろしいですか?`,
2057
+
2058
+ difficulty: `譜面を選択します。`,
2059
+ speed: `矢印の流れる速度を設定します。`,
2060
+ motion: `矢印の速度を一定ではなく、\n変動させるモーションをつけるか設定します。`,
2061
+ reverse: `矢印の流れる向きを設定します。`,
2062
+ scroll: `各レーンのスクロール方向をパターンに沿って設定します。`,
2063
+ shuffle: `譜面を左右反転したり、ランダムにします。\nランダムにした場合は別譜面扱いとなり、ハイスコアは保存されません。`,
2064
+ autoPlay: `オートプレイや一部キーを自動で打たせる設定を行います。\nオートプレイ時はハイスコアを保存しません。`,
2065
+ gauge: `クリア条件を設定します。`,
2066
+ adjustment: `タイミングにズレを感じる場合、\n数値を変えることでズレを直すことができます。`,
2067
+ fadein: `譜面を途中から再生します。\n途中から開始した場合はハイスコアを保存しません。`,
2068
+ volume: `ゲーム内の音量を設定します。`,
2069
+
2070
+ graph: `速度変化や譜面密度状況、\n譜面の難易度など譜面の詳細情報を表示します。`,
2071
+ dataSave: `ハイスコア、リバース設定、\nキーコンフィグの保存の有無を設定します。`,
2072
+ toDisplay: `プレイ画面上のオブジェクトの\n表示・非表示(一部透明度)を設定します。`,
2073
+ toSettings: `SETTINGS画面へ戻ります。`,
2074
+
2075
+ d_stepzone: `ステップゾーンの表示`,
2076
+ d_judgment: `判定キャラクタ・コンボの表示`,
2077
+ d_fastslow: `Fast/Slow表示`,
2078
+ d_lifegauge: `ライフゲージの表示`,
2079
+ d_score: `現時点の判定数を表示`,
2080
+ d_musicinfo: `音楽情報(時間表示含む)`,
2081
+ d_filterline: `Hidden+, Sudden+使用時のフィルターの境界線表示`,
2082
+ d_speed: `途中変速、個別加速の有効化設定`,
2083
+ d_color: `色変化の有効化設定`,
2084
+ d_lyrics: `歌詞表示の有効化設定`,
2085
+ d_background: `背景・マスクモーションの有効化設定`,
2086
+ d_arroweffect: `矢印・フリーズアローモーションの有効化設定`,
2087
+ d_special: `作品固有の特殊演出の有効化設定`,
2088
+
2089
+ appearance: `流れる矢印の見え方を制御します。`,
2090
+ opacity: `判定キャラクタ、コンボ数、Fast/Slow、Hidden+/Sudden+の\n境界線表示の透明度を設定します。`,
2091
+
2092
+ };