danoniplus 28.2.0 → 28.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,29 +4,32 @@
4
4
  本体cssファイル
5
5
 
6
6
  Created : 2018/10/08
7
- Revised : 2022/03/27 (v27.2.0)
7
+ Revised : 2022/10/05 (v28.2.1)
8
8
 
9
9
  https://github.com/cwtickle/danoniplus
10
10
  ------------------------------------------ */
11
11
 
12
12
  #canvas-frame {
13
- height:500px;
13
+ height: 500px;
14
14
  position: relative;
15
15
  overflow: hidden;
16
+ white-space: nowrap;
16
17
  }
18
+
17
19
  #canvas-frame canvas {
18
20
  position: absolute;
19
- left:0;
21
+ left: 0;
20
22
  overflow: hidden;
21
23
  }
22
24
 
23
- input[type=range] {
25
+ input[type="range"] {
24
26
  -webkit-appearance: none;
25
27
  background: transparent;
26
28
  height: 20px;
27
29
  width: 205px;
28
30
  }
29
- input[type=range]::-webkit-slider-thumb {
31
+
32
+ input[type="range"]::-webkit-slider-thumb {
30
33
  -webkit-appearance: none;
31
34
  background: #606060;
32
35
  height: 20px;
@@ -34,10 +37,12 @@ input[type=range]::-webkit-slider-thumb {
34
37
  opacity: 0.5;
35
38
  border-radius: 50%;
36
39
  }
37
- input[type=range]::-moz-range-track{
40
+
41
+ input[type="range"]::-moz-range-track {
38
42
  height: 0;
39
43
  }
40
- input[type=range]::-moz-range-thumb{
44
+
45
+ input[type="range"]::-moz-range-thumb {
41
46
  background: #606060;
42
47
  height: 20px;
43
48
  width: 20px;
@@ -45,24 +50,27 @@ input[type=range]::-moz-range-thumb{
45
50
  border: none;
46
51
  border-radius: 50%;
47
52
  }
48
- input[type=range]:focus {
53
+
54
+ input[type="range"]:focus {
49
55
  outline: 0;
50
56
  }
51
57
 
52
- input[type=color] {
53
- width:25px;
54
- height:25px;
55
- border:none;
58
+ input[type="color"] {
59
+ width: 25px;
60
+ height: 25px;
61
+ border: none;
62
+ padding: 1px;
56
63
  }
57
64
 
58
65
  /* 左から右へ */
59
66
  @keyframes leftToRight {
60
67
  0% {
61
- opacity: 0;/* 透明 */
68
+ opacity: 0;
62
69
  transform: translateX(-50px);
63
70
  }
71
+
64
72
  100% {
65
- opacity: 1;/* 不透明 */
73
+ opacity: 1;
66
74
  transform: translateX(0);
67
75
  }
68
76
  }
@@ -70,11 +78,12 @@ input[type=color] {
70
78
  /* 上から下へ */
71
79
  @keyframes upToDown {
72
80
  0% {
73
- opacity: 0;/* 透明 */
81
+ opacity: 0;
74
82
  transform: translateY(-50px);
75
83
  }
84
+
76
85
  100% {
77
- opacity: 1;/* 不透明 */
86
+ opacity: 1;
78
87
  transform: translateY(0);
79
88
  }
80
89
  }
@@ -82,19 +91,22 @@ input[type=color] {
82
91
  /* 左から右へ移動し、フェードアウト(結果画面で使用) */
83
92
  @keyframes leftToRightFade {
84
93
  0% {
85
- opacity: 0;/* 透明 */
94
+ opacity: 0;
86
95
  transform: translateX(-30px);
87
96
  }
97
+
88
98
  30% {
89
- opacity: 1;/* 不透明 */
99
+ opacity: 1;
90
100
  transform: translateX(0);
91
101
  }
102
+
92
103
  60% {
93
- opacity: 1;/* 不透明 */
104
+ opacity: 1;
94
105
  transform: translateX(0);
95
106
  }
107
+
96
108
  100% {
97
- opacity: 0;/* 透明 */
109
+ opacity: 0;
98
110
  transform: translateX(30px);
99
111
  }
100
112
  }
@@ -102,19 +114,22 @@ input[type=color] {
102
114
  /* 上から下へ移動し、フェードアウト(結果画面で使用) */
103
115
  @keyframes upToDownFade {
104
116
  0% {
105
- opacity: 0;/* 透明 */
117
+ opacity: 0;
106
118
  transform: translateY(-30px);
107
119
  }
120
+
108
121
  30% {
109
- opacity: 1;/* 不透明 */
122
+ opacity: 1;
110
123
  transform: translateY(0);
111
124
  }
125
+
112
126
  80% {
113
- opacity: 1;/* 不透明 */
127
+ opacity: 1;
114
128
  transform: translateY(0);
115
129
  }
130
+
116
131
  100% {
117
- opacity: 0;/* 透明 */
132
+ opacity: 0;
118
133
  transform: translateY(10px);
119
134
  }
120
135
  }
@@ -122,25 +137,27 @@ input[type=color] {
122
137
  /* 徐々に表示(結果画面で使用) */
123
138
  @keyframes slowlyAppearing {
124
139
  0% {
125
- opacity: 0.5;/* 透明 */
140
+ opacity: 0.5;
126
141
  }
142
+
127
143
  80% {
128
- opacity: 0.5;/* 透明 */
144
+ opacity: 0.5;
129
145
  }
146
+
130
147
  100% {
131
- opacity: 1;/* 不透明 */
148
+ opacity: 1;
132
149
  }
133
150
  }
134
151
 
135
152
  /* 文字拡大から元のサイズへ戻る */
136
153
  @keyframes fromBig {
137
154
  0% {
138
- opacity: 0;/* 透明 */
155
+ opacity: 0;
139
156
  transform: scale(1.5, 1.5);
140
-
141
157
  }
158
+
142
159
  100% {
143
- opacity: 1;/* 不透明 */
160
+ opacity: 1;
144
161
  transform: scale(1, 1);
145
162
  }
146
163
  }
@@ -148,11 +165,12 @@ input[type=color] {
148
165
  /* 徐々に表示(Y方向) */
149
166
  @keyframes smallToNormalY {
150
167
  0% {
151
- opacity: 0;/* 透明 */
168
+ opacity: 0;
152
169
  transform: scale(1, 0);
153
170
  }
171
+
154
172
  100% {
155
- opacity: 1;/* 不透明 */
173
+ opacity: 1;
156
174
  transform: scale(1, 1);
157
175
  }
158
176
  }
@@ -162,6 +180,7 @@ input[type=color] {
162
180
  0% {
163
181
  transform: rotateX(0deg);
164
182
  }
183
+
165
184
  100% {
166
185
  transform: rotateX(360deg);
167
186
  }
@@ -172,6 +191,7 @@ input[type=color] {
172
191
  0% {
173
192
  transform: rotateY(0deg);
174
193
  }
194
+
175
195
  100% {
176
196
  transform: rotateY(360deg);
177
197
  }
@@ -182,6 +202,7 @@ input[type=color] {
182
202
  0% {
183
203
  transform: rotateZ(0deg);
184
204
  }
205
+
185
206
  100% {
186
207
  transform: rotateZ(360deg);
187
208
  }
@@ -192,6 +213,7 @@ input[type=color] {
192
213
  0% {
193
214
  filter: blur(8px);
194
215
  }
216
+
195
217
  100% {
196
218
  filter: blur(0);
197
219
  }
@@ -202,12 +224,15 @@ input[type=color] {
202
224
  0% {
203
225
  filter: brightness(0.0);
204
226
  }
227
+
205
228
  30% {
206
229
  filter: brightness(2.0);
207
230
  }
231
+
208
232
  70% {
209
233
  filter: brightness(0.0);
210
234
  }
235
+
211
236
  100% {
212
237
  filter: brightness(1.0);
213
238
  }
@@ -218,6 +243,7 @@ input[type=color] {
218
243
  0% {
219
244
  opacity: 0;
220
245
  }
246
+
221
247
  100% {
222
248
  opacity: 1;
223
249
  }
@@ -227,6 +253,7 @@ input[type=color] {
227
253
  0% {
228
254
  opacity: 0;
229
255
  }
256
+
230
257
  100% {
231
258
  opacity: 1;
232
259
  }
@@ -237,6 +264,7 @@ input[type=color] {
237
264
  0% {
238
265
  opacity: 1;
239
266
  }
267
+
240
268
  100% {
241
269
  opacity: 0;
242
270
  }
@@ -246,6 +274,7 @@ input[type=color] {
246
274
  0% {
247
275
  opacity: 1;
248
276
  }
277
+
249
278
  100% {
250
279
  opacity: 0;
251
280
  }
@@ -254,29 +283,35 @@ input[type=color] {
254
283
  .toRight {
255
284
  animation-name: leftToRight;
256
285
  }
286
+
257
287
  .toSpin {
258
288
  animation-name: spinY;
259
289
  }
260
290
 
261
291
  /* 設定画面:ゲージ設定詳細 */
262
292
  .settings_gaugeVal {
263
- font-size:12px;
293
+ font-size: 12px;
264
294
  }
295
+
265
296
  .settings_gaugeDivCover {
266
297
  border: 1px #666666 solid;
267
298
  width: 280px;
268
299
  }
300
+
269
301
  .settings_gaugeDivTable {
270
302
  display: table;
271
303
  width: 279px;
272
304
  }
305
+
273
306
  .settings_gaugeDivTableCol {
274
307
  display: table-cell;
275
308
  border-collapse: collapse;
276
309
  }
310
+
277
311
  .settings_gaugeStart {
278
312
  width: 85px;
279
313
  }
314
+
280
315
  .settings_gaugeEtc {
281
316
  width: 65px;
282
317
  }
@@ -296,6 +331,7 @@ input[type=color] {
296
331
  justify-content: center;
297
332
  cursor: default;
298
333
  }
334
+
299
335
  .button_common:hover {
300
336
  cursor: pointer;
301
337
  }
@@ -306,6 +342,6 @@ input[type=color] {
306
342
  }
307
343
 
308
344
  /* 警告ウィンドウ */
309
- #lblWarning > p {
345
+ #lblWarning>p {
310
346
  margin: 15px 5px;
311
347
  }
package/js/danoni_main.js CHANGED
@@ -4,12 +4,12 @@
4
4
  *
5
5
  * Source by tickle
6
6
  * Created : 2018/10/08
7
- * Revised : 2022/10/04
7
+ * Revised : 2022/10/13
8
8
  *
9
9
  * https://github.com/cwtickle/danoniplus
10
10
  */
11
- const g_version = `Ver 28.2.0`;
12
- const g_revisedDate = `2022/10/04`;
11
+ const g_version = `Ver 28.3.0`;
12
+ const g_revisedDate = `2022/10/13`;
13
13
  const g_alphaVersion = ``;
14
14
 
15
15
  // カスタム用バージョン (danoni_custom.js 等で指定可)
@@ -1814,7 +1814,7 @@ const initialControl = async () => {
1814
1814
  // デフォルトのカラー・シャッフルグループ設定を退避
1815
1815
  [`color`, `shuffle`].forEach(type => {
1816
1816
  const tmpName = Object.keys(g_keyObj).filter(val => val.startsWith(type));
1817
- tmpName.forEach(property => g_dfKeyObj[property] = structuredClone(g_keyObj[property]));
1817
+ tmpName.forEach(property => g_keyObj[`${property}d`] = structuredClone(g_keyObj[property]));
1818
1818
  });
1819
1819
 
1820
1820
  // 自動横幅拡張設定
@@ -1824,6 +1824,7 @@ const initialControl = async () => {
1824
1824
 
1825
1825
  g_sWidth = Math.max(...widthList);
1826
1826
  $id(`canvas-frame`).width = `${g_sWidth}px`;
1827
+ $id(`divRoot`).width = `${g_sWidth}px`;
1827
1828
  }
1828
1829
  if (g_headerObj.playingWidth === `default`) {
1829
1830
  g_headerObj.playingWidth = g_sWidth;
@@ -1956,6 +1957,13 @@ const loadLocalStorage = _ => {
1956
1957
  g_localStorage.highscores = {};
1957
1958
  }
1958
1959
 
1960
+ // 廃棄済みリストからデータを消去
1961
+ g_storeSettingsEx.forEach(val => {
1962
+ if (g_localStorage[val] !== undefined) {
1963
+ delete g_localStorage[val];
1964
+ }
1965
+ });
1966
+
1959
1967
  } else {
1960
1968
  g_localStorage = {
1961
1969
  adjustment: 0,
@@ -2907,7 +2915,7 @@ const headerConvert = _dosObj => {
2907
2915
  });
2908
2916
  }
2909
2917
 
2910
- // ローカルストレージに保存済みのDisplay設定・ColorType設定を戻す
2918
+ // ローカルストレージに保存済みのAppearance, Opacity設定・ColorType設定を戻す
2911
2919
  g_storeSettings.filter(tmpSetting => hasVal(g_localStorage[tmpSetting])).forEach(setting =>
2912
2920
  g_stateObj[setting] = g_localStorage[setting]);
2913
2921
  if (g_localStorage.colorType !== undefined) {
@@ -5014,8 +5022,9 @@ const createOptionWindow = _sprite => {
5014
5022
  [`color`, `shuffle`].forEach(type => {
5015
5023
  resetGroupList(type, keyCtrlPtn);
5016
5024
  if (g_keyObj.currentPtn === -1) {
5017
- if (storageObj[`${type}${g_keyObj.currentKey}_-1_-1`] !== undefined) {
5018
- g_keyObj[`${type}${g_keyObj.currentKey}_-1`] = structuredClone(storageObj[`${type}${g_keyObj.currentKey}_-1_-1`]);
5025
+ const storageKeyName = storageObj[`${type}${addKey}`] || storageObj[`${type}${g_keyObj.currentKey}_-1_-1`];
5026
+ if (storageKeyName !== undefined) {
5027
+ g_keyObj[`${type}${g_keyObj.currentKey}_-1`] = structuredClone(storageKeyName);
5019
5028
  }
5020
5029
  g_keyObj[`${type}${g_keyObj.currentKey}_-1_-1`] = structuredClone(g_keyObj[`${type}${g_keyObj.currentKey}_-1`]);
5021
5030
  } else {
@@ -5315,6 +5324,7 @@ const getKeyCtrl = (_localStorage, _extraKeyName = ``) => {
5315
5324
  for (let j = 0; j < maxPtn; j++) {
5316
5325
  g_keyObj[`${type}${copyPtn}_${j}`] = copyArray2d(g_keyObj[`${type}${basePtn}_${j}`]);
5317
5326
  }
5327
+ g_keyObj[`${type}${copyPtn}_0d`] = structuredClone(g_keyObj[`${type}${copyPtn}_0`]);
5318
5328
  });
5319
5329
  }
5320
5330
  };
@@ -5664,22 +5674,8 @@ const keyConfigInit = (_kcType = g_kcType) => {
5664
5674
  * @param {number} _k
5665
5675
  * @param {string} _cssName
5666
5676
  */
5667
- const changeKeyConfigColor = (_j, _k, _cssName) => {
5668
- const obj = document.querySelector(`#keycon${_j}_${_k}`);
5669
- const resetClass = _className => {
5670
- if (obj.classList.contains(_className)) {
5671
- obj.classList.remove(_className);
5672
- }
5673
- };
5674
-
5675
- // CSSクラスの除去
5676
- resetClass(g_cssObj.keyconfig_Changekey);
5677
- resetClass(g_cssObj.keyconfig_Defaultkey);
5678
- resetClass(g_cssObj.title_base);
5679
-
5680
- // 指定されたCSSクラスを適用
5681
- obj.classList.add(_cssName);
5682
- };
5677
+ const changeKeyConfigColor = (_j, _k, _cssName) =>
5678
+ changeConfigColor(document.querySelector(`#keycon${_j}_${_k}`), _cssName);
5683
5679
 
5684
5680
  /**
5685
5681
  * 一時的に矢印色・シャッフルグループを変更(共通処理)
@@ -5720,6 +5716,7 @@ const keyConfigInit = (_kcType = g_kcType) => {
5720
5716
  const tmpShuffle = changeTmpData(`shuffle`, 10, _j, _scrollNum);
5721
5717
  document.getElementById(`sArrow${_j}`).textContent = tmpShuffle + 1;
5722
5718
 
5719
+ changeShuffleConfigColor(keyCtrlPtn, g_keyObj[`shuffle${keyCtrlPtn}_${g_keycons.shuffleGroupNum}`][_j], _j);
5723
5720
  adjustScrollPoint(parseFloat($id(`arrow${_j}`).left));
5724
5721
  };
5725
5722
 
@@ -5816,6 +5813,7 @@ const keyConfigInit = (_kcType = g_kcType) => {
5816
5813
 
5817
5814
  /**
5818
5815
  * カラー・シャッフルグループ設定の表示
5816
+ * - シャッフルグループではデフォルトからの差異表示もここで行う
5819
5817
  * @param {string} _type
5820
5818
  */
5821
5819
  const viewGroup = _type => {
@@ -5825,6 +5823,10 @@ const keyConfigInit = (_kcType = g_kcType) => {
5825
5823
  document.getElementById(`lnk${toCapitalize(_type)}Group`).textContent = getStgDetailName(num);
5826
5824
  }
5827
5825
  viewGroupObj[_type](`_${g_keycons[`${_type}GroupNum`]}`);
5826
+
5827
+ if (_type === `shuffle`) {
5828
+ changeShuffleConfigColor(keyCtrlPtn, g_keyObj[`shuffle${keyCtrlPtn}_${g_keycons.shuffleGroupNum}`]);
5829
+ }
5828
5830
  }
5829
5831
  };
5830
5832
  const setGroup = (_type, _scrollNum = 1) => {
@@ -6063,7 +6065,7 @@ const keyConfigInit = (_kcType = g_kcType) => {
6063
6065
  keyConfigInit(g_kcType);
6064
6066
  };
6065
6067
 
6066
- const colorPickSprite = createEmptySprite(divRoot, `colorPickSprite`, g_windowObj.colorPickSprite);
6068
+ const colorPickSprite = createEmptySprite(divRoot, `colorPickSprite`, Object.assign({ title: g_msgObj.pickArrow }, g_windowObj.colorPickSprite));
6067
6069
  if ([`Default`, `Type0`].includes(g_colorType)) {
6068
6070
  colorPickSprite.style.display = C_DIS_NONE;
6069
6071
  }
@@ -6163,6 +6165,12 @@ const keyConfigInit = (_kcType = g_kcType) => {
6163
6165
 
6164
6166
  // キーコンフィグ画面を再呼び出し
6165
6167
  keyConfigInit();
6168
+
6169
+ // シャッフルグループのデフォルト値からの差異表示(色付け)
6170
+ // 再描画後で無いと色付けできないため、keyConfigInit() 実行後に処理
6171
+ if (g_headerObj.shuffleUse) {
6172
+ changeShuffleConfigColor(`${g_keyObj.currentKey}_${g_keyObj.currentPtn}`, g_keyObj[`shuffle${g_keyObj.currentKey}_${g_keyObj.currentPtn}_${g_keycons.shuffleGroupNum}`]);
6173
+ }
6166
6174
  };
6167
6175
 
6168
6176
  // ユーザカスタムイベント(初期)
@@ -6333,6 +6341,47 @@ const changeSetColor = _ => {
6333
6341
  }
6334
6342
  };
6335
6343
 
6344
+ /**
6345
+ * コンフィグの色変更
6346
+ * @param {object} _obj
6347
+ * @param {string} _cssName
6348
+ */
6349
+ const changeConfigColor = (_obj, _cssName) => {
6350
+ const resetClass = _className => {
6351
+ if (_obj.classList.contains(_className)) {
6352
+ _obj.classList.remove(_className);
6353
+ }
6354
+ };
6355
+
6356
+ // CSSクラスの除去
6357
+ resetClass(g_cssObj.keyconfig_Changekey);
6358
+ resetClass(g_cssObj.keyconfig_Defaultkey);
6359
+ resetClass(g_cssObj.title_base);
6360
+
6361
+ // 指定されたCSSクラスを適用
6362
+ _obj.classList.add(_cssName);
6363
+ };
6364
+
6365
+ /**
6366
+ * シャッフルグループの色変更
6367
+ * - デフォルト値と違う番号になった場合、色付けする
6368
+ * @param {string} _keyCtrlPtn キーコンフィグパターン
6369
+ * @param {array} _vals シャッフルグループ番号(群)
6370
+ * @param {number} _j (-1: 全体に対して色付け, それ以外: 指定箇所のみ色付け)
6371
+ */
6372
+ const changeShuffleConfigColor = (_keyCtrlPtn, _vals, _j = -1) => {
6373
+ const changeTargetColor = (_val, _k) => {
6374
+ const isEqualShuffleGr = (_val === g_keyObj[`shuffle${_keyCtrlPtn}_0d`][_k]);
6375
+ changeConfigColor(document.getElementById(`sArrow${_k}`), isEqualShuffleGr ? g_cssObj.title_base : g_cssObj.keyconfig_Changekey);
6376
+ };
6377
+
6378
+ if (_j === -1) {
6379
+ _vals.forEach((val, m) => changeTargetColor(val, m));
6380
+ } else {
6381
+ changeTargetColor(_vals, _j);
6382
+ }
6383
+ };
6384
+
6336
6385
  /*-----------------------------------------------------------*/
6337
6386
  /* Scene : LOADING [strawberry] */
6338
6387
  /*-----------------------------------------------------------*/
@@ -7989,14 +8038,20 @@ const getArrowSettings = _ => {
7989
8038
 
7990
8039
  [`color`, `shuffle`].forEach(type => {
7991
8040
  const groupNum = g_keycons[`${type}GroupNum`];
7992
- storageObj[`${type}${g_keyObj.currentKey}_-1_-1`] = structuredClone(g_keyObj[`${type}${keyCtrlPtn}_${groupNum}`]);
7993
- g_keyObj[`${type}${g_keyObj.currentKey}_-1_${groupNum}`] = structuredClone(g_dfKeyObj[`${type}${keyCtrlPtn}_${groupNum}`]);
7994
- g_keyObj[`${type}${keyCtrlPtn}_${groupNum}`] = structuredClone(g_dfKeyObj[`${type}${keyCtrlPtn}_${groupNum}`]);
8041
+ storageObj[`${type}${addKey}`] = structuredClone(g_keyObj[`${type}${keyCtrlPtn}_${groupNum}`]);
8042
+ g_keyObj[`${type}${g_keyObj.currentKey}_-1_${groupNum}`] = structuredClone(g_keyObj[`${type}${keyCtrlPtn}_${groupNum}d`]);
8043
+ g_keyObj[`${type}${keyCtrlPtn}_${groupNum}`] = structuredClone(g_keyObj[`${type}${keyCtrlPtn}_${groupNum}d`]);
8044
+
8045
+ // 古いキーデータの削除 (互換用)
8046
+ if (storageObj[`${type}${g_keyObj.currentKey}_-1_-1`] !== undefined) {
8047
+ delete storageObj[`${type}${g_keyObj.currentKey}_-1_-1`];
8048
+ }
7995
8049
  });
7996
8050
 
7997
8051
  if (!g_stateObj.extraKeyFlg) {
7998
8052
  localStorage.setItem(`danonicw-${g_keyObj.currentKey}k`, JSON.stringify(g_localKeyStorage));
7999
8053
  }
8054
+
8000
8055
  localStorage.setItem(g_localStorageUrl, JSON.stringify(g_localStorage));
8001
8056
  g_canLoadDifInfoFlg = true;
8002
8057
 
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * Source by tickle
7
7
  * Created : 2019/11/19
8
- * Revised : 2022/10/02 (v28.1.0)
8
+ * Revised : 2022/10/13 (v28.3.0)
9
9
  *
10
10
  * https://github.com/cwtickle/danoniplus
11
11
  */
@@ -238,7 +238,7 @@ const updateWindowSiz = _ => {
238
238
  x: 0, w: 50, h: 15, siz: 11, align: C_ALIGN_LEFT, background: `#${g_headerObj.baseBrightFlg ? `eeeeee` : `111111`}80`,
239
239
  },
240
240
  lnkColorCopy: {
241
- x: 35, y: -5, w: 30, h: 20, siz: 14,
241
+ x: 35, y: -5, w: 30, h: 20, siz: 14, title: g_msgObj.pickColorCopy,
242
242
  },
243
243
 
244
244
  btnKcBack: {
@@ -837,7 +837,11 @@ const g_keycons = {
837
837
  let g_displays = [`stepZone`, `judgment`, `fastSlow`, `lifeGauge`, `score`, `musicInfo`, `filterLine`,
838
838
  `speed`, `color`, `lyrics`, `background`, `arrowEffect`, `special`];
839
839
 
840
- let g_storeSettings = [`appearance`, `opacity`, `d_stepzone`, `d_judgment`, `d_fastslow`, `d_lifegauge`,
840
+ // ローカルストレージ保存対象
841
+ let g_storeSettings = [`appearance`, `opacity`];
842
+
843
+ // 廃棄対象のリスト(過去の登録対象をリスト化。ここに乗せるとローカルストレージから自動消去される)
844
+ let g_storeSettingsEx = [`d_stepzone`, `d_judgment`, `d_fastslow`, `d_lifegauge`,
841
845
  `d_score`, `d_musicinfo`, `d_filterline`];
842
846
 
843
847
  let g_canDisabledSettings = [`motion`, `scroll`, `shuffle`, `autoPlay`, `gauge`, `appearance`];
@@ -1418,8 +1422,6 @@ const g_cssObj = {
1418
1422
  flex_centering: `flex_centering`,
1419
1423
  };
1420
1424
 
1421
- const g_dfKeyObj = {};
1422
-
1423
1425
  // キー別の設定(一旦ここで定義)
1424
1426
  // ステップゾーンの位置関係は自動化を想定
1425
1427
  const g_keyObj = {
@@ -2052,7 +2054,7 @@ const g_keyObj = {
2052
2054
  // 矢印群の倍率指定
2053
2055
  scale: 1,
2054
2056
  scale_def: 1,
2055
- scale17_0: 0.85,
2057
+ scale17_0: 0.95,
2056
2058
 
2057
2059
  // ショートカットキーコード
2058
2060
  keyRetry: 8,
@@ -2542,7 +2544,7 @@ const g_keyObj = {
2542
2544
  minWidth11i: 650,
2543
2545
  minWidth13: 650,
2544
2546
  minWidth16i: 650,
2545
- minWidth17: 800,
2547
+ minWidth17: 825,
2546
2548
  minWidth23: 900,
2547
2549
 
2548
2550
  };
@@ -2924,7 +2926,7 @@ const g_lblNameObj = {
2924
2926
  filterLock: `Lock`,
2925
2927
 
2926
2928
  sc_speed: `←→`,
2927
- sc_scroll: `R/↑↓`,
2929
+ sc_scroll: `R/<br>↑↓`,
2928
2930
  sc_adjustment: `- +`,
2929
2931
  sc_keyConfigPlay: g_isMac ? `Del+Enter` : `BS+Enter`,
2930
2932
 
@@ -3067,7 +3069,7 @@ const g_lblNameObj = {
3067
3069
  const g_lang_lblNameObj = {
3068
3070
  Ja: {
3069
3071
  kcDesc: `[{0}:スキップ / {1}:(代替キーのみ)キー無効化]`,
3070
- kcShuffleDesc: `番号をクリックでシャッフルグループ、矢印をクリックでカラーグループを一時的に変更`,
3072
+ kcShuffleDesc: `番号をクリックでシャッフルグループ、矢印をクリックでカラーグループを変更`,
3071
3073
  sdDesc: `[クリックでON/OFFを切替、灰色でOFF]`,
3072
3074
  kcShortcutDesc: `プレイ中ショートカット:「{0}」タイトルバック / 「{1}」リトライ`,
3073
3075
  transKeyDesc: `別キーモードではハイスコア、キーコンフィグ等は保存されません`,
@@ -3184,6 +3186,9 @@ const g_lang_msgObj = {
3184
3186
  imgType: `矢印・フリーズアローなどのオブジェクトの見た目を変更します。`,
3185
3187
  colorGroup: `矢印・フリーズアロー色グループの割り当てパターンを変更します。`,
3186
3188
  shuffleGroup: `Mirror/Asym-Mirror/Random/S-Random選択時、シャッフルするグループを変更します。\n矢印の上にある同じ数字同士でシャッフルします。`,
3189
+
3190
+ pickArrow: `色番号ごとの矢印色(枠、塗りつぶし)、通常時のフリーズアロー色(枠、帯)を\nカラーピッカーから選んで変更できます。`,
3191
+ pickColorCopy: `このボタンを押すと、フリーズアローの配色を矢印(枠)の色で上書きします。\nヒット時のフリーズアローの色も上書きします。`,
3187
3192
  },
3188
3193
 
3189
3194
  En: {
@@ -3235,6 +3240,9 @@ const g_lang_msgObj = {
3235
3240
  imgType: `Change the appearance of sequences.`,
3236
3241
  colorGroup: `Change the sequences color group assignment pattern.`,
3237
3242
  shuffleGroup: `Change the shuffle group when Mirror, Asym-Mirror, Random or S-Random are selected.\nShuffle with the same numbers listed above.`,
3243
+
3244
+ pickArrow: `Change the frame or fill of arrow color and the frame or bar of normal freeze-arrow color\nfor each color number from the color picker.`,
3245
+ pickColorCopy: `Pressing this button will override the color scheme of the freeze arrow with the frame color of the arrow. \nIt also overrides the color of the freeze arrow on hit.`,
3238
3246
  },
3239
3247
 
3240
3248
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "danoniplus",
3
- "version": "28.2.0",
3
+ "version": "28.3.0",
4
4
  "description": "Dancing☆Onigiri (CW Edition) - Web-based Rhythm Game",
5
5
  "main": "index.js",
6
6
  "scripts": {