danoniplus 33.5.1 → 33.7.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 : 2023/09/05
7
+ * Revised : 2023/09/08
8
8
  *
9
9
  * https://github.com/cwtickle/danoniplus
10
10
  */
11
- const g_version = `Ver 33.5.1`;
12
- const g_revisedDate = `2023/09/05`;
11
+ const g_version = `Ver 33.7.0`;
12
+ const g_revisedDate = `2023/09/08`;
13
13
 
14
14
  // カスタム用バージョン (danoni_custom.js 等で指定可)
15
15
  let g_localVersion = ``;
@@ -2714,9 +2714,15 @@ const headerConvert = _dosObj => {
2714
2714
 
2715
2715
  // 横幅設定
2716
2716
  if (hasVal(_dosObj.windowWidth)) {
2717
- g_sWidth = setIntVal(_dosObj.windowWidth, g_sWidth);
2717
+ g_sWidth = Math.max(setIntVal(_dosObj.windowWidth, g_sWidth), g_sWidth);
2718
2718
  $id(`canvas-frame`).width = `${g_sWidth}px`;
2719
2719
  }
2720
+ // 高さ設定
2721
+ if (hasVal(_dosObj.windowHeight) || hasVal(g_presetObj.autoMinHeight)) {
2722
+ g_sHeight = Math.max(setIntVal(_dosObj.windowHeight, g_sHeight),
2723
+ setIntVal(g_presetObj.autoMinHeight, g_sHeight), g_sHeight);
2724
+ $id(`canvas-frame`).height = `${g_sHeight}px`;
2725
+ }
2720
2726
 
2721
2727
  // 曲名
2722
2728
  obj.musicTitles = [];
@@ -2983,13 +2989,21 @@ const headerConvert = _dosObj => {
2983
2989
  makeWarningWindow(g_msgInfoObj.E_0042.split(`{0}`).join(`playbackRate`));
2984
2990
  }
2985
2991
 
2992
+ // プレイサイズ(X方向, Y方向)
2993
+ obj.playingWidth = setIntVal(_dosObj.playingWidth, g_presetObj.playingWidth ?? `default`);
2994
+ obj.playingHeight = setIntVal(_dosObj.playingHeight, g_presetObj.playingHeight ?? g_sHeight);
2995
+
2996
+ // プレイ左上位置(X座標, Y座標)
2997
+ obj.playingX = setIntVal(_dosObj.playingX, g_presetObj.playingX ?? 0);
2998
+ obj.playingY = setIntVal(_dosObj.playingY, g_presetObj.playingY ?? 0);
2999
+
2986
3000
  // ステップゾーン位置
2987
3001
  g_posObj.stepY = (isNaN(parseFloat(_dosObj.stepY)) ? C_STEP_Y : parseFloat(_dosObj.stepY));
2988
3002
  g_posObj.stepYR = (isNaN(parseFloat(_dosObj.stepYR)) ? C_STEP_YR : parseFloat(_dosObj.stepYR));
2989
3003
  g_posObj.stepDiffY = g_posObj.stepY - C_STEP_Y;
2990
- g_posObj.distY = g_sHeight - C_STEP_Y + g_posObj.stepYR;
3004
+ g_posObj.distY = obj.playingHeight - C_STEP_Y + g_posObj.stepYR;
2991
3005
  g_posObj.reverseStepY = g_posObj.distY - g_posObj.stepY - g_posObj.stepDiffY - C_ARW_WIDTH;
2992
- g_posObj.arrowHeight = g_sHeight + g_posObj.stepYR - g_posObj.stepDiffY * 2;
3006
+ g_posObj.arrowHeight = obj.playingHeight + g_posObj.stepYR - g_posObj.stepDiffY * 2;
2993
3007
  obj.bottomWordSetFlg = setBoolVal(_dosObj.bottomWordSet);
2994
3008
 
2995
3009
  // 矢印・フリーズアロー判定位置補正
@@ -3219,12 +3233,6 @@ const headerConvert = _dosObj => {
3219
3233
  // Reverse時の歌詞の自動反転制御
3220
3234
  obj.wordAutoReverse = _dosObj.wordAutoReverse ?? g_presetObj.wordAutoReverse ?? `auto`;
3221
3235
 
3222
- // プレイサイズ(X方向)
3223
- obj.playingWidth = setIntVal(_dosObj.playingWidth, `default`);
3224
-
3225
- // プレイ左上位置(X座標)
3226
- obj.playingX = setIntVal(_dosObj.playingX);
3227
-
3228
3236
  // プレイ中クレジットを表示しないエリアのサイズ(X方向)
3229
3237
  obj.customViewWidth = setVal(_dosObj.customViewWidth ?? _dosObj.customCreditWidth, 0, C_TYP_FLOAT);
3230
3238
 
@@ -4277,8 +4285,8 @@ const makeWarningWindow = (_text = ``, { resetFlg = false, backBtnUse = false }
4277
4285
  * お知らせウィンドウ(汎用)を表示
4278
4286
  * @param {string} _text
4279
4287
  */
4280
- const makeInfoWindow = (_text, _animationName = ``, { _backColor = `#ccccff`, _x = 0 } = {}) => {
4281
- const lblWarning = setWindowStyle(`<p>${_text}</p>`, _backColor, `#000066`, C_ALIGN_CENTER, { _x: _x });
4288
+ const makeInfoWindow = (_text, _animationName = ``, { _backColor = `#ccccff`, _x = 0, _y = 0 } = {}) => {
4289
+ const lblWarning = setWindowStyle(`<p>${_text}</p>`, _backColor, `#000066`, C_ALIGN_CENTER, { _x, _y });
4282
4290
  lblWarning.style.pointerEvents = C_DIS_NONE;
4283
4291
 
4284
4292
  if (_animationName !== ``) {
@@ -4297,7 +4305,7 @@ const makeInfoWindow = (_text, _animationName = ``, { _backColor = `#ccccff`, _x
4297
4305
  * @param {string} _textColor
4298
4306
  * @param {string} _align
4299
4307
  */
4300
- const setWindowStyle = (_text, _bkColor, _textColor, _align = C_ALIGN_LEFT, { _x = 0 } = {}) => {
4308
+ const setWindowStyle = (_text, _bkColor, _textColor, _align = C_ALIGN_LEFT, { _x = 0, _y = 0 } = {}) => {
4301
4309
 
4302
4310
  deleteDiv(divRoot, `lblWarning`);
4303
4311
 
@@ -4314,7 +4322,7 @@ const setWindowStyle = (_text, _bkColor, _textColor, _align = C_ALIGN_LEFT, { _x
4314
4322
  const warnHeight = Math.min(150, Math.max(range.getClientRects().length,
4315
4323
  _text.split(`<br>`).length + _text.split(`<p>`).length - 1) * 21);
4316
4324
  const lbl = createDivCss2Label(`lblWarning`, _text, {
4317
- x: _x, y: 70, w: g_sWidth, h: warnHeight, siz: g_limitObj.mainSiz, backgroundColor: _bkColor,
4325
+ x: _x, y: 70 + _y, w: g_sWidth, h: warnHeight, siz: g_limitObj.mainSiz, backgroundColor: _bkColor,
4318
4326
  opacity: 0.9, lineHeight: `15px`, color: _textColor, align: _align, fontFamily: getBasicFont(),
4319
4327
  whiteSpace: `normal`,
4320
4328
  });
@@ -4496,7 +4504,7 @@ const makeDifList = (_difList, _targetKey = ``) => {
4496
4504
  _difList.appendChild(makeDifLblCssButton(`dif${k}`, text, k, _ => nextDifficulty(j - g_stateObj.scoreId),
4497
4505
  { btnStyle: (j === g_stateObj.scoreId ? `Setting` : `Default`) }));
4498
4506
  if (j === g_stateObj.scoreId) {
4499
- pos = k + 6;
4507
+ pos = k + 6 + (g_sHeight - 500) / 50;
4500
4508
  }
4501
4509
  k++;
4502
4510
  }
@@ -7826,7 +7834,7 @@ const getFirstArrowFrame = (_dataObj, _keyCtrlPtn = `${g_keyObj.currentKey}_${g_
7826
7834
  ];
7827
7835
 
7828
7836
  data.filter(data => hasVal(data)).forEach(_objData => {
7829
- if (data[0] !== `` && data[0] < tmpFirstNum && data[0] + g_limitObj.adjustment > 0) {
7837
+ if (_objData[0] !== `` && _objData[0] < tmpFirstNum && _objData[0] + g_limitObj.adjustment > 0) {
7830
7838
  tmpFirstNum = _objData[0];
7831
7839
  }
7832
7840
  });
@@ -7875,7 +7883,7 @@ const setSpeedOnFrame = (_speedData, _lastFrame) => {
7875
7883
  * Motionオプション適用時の矢印別の速度設定
7876
7884
  * - 矢印が表示される最大フレーム数を 縦ピクセル数×20 と定義。
7877
7885
  */
7878
- const setMotionOnFrame = _ => g_motionFunc[g_stateObj.motion]([...Array(g_sHeight * 20 + 1)].fill(0));
7886
+ const setMotionOnFrame = _ => g_motionFunc[g_stateObj.motion]([...Array(g_headerObj.playingHeight * 20 + 1)].fill(0));
7879
7887
 
7880
7888
  /**
7881
7889
  * Boost用の適用関数
@@ -7900,7 +7908,7 @@ const getBrakeTrace = _frms => {
7900
7908
  for (let j = C_MOTION_STD_POS + 5; j < C_MOTION_STD_POS + 19; j++) {
7901
7909
  _frms[j] = (j - 15) * 4 / 14;
7902
7910
  }
7903
- for (let j = C_MOTION_STD_POS + 19; j <= g_sHeight / 2; j++) {
7911
+ for (let j = C_MOTION_STD_POS + 19; j <= g_headerObj.playingHeight / 2; j++) {
7904
7912
  _frms[j] = 4;
7905
7913
  }
7906
7914
  return _frms;
@@ -8686,14 +8694,15 @@ const mainInit = _ => {
8686
8694
 
8687
8695
  // ステップゾーン、矢印のメインスプライトを作成
8688
8696
  const mainSprite = createEmptySprite(divRoot, `mainSprite`, {
8689
- x: g_workObj.playingX, y: g_posObj.stepY - C_STEP_Y, w: g_headerObj.playingWidth, transform: `scale(${g_keyObj.scale})`,
8697
+ x: g_workObj.playingX, y: g_posObj.stepY - C_STEP_Y + g_headerObj.playingY, w: g_headerObj.playingWidth, h: g_headerObj.playingHeight,
8698
+ transform: `scale(${g_keyObj.scale})`,
8690
8699
  });
8691
8700
 
8692
8701
  // 曲情報・判定カウント用スプライトを作成(メインスプライトより上位)
8693
- const infoSprite = createEmptySprite(divRoot, `infoSprite`, { x: g_workObj.playingX, w: g_headerObj.playingWidth });
8702
+ const infoSprite = createEmptySprite(divRoot, `infoSprite`, { x: g_workObj.playingX, y: g_headerObj.playingY, w: g_headerObj.playingWidth, h: g_headerObj.playingHeight });
8694
8703
 
8695
8704
  // 判定系スプライトを作成(メインスプライトより上位)
8696
- const judgeSprite = createEmptySprite(divRoot, `judgeSprite`, { x: g_workObj.playingX, w: g_headerObj.playingWidth });
8705
+ const judgeSprite = createEmptySprite(divRoot, `judgeSprite`, { x: g_workObj.playingX, y: g_headerObj.playingY, w: g_headerObj.playingWidth, h: g_headerObj.playingHeight });
8697
8706
 
8698
8707
  const tkObj = getKeyInfo();
8699
8708
  const [keyCtrlPtn, keyNum] = [tkObj.keyCtrlPtn, tkObj.keyNum];
@@ -8931,20 +8940,20 @@ const mainInit = _ => {
8931
8940
 
8932
8941
  // ライフ背景
8933
8942
  createColorObject2(`lifeBackObj`, {
8934
- x: 5, y: 50, w: 15, h: g_sHeight - 100, styleName: `lifeBar`, display: g_workObj.lifegaugeDisp,
8943
+ x: 5, y: 50, w: 15, h: g_headerObj.playingHeight - 100, styleName: `lifeBar`, display: g_workObj.lifegaugeDisp,
8935
8944
  }, g_cssObj.life_Background),
8936
8945
 
8937
8946
  // ライフ本体
8938
8947
  createColorObject2(`lifeBar`, {
8939
- x: 5, y: 50 + (g_sHeight - 100) * (g_headerObj.maxLifeVal - intLifeVal) / g_headerObj.maxLifeVal,
8940
- w: 15, h: (g_sHeight - 100) * intLifeVal / g_headerObj.maxLifeVal, styleName: `lifeBar`,
8948
+ x: 5, y: 50 + (g_headerObj.playingHeight - 100) * (g_headerObj.maxLifeVal - intLifeVal) / g_headerObj.maxLifeVal,
8949
+ w: 15, h: (g_headerObj.playingHeight - 100) * intLifeVal / g_headerObj.maxLifeVal, styleName: `lifeBar`,
8941
8950
  display: g_workObj.lifegaugeDisp,
8942
8951
  }, lblInitColor),
8943
8952
 
8944
8953
  // ライフ:ボーダーライン
8945
8954
  // この背景の画像は40x16で作成しているが、`padding-right:5px`があるためサイズを35x16で作成
8946
8955
  createColorObject2(`lifeBorderObj`, {
8947
- x: 10, y: 42 + (g_sHeight - 100) * (g_headerObj.maxLifeVal - g_workObj.lifeBorder) / g_headerObj.maxLifeVal,
8956
+ x: 10, y: 42 + (g_headerObj.playingHeight - 100) * (g_headerObj.maxLifeVal - g_workObj.lifeBorder) / g_headerObj.maxLifeVal,
8948
8957
  w: 35, h: 16, background: C_CLR_BORDER, styleName: `lifeBorder`,
8949
8958
  fontFamily: getBasicFont(), display: g_workObj.lifegaugeDisp,
8950
8959
  }, g_cssObj.life_Border, g_cssObj.life_BorderColor),
@@ -8964,18 +8973,18 @@ const mainInit = _ => {
8964
8973
 
8965
8974
  if (g_workObj.nonDefaultSc) {
8966
8975
  multiAppend(infoSprite,
8967
- createDivCss2Label(`lblRetry`, `[${g_lblNameObj.l_retry}]`, Object.assign(g_lblPosObj.lblMainScHeader, { y: g_sHeight - 65 })),
8976
+ createDivCss2Label(`lblRetry`, `[${g_lblNameObj.l_retry}]`, Object.assign(g_lblPosObj.lblMainScHeader, { y: g_headerObj.playingHeight - 65 })),
8968
8977
  );
8969
8978
  multiAppend(infoSprite,
8970
8979
  createDivCss2Label(`lblRetrySc`, g_kCd[g_headerObj.keyRetry],
8971
- Object.assign(g_lblPosObj.lblMainScKey, { y: g_sHeight - 50, fontWeight: g_headerObj.keyRetry === C_KEY_RETRY ? `normal` : `bold` })),
8980
+ Object.assign(g_lblPosObj.lblMainScKey, { y: g_headerObj.playingHeight - 50, fontWeight: g_headerObj.keyRetry === C_KEY_RETRY ? `normal` : `bold` })),
8972
8981
  );
8973
8982
  multiAppend(infoSprite,
8974
- createDivCss2Label(`lblTitleBack`, `[${g_lblNameObj.l_titleBack}]`, Object.assign(g_lblPosObj.lblMainScHeader, { y: g_sHeight - 35 })),
8983
+ createDivCss2Label(`lblTitleBack`, `[${g_lblNameObj.l_titleBack}]`, Object.assign(g_lblPosObj.lblMainScHeader, { y: g_headerObj.playingHeight - 35 })),
8975
8984
  );
8976
8985
  multiAppend(infoSprite,
8977
8986
  createDivCss2Label(`lblTitleBackSc`, g_isMac ? `Shift+${g_kCd[g_headerObj.keyRetry]}` : g_kCd[g_headerObj.keyTitleBack],
8978
- Object.assign(g_lblPosObj.lblMainScKey, { y: g_sHeight - 20, fontWeight: g_headerObj.keyTitleBack === C_KEY_TITLEBACK ? `normal` : `bold` })),
8987
+ Object.assign(g_lblPosObj.lblMainScKey, { y: g_headerObj.playingHeight - 20, fontWeight: g_headerObj.keyTitleBack === C_KEY_TITLEBACK ? `normal` : `bold` })),
8979
8988
  );
8980
8989
  }
8981
8990
 
@@ -8988,13 +8997,13 @@ const mainInit = _ => {
8988
8997
  // 歌詞表示
8989
8998
  const wordSprite = createEmptySprite(judgeSprite, `wordSprite`, { w: g_headerObj.playingWidth });
8990
8999
  for (let j = 0; j <= g_scoreObj.wordMaxDepth; j++) {
8991
- const wordY = (j % 2 === 0 ? 10 : (g_headerObj.bottomWordSetFlg ? g_posObj.distY + 10 : g_sHeight - 60));
9000
+ const wordY = (j % 2 === 0 ? 10 : (g_headerObj.bottomWordSetFlg ? g_posObj.distY + 10 : g_headerObj.playingHeight - 60));
8992
9001
  wordSprite.appendChild(createDivCss2Label(`lblword${j}`, ``, Object.assign(g_lblPosObj.lblWord, { y: wordY, fontFamily: getBasicFont() })));
8993
9002
  }
8994
9003
 
8995
9004
  const jdgGroups = [`J`, `FJ`];
8996
9005
  const jdgX = [g_headerObj.playingWidth / 2 - 220, g_headerObj.playingWidth / 2 - 120];
8997
- const jdgY = [(g_sHeight + g_posObj.stepYR) / 2 - 60, (g_sHeight + g_posObj.stepYR) / 2 + 10];
9006
+ const jdgY = [(g_headerObj.playingHeight + g_posObj.stepYR) / 2 - 60, (g_headerObj.playingHeight + g_posObj.stepYR) / 2 + 10];
8998
9007
  if (g_stateObj.d_background === C_FLG_OFF && g_headerObj.jdgPosReset) {
8999
9008
  } else {
9000
9009
  jdgY[0] += g_diffObj.arrowJdgY;
@@ -9068,7 +9077,7 @@ const mainInit = _ => {
9068
9077
  divRoot.appendChild(
9069
9078
  createDivCss2Label(`lblReady`, readyHtml, {
9070
9079
  x: g_workObj.playingX + (g_headerObj.playingWidth - g_sWidth) / 2,
9071
- y: (g_sHeight + g_posObj.stepYR) / 2 - 75,
9080
+ y: g_headerObj.playingY + (g_headerObj.playingHeight + g_posObj.stepYR) / 2 - 75,
9072
9081
  w: g_sWidth, h: 50, siz: 40,
9073
9082
  animationDuration: `${g_headerObj.readyAnimationFrame / g_fps}s`,
9074
9083
  animationName: g_headerObj.readyAnimationName,
@@ -9078,7 +9087,7 @@ const mainInit = _ => {
9078
9087
  }
9079
9088
 
9080
9089
  if (getMusicUrl(g_stateObj.scoreId) === `nosound.mp3`) {
9081
- makeInfoWindow(g_msgInfoObj.I_0004, `leftToRightFade`, { _x: g_workObj.playingX });
9090
+ makeInfoWindow(g_msgInfoObj.I_0004, `leftToRightFade`, { _x: g_workObj.playingX, _y: g_headerObj.playingY });
9082
9091
  }
9083
9092
 
9084
9093
  // ユーザカスタムイベント(初期)
@@ -10275,8 +10284,8 @@ const changeLifeColor = (_state = ``) => {
10275
10284
 
10276
10285
  const intLifeVal = Math.floor(g_workObj.lifeVal);
10277
10286
  lblLife.textContent = intLifeVal;
10278
- lifeBar.style.top = `${50 + (g_sHeight - 100) * (g_headerObj.maxLifeVal - intLifeVal) / g_headerObj.maxLifeVal}px`;
10279
- lifeBar.style.height = `${(g_sHeight - 100) * intLifeVal / g_headerObj.maxLifeVal}px`;
10287
+ lifeBar.style.top = `${50 + (g_headerObj.playingHeight - 100) * (g_headerObj.maxLifeVal - intLifeVal) / g_headerObj.maxLifeVal}px`;
10288
+ lifeBar.style.height = `${(g_headerObj.playingHeight - 100) * intLifeVal / g_headerObj.maxLifeVal}px`;
10280
10289
  };
10281
10290
 
10282
10291
  const lifeRecovery = _ => {
@@ -10839,7 +10848,7 @@ const resultInit = _ => {
10839
10848
 
10840
10849
  canvas.id = `resultImage`;
10841
10850
  canvas.width = 400;
10842
- canvas.height = 410;
10851
+ canvas.height = g_sHeight - 90;
10843
10852
  canvas.style.left = `${(g_sWidth - canvas.width) / 2}px`;
10844
10853
  canvas.style.top = `20px`;
10845
10854
  canvas.style.position = `absolute`;
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * Source by tickle
7
7
  * Created : 2019/11/19
8
- * Revised : 2023/08/27 (v33.4.0)
8
+ * Revised : 2023/09/07 (v33.6.0)
9
9
  *
10
10
  * https://github.com/cwtickle/danoniplus
11
11
  */
@@ -167,7 +167,8 @@ const C_TYP_CALC = `calc`;
167
167
  let [g_sWidth, g_sHeight] = [
168
168
  setVal($id(`canvas-frame`).width, 500, C_TYP_FLOAT), setVal($id(`canvas-frame`).height, 500, C_TYP_FLOAT)
169
169
  ];
170
- $id(`canvas-frame`).width = `${g_sWidth}px`;
170
+ $id(`canvas-frame`).width = `${Math.max(g_sWidth, 500)}px`;
171
+ $id(`canvas-frame`).height = `${Math.max(g_sHeight, 500)}px`;
171
172
  $id(`canvas-frame`).margin = `auto`;
172
173
 
173
174
  // 固定ウィンドウサイズ
@@ -175,9 +176,6 @@ const g_windowObj = {
175
176
  divRoot: { margin: `auto`, letterSpacing: `normal` },
176
177
  divBack: { background: `linear-gradient(#000000, #222222)` },
177
178
 
178
- difList: { x: 165, y: 60, w: 280, h: 261, overflow: `auto` },
179
- difCover: { x: 25, y: 60, w: 140, h: 261, overflow: `auto`, opacity: 0.95 },
180
-
181
179
  scoreDetail: { x: 20, y: 85, w: 420, h: 236, visibility: `hidden` },
182
180
  detailObj: { w: 420, h: 230, visibility: `hidden` },
183
181
 
@@ -189,12 +187,14 @@ const g_lblPosObj = {};
189
187
  // 可変部分のウィンドウサイズを更新
190
188
  const updateWindowSiz = _ => {
191
189
  Object.assign(g_windowObj, {
192
- optionSprite: { x: (g_sWidth - 450) / 2, y: 65 + (g_sHeight - 500) / 2, w: 450, h: 325 },
190
+ optionSprite: { x: (g_sWidth - 450) / 2, y: 65, w: 450, h: 325 },
191
+ difList: { x: 165, y: 60, w: 280, h: 261 + g_sHeight - 500, overflow: `auto` },
192
+ difCover: { x: 25, y: 60, w: 140, h: 261 + g_sHeight - 500, overflow: `auto`, opacity: 0.95 },
193
193
  displaySprite: { x: 25, y: 30, w: (g_sWidth - 450) / 2, h: g_limitObj.setLblHeight * 5 },
194
- keyconSprite: { y: 88 + (g_sHeight - 500) / 2, h: g_sHeight, overflow: `auto` },
194
+ keyconSprite: { y: 88, h: g_sHeight, overflow: `auto` },
195
195
  loader: { y: g_sHeight - 10, h: 10, backgroundColor: `#333333` },
196
- playDataWindow: { x: g_sWidth / 2 - 225, y: 70 + (g_sHeight - 500) / 2, w: 450, h: 110 },
197
- resultWindow: { x: g_sWidth / 2 - 200, y: 185 + (g_sHeight - 500) / 2, w: 400, h: 210 },
196
+ playDataWindow: { x: g_sWidth / 2 - 225, y: 70, w: 450, h: 110 },
197
+ resultWindow: { x: g_sWidth / 2 - 200, y: 185, w: 400, h: 210 },
198
198
  });
199
199
 
200
200
  Object.assign(g_lblPosObj, {
@@ -379,23 +379,23 @@ const updateWindowSiz = _ => {
379
379
  x: -8, y: -8, w: C_ARW_WIDTH + 16, h: C_ARW_WIDTH + 16,
380
380
  },
381
381
  lblCredit: {
382
- x: 125, y: g_sHeight - 30, w: g_headerObj.playingWidth - 125, h: 20, align: C_ALIGN_LEFT,
382
+ x: 125, y: g_headerObj.playingHeight - 30, w: g_headerObj.playingWidth - 125, h: 20, align: C_ALIGN_LEFT,
383
383
  },
384
384
  lblDifName: {
385
- x: 125, y: g_sHeight - 16, w: g_headerObj.playingWidth, h: 20, align: C_ALIGN_LEFT,
385
+ x: 125, y: g_headerObj.playingHeight - 16, w: g_headerObj.playingWidth, h: 20, align: C_ALIGN_LEFT,
386
386
  },
387
387
  lblTime1: {
388
- x: 18, y: g_sHeight - 30, w: 40, h: 20, siz: g_limitObj.mainSiz, align: C_ALIGN_RIGHT,
388
+ x: 18, y: g_headerObj.playingHeight - 30, w: 40, h: 20, siz: g_limitObj.mainSiz, align: C_ALIGN_RIGHT,
389
389
  },
390
390
  lblTime2: {
391
- x: 60, y: g_sHeight - 30, w: 60, h: 20, siz: g_limitObj.mainSiz,
391
+ x: 60, y: g_headerObj.playingHeight - 30, w: 60, h: 20, siz: g_limitObj.mainSiz,
392
392
  },
393
393
  lblWord: {
394
394
  x: 100, w: g_headerObj.playingWidth - 200, h: 50,
395
395
  siz: g_limitObj.mainSiz, align: C_ALIGN_LEFT, display: `block`, margin: `auto`,
396
396
  },
397
397
  finishView: {
398
- x: g_headerObj.playingWidth / 2 - 150, y: g_sHeight / 2 - 50, w: 300, h: 20, siz: 50,
398
+ x: g_headerObj.playingWidth / 2 - 150, y: g_headerObj.playingHeight / 2 - 50, w: 300, h: 20, siz: 50,
399
399
  },
400
400
  musicInfoOFF: {
401
401
  x: 20, animationDuration: `4.0s`, animationName: `leftToRightFade`, animationFillMode: `both`,
@@ -412,7 +412,7 @@ const updateWindowSiz = _ => {
412
412
  x: 340, y: 160, w: 70, h: 20, siz: 50, align: C_ALIGN_CENTER,
413
413
  },
414
414
  lblResultPre: {
415
- x: g_sWidth / 2 - 150, y: g_sHeight / 2 - 160, w: 200, h: 50, siz: 60, opacity: 0,
415
+ x: g_sWidth / 2 - 150, y: 90, w: 200, h: 50, siz: 60, opacity: 0,
416
416
  },
417
417
  lblResultPre2: {
418
418
  x: g_sWidth / 2 + 50, y: 40, w: 200, h: 30, siz: 20,
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
  /**
3
3
  * Dancing☆Onigiri 設定用jsファイル
4
- * Template Update: 2023/08/27 (v33.4.0)
4
+ * Template Update: 2023/09/08 (v33.7.0)
5
5
  *
6
6
  * このファイルでは、作品全体に対しての初期設定を行うことができます。
7
7
  * 譜面データ側で個別に同様の項目が設定されている場合は、譜面データ側の設定が優先されます。
@@ -29,6 +29,9 @@ g_presetObj.tuningUrl = `https://www.google.co.jp/`;
29
29
  /** 個人サイト別の最小横幅設定 */
30
30
  //g_presetObj.autoMinWidth = 600;
31
31
 
32
+ /** 個人サイト別の最小高さ設定 */
33
+ //g_presetObj.autoMinHeight = 500;
34
+
32
35
  /** 個人サイト別のウィンドウ位置 (left:左寄せ, center:中央, right:右寄せ)*/
33
36
  //g_presetObj.windowAlign = `center`;
34
37
 
@@ -292,6 +295,15 @@ g_presetObj.stockForceDelList = {
292
295
  */
293
296
  //g_presetObj.playingLayout = `left`;
294
297
 
298
+ /**
299
+ * プレイ画面の位置調整
300
+ * - 譜面ヘッダーのplayingX, playingY, playingWidth, playingHeightと同じ
301
+ */
302
+ //g_presetObj.playingX = 0;
303
+ //g_presetObj.playingY = 0;
304
+ //g_presetObj.playingWidth = 600;
305
+ //g_presetObj.playingHeight = 500;
306
+
295
307
  /*
296
308
  ------------------------------------------------------------------------
297
309
  リザルトデータ
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "danoniplus",
3
- "version": "33.5.1",
3
+ "version": "33.7.0",
4
4
  "description": "Dancing☆Onigiri (CW Edition) - Web-based Rhythm Game",
5
5
  "main": "index.js",
6
6
  "scripts": {