danoniplus 39.4.0 → 39.4.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 : 2025/02/09
7
+ * Revised : 2025/02/11
8
8
  *
9
9
  * https://github.com/cwtickle/danoniplus
10
10
  */
11
- const g_version = `Ver 39.4.0`;
12
- const g_revisedDate = `2025/02/10`;
11
+ const g_version = `Ver 39.4.1`;
12
+ const g_revisedDate = `2025/02/11`;
13
13
 
14
14
  // カスタム用バージョン (danoni_custom.js 等で指定可)
15
15
  let g_localVersion = ``;
@@ -89,6 +89,7 @@ const C_FLG_ON = `ON`;
89
89
  const C_FLG_OFF = `OFF`;
90
90
  const C_FLG_ALL = `ALL`;
91
91
  const C_DIS_NONE = `none`;
92
+ const C_DIS_AUTO = `auto`;
92
93
  const C_DIS_INHERIT = `inherit`;
93
94
 
94
95
  // 初期化フラグ(ボタンアニメーション制御)
@@ -663,7 +664,7 @@ const createScText = (_obj, _settingLabel, { displayName = `option`, dfLabel = `
663
664
  multiAppend(_obj,
664
665
  createDivCss2Label(`sc${_settingLabel}`,
665
666
  g_scViewObj.format.split(`{0}`).join(dfLabel || (`${g_kCd[g_kCdN.findIndex(kCd => kCd === scKey[0])] ?? ''}`)), {
666
- x, y, w, siz, fontWeight: `bold`, opacity: 0.75, pointerEvents: C_DIS_NONE,
667
+ x, y, w, siz, fontWeight: `bold`, opacity: 0.75,
667
668
  })
668
669
  );
669
670
  }
@@ -1106,7 +1107,6 @@ const getFontSize = (_str, _maxWidth, _font = getBasicFont(), _maxFontsize = 64,
1106
1107
  const createDescDiv = (_id, _str, { altId = _id, siz = g_limitObj.mainSiz } = {}) =>
1107
1108
  createDivCss2Label(_id, _str, Object.assign(g_lblPosObj[altId], {
1108
1109
  siz: getFontSize(_str, g_lblPosObj[altId]?.w || g_sWidth, getBasicFont(), siz),
1109
- pointerEvents: C_DIS_NONE,
1110
1110
  }));
1111
1111
 
1112
1112
  /*-----------------------------------------------------------*/
@@ -1173,6 +1173,7 @@ const createDivCss2Label = (_id, _text, { x = 0, y = 0, w = g_limitObj.setLblWid
1173
1173
  style.fontSize = wUnit(siz);
1174
1174
  style.fontFamily = getBasicFont();
1175
1175
  style.textAlign = `${align}`;
1176
+ style.pointerEvents = C_DIS_NONE;
1176
1177
  div.innerHTML = _text;
1177
1178
  Object.keys(rest).forEach(property => style[property] = rest[property]);
1178
1179
 
@@ -1212,6 +1213,7 @@ const createColorPicker = (_parentObj, _id, _func, { x = 0, y = 0 } = {}) => {
1212
1213
  picker.style.left = wUnit(x);
1213
1214
  picker.style.top = wUnit(y);
1214
1215
  picker.style.position = `absolute`;
1216
+ picker.style.pointerEvents = C_DIS_AUTO;
1215
1217
  picker.addEventListener(`change`, _func);
1216
1218
  _parentObj.appendChild(picker);
1217
1219
  return picker;
@@ -1252,6 +1254,7 @@ const createColorObject2 = (_id,
1252
1254
  style.maskSize = `contain`;
1253
1255
  style.webkitMaskImage = `url("${g_imgObj[charaStyle]}")`;
1254
1256
  style.webkitMaskSize = `contain`;
1257
+ style.pointerEvents = C_DIS_NONE;
1255
1258
  Object.keys(rest).forEach(property => style[property] = rest[property]);
1256
1259
  setAttrs(div, { color: rest.background ?? ``, type: charaStyle, cnt: 0, });
1257
1260
 
@@ -1281,6 +1284,7 @@ const createEmptySprite = (_parentObj, _newObjId, { x = 0, y = 0, w = g_sWidth,
1281
1284
  div.title = title;
1282
1285
 
1283
1286
  const style = div.style;
1287
+ style.pointerEvents = title === `` ? C_DIS_NONE : C_DIS_AUTO;
1284
1288
  Object.keys(rest).forEach(property => style[property] = rest[property]);
1285
1289
  _parentObj.appendChild(div);
1286
1290
 
@@ -1297,8 +1301,9 @@ const createEmptySprite = (_parentObj, _newObjId, { x = 0, y = 0, w = g_sWidth,
1297
1301
  const createMultipleSprite = (_baseName, _num, { x = 0 } = {}) => {
1298
1302
  const sprite = createEmptySprite(divRoot, _baseName);
1299
1303
  for (let j = 0; j <= _num; j++) {
1300
- createEmptySprite(sprite, `${_baseName}${j}`, { x });
1304
+ createEmptySprite(sprite, `${_baseName}${j}`);
1301
1305
  }
1306
+ addX(_baseName, `root`, x);
1302
1307
  return sprite;
1303
1308
  };
1304
1309
 
@@ -1403,6 +1408,7 @@ const createCss2Button = (_id, _text, _func = () => true, {
1403
1408
  style.textAlign = align;
1404
1409
  style.fontSize = wUnit(siz);
1405
1410
  style.fontFamily = getBasicFont();
1411
+ style.pointerEvents = C_DIS_AUTO;
1406
1412
  if (rest.animationName !== undefined) {
1407
1413
  style.animationDuration = `1s`;
1408
1414
  }
@@ -1413,7 +1419,7 @@ const createCss2Button = (_id, _text, _func = () => true, {
1413
1419
  if (g_initialFlg && g_btnWaitFrame[groupName].initial) {
1414
1420
  } else {
1415
1421
  style.pointerEvents = C_DIS_NONE;
1416
- setTimeout(() => style.pointerEvents = rest.pointerEvents ?? `auto`,
1422
+ setTimeout(() => style.pointerEvents = rest.pointerEvents ?? C_DIS_AUTO,
1417
1423
  g_btnWaitFrame[groupName].b_frame * 1000 / g_fps);
1418
1424
  }
1419
1425
  }
@@ -3101,7 +3107,7 @@ const headerConvert = _dosObj => {
3101
3107
  g_settings.speedNum = roundZero(g_settings.speeds.findIndex(speed => speed === g_stateObj.speed));
3102
3108
 
3103
3109
  // グラデーションのデフォルト中間色を設定
3104
- divRoot.appendChild(createDivCss2Label(`dummyLabel`, ``, { pointerEvents: C_DIS_NONE }));
3110
+ divRoot.appendChild(createDivCss2Label(`dummyLabel`, ``));
3105
3111
  obj.baseBrightFlg = setBoolVal(_dosObj.baseBright, checkLightOrDark(colorNameToCode(window.getComputedStyle(dummyLabel, ``).color)));
3106
3112
  const intermediateColor = obj.baseBrightFlg ? `#111111` : `#eeeeee`;
3107
3113
 
@@ -3469,7 +3475,7 @@ const headerConvert = _dosObj => {
3469
3475
  obj.commentExternal = setBoolVal(_dosObj.commentExternal);
3470
3476
 
3471
3477
  // Reverse時の歌詞の自動反転制御
3472
- obj.wordAutoReverse = _dosObj.wordAutoReverse ?? g_presetObj.wordAutoReverse ?? `auto`;
3478
+ obj.wordAutoReverse = _dosObj.wordAutoReverse ?? g_presetObj.wordAutoReverse ?? C_DIS_AUTO;
3473
3479
 
3474
3480
  // プレイ中クレジットを表示しないエリアのサイズ(X方向)
3475
3481
  obj.customViewWidth = setVal(_dosObj.customViewWidth ?? _dosObj.customCreditWidth, 0, C_TYP_FLOAT);
@@ -4567,9 +4573,7 @@ const titleInit = () => {
4567
4573
 
4568
4574
  // マスクスプライトを作成
4569
4575
  const maskTitleSprite = createMultipleSprite(`maskTitleSprite`, g_headerObj.maskTitleMaxDepth);
4570
- if (!g_headerObj.masktitleButton) {
4571
- maskTitleSprite.style.pointerEvents = C_DIS_NONE;
4572
- }
4576
+ maskTitleSprite.style.pointerEvents = g_headerObj.masktitleButton ? C_DIS_AUTO : C_DIS_NONE;
4573
4577
 
4574
4578
  /**
4575
4579
  * タイトルのモーション設定
@@ -4677,10 +4681,10 @@ const setWindowStyle = (_text, _bkColor, _textColor, _align = C_ALIGN_LEFT, { _x
4677
4681
  const lbl = createDivCss2Label(`lblWarning`, _text, {
4678
4682
  x: _x, y: 70 + _y, w: _w, h: warnHeight, siz: g_limitObj.mainSiz, backgroundColor: _bkColor,
4679
4683
  opacity: 0.9, lineHeight: wUnit(15), color: _textColor, align: _align, fontFamily: getBasicFont(),
4680
- whiteSpace: `normal`,
4684
+ whiteSpace: `normal`, pointerEvents: C_DIS_AUTO,
4681
4685
  });
4682
4686
  if (warnHeight === 150) {
4683
- lbl.style.overflow = `auto`;
4687
+ lbl.style.overflow = C_DIS_AUTO;
4684
4688
  }
4685
4689
 
4686
4690
  // 一時的な枠を削除
@@ -5386,7 +5390,7 @@ const makeHighScore = _scoreId => {
5386
5390
  `${g_localStorage.highscores?.[scoreName]?.fullCombo ?? '' ? '<span class="result_FullCombo">◆</span>' : ''}` +
5387
5391
  `${g_localStorage.highscores?.[scoreName]?.perfect ?? '' ? '<span class="result_Perfect">◆</span>' : ''}` +
5388
5392
  `${g_localStorage.highscores?.[scoreName]?.allPerfect ?? '' ? '<span class="result_AllPerfect">◆</span>' : ''}`, { xPos: 1, dx: 20, yPos: 12, w: 100, align: C_ALIGN_CENTER }),
5389
- createScoreLabel(`lblHClearLamps`, `Cleared: ` + (g_localStorage.highscores?.[scoreName]?.clearLamps?.join(', ') ?? `---`), { yPos: 13, overflow: `auto`, w: g_sWidth / 2 + 40, h: 37 }),
5393
+ createScoreLabel(`lblHClearLamps`, `Cleared: ` + (g_localStorage.highscores?.[scoreName]?.clearLamps?.join(', ') ?? `---`), { yPos: 13, overflow: C_DIS_AUTO, w: g_sWidth / 2 + 40, h: 37 }),
5390
5394
 
5391
5395
  createScoreLabel(`lblHShuffle`, g_stateObj.shuffle.indexOf(`Mirror`) < 0 ? `` : `Shuffle: <span class="common_iknai">${g_stateObj.shuffle}</span>`, { yPos: 11.5, dx: -130 }),
5392
5396
  createScoreLabel(`lblHAssist`, g_autoPlaysBase.includes(g_stateObj.autoPlay) ? `` : `Assist: <span class="common_kita">${g_stateObj.autoPlay}</span>`, { yPos: 12.5, dx: -130 }),
@@ -6027,7 +6031,7 @@ const createGeneralSetting = (_obj, _settingName, { unitName = ``,
6027
6031
  */
6028
6032
  const createLblSetting = (_settingName, _adjY = 0, _settingLabel = _settingName) => {
6029
6033
  const lbl = createDivCss2Label(`lbl${_settingName}`, g_lblNameObj[_settingLabel], {
6030
- x: -5, y: _adjY, w: 110,
6034
+ x: -5, y: _adjY, w: 110, pointerEvents: C_DIS_AUTO,
6031
6035
  }, `settings_${_settingName}`);
6032
6036
  lbl.title = g_msgObj[`${_settingName.charAt(0).toLowerCase()}${_settingName.slice(1)}`];
6033
6037
  return lbl;
@@ -6920,18 +6924,18 @@ const keyConfigInit = (_kcType = g_kcType) => {
6920
6924
  // 矢印の塗り部分
6921
6925
  createColorObject2(`arrowShadow${j}`, {
6922
6926
  x: keyconX, y: keyconY, background: hasVal(g_headerObj[`setShadowColor${g_colorType}`][colorPos]) ? getShadowColor(colorPos, arrowColor) : ``,
6923
- rotate: g_keyObj[`stepRtn${keyCtrlPtn}_${g_keycons.stepRtnGroupNum}`][j], styleName: `Shadow`, pointerEvents: `none`,
6927
+ rotate: g_keyObj[`stepRtn${keyCtrlPtn}_${g_keycons.stepRtnGroupNum}`][j], styleName: `Shadow`,
6924
6928
  }),
6925
6929
  // 矢印本体
6926
6930
  createColorObject2(`arrow${j}`, {
6927
- x: keyconX, y: keyconY, background: arrowColor, rotate: g_keyObj[`stepRtn${keyCtrlPtn}_${g_keycons.stepRtnGroupNum}`][j], pointerEvents: `none`,
6931
+ x: keyconX, y: keyconY, background: arrowColor, rotate: g_keyObj[`stepRtn${keyCtrlPtn}_${g_keycons.stepRtnGroupNum}`][j],
6928
6932
  }),
6929
6933
  );
6930
6934
  if (g_headerObj.shuffleUse && g_keyObj[`shuffle${keyCtrlPtn}`] !== undefined) {
6931
6935
  keyconSprite.appendChild(
6932
6936
  createCss2Button(`sArrow${j}`, ``, () => changeTmpShuffleNum(j), {
6933
6937
  x: keyconX, y: keyconY - 12, w: C_ARW_WIDTH, h: 15, siz: 12, fontWeight: `bold`,
6934
- pointerEvents: (g_settings.shuffles.filter(val => val.endsWith(`+`)).length > 0 ? `auto` : `none`),
6938
+ pointerEvents: (g_settings.shuffles.filter(val => val.endsWith(`+`)).length > 0 ? C_DIS_AUTO : C_DIS_NONE),
6935
6939
  cxtFunc: () => changeTmpShuffleNum(j, -1),
6936
6940
  }, g_cssObj.button_Default_NoColor, g_cssObj.title_base)
6937
6941
  );
@@ -8608,7 +8612,7 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
8608
8612
  // word_dataのみ指定されている場合、下記ルールに従って設定
8609
8613
  if (!wordTarget.includes(`Rev`) && g_stateObj.scroll === `---`) {
8610
8614
  // Reverse時の歌詞の自動反転制御設定
8611
- if (g_headerObj.wordAutoReverse !== `auto`) {
8615
+ if (g_headerObj.wordAutoReverse !== C_DIS_AUTO) {
8612
8616
  wordReverseFlg = g_headerObj.wordAutoReverse === C_FLG_ON;
8613
8617
  } else if (keyNum === divideCnt + 1) {
8614
8618
  wordReverseFlg = true;
@@ -8632,7 +8636,7 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
8632
8636
  let wordReverseFlg = _reverseFlg;
8633
8637
  const tmpArrayData = splitLF(_data);
8634
8638
 
8635
- if (g_headerObj.wordAutoReverse === `auto`) {
8639
+ if (g_headerObj.wordAutoReverse === C_DIS_AUTO) {
8636
8640
  tmpArrayData.filter(data => hasVal(data) && data?.indexOf(`<br>`) !== -1).forEach(() => wordReverseFlg = false);
8637
8641
  }
8638
8642
 
@@ -9951,8 +9955,7 @@ const mainInit = () => {
9951
9955
  const mainCommonPos = { w: g_headerObj.playingWidth, h: g_posObj.arrowHeight };
9952
9956
 
9953
9957
  // 背景スプライトを作成
9954
- createMultipleSprite(`backSprite`, g_scoreObj.backMaxDepth);
9955
- addX(`backSprite`, `root`, g_workObj.backX);
9958
+ createMultipleSprite(`backSprite`, g_scoreObj.backMaxDepth, { x: g_workObj.backX });
9956
9959
 
9957
9960
  // ステップゾーン、矢印のメインスプライトを作成
9958
9961
  const mainSprite = createEmptySprite(divRoot, `mainSprite`, mainCommonPos);
@@ -9971,8 +9974,7 @@ const mainInit = () => {
9971
9974
  const [keyCtrlPtn, keyNum] = [tkObj.keyCtrlPtn, tkObj.keyNum];
9972
9975
 
9973
9976
  // マスクスプライトを作成 (最上位)
9974
- createMultipleSprite(`maskSprite`, g_scoreObj.maskMaxDepth);
9975
- addX(`maskSprite`, `root`, g_workObj.backX);
9977
+ createMultipleSprite(`maskSprite`, g_scoreObj.maskMaxDepth, { x: g_workObj.backX });
9976
9978
 
9977
9979
  // カラー・モーションを適用するオブジェクトの種類
9978
9980
  const objList = (g_stateObj.dummyId === `` ? [``] : [`dummy`, ``]);
@@ -12488,7 +12490,7 @@ const resultInit = () => {
12488
12490
  * @param {string} _msg
12489
12491
  */
12490
12492
  const copyResultImageData = _msg => {
12491
- const tmpDiv = createEmptySprite(divRoot, `tmpDiv`, { x: 0, y: 0, w: g_sWidth, h: g_sHeight });
12493
+ const tmpDiv = createEmptySprite(divRoot, `tmpDiv`, { x: 0, y: 0, w: g_sWidth, h: g_sHeight, pointerEvents: C_DIS_AUTO });
12492
12494
  tmpDiv.style.background = `#000000cc`;
12493
12495
  const canvas = document.createElement(`canvas`);
12494
12496
  const artistName = g_headerObj.artistNames[g_headerObj.musicNos[g_stateObj.scoreId]] || g_headerObj.artistName;
@@ -12663,10 +12665,8 @@ const resultInit = () => {
12663
12665
  );
12664
12666
 
12665
12667
  // マスクスプライトを作成
12666
- const maskResultSprite = createMultipleSprite(`maskResultSprite`, g_headerObj.maskResultMaxDepth);
12667
- if (!g_headerObj.maskresultButton) {
12668
- maskResultSprite.style.pointerEvents = C_DIS_NONE;
12669
- }
12668
+ const makeResultSprite = createMultipleSprite(`maskResultSprite`, g_headerObj.maskResultMaxDepth);
12669
+ makeResultSprite.style.pointerEvents = g_headerObj.maskresultButton ? C_DIS_AUTO : C_DIS_NONE;
12670
12670
 
12671
12671
  // リザルトモーションの0フレーム対応
12672
12672
  g_animationData.filter(sprite => g_scoreObj[`${sprite}ResultFrameNum`] === 0 && g_headerObj[`${sprite}ResultData`][0] !== undefined)
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * Source by tickle
7
7
  * Created : 2019/11/19
8
- * Revised : 2025/02/10 (v39.4.0)
8
+ * Revised : 2025/02/11 (v39.4.1)
9
9
  *
10
10
  * https://github.com/cwtickle/danoniplus
11
11
  */
@@ -156,14 +156,14 @@ let [g_sWidth, g_sHeight] = [
156
156
  ];
157
157
  $id(`canvas-frame`).width = `${Math.max(g_sWidth, 500)}px`;
158
158
  $id(`canvas-frame`).height = `${Math.max(g_sHeight, 500)}px`;
159
- $id(`canvas-frame`).margin = `auto`;
159
+ $id(`canvas-frame`).margin = C_DIS_AUTO;
160
160
 
161
161
  const g_btnWidth = (_multi = 1) => Math.min(g_sWidth, g_limitObj.btnBaseWidth) * _multi;
162
162
  const g_btnX = (_multi = 0) => g_btnWidth(_multi) + Math.max((g_sWidth - g_limitObj.btnBaseWidth) / 2, 0);
163
163
 
164
164
  // 固定ウィンドウサイズ
165
165
  const g_windowObj = {
166
- divRoot: { margin: `auto`, letterSpacing: `normal` },
166
+ divRoot: { margin: C_DIS_AUTO, letterSpacing: `normal`, pointerEvents: C_DIS_AUTO },
167
167
  divBack: { background: `linear-gradient(#000000, #222222)` },
168
168
 
169
169
  colorPickSprite: { x: 0, y: 90, w: 50, h: 280 },
@@ -191,13 +191,13 @@ const getScMsg = {
191
191
  const updateWindowSiz = () => {
192
192
  Object.assign(g_windowObj, {
193
193
  optionSprite: { x: (g_sWidth - 450) / 2, y: 65, w: 450, h: 325 },
194
- difList: { x: 165, y: 60, w: 280, h: 270 + g_sHeight - 500, overflow: `auto` },
195
- difCover: { x: 20, y: 60, w: 145, h: 270 + g_sHeight - 500, opacity: 0.95 },
196
- difFilter: { x: 0, y: 66, w: 140, h: 204 + g_sHeight - 500, overflow: `auto` },
194
+ difList: { x: 165, y: 60, w: 280, h: 270 + g_sHeight - 500, overflow: C_DIS_AUTO, pointerEvents: C_DIS_AUTO },
195
+ difCover: { x: 20, y: 60, w: 145, h: 270 + g_sHeight - 500, opacity: 0.95, pointerEvents: C_DIS_AUTO },
196
+ difFilter: { x: 0, y: 66, w: 140, h: 204 + g_sHeight - 500, overflow: C_DIS_AUTO, pointerEvents: C_DIS_AUTO },
197
197
  displaySprite: { x: 25, y: 30, w: (g_sWidth - 450) / 2, h: g_limitObj.setLblHeight * 5 },
198
- scoreDetail: { x: 20, y: 85, w: (g_sWidth - 500) / 2 + 420, h: 245, visibility: `hidden` },
198
+ scoreDetail: { x: 20, y: 85, w: (g_sWidth - 500) / 2 + 420, h: 245, visibility: `hidden`, pointerEvents: C_DIS_AUTO },
199
199
  detailObj: { w: (g_sWidth - 500) / 2 + 420, h: 230, visibility: `hidden` },
200
- keyconSprite: { y: 105, h: g_sHeight - 105, overflow: `auto` },
200
+ keyconSprite: { y: 105, h: g_sHeight - 105, overflow: C_DIS_AUTO },
201
201
  loader: { y: g_sHeight - 10, h: 10, backgroundColor: `#333333` },
202
202
  playDataWindow: { x: g_sWidth / 2 - 225, y: 70, w: 450, h: 110 },
203
203
  resultWindow: { x: g_sWidth / 2 - 200, y: 185, w: 400, h: 210 },
@@ -232,7 +232,7 @@ const updateWindowSiz = () => {
232
232
  },
233
233
  lblComment: {
234
234
  x: g_btnX(), y: 70, w: g_btnWidth(), h: g_sHeight - 180, siz: g_limitObj.difSelectorSiz, align: C_ALIGN_LEFT,
235
- overflow: `auto`, background: `#222222`, color: `#cccccc`, display: C_DIS_NONE,
235
+ overflow: C_DIS_AUTO, background: `#222222`, color: `#cccccc`, display: C_DIS_NONE,
236
236
  whiteSpace: `normal`,
237
237
  },
238
238
  btnComment: {
@@ -304,7 +304,7 @@ const updateWindowSiz = () => {
304
304
  x: 130, y: 70, w: 200, h: 90,
305
305
  },
306
306
  dataArrowInfo2: {
307
- x: 140, y: 70, w: (g_sWidth - 500) / 2 + 275, h: 150, overflow: `auto`,
307
+ x: 140, y: 70, w: (g_sWidth - 500) / 2 + 275, h: 150, overflow: C_DIS_AUTO,
308
308
  },
309
309
  lnkDifInfo: {
310
310
  w: g_limitObj.difCoverWidth, h: 20, borderStyle: `solid`,
@@ -340,7 +340,6 @@ const updateWindowSiz = () => {
340
340
  },
341
341
  kcMsg: {
342
342
  x: g_btnX(), y: g_sHeight - 33, w: g_btnWidth(), h: 20, siz: g_limitObj.mainSiz,
343
- pointerEvents: `none`,
344
343
  },
345
344
  kcDesc: {
346
345
  x: g_btnX() + 50, y: 68, w: g_btnWidth() - 100, h: 20,
@@ -434,7 +433,7 @@ const updateWindowSiz = () => {
434
433
  },
435
434
  lblWord: {
436
435
  x: 100, w: g_headerObj.playingWidth - 200, h: 50,
437
- siz: g_limitObj.mainSiz, align: C_ALIGN_LEFT, display: `block`, margin: `auto`,
436
+ siz: g_limitObj.mainSiz, align: C_ALIGN_LEFT, display: `block`, margin: C_DIS_AUTO,
438
437
  },
439
438
  finishView: {
440
439
  x: g_headerObj.playingWidth / 2 - 150, y: g_headerObj.playingHeight / 2 - 50, w: 300, h: 20, siz: 50,
@@ -492,13 +491,13 @@ const updateWindowSiz = () => {
492
491
  const g_windowAlign = {
493
492
  left: () => {
494
493
  $id(`canvas-frame`).marginLeft = `0px`;
495
- $id(`canvas-frame`).marginRight = `auto`;
494
+ $id(`canvas-frame`).marginRight = C_DIS_AUTO;
496
495
  },
497
496
  center: () => {
498
- $id(`canvas-frame`).margin = `auto`;
497
+ $id(`canvas-frame`).margin = C_DIS_AUTO;
499
498
  },
500
499
  right: () => {
501
- $id(`canvas-frame`).marginLeft = `auto`;
500
+ $id(`canvas-frame`).marginLeft = C_DIS_AUTO;
502
501
  $id(`canvas-frame`).marginRight = `0px`;
503
502
  },
504
503
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "danoniplus",
3
- "version": "39.4.0",
3
+ "version": "39.4.1",
4
4
  "description": "Dancing☆Onigiri (CW Edition) - Web-based Rhythm Game",
5
5
  "main": "index.js",
6
6
  "scripts": {