danoniplus 39.4.0 → 39.4.2

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/12
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.2`;
12
+ const g_revisedDate = `2025/02/12`;
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,10 @@ 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;
1177
+ if (rest?.overflow === C_DIS_AUTO) {
1178
+ style.pointerEvents = C_DIS_AUTO;
1179
+ }
1176
1180
  div.innerHTML = _text;
1177
1181
  Object.keys(rest).forEach(property => style[property] = rest[property]);
1178
1182
 
@@ -1212,6 +1216,7 @@ const createColorPicker = (_parentObj, _id, _func, { x = 0, y = 0 } = {}) => {
1212
1216
  picker.style.left = wUnit(x);
1213
1217
  picker.style.top = wUnit(y);
1214
1218
  picker.style.position = `absolute`;
1219
+ picker.style.pointerEvents = C_DIS_AUTO;
1215
1220
  picker.addEventListener(`change`, _func);
1216
1221
  _parentObj.appendChild(picker);
1217
1222
  return picker;
@@ -1252,6 +1257,10 @@ const createColorObject2 = (_id,
1252
1257
  style.maskSize = `contain`;
1253
1258
  style.webkitMaskImage = `url("${g_imgObj[charaStyle]}")`;
1254
1259
  style.webkitMaskSize = `contain`;
1260
+ style.pointerEvents = C_DIS_NONE;
1261
+ if (rest?.overflow === C_DIS_AUTO) {
1262
+ style.pointerEvents = C_DIS_AUTO;
1263
+ }
1255
1264
  Object.keys(rest).forEach(property => style[property] = rest[property]);
1256
1265
  setAttrs(div, { color: rest.background ?? ``, type: charaStyle, cnt: 0, });
1257
1266
 
@@ -1281,6 +1290,8 @@ const createEmptySprite = (_parentObj, _newObjId, { x = 0, y = 0, w = g_sWidth,
1281
1290
  div.title = title;
1282
1291
 
1283
1292
  const style = div.style;
1293
+ style.pointerEvents = (title !== `` || rest?.overflow === C_DIS_AUTO)
1294
+ ? C_DIS_AUTO : C_DIS_NONE;
1284
1295
  Object.keys(rest).forEach(property => style[property] = rest[property]);
1285
1296
  _parentObj.appendChild(div);
1286
1297
 
@@ -1297,8 +1308,9 @@ const createEmptySprite = (_parentObj, _newObjId, { x = 0, y = 0, w = g_sWidth,
1297
1308
  const createMultipleSprite = (_baseName, _num, { x = 0 } = {}) => {
1298
1309
  const sprite = createEmptySprite(divRoot, _baseName);
1299
1310
  for (let j = 0; j <= _num; j++) {
1300
- createEmptySprite(sprite, `${_baseName}${j}`, { x });
1311
+ createEmptySprite(sprite, `${_baseName}${j}`);
1301
1312
  }
1313
+ addX(_baseName, `root`, x);
1302
1314
  return sprite;
1303
1315
  };
1304
1316
 
@@ -1403,6 +1415,7 @@ const createCss2Button = (_id, _text, _func = () => true, {
1403
1415
  style.textAlign = align;
1404
1416
  style.fontSize = wUnit(siz);
1405
1417
  style.fontFamily = getBasicFont();
1418
+ style.pointerEvents = C_DIS_AUTO;
1406
1419
  if (rest.animationName !== undefined) {
1407
1420
  style.animationDuration = `1s`;
1408
1421
  }
@@ -1413,7 +1426,7 @@ const createCss2Button = (_id, _text, _func = () => true, {
1413
1426
  if (g_initialFlg && g_btnWaitFrame[groupName].initial) {
1414
1427
  } else {
1415
1428
  style.pointerEvents = C_DIS_NONE;
1416
- setTimeout(() => style.pointerEvents = rest.pointerEvents ?? `auto`,
1429
+ setTimeout(() => style.pointerEvents = rest.pointerEvents ?? C_DIS_AUTO,
1417
1430
  g_btnWaitFrame[groupName].b_frame * 1000 / g_fps);
1418
1431
  }
1419
1432
  }
@@ -3101,7 +3114,7 @@ const headerConvert = _dosObj => {
3101
3114
  g_settings.speedNum = roundZero(g_settings.speeds.findIndex(speed => speed === g_stateObj.speed));
3102
3115
 
3103
3116
  // グラデーションのデフォルト中間色を設定
3104
- divRoot.appendChild(createDivCss2Label(`dummyLabel`, ``, { pointerEvents: C_DIS_NONE }));
3117
+ divRoot.appendChild(createDivCss2Label(`dummyLabel`, ``));
3105
3118
  obj.baseBrightFlg = setBoolVal(_dosObj.baseBright, checkLightOrDark(colorNameToCode(window.getComputedStyle(dummyLabel, ``).color)));
3106
3119
  const intermediateColor = obj.baseBrightFlg ? `#111111` : `#eeeeee`;
3107
3120
 
@@ -3469,7 +3482,7 @@ const headerConvert = _dosObj => {
3469
3482
  obj.commentExternal = setBoolVal(_dosObj.commentExternal);
3470
3483
 
3471
3484
  // Reverse時の歌詞の自動反転制御
3472
- obj.wordAutoReverse = _dosObj.wordAutoReverse ?? g_presetObj.wordAutoReverse ?? `auto`;
3485
+ obj.wordAutoReverse = _dosObj.wordAutoReverse ?? g_presetObj.wordAutoReverse ?? C_DIS_AUTO;
3473
3486
 
3474
3487
  // プレイ中クレジットを表示しないエリアのサイズ(X方向)
3475
3488
  obj.customViewWidth = setVal(_dosObj.customViewWidth ?? _dosObj.customCreditWidth, 0, C_TYP_FLOAT);
@@ -4567,9 +4580,7 @@ const titleInit = () => {
4567
4580
 
4568
4581
  // マスクスプライトを作成
4569
4582
  const maskTitleSprite = createMultipleSprite(`maskTitleSprite`, g_headerObj.maskTitleMaxDepth);
4570
- if (!g_headerObj.masktitleButton) {
4571
- maskTitleSprite.style.pointerEvents = C_DIS_NONE;
4572
- }
4583
+ maskTitleSprite.style.pointerEvents = g_headerObj.masktitleButton ? C_DIS_AUTO : C_DIS_NONE;
4573
4584
 
4574
4585
  /**
4575
4586
  * タイトルのモーション設定
@@ -4677,10 +4688,10 @@ const setWindowStyle = (_text, _bkColor, _textColor, _align = C_ALIGN_LEFT, { _x
4677
4688
  const lbl = createDivCss2Label(`lblWarning`, _text, {
4678
4689
  x: _x, y: 70 + _y, w: _w, h: warnHeight, siz: g_limitObj.mainSiz, backgroundColor: _bkColor,
4679
4690
  opacity: 0.9, lineHeight: wUnit(15), color: _textColor, align: _align, fontFamily: getBasicFont(),
4680
- whiteSpace: `normal`,
4691
+ whiteSpace: `normal`, pointerEvents: C_DIS_AUTO,
4681
4692
  });
4682
4693
  if (warnHeight === 150) {
4683
- lbl.style.overflow = `auto`;
4694
+ lbl.style.overflow = C_DIS_AUTO;
4684
4695
  }
4685
4696
 
4686
4697
  // 一時的な枠を削除
@@ -5386,7 +5397,7 @@ const makeHighScore = _scoreId => {
5386
5397
  `${g_localStorage.highscores?.[scoreName]?.fullCombo ?? '' ? '<span class="result_FullCombo">◆</span>' : ''}` +
5387
5398
  `${g_localStorage.highscores?.[scoreName]?.perfect ?? '' ? '<span class="result_Perfect">◆</span>' : ''}` +
5388
5399
  `${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 }),
5400
+ createScoreLabel(`lblHClearLamps`, `Cleared: ` + (g_localStorage.highscores?.[scoreName]?.clearLamps?.join(', ') ?? `---`), { yPos: 13, overflow: C_DIS_AUTO, w: g_sWidth / 2 + 40, h: 37 }),
5390
5401
 
5391
5402
  createScoreLabel(`lblHShuffle`, g_stateObj.shuffle.indexOf(`Mirror`) < 0 ? `` : `Shuffle: <span class="common_iknai">${g_stateObj.shuffle}</span>`, { yPos: 11.5, dx: -130 }),
5392
5403
  createScoreLabel(`lblHAssist`, g_autoPlaysBase.includes(g_stateObj.autoPlay) ? `` : `Assist: <span class="common_kita">${g_stateObj.autoPlay}</span>`, { yPos: 12.5, dx: -130 }),
@@ -6027,7 +6038,7 @@ const createGeneralSetting = (_obj, _settingName, { unitName = ``,
6027
6038
  */
6028
6039
  const createLblSetting = (_settingName, _adjY = 0, _settingLabel = _settingName) => {
6029
6040
  const lbl = createDivCss2Label(`lbl${_settingName}`, g_lblNameObj[_settingLabel], {
6030
- x: -5, y: _adjY, w: 110,
6041
+ x: -5, y: _adjY, w: 110, pointerEvents: C_DIS_AUTO,
6031
6042
  }, `settings_${_settingName}`);
6032
6043
  lbl.title = g_msgObj[`${_settingName.charAt(0).toLowerCase()}${_settingName.slice(1)}`];
6033
6044
  return lbl;
@@ -6920,18 +6931,18 @@ const keyConfigInit = (_kcType = g_kcType) => {
6920
6931
  // 矢印の塗り部分
6921
6932
  createColorObject2(`arrowShadow${j}`, {
6922
6933
  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`,
6934
+ rotate: g_keyObj[`stepRtn${keyCtrlPtn}_${g_keycons.stepRtnGroupNum}`][j], styleName: `Shadow`,
6924
6935
  }),
6925
6936
  // 矢印本体
6926
6937
  createColorObject2(`arrow${j}`, {
6927
- x: keyconX, y: keyconY, background: arrowColor, rotate: g_keyObj[`stepRtn${keyCtrlPtn}_${g_keycons.stepRtnGroupNum}`][j], pointerEvents: `none`,
6938
+ x: keyconX, y: keyconY, background: arrowColor, rotate: g_keyObj[`stepRtn${keyCtrlPtn}_${g_keycons.stepRtnGroupNum}`][j],
6928
6939
  }),
6929
6940
  );
6930
6941
  if (g_headerObj.shuffleUse && g_keyObj[`shuffle${keyCtrlPtn}`] !== undefined) {
6931
6942
  keyconSprite.appendChild(
6932
6943
  createCss2Button(`sArrow${j}`, ``, () => changeTmpShuffleNum(j), {
6933
6944
  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`),
6945
+ pointerEvents: (g_settings.shuffles.filter(val => val.endsWith(`+`)).length > 0 ? C_DIS_AUTO : C_DIS_NONE),
6935
6946
  cxtFunc: () => changeTmpShuffleNum(j, -1),
6936
6947
  }, g_cssObj.button_Default_NoColor, g_cssObj.title_base)
6937
6948
  );
@@ -8608,7 +8619,7 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
8608
8619
  // word_dataのみ指定されている場合、下記ルールに従って設定
8609
8620
  if (!wordTarget.includes(`Rev`) && g_stateObj.scroll === `---`) {
8610
8621
  // Reverse時の歌詞の自動反転制御設定
8611
- if (g_headerObj.wordAutoReverse !== `auto`) {
8622
+ if (g_headerObj.wordAutoReverse !== C_DIS_AUTO) {
8612
8623
  wordReverseFlg = g_headerObj.wordAutoReverse === C_FLG_ON;
8613
8624
  } else if (keyNum === divideCnt + 1) {
8614
8625
  wordReverseFlg = true;
@@ -8632,7 +8643,7 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
8632
8643
  let wordReverseFlg = _reverseFlg;
8633
8644
  const tmpArrayData = splitLF(_data);
8634
8645
 
8635
- if (g_headerObj.wordAutoReverse === `auto`) {
8646
+ if (g_headerObj.wordAutoReverse === C_DIS_AUTO) {
8636
8647
  tmpArrayData.filter(data => hasVal(data) && data?.indexOf(`<br>`) !== -1).forEach(() => wordReverseFlg = false);
8637
8648
  }
8638
8649
 
@@ -9951,8 +9962,7 @@ const mainInit = () => {
9951
9962
  const mainCommonPos = { w: g_headerObj.playingWidth, h: g_posObj.arrowHeight };
9952
9963
 
9953
9964
  // 背景スプライトを作成
9954
- createMultipleSprite(`backSprite`, g_scoreObj.backMaxDepth);
9955
- addX(`backSprite`, `root`, g_workObj.backX);
9965
+ createMultipleSprite(`backSprite`, g_scoreObj.backMaxDepth, { x: g_workObj.backX });
9956
9966
 
9957
9967
  // ステップゾーン、矢印のメインスプライトを作成
9958
9968
  const mainSprite = createEmptySprite(divRoot, `mainSprite`, mainCommonPos);
@@ -9971,8 +9981,7 @@ const mainInit = () => {
9971
9981
  const [keyCtrlPtn, keyNum] = [tkObj.keyCtrlPtn, tkObj.keyNum];
9972
9982
 
9973
9983
  // マスクスプライトを作成 (最上位)
9974
- createMultipleSprite(`maskSprite`, g_scoreObj.maskMaxDepth);
9975
- addX(`maskSprite`, `root`, g_workObj.backX);
9984
+ createMultipleSprite(`maskSprite`, g_scoreObj.maskMaxDepth, { x: g_workObj.backX });
9976
9985
 
9977
9986
  // カラー・モーションを適用するオブジェクトの種類
9978
9987
  const objList = (g_stateObj.dummyId === `` ? [``] : [`dummy`, ``]);
@@ -12488,7 +12497,7 @@ const resultInit = () => {
12488
12497
  * @param {string} _msg
12489
12498
  */
12490
12499
  const copyResultImageData = _msg => {
12491
- const tmpDiv = createEmptySprite(divRoot, `tmpDiv`, { x: 0, y: 0, w: g_sWidth, h: g_sHeight });
12500
+ const tmpDiv = createEmptySprite(divRoot, `tmpDiv`, { x: 0, y: 0, w: g_sWidth, h: g_sHeight, pointerEvents: C_DIS_AUTO });
12492
12501
  tmpDiv.style.background = `#000000cc`;
12493
12502
  const canvas = document.createElement(`canvas`);
12494
12503
  const artistName = g_headerObj.artistNames[g_headerObj.musicNos[g_stateObj.scoreId]] || g_headerObj.artistName;
@@ -12663,10 +12672,8 @@ const resultInit = () => {
12663
12672
  );
12664
12673
 
12665
12674
  // マスクスプライトを作成
12666
- const maskResultSprite = createMultipleSprite(`maskResultSprite`, g_headerObj.maskResultMaxDepth);
12667
- if (!g_headerObj.maskresultButton) {
12668
- maskResultSprite.style.pointerEvents = C_DIS_NONE;
12669
- }
12675
+ const makeResultSprite = createMultipleSprite(`maskResultSprite`, g_headerObj.maskResultMaxDepth);
12676
+ makeResultSprite.style.pointerEvents = g_headerObj.maskresultButton ? C_DIS_AUTO : C_DIS_NONE;
12670
12677
 
12671
12678
  // リザルトモーションの0フレーム対応
12672
12679
  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.2",
4
4
  "description": "Dancing☆Onigiri (CW Edition) - Web-based Rhythm Game",
5
5
  "main": "index.js",
6
6
  "scripts": {