danoniplus 35.0.0 → 35.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 : 2024/01/28
7
+ * Revised : 2024/02/08
8
8
  *
9
9
  * https://github.com/cwtickle/danoniplus
10
10
  */
11
- const g_version = `Ver 35.0.0`;
12
- const g_revisedDate = `2024/01/28`;
11
+ const g_version = `Ver 35.2.1`;
12
+ const g_revisedDate = `2024/02/08`;
13
13
 
14
14
  // カスタム用バージョン (danoni_custom.js 等で指定可)
15
15
  let g_localVersion = ``;
@@ -3699,6 +3699,41 @@ const keysConvert = (_dosObj, { keyExtraList = _dosObj.keyExtraList?.split(`,`)
3699
3699
  makeBaseArray(_str.split(`/`).map(n => getKeyCtrlVal(n)), g_keyObj.minKeyCtrlNum, 0);
3700
3700
  const toSplitArrayStr = _str => _str.split(`/`).map(n => n);
3701
3701
 
3702
+ // 略記記法を元の文字列に復元後、配列に変換 (1...3,5...7 -> 1,2,3,5,6,7)
3703
+ const toOriginalArray = (_val, _func) => _val?.split(`,`).map(n => _func(n)).join(`,`).split(`,`);
3704
+
3705
+ /**
3706
+ * 略記記法を元の文字列に変換 (1...5 -> 1,2,3,4,5 / 3...+4 -> 3,4,5,6,7)
3707
+ * @param {string} _str
3708
+ */
3709
+ const toFloatStr = _str => {
3710
+ const nums = _str?.split(`...`);
3711
+ const bottomMark = nums[0].startsWith(`b`) ? `b` : ``;
3712
+ const [startN, endN] = [parseFloat(bottomMark === `b` ? nums[0].slice(1) : nums[0]), parseFloat(nums[1])];
3713
+
3714
+ if (nums.length === 2 && !isNaN(startN) && !isNaN(endN)) {
3715
+ const endN2 = nums[1].startsWith(`+`) ? startN + endN : endN;
3716
+ const arr = [];
3717
+ for (let k = startN; k <= endN2; k++) {
3718
+ arr.push(`${bottomMark}${k}`);
3719
+ }
3720
+ return arr.join(`,`);
3721
+ } else {
3722
+ return _str;
3723
+ }
3724
+ };
3725
+
3726
+ /**
3727
+ * 略記記法を元の文字列に変換 (1@:5 -> 1,1,1,1,1 / onigiri!giko!c@:2 -> onigiri,giko,c,onigiri,giko,c)
3728
+ * @param {string} _str
3729
+ */
3730
+ const toSameValStr = _str => {
3731
+ const nums = _str?.split(`@:`);
3732
+ const groupStr = nums[0].split(`!`).join(`,`);
3733
+ return nums.length === 2 && !isNaN(parseInt(nums[1])) ?
3734
+ [...Array(Math.floor(parseInt(nums[1])))].fill(groupStr).join(`,`) : _str;
3735
+ };
3736
+
3702
3737
  /**
3703
3738
  * キーパターン(相対パターン)をキーパターン(実際のパターン番号)に変換
3704
3739
  * 例) 12_(0) -> 12_4
@@ -3751,8 +3786,9 @@ const keysConvert = (_dosObj, { keyExtraList = _dosObj.keyExtraList?.split(`,`)
3751
3786
  continue;
3752
3787
  }
3753
3788
  // |keyCtrl9j=Tab,7_0,Enter| -> |keyCtrl9j=Tab,S,D,F,Space,J,K,L,Enter| のように補完
3789
+ // |pos9j=0..4,6..9| -> |pos9j=0,1,2,3,4,6,7,8,9|
3754
3790
  g_keyObj[`${keyheader}_${k + dfPtn}`] =
3755
- tmpArray[k].split(`,`).map(n =>
3791
+ toOriginalArray(tmpArray[k], toFloatStr).map(n =>
3756
3792
  structuredClone(g_keyObj[`${_name}${getKeyPtnName(n)}`]) ?? [_convFunc(n)]
3757
3793
  ).flat();
3758
3794
  if (baseCopyFlg) {
@@ -3803,7 +3839,7 @@ const keysConvert = (_dosObj, { keyExtraList = _dosObj.keyExtraList?.split(`,`)
3803
3839
  // 通常の指定方法 (例: |shuffle8i=1,1,1,2,0,0,0,0/1,1,1,1,0,0,0,0| )の場合の取り込み
3804
3840
  // 部分的にキーパターン指定があった場合は既存パターンを展開 (例: |shuffle9j=2,7_0_0,2|)
3805
3841
  g_keyObj[`${keyheader}_${k + dfPtn}_${ptnCnt}`] =
3806
- makeBaseArray(list.split(`,`).map(n =>
3842
+ makeBaseArray(toOriginalArray(list, toSameValStr).map(n =>
3807
3843
  structuredClone(g_keyObj[`${_name}${getKeyPtnName(n)}`]) ??
3808
3844
  [isNaN(parseInt(n)) ? n : parseInt(n, 10)]
3809
3845
  ).flat(), g_keyObj[`${g_keyObj.defaultProp}${_key}_${k + dfPtn}`].length, 0);
@@ -3977,6 +4013,9 @@ const keysConvert = (_dosObj, { keyExtraList = _dosObj.keyExtraList?.split(`,`)
3977
4013
  // キーグループ (keyGroupX_Y)
3978
4014
  newKeyMultiParam(newKey, `keyGroup`, toSplitArrayStr);
3979
4015
 
4016
+ // キーグループの表示制御 (keyGroupOrderX_Y)
4017
+ newKeyMultiParam(newKey, `keyGroupOrder`, toString);
4018
+
3980
4019
  // スクロールパターン (scrollX_Y)
3981
4020
  // |scroll(newKey)=Cross::1,1,-1,-1,-1,1,1/Split::1,1,1,-1,-1,-1,-1$...|
3982
4021
  newKeyPairParam(newKey, `scroll`, `scrollDir`, `---`, 1);
@@ -6148,7 +6187,8 @@ const keyConfigInit = (_kcType = g_kcType) => {
6148
6187
  const maxLeftX = Math.min(0, (kWidth - C_ARW_WIDTH) / 2 - maxLeftPos * g_keyObj.blank);
6149
6188
 
6150
6189
  g_keycons.cursorNumList = [...Array(keyNum).keys()].map(i => i);
6151
- const configKeyGroupList = g_headerObj.keyGroupOrder[g_stateObj.scoreId] ?? tkObj.keyGroupList;
6190
+ const configKeyGroupList = g_headerObj.keyGroupOrder[g_stateObj.scoreId] ??
6191
+ g_keyObj[`keyGroupOrder${keyCtrlPtn}`] ?? tkObj.keyGroupList;
6152
6192
 
6153
6193
  /**
6154
6194
  * keyconSpriteのスクロール位置調整
@@ -6534,14 +6574,18 @@ const keyConfigInit = (_kcType = g_kcType) => {
6534
6574
  appearConfigView(j, C_DIS_INHERIT);
6535
6575
  }
6536
6576
  }
6537
- changeConfigCursor(0);
6577
+ if (g_keycons.cursorNumList.length === 0) {
6578
+ appearConfigSteps(0);
6579
+ } else {
6580
+ changeConfigCursor(0);
6538
6581
 
6539
- // keySwitchボタンを一旦非選択にして、選択中のものを再度色付け
6540
- if (configKeyGroupList.length > 1) {
6541
- for (let j = 0; j < configKeyGroupList.length; j++) {
6542
- document.getElementById(`key${j}`).classList.replace(g_cssObj.button_Next, g_cssObj.button_Mini);
6582
+ // keySwitchボタンを一旦非選択にして、選択中のものを再度色付け
6583
+ if (configKeyGroupList.length > 1) {
6584
+ for (let j = 0; j < configKeyGroupList.length; j++) {
6585
+ document.getElementById(`key${j}`).classList.replace(g_cssObj.button_Next, g_cssObj.button_Mini);
6586
+ }
6587
+ document.getElementById(`key${_num}`).classList.replace(g_cssObj.button_Mini, g_cssObj.button_Next);
6543
6588
  }
6544
- document.getElementById(`key${_num}`).classList.replace(g_cssObj.button_Mini, g_cssObj.button_Next);
6545
6589
  }
6546
6590
  };
6547
6591
 
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * Source by tickle
7
7
  * Created : 2019/11/19
8
- * Revised : 2024/01/28 (v35.0.0)
8
+ * Revised : 2024/02/08 (v35.2.1)
9
9
  *
10
10
  * https://github.com/cwtickle/danoniplus
11
11
  */
@@ -1793,6 +1793,13 @@ const g_keyObj = {
1793
1793
  chara5_2: [`left`, `down`, `space`, `up`, `right`],
1794
1794
  chara8_2: [`sleft`, `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
1795
1795
 
1796
+ // 頻度の高い譜面データ名パターン
1797
+ // 後で chara4A, chara4A_a, chara4A_b, ... に変換する
1798
+ ptchara4A: [`left`, `down`, `up`, `right`],
1799
+ ptchara3S: [`left`, `leftdia`, `down`],
1800
+ ptchara3J: [`up`, `rightdia`, `right`],
1801
+ ptchara7: [`left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
1802
+
1796
1803
  // ColorGroup - 1
1797
1804
  // - 同じ数字が同じグループになる
1798
1805
  color5_0_0: [0, 0, 0, 0, 2],
@@ -1930,6 +1937,12 @@ const g_keyObj = {
1930
1937
  // ShapeGroup - 3 (矢印回転、AAキャラクタ)
1931
1938
  stepRtn17_0_2: [45, 45, 0, 0, -45, -45, -90, -90, `onigiri`, 90, 90, 135, 135, 180, 180, 225, 225],
1932
1939
 
1940
+ // 頻度の高い部分ShapeGroupの定義
1941
+ stepRtn4A: [0, -90, 90, 180],
1942
+ stepRtn3S: [0, -45, -90],
1943
+ stepRtn3J: [90, 135, 180],
1944
+ stepRtn3Z: [`giko`, `onigiri`, `iyo`],
1945
+
1933
1946
  // 各キーの区切り位置
1934
1947
  // - 未指定の場合は下段への折り返し無し
1935
1948
  div9i_0: 6,
@@ -2008,6 +2021,17 @@ const g_keyObj = {
2008
2021
 
2009
2022
  keyCtrl8_5: [[`Shift`], [`Z`], [`S`], [`X`, `C`], [`D`, `F`], [`V`], [`G`], [`B`]],
2010
2023
 
2024
+ // 頻度の高い部分キーコンフィグの定義
2025
+ keyCtrl4A: [[`Left`], [`Down`], [`Up`], [`Right`]],
2026
+ keyCtrl4S: [[`S`], [`D`], [`E`, `R`], [`F`]],
2027
+ keyCtrl4J: [[`J`], [`K`], [`I`, `O`], [`L`]],
2028
+ keyCtrl4W: [[`W`], [`E`], [`D3`, `D4`], [`R`]],
2029
+ keyCtrl4U: [[`U`], [`I`], [`D8`, `D9`], [`O`]],
2030
+ keyCtrl3S: [[`S`], [`D`], [`F`]],
2031
+ keyCtrl3J: [[`J`], [`K`], [`L`]],
2032
+ keyCtrl3W: [[`W`], [`E`], [`R`]],
2033
+ keyCtrl3Z: [[`Z`], [`X`], [`C`]],
2034
+
2011
2035
  // 隣接するステップゾーン間の距離
2012
2036
  blank: 55,
2013
2037
  blank_def: 55,
@@ -2368,6 +2392,13 @@ Object.keys(g_copyKeyPtn).forEach(keyPtnTo => {
2368
2392
  }
2369
2393
  });
2370
2394
 
2395
+ // 頻度の高い譜面データ名の自動生成 (left -> aleft, bleft, ..., zleft を生成)
2396
+ Object.keys(g_keyObj).filter(val => val.startsWith(`ptchara`)).forEach(charaPtn => {
2397
+ g_keyObj[`${charaPtn.slice(2)}`] = g_keyObj[charaPtn].concat();
2398
+ [...Array(26)].map((a, b) => (10 + b).toString(36)).forEach(alphabet =>
2399
+ g_keyObj[`${charaPtn.slice(2)}_${alphabet}`] = g_keyObj[charaPtn].map(str => `${alphabet}${str}`));
2400
+ });
2401
+
2371
2402
  // デフォルト配列のコピー (g_keyObj.aaa_X から g_keyObj.aaa_Xd を作成)
2372
2403
  // keyCtrlX_Yについて1キーにつき2キー割り当てできるように配列を補完
2373
2404
  const keyCtrlName = Object.keys(g_keyObj).filter(val => val.startsWith(`keyCtrl`));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "danoniplus",
3
- "version": "35.0.0",
3
+ "version": "35.2.1",
4
4
  "description": "Dancing☆Onigiri (CW Edition) - Web-based Rhythm Game",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -1,438 +0,0 @@
1
- 'use strict';
2
- /**
3
- * Dancing☆Onigiri 設定用jsファイル
4
- * Template Update: 2024/01/28 (v35.0.0)
5
- *
6
- * このファイルでは、作品全体に対しての初期設定を行うことができます。
7
- * 譜面データ側で個別に同様の項目が設定されている場合は、譜面データ側の設定が優先されます。
8
- * 例えばこのファイルで g_presetObj.tuning = `onigiri` とすると全ての作品に製作者名として「onigiri」が設定されますが、
9
- * 譜面データ側で |tuning=washoi| とするとその作品には製作者名として「washoi」が設定されます。
10
- */
11
-
12
-
13
- /*
14
- ------------------------------------------------------------------------
15
- 制作者クレジット・基本設定
16
- https://github.com/cwtickle/danoniplus/wiki/dos-s0001-makerInfo
17
- ------------------------------------------------------------------------
18
- */
19
-
20
- /** 譜面製作者名 */
21
- g_presetObj.tuning = `name`;
22
-
23
- /** 譜面製作者URL */
24
- g_presetObj.tuningUrl = `https://www.google.co.jp/`;
25
-
26
- /** 自動横幅拡張設定 (true:有効、false:無効 / デフォルトは true) */
27
- //g_presetObj.autoSpread = false;
28
-
29
- /** 個人サイト別の最小横幅設定 */
30
- //g_presetObj.autoMinWidth = 600;
31
-
32
- /** 個人サイト別の最小高さ設定 */
33
- //g_presetObj.autoMinHeight = 500;
34
-
35
- /** 個人サイト別の高さ可変設定 (true: 有効、false: 無効 / デフォルトは false)*/
36
- //g_presetObj.heightVariable = true;
37
-
38
- /** 個人サイト別のウィンドウ位置 (left:左寄せ, center:中央, right:右寄せ)*/
39
- //g_presetObj.windowAlign = `center`;
40
-
41
- /*
42
- ------------------------------------------------------------------------
43
- カスタムファイル設定
44
- https://github.com/cwtickle/danoniplus/wiki/dos-s0002-customFile
45
- ------------------------------------------------------------------------
46
- */
47
-
48
- /** 既定スキン (デフォルトは default) */
49
- g_presetObj.skinType = `default`;
50
-
51
- /** skinTypeがdefaultのとき、Canvas背景を有効にするかどうかのフラグ (デフォルトは有効(true)。falseで無効化) */
52
- //g_presetObj.bgCanvasUse = false;
53
-
54
- /** 既定カスタムJs (デフォルトは danoni_custom.js) */
55
- //g_presetObj.customJs = `danoni_custom.js,danoni_init.js`;
56
-
57
- /** 既定カスタムCss (デフォルトは指定なし、cssフォルダを参照) */
58
- //g_presetObj.customCss = `danoni_custom.css`;
59
-
60
- /** 背景・マスクモーションで使用する画像パスの指定方法を他の設定に合わせる設定 (trueで有効化) */
61
- //g_presetObj.syncBackPath = true;
62
-
63
- /*
64
- ------------------------------------------------------------------------
65
- ゲージ設定
66
- https://github.com/cwtickle/danoniplus/wiki/dos-s0003-initialGauge
67
- ------------------------------------------------------------------------
68
- */
69
-
70
- /** ゲージ設定(デフォルト)*/
71
- g_presetObj.gauge = {
72
- // Border: 70, // ノルマ制でのボーダーライン、ライフ制にしたい場合は `x` を指定
73
- // Recovery: 2, // 回復量
74
- // Damage: 7, // ダメージ量
75
- // Init: 25, // 初期値
76
- };
77
-
78
- /** ゲージ設定(デフォルト以外)*/
79
- g_presetObj.gaugeCustom = {
80
- Easy: {
81
- Border: 70,
82
- Recovery: 4,
83
- Damage: 7,
84
- Init: 25,
85
- },
86
- Hard: {
87
- Border: `x`,
88
- Recovery: 1,
89
- Damage: 50,
90
- Init: 100,
91
- },
92
- NoRecovery: {
93
- Border: `x`,
94
- Recovery: 0,
95
- Damage: 50,
96
- Init: 100,
97
- },
98
- SuddenDeath: {
99
- Border: `x`,
100
- Recovery: 0,
101
- Damage: setVal(g_rootObj.maxLifeVal, C_VAL_MAXLIFE, C_TYP_FLOAT),
102
- Init: 100,
103
- },
104
- Practice: {
105
- Border: `x`,
106
- Recovery: 0,
107
- Damage: 0,
108
- Init: 50,
109
- }
110
- };
111
-
112
- /**
113
- カスタムゲージ設定(デフォルト)
114
- 'ゲージ名': `回復・ダメージ量設定` の形式で指定します。
115
- (F : 矢印数によらず固定, V: 矢印数により変動)
116
- */
117
- /*
118
- g_presetObj.gaugeList = {
119
- 'Original': `F`,
120
- 'Normal': `V`,
121
- 'Hard': `V`,
122
- };
123
- */
124
-
125
- /**
126
- 空押し判定を行うか
127
- 判定させる場合は true を指定
128
- */
129
- g_presetObj.excessiveJdgUse = false;
130
-
131
-
132
- /*
133
- ------------------------------------------------------------------------
134
- フリーズアロー設定
135
- https://github.com/cwtickle/danoniplus/wiki/dos-s0004-frzArrow
136
- ------------------------------------------------------------------------
137
- */
138
-
139
- /** フリーズアローのデフォルト色セットの利用有無 (true: 使用, false: 矢印色を優先してセット) */
140
- g_presetObj.frzColors = true;
141
-
142
- /**
143
- 矢印色変化に対応してフリーズアロー色を追随する範囲の設定 (Normal: 通常時、Hit: ヒット時)
144
- ※この設定は、g_presetObj.frzColors = false もしくは
145
- 譜面ヘッダー:defaultFrzColorUse=false のときにのみ有効です。
146
- */
147
- //g_presetObj.frzScopeFromAC = [`Normal`, `Hit`];
148
-
149
- /**
150
- フリーズアローの始点で通常矢印の判定を行うか(dotさんソース方式)
151
- 判定させる場合は true を指定
152
- */
153
- g_presetObj.frzStartjdgUse = false;
154
-
155
- /*
156
- ------------------------------------------------------------------------
157
- デフォルトデザイン・画像設定
158
- https://github.com/cwtickle/danoniplus/wiki/dos-s0005-defaultDesign
159
- ------------------------------------------------------------------------
160
- */
161
-
162
- // デフォルトのデザインを使用せず、独自のデザインを使用するかを指定
163
- // カスタムデザインにする場合は true を指定
164
- g_presetObj.customDesignUse = {
165
- title: false,
166
- titleArrow: false,
167
- titleAnimation: false,
168
- back: false,
169
- backMain: false,
170
- ready: false,
171
- };
172
-
173
- /**
174
- デフォルト画像セットの設定
175
- (セット対象のフォルダ名, 拡張子, 画像回転有無(true or false), Flat時ステップ間隔の順に指定)
176
-
177
- 事前に、[img]フォルダ配下にセット対象のサブフォルダを作成し、その中に一式を入れておく必要あり
178
- 下記の場合は[classic]フォルダに[png]形式の画像一式をデフォルト画像セットとして使用する
179
-
180
- 未指定の場合のデフォルト値は以下の通り
181
- セット対象のフォルダ名:`` (imgフォルダ直下)
182
- 拡張子:`svg`形式
183
- 画像回転有無:true(回転有り)
184
- Flat時ステップ間隔:50(px) ※矢印サイズ
185
- */
186
- //g_presetObj.imageSets = [``, `classic,png`, `classic-thin,png`, `note,svg,false,0`];
187
-
188
- /**
189
- デフォルト画像セット (C_IMG_XXXX, 厳密にはg_imgObj) に対して拡張子の上書きを行うか設定
190
- 文字列の後ろ3文字をカットして、下記の値を適用する。コメントアウトした場合は、上書きを行わない。
191
- `svg`: デフォルト(svg形式)、`png`: 従来画像(png形式)
192
- */
193
- //g_presetObj.overrideExtension = `svg`;
194
-
195
- /**
196
- 追加指定する画像のリスト(サーバ上の場合のみ有効)
197
- ここで設定した画像をimgフォルダに指定した名前で格納しておくことで、
198
- stepRtnX_Yで設定する名前に使用することができる
199
-
200
- `ball`と指定した場合、下記の画像を準備する必要あり
201
- - ball.svg, ballShadow.svg, ballStepHit.svg (g_presetOverrideExtension を pngにすれば、pngに変更可)
202
- */
203
- //g_presetObj.customImageList = [`ball`, `square`];
204
-
205
- /**
206
- * 背景・マスクモーションで利用する「animationFillMode」のデフォルト値
207
- * - none : 初期画像へ戻す
208
- * - forwards : アニメーション100%の状態を維持(デフォルト)
209
- * - backwards : アニメーション 0%の状態に戻す
210
- */
211
- //g_presetObj.animationFillMode = `none`;
212
-
213
-
214
- /*
215
- ------------------------------------------------------------------------
216
- オプション有効化
217
- https://github.com/cwtickle/danoniplus/wiki/dos-s0006-settingUse
218
- ------------------------------------------------------------------------
219
- */
220
-
221
- /**
222
- オプション利用設定(デフォルト)
223
- 一律使用させたくない場合は `false` を指定(デフォルトは `true`)
224
- Display設定の場合は `true,OFF`(設定は有効だが初期値はOFF)といったことができる
225
- */
226
- g_presetObj.settingUse = {
227
- motion: `true`,
228
- scroll: `true`,
229
- shuffle: `true`,
230
- autoPlay: `true`,
231
- gauge: `true`,
232
- excessive: `true`,
233
- appearance: `true`,
234
-
235
- // stepZone: `true`,
236
- // judgment: `true`,
237
- // fastSlow: `true`,
238
- // lifeGauge: `true`,
239
- // score: `true`,
240
- // musicInfo: `true`,
241
- // filterLine: `true`,
242
- // speed: `true`,
243
- // color: `true`,
244
- // lyrics: `true`,
245
- // background: `true`,
246
- // arrowEffect: `true`,
247
- // special: `true`,
248
- };
249
-
250
- /*
251
- ------------------------------------------------------------------------
252
- プレイ画面制御
253
- https://github.com/cwtickle/danoniplus/wiki/dos-s0007-viewControl
254
- ------------------------------------------------------------------------
255
- */
256
-
257
- /**
258
- Reverse時の歌詞の自動反転制御設定
259
-
260
- 通常は以下の条件でReverseが指定された場合、歌詞表示を反転します。
261
- この設定をどのように制御するか設定します。
262
- ・上下スクロールを挟まないキーに限定(5key, 7key, 7ikey, 9A/9Bkeyなど)
263
- ・リバース・スクロール拡張用の歌詞表示(wordRev_data / wordAlt_data)が設定されていない作品
264
- ・SETTINGS 画面で Reverse:ON、Scroll:--- (指定なし) を指定してプレイ開始した場合
265
- ・歌詞表示がすべて1段表示の場合
266
-
267
- <設定可能の値>
268
- `auto`(既定):上記ルールに従い設定 / `OFF`: 上記ルールに関わらず反転しない / `ON`: 上記ルールに関わらず反転する
269
- */
270
- //g_presetObj.wordAutoReverse = `auto`;
271
-
272
- /**
273
- * フェードイン時にそれ以前のデータを蓄積しない種別(word, back, mask)を指定
274
- */
275
- g_presetObj.unStockCategories = [];
276
-
277
- /**
278
- * フェードイン時、プリロードを強制削除するリスト(英字は小文字で指定)
279
- * 指定例) back: [`fade`] ※back_dataでアニメーション名に'fade'や'Fade'を含む
280
- */
281
- g_presetObj.stockForceDelList = {
282
- word: [],
283
- back: [],
284
- mask: [],
285
- };
286
-
287
- /**
288
- * ショートカットキーが既定と異なる場合に表示する
289
- * ショートカットキーエリア用に、プレイ時のみ左右に拡張するサイズの設定
290
- * - 表示内容が収まるサイズは80px
291
- * - 下記のplayingLayoutの設定により拡張幅が変わる (center: 左右両方拡張, left: 右のみ拡張)
292
- */
293
- //g_presetObj.scAreaWidth = 80;
294
-
295
- /**
296
- * プレイ画面の表示レイアウト (既定: center)
297
- * - 現状影響する範囲は「scAreaWidth」の設定のみ
298
- */
299
- //g_presetObj.playingLayout = `left`;
300
-
301
- /**
302
- * プレイ画面の位置調整
303
- * - 譜面ヘッダーのplayingX, playingY, playingWidth, playingHeightと同じ
304
- */
305
- //g_presetObj.playingX = 0;
306
- //g_presetObj.playingY = 0;
307
- //g_presetObj.playingWidth = 600;
308
- //g_presetObj.playingHeight = 500;
309
-
310
- /*
311
- ------------------------------------------------------------------------
312
- リザルトデータ
313
- https://github.com/cwtickle/danoniplus/wiki/dos-s0008-resultVals
314
- ------------------------------------------------------------------------
315
- */
316
-
317
- /*
318
- リザルトデータのフォーマット設定
319
- 以下のタグは下記で置き換えられます。
320
- [hashTag] ハッシュタグ
321
- [rank] ランク
322
- [score] スコア
323
- [playStyle] オプション設定
324
- [arrowJdg] 矢印判定数
325
- [frzJdg] フリーズアロー判定数
326
- [maxCombo] マックスコンボ、フリーズコンボ
327
- [url] scoreId付きURL
328
- */
329
- // デフォルトフォーマット
330
- // g_presetObj.resultFormat = `【#danoni[hashTag]】[musicTitle]([keyLabel]) /[maker] /Rank:[rank]/Score:[score]/Playstyle:[playStyle]/[arrowJdg]/[frzJdg]/[maxCombo] [url]`;
331
-
332
- // MFV2さんフォーマット(オプション設定なし・参考)
333
- // g_presetObj.resultFormat = `【#danoni[hashTag]】[musicTitle]/[keyLabel] /[maker] /[rank]/[arrowJdg]/[frzJdg]/Mc[maxCombo]/Sco[score]-[exScore] [url]`;
334
-
335
- /*
336
- リザルトデータ用のカスタム変数群
337
-
338
- プロパティを定義するとそれに応じた変数に置換されます。
339
- 右側に定義する値は、g_resultObj配下に定義する必要があります。
340
-
341
- 例) exScore: `exScores`,
342
- [exScore] -> g_resultObj.exScores
343
- */
344
- g_presetObj.resultVals = {
345
- // exScore: `exScore`,
346
- };
347
-
348
- /*
349
- リザルトカスタムデータの表示設定
350
- g_presetObj.resultVals から、リザルト画像データに表示したい項目を列挙します。
351
- */
352
- //g_presetObj.resultValsView = [`exScore`];
353
-
354
- /*
355
- ------------------------------------------------------------------------
356
- ラベルテキスト・メッセージの上書き
357
- https://github.com/cwtickle/danoniplus/wiki/dos-s0009-labelUpdate
358
- ------------------------------------------------------------------------
359
- */
360
-
361
- /**
362
- * ラベルテキスト (g_lblNameObj) に対応するプロパティを上書きする設定
363
- * ※danoni_setting.js の他、customjsにも利用可
364
- * ※設定可能項目についてはdanoni_constants.jsをご覧ください。
365
- */
366
- g_presetObj.lblName = {
367
- Ja: {
368
-
369
- },
370
- En: {
371
-
372
- },
373
- };
374
-
375
- /**
376
- * オンマウステキスト、確認メッセージ定義 (g_msgObj) に対応するプロパティを上書きする設定
377
- * ※danoni_setting.js の他、customjsにも利用可
378
- * ※設定可能項目についてはdanoni_constants.jsをご覧ください。
379
- */
380
- g_presetObj.msg = {
381
- Ja: {
382
-
383
- },
384
- En: {
385
-
386
- },
387
- };
388
-
389
- /**
390
- * 設定名の上書き可否設定
391
- */
392
- g_presetObj.lblRenames = {
393
- option: true,
394
- settingsDisplay: true,
395
- main: true,
396
- keyConfig: true,
397
- result: true,
398
- };
399
-
400
-
401
- /*
402
- ------------------------------------------------------------------------
403
- カスタムキー定義
404
- https://github.com/cwtickle/danoniplus/wiki/dos-s0010-customKeys
405
- ------------------------------------------------------------------------
406
- */
407
-
408
- /**
409
- * カスタムキー定義(共通)
410
- * 指定方法は作品別にカスタムキーを定義する方法と同じ(ただし、keyExtraList必須)
411
- *
412
- * 定義方法は下記を参照のこと
413
- * https://github.com/cwtickle/danoniplus/wiki/keys
414
- * https://github.com/cwtickle/danoniplus/wiki/tips-0004-extrakeys
415
- */
416
- /*
417
- g_presetObj.keysData = `
418
-
419
- |keyExtraList=6,9v|
420
- |color6=0,1,0,1,0,2$2,0,1,0,1,0|
421
- |chara6=left,leftdia,down,rightdia,right,space$space,left,leftdia,down,rightdia,right|
422
- |div6=6$6|
423
- |stepRtn6=0,45,-90,135,180,onigiri$onigiri,0,45,-90,135,180|
424
- |keyCtrl6=75/0,79/0,76/0,80/0,187/0,32/0$32/0,75/0,79/0,76/0,80/0,187/0|
425
- |shuffle6=1,1,1,1,1,0$0,1,1,1,1,1|
426
-
427
- |chara9v=9B_0$9B_0|
428
- |color9v=1,0,1,0,2,0,1,0,1$9B_0|
429
- |div9v=9$9|
430
- |keyCtrl9v=52/0,82/0,70/0,86/0,32/0,78/0,74/0,73/0,57/0$9B_0|
431
- |pos9v=0,1,2,3,4,5,6,7,8$0,1,2,3,4,5,6,7,8|
432
- |scroll9v=---::1,1,-1,-1,-1,-1,-1,1,1/flat::1,1,1,1,1,1,1,1,1$9B_0|
433
- |shuffle9v=9B_0$9B_0|
434
- |stepRtn9v=90,120,150,180,onigiri,0,30,60,90$9B_0|
435
- |transKey9v=$9B|
436
-
437
- `;
438
- */