danoniplus 34.7.1 → 35.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/js/danoni_main.js CHANGED
@@ -4,12 +4,12 @@
4
4
  *
5
5
  * Source by tickle
6
6
  * Created : 2018/10/08
7
- * Revised : 2024/01/27
7
+ * Revised : 2024/01/28
8
8
  *
9
9
  * https://github.com/cwtickle/danoniplus
10
10
  */
11
- const g_version = `Ver 34.7.1`;
12
- const g_revisedDate = `2024/01/27`;
11
+ const g_version = `Ver 35.0.0`;
12
+ const g_revisedDate = `2024/01/28`;
13
13
 
14
14
  // カスタム用バージョン (danoni_custom.js 等で指定可)
15
15
  let g_localVersion = ``;
@@ -2138,9 +2138,10 @@ const initialControl = async () => {
2138
2138
  * 作品別ローカルストレージの読み込み・初期設定
2139
2139
  */
2140
2140
  const loadLocalStorage = _ => {
2141
- // URLからscoreIdを削除
2141
+ // URLからscoreId, h(高さ)を削除
2142
2142
  const url = new URL(location.href);
2143
- url.searchParams.delete('scoreId');
2143
+ url.searchParams.delete(`scoreId`);
2144
+ url.searchParams.delete(`h`);
2144
2145
  g_localStorageUrl = url.toString();
2145
2146
 
2146
2147
  /**
@@ -2730,9 +2731,10 @@ const headerConvert = _dosObj => {
2730
2731
  $id(`canvas-frame`).width = wUnit(g_sWidth);
2731
2732
  }
2732
2733
  // 高さ設定
2733
- if (hasVal(_dosObj.windowHeight) || hasVal(g_presetObj.autoMinHeight)) {
2734
- g_sHeight = Math.max(setIntVal(_dosObj.windowHeight, g_sHeight),
2735
- setIntVal(g_presetObj.autoMinHeight, g_sHeight), g_sHeight);
2734
+ obj.heightVariable = getQueryParamVal(`h`) !== null && (_dosObj.heightVariable || g_presetObj.heightVariable || false);
2735
+ if (hasVal(_dosObj.windowHeight || g_presetObj.autoMinHeight) || obj.heightVariable) {
2736
+ g_sHeight = Math.max(setIntVal(_dosObj.windowHeight, g_presetObj.autoMinHeight ?? g_sHeight),
2737
+ setIntVal(getQueryParamVal(`h`), g_sHeight), g_sHeight);
2736
2738
  $id(`canvas-frame`).height = wUnit(g_sHeight);
2737
2739
  }
2738
2740
 
@@ -3021,7 +3023,9 @@ const headerConvert = _dosObj => {
3021
3023
 
3022
3024
  // プレイサイズ(X方向, Y方向)
3023
3025
  obj.playingWidth = setIntVal(_dosObj.playingWidth, g_presetObj.playingWidth ?? `default`);
3024
- obj.playingHeight = setIntVal(_dosObj.playingHeight, g_presetObj.playingHeight ?? g_sHeight);
3026
+ const tmpPlayingHeight = setIntVal(_dosObj.playingHeight, g_presetObj.playingHeight ?? g_sHeight);
3027
+ obj.playingHeight = Math.max(obj.heightVariable ?
3028
+ setIntVal(getQueryParamVal(`h`) - (g_sHeight - tmpPlayingHeight), tmpPlayingHeight) : tmpPlayingHeight, 400);
3025
3029
 
3026
3030
  // プレイ左上位置(X座標, Y座標)
3027
3031
  obj.playingX = setIntVal(_dosObj.playingX, g_presetObj.playingX ?? 0);
@@ -3036,6 +3040,9 @@ const headerConvert = _dosObj => {
3036
3040
  g_posObj.arrowHeight = obj.playingHeight + g_posObj.stepYR - g_posObj.stepDiffY * 2;
3037
3041
  obj.bottomWordSetFlg = setBoolVal(_dosObj.bottomWordSet);
3038
3042
 
3043
+ // ウィンドウサイズ(高さ)とステップゾーン位置の組み合わせで基準速度を変更
3044
+ obj.baseSpeed = 1 + ((g_posObj.distY - (g_posObj.stepY - C_STEP_Y) * 2) / (500 - C_STEP_Y) - 1) * 0.85;
3045
+
3039
3046
  // 矢印・フリーズアロー判定位置補正
3040
3047
  g_diffObj.arrowJdgY = (isNaN(parseFloat(_dosObj.arrowJdgY)) ? 0 : parseFloat(_dosObj.arrowJdgY));
3041
3048
  g_diffObj.frzJdgY = (isNaN(parseFloat(_dosObj.frzJdgY)) ? 0 : parseFloat(_dosObj.frzJdgY));
@@ -4482,6 +4489,17 @@ const inputSlider = (_slider, _link) => {
4482
4489
  return value;
4483
4490
  };
4484
4491
 
4492
+ /**
4493
+ * スライダー共通処理
4494
+ * @param {object} _slider
4495
+ * @param {object} _link
4496
+ */
4497
+ const inputSliderAppearance = (_slider, _link) => {
4498
+ const value = parseInt(_slider.value);
4499
+ _link.textContent = `${g_hidSudObj.distH[g_stateObj.appearance](value)}`;
4500
+ return value;
4501
+ };
4502
+
4485
4503
  /**
4486
4504
  * 譜面変更セレクターの削除
4487
4505
  */
@@ -5167,6 +5185,11 @@ const createOptionWindow = _sprite => {
5167
5185
  skipTerms: g_settings.speedTerms, hiddenBtn: true, scLabel: g_lblNameObj.sc_speed, roundNum: 5,
5168
5186
  unitName: ` ${g_lblNameObj.multi}`,
5169
5187
  });
5188
+ if (g_headerObj.baseSpeed !== 1) {
5189
+ divRoot.appendChild(
5190
+ createDivCss2Label(`lblBaseSpd`, `Δv: ${Math.round(g_headerObj.baseSpeed * 100) / 100}x`, { x: g_sWidth - 100, y: 0, w: 100, h: 20, siz: 14 })
5191
+ );
5192
+ }
5170
5193
 
5171
5194
  /**
5172
5195
  * 譜面明細子画面・グラフの作成
@@ -5992,7 +6015,7 @@ const createSettingsDisplayWindow = _sprite => {
5992
6015
 
5993
6016
  // Hidden+/Sudden+初期値用スライダー、ロックボタン
5994
6017
  multiAppend(spriteList.appearance,
5995
- createDivCss2Label(`lblAppearancePos`, `${g_hidSudObj.filterPos}${g_lblNameObj.percent}`, g_lblPosObj.lblAppearancePos),
6018
+ createDivCss2Label(`lblAppearancePos`, `${g_hidSudObj.distH[g_stateObj.appearance](g_hidSudObj.filterPos)}`, g_lblPosObj.lblAppearancePos),
5996
6019
  createDivCss2Label(`lblAppearanceBar`, `<input id="appearanceSlider" type="range" value="${g_hidSudObj.filterPos}" min="0" max="100" step="1">`,
5997
6020
  g_lblPosObj.lblAppearanceBar),
5998
6021
  createCss2Button(`lnkLockBtn`, g_lblNameObj.filterLock, evt => setLockView(evt.target),
@@ -6012,11 +6035,13 @@ const createSettingsDisplayWindow = _sprite => {
6012
6035
 
6013
6036
  const appearanceSlider = document.getElementById(`appearanceSlider`);
6014
6037
  appearanceSlider.addEventListener(`input`, _ =>
6015
- g_hidSudObj.filterPos = inputSlider(appearanceSlider, lblAppearancePos), false);
6038
+ g_hidSudObj.filterPos = inputSliderAppearance(appearanceSlider, lblAppearancePos), false);
6016
6039
 
6017
- const dispAppearanceSlider = _ =>
6018
- [`lblAppearancePos`, `lblAppearanceBar`, `lnkLockBtn`, `lnkfilterLine`].forEach(obj =>
6040
+ const dispAppearanceSlider = _ => {
6041
+ [`lblAppearanceBar`, `lnkLockBtn`, `lnkfilterLine`].forEach(obj =>
6019
6042
  $id(obj).visibility = g_appearanceRanges.includes(g_stateObj.appearance) ? `Visible` : `Hidden`);
6043
+ inputSliderAppearance(appearanceSlider, lblAppearancePos);
6044
+ };
6020
6045
  dispAppearanceSlider();
6021
6046
 
6022
6047
  // ---------------------------------------------------
@@ -7924,11 +7949,11 @@ const getStartFrame = (_lastFrame, _fadein = 0, _scoreId = g_stateObj.scoreId) =
7924
7949
  const setSpeedOnFrame = (_speedData, _lastFrame) => {
7925
7950
 
7926
7951
  const speedOnFrame = [];
7927
- let currentSpeed = g_stateObj.speed * 2;
7952
+ let currentSpeed = g_stateObj.speed * g_headerObj.baseSpeed * 2;
7928
7953
 
7929
7954
  for (let frm = 0, s = 0; frm <= _lastFrame; frm++) {
7930
7955
  while (frm >= _speedData?.[s]) {
7931
- currentSpeed = _speedData[s + 1] * g_stateObj.speed * 2;
7956
+ currentSpeed = _speedData[s + 1] * g_stateObj.speed * g_headerObj.baseSpeed * 2;
7932
7957
  s += 2;
7933
7958
  }
7934
7959
  speedOnFrame[frm] = currentSpeed;
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * Source by tickle
7
7
  * Created : 2019/11/19
8
- * Revised : 2024/01/12 (v34.7.0)
8
+ * Revised : 2024/01/28 (v35.0.0)
9
9
  *
10
10
  * https://github.com/cwtickle/danoniplus
11
11
  */
@@ -1032,6 +1032,13 @@ let g_storeSettingsEx = [`d_stepzone`, `d_judgment`, `d_fastslow`, `d_lifegauge`
1032
1032
 
1033
1033
  let g_canDisabledSettings = [`motion`, `scroll`, `shuffle`, `autoPlay`, `gauge`, `excessive`, `appearance`];
1034
1034
 
1035
+ const g_hidSudFunc = {
1036
+ filterPos: _filterPos => `${_filterPos}${g_lblNameObj.percent}`,
1037
+ range: _ => `${Math.round(g_posObj.arrowHeight - g_posObj.stepY)}px`,
1038
+ hidden: _filterPos => `${Math.min(Math.round(g_posObj.arrowHeight * (100 - _filterPos) / 100), g_posObj.arrowHeight - g_posObj.stepY)}`,
1039
+ sudden: _filterPos => `${Math.max(Math.round(g_posObj.arrowHeight * (100 - _filterPos) / 100) - g_posObj.stepY, 0)}`,
1040
+ };
1041
+
1035
1042
  const g_hidSudObj = {
1036
1043
  filterPos: 10,
1037
1044
 
@@ -1062,6 +1069,15 @@ const g_hidSudObj = {
1062
1069
  'Sudden+': { OFF: 1, ON: 0, },
1063
1070
  'Hid&Sud+': { OFF: 1, ON: 0, },
1064
1071
  },
1072
+ distH: {
1073
+ 'Visible': _ => ``,
1074
+ 'Hidden': _ => `${g_hidSudFunc.filterPos(50)} (${g_hidSudFunc.hidden(50)} / ${g_hidSudFunc.range()})`,
1075
+ 'Hidden+': (_filterPos) => `${g_hidSudFunc.filterPos(_filterPos)} (${g_hidSudFunc.hidden(_filterPos)} / ${g_hidSudFunc.range()})`,
1076
+ 'Sudden': _ => `${g_hidSudFunc.filterPos(40)} (${g_hidSudFunc.sudden(40)} / ${g_hidSudFunc.range()})`,
1077
+ 'Sudden+': (_filterPos) => `${g_hidSudFunc.filterPos(_filterPos)} (${g_hidSudFunc.sudden(_filterPos)} / ${g_hidSudFunc.range()})`,
1078
+ 'Hid&Sud+': (_filterPos) => `${g_hidSudFunc.filterPos(_filterPos)} (${Math.max(g_hidSudFunc.sudden(_filterPos)
1079
+ - (g_posObj.arrowHeight - g_posObj.stepY - g_hidSudFunc.hidden(_filterPos)), 0)} / ${g_hidSudFunc.range()})`,
1080
+ },
1065
1081
  };
1066
1082
 
1067
1083
  // ステップゾーン位置、到達距離(後で指定)
@@ -0,0 +1,438 @@
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
+ */
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
  /**
3
3
  * Dancing☆Onigiri 設定用jsファイル
4
- * Template Update: 2023/09/08 (v33.7.0)
4
+ * Template Update: 2024/01/28 (v35.0.0)
5
5
  *
6
6
  * このファイルでは、作品全体に対しての初期設定を行うことができます。
7
7
  * 譜面データ側で個別に同様の項目が設定されている場合は、譜面データ側の設定が優先されます。
@@ -32,6 +32,9 @@ g_presetObj.tuningUrl = `https://www.google.co.jp/`;
32
32
  /** 個人サイト別の最小高さ設定 */
33
33
  //g_presetObj.autoMinHeight = 500;
34
34
 
35
+ /** 個人サイト別の高さ可変設定 (true: 有効、false: 無効 / デフォルトは false)*/
36
+ //g_presetObj.heightVariable = true;
37
+
35
38
  /** 個人サイト別のウィンドウ位置 (left:左寄せ, center:中央, right:右寄せ)*/
36
39
  //g_presetObj.windowAlign = `center`;
37
40
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "danoniplus",
3
- "version": "34.7.1",
3
+ "version": "35.0.0",
4
4
  "description": "Dancing☆Onigiri (CW Edition) - Web-based Rhythm Game",
5
5
  "main": "index.js",
6
6
  "scripts": {