danoniplus 44.5.23 → 44.5.24

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 : 2026/08/19
7
+ * Revised : 2026/09/13
8
8
  *
9
9
  * https://github.com/cwtickle/danoniplus
10
10
  */
11
- const g_version = `Ver 44.5.23`;
12
- const g_revisedDate = `2026/08/19`;
11
+ const g_version = `Ver 44.5.24`;
12
+ const g_revisedDate = `2026/09/13`;
13
13
 
14
14
  // カスタム用バージョン (danoni_custom.js 等で指定可)
15
15
  let g_localVersion = ``;
@@ -5731,7 +5731,7 @@ const pauseBGM = () => {
5731
5731
  g_audioForMS.load();
5732
5732
  }
5733
5733
  }
5734
- [`bgmLooped`, `bgmFadeIn`, `bgmFadeOut`].forEach(id => {
5734
+ [`bgmLooped`, `bgmFadeIn`, `bgmFadeOut`, `bgmRestart`].forEach(id => {
5735
5735
  if (g_stateObj[id]) {
5736
5736
  clearTimeout(g_stateObj[id]);
5737
5737
  g_stateObj[id] = null;
@@ -5856,7 +5856,8 @@ const playBGM = async (_num, _currentLoopNum = g_settings.musicLoopNum) => {
5856
5856
  g_audioForMS.currentTime = musicStart;
5857
5857
 
5858
5858
  if (isTitle()) {
5859
- setTimeout(() => {
5859
+ g_stateObj.bgmRestart = setTimeout(() => {
5860
+ g_stateObj.bgmRestart = null;
5860
5861
  fadeIn();
5861
5862
  if (encodeFlg) repeatBGM();
5862
5863
  }, FADE_DELAY_MS);
@@ -6138,8 +6139,8 @@ const makeWarningWindow = (_text = ``, { resetFlg = false, backBtnUse = false }
6138
6139
  * @param {string} [object._textColor='#000066']
6139
6140
  * @param {string} [object._pointerEvents=C_DIS_NONE]
6140
6141
  */
6141
- const makeInfoWindow = (_text, _animationName = ``, { _backColor = `#ccccff`, _textColor = `#000066`, _pointerEvents = C_DIS_NONE } = {}) => {
6142
- const lblWarning = setWindowStyle(`<p>${_text}</p>`, _backColor, _textColor, C_ALIGN_CENTER);
6142
+ const makeInfoWindow = (_text, _animationName = ``, { _backColor = `#ccccff`, _textColor = `#000066`, _pointerEvents = C_DIS_NONE, _x = g_btnX(), _y = 0 } = {}) => {
6143
+ const lblWarning = setWindowStyle(`<p>${_text}</p>`, _backColor, _textColor, C_ALIGN_CENTER, { _x, _y });
6143
6144
  lblWarning.style.pointerEvents = _pointerEvents;
6144
6145
 
6145
6146
  if (_animationName !== ``) {
@@ -9385,7 +9386,7 @@ const keyConfigInit = (_kcType = g_kcType) => {
9385
9386
  lnkColorType.textContent = `${getStgDetailName(g_colorType)}${g_localStorage.colorType === g_colorType ? ' *' : ''}`;
9386
9387
  if (_reloadFlg) {
9387
9388
  colorPickSprite.style.display = ([`Default`, `Type0`].includes(g_colorType) ? C_DIS_NONE : C_DIS_INHERIT);
9388
- g_keycons.colorCursorNum = g_keycons.colorCursorNum % Math.ceil(g_headerObj.setColor.length / g_limitObj.kcColorPickerNum);
9389
+ g_keycons.colorCursorNum = g_keycons.colorCursorNum % Math.ceil(g_dfColorObj.setColorInit.length / g_limitObj.kcColorPickerNum);
9389
9390
  changeColorPickers();
9390
9391
  }
9391
9392
  };
@@ -9412,14 +9413,14 @@ const keyConfigInit = (_kcType = g_kcType) => {
9412
9413
 
9413
9414
  // ColorPickerの切替
9414
9415
  createCss2Button(`lnkColorR`, `[${g_keycons.colorCursorNum + 1} /`, () => {
9415
- g_keycons.colorCursorNum = (g_keycons.colorCursorNum + 1) % Math.ceil(g_headerObj.setColor.length / g_limitObj.kcColorPickerNum);
9416
+ g_keycons.colorCursorNum = (g_keycons.colorCursorNum + 1) % Math.ceil(g_dfColorObj.setColorInit.length / g_limitObj.kcColorPickerNum);
9416
9417
  changeColorPickers();
9417
9418
  }, g_lblPosObj.lnkColorR, g_cssObj.button_Start),
9418
9419
 
9419
9420
  // 矢印の配色をフリーズアローへ反映
9420
9421
  createCss2Button(`lnkColorCopy`, `↓]`, () => {
9421
9422
  if (window.confirm(g_msgObj.colorCopyConfirm)) {
9422
- for (let j = 0; j < g_headerObj.setColor.length; j++) {
9423
+ for (let j = 0; j < g_dfColorObj.setColorInit.length; j++) {
9423
9424
  g_headerObj.frzColor[j] = g_headerObj[`frzColor${g_colorType}`][j] =
9424
9425
  fillArray(g_headerObj[`frzColor${g_colorType}`][j].length, g_headerObj[`setColor${g_colorType}`][j]);
9425
9426
  }
@@ -15109,15 +15110,20 @@ const resultInit = () => {
15109
15110
  } else {
15110
15111
  // Canvas の内容を PNG 画像として取得
15111
15112
  canvas.toBlob(async blob => {
15112
- await navigator.clipboard.write([
15113
- new ClipboardItem({
15114
- 'image/png': blob
15115
- })
15116
- ]);
15113
+ try {
15114
+ if (blob === null) {
15115
+ throw new Error(`Failed to create result image blob.`);
15116
+ }
15117
+ await navigator.clipboard.write([
15118
+ new ClipboardItem({ 'image/png': blob })
15119
+ ]);
15120
+ tmpDiv.removeChild(canvas);
15121
+ divRoot.removeChild(tmpDiv);
15122
+ makeInfoWindow(_msg, `leftToRightFade`);
15123
+ } catch {
15124
+ viewResultImage();
15125
+ }
15117
15126
  });
15118
- tmpDiv.removeChild(canvas);
15119
- divRoot.removeChild(tmpDiv);
15120
- makeInfoWindow(_msg, `leftToRightFade`);
15121
15127
  }
15122
15128
 
15123
15129
  } catch (err) {
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * Source by tickle
7
7
  * Created : 2019/11/19
8
- * Revised : 2026/08/01 (v44.5.21)
8
+ * Revised : 2026/09/13 (v44.5.24)
9
9
  *
10
10
  * https://github.com/cwtickle/danoniplus
11
11
  */
@@ -1109,6 +1109,7 @@ const g_stateObj = {
1109
1109
  bgmLooped: null,
1110
1110
  bgmFadeIn: null,
1111
1111
  bgmFadeOut: null,
1112
+ bgmRestart: null,
1112
1113
  bgmTimeupdateEvtId: null,
1113
1114
  bgmMuteFlg: false,
1114
1115
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "danoniplus",
3
- "version": "44.5.23",
3
+ "version": "44.5.24",
4
4
  "description": "Dancing☆Onigiri (CW Edition) - Web-based Rhythm Game",
5
5
  "main": "./js/danoni_main.js",
6
6
  "jsdelivr": "./js/danoni_main.js",