danoniplus 42.1.2 → 42.2.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 : 2025/06/08
7
+ * Revised : 2025/06/15
8
8
  *
9
9
  * https://github.com/cwtickle/danoniplus
10
10
  */
11
- const g_version = `Ver 42.1.2`;
12
- const g_revisedDate = `2025/06/08`;
11
+ const g_version = `Ver 42.2.0`;
12
+ const g_revisedDate = `2025/06/15`;
13
13
 
14
14
  // カスタム用バージョン (danoni_custom.js 等で指定可)
15
15
  let g_localVersion = ``;
@@ -543,7 +543,7 @@ const formatObject = (_obj, _indent = 0, { colorFmt = true, rootKey = `` } = {})
543
543
  _value = escapeHtml(_value).replaceAll(`\n`, `<br>`);
544
544
  const colorCodePattern = /(#|0x)(?:[A-Fa-f0-9]{6}(?:[A-Fa-f0-9]{2})?|[A-Fa-f0-9]{4}|[A-Fa-f0-9]{3})/g;
545
545
  if (_value === C_FLG_ON) {
546
- return `<span style="color:#66ff66">&#x2714; ON</span>`;
546
+ return `<span style="color:#66ff66">${g_emojiObj.checkMark} ON</span>`;
547
547
  } else if (colorCodePattern.test(_value)) {
548
548
  return _value.replace(colorCodePattern, (match) =>
549
549
  `<span style="color:${match.replace(`0x`, `#`)}">◆</span>${match.replace(`0x`, `#`)}`);
@@ -551,8 +551,8 @@ const formatObject = (_obj, _indent = 0, { colorFmt = true, rootKey = `` } = {})
551
551
  } else if (typeof _value === C_TYP_BOOLEAN) {
552
552
 
553
553
  // boolean値の色付け処理
554
- return (_value ? `<span style="color:#66ff66">&#x2714; true</span>` :
555
- `<span style="color:#ff9999">&#x274c; false</span>`);
554
+ return (_value ? `<span style="color:#66ff66">${g_emojiObj.checkMark} true</span>` :
555
+ `<span style="color:#ff9999">${g_emojiObj.crossMark} false</span>`);
556
556
 
557
557
  } else if (typeof _value === C_TYP_NUMBER) {
558
558
 
@@ -2573,10 +2573,21 @@ const initialControl = async () => {
2573
2573
 
2574
2574
  // 自動横幅拡張設定
2575
2575
  if (g_headerObj.autoSpread) {
2576
- const widthList = [g_sWidth, g_presetObj.autoMinWidth ?? g_keyObj.minWidth];
2577
- g_headerObj.keyLists.forEach(key => widthList.push(g_keyObj[`minWidth${key}`] ?? g_keyObj.minWidthDefault));
2576
+ g_sWidth = Math.max(g_sWidth, g_presetObj.autoMinWidth ?? g_keyObj.minWidth);
2577
+ g_headerObj.keyLists.forEach(key => {
2578
+ g_sWidth = Math.max(g_sWidth, g_keyObj[`minWidth${key}`] ?? g_keyObj.minWidthDefault);
2579
+
2580
+ // 別キーモード有効時は、別キーモード毎の横幅を拡張対象へ追加
2581
+ if (g_headerObj.transKeyUse) {
2582
+ for (let k = 1; hasVal(g_keyObj[`keyCtrl${key}_${k}`]); k++) {
2583
+ const anotherKey = g_keyObj[`transKey${key}_${k}`] ?? ``;
2584
+ if (anotherKey !== ``) {
2585
+ g_sWidth = Math.max(g_sWidth, g_keyObj[`minWidth${anotherKey}`] ?? g_keyObj.minWidthDefault);
2586
+ }
2587
+ }
2588
+ }
2589
+ });
2578
2590
 
2579
- g_sWidth = Math.max(...widthList);
2580
2591
  $id(`canvas-frame`).width = wUnit(g_sWidth);
2581
2592
  $id(`divRoot`).width = wUnit(g_sWidth);
2582
2593
  }
@@ -5080,10 +5091,10 @@ const titleInit = (_initFlg = false) => {
5080
5091
  createDivCss2Label(`lblComment`, ``, g_lblPosObj.lblComment_music),
5081
5092
 
5082
5093
  createDivCss2Label(`lblBgmVolume`, `BGM Volume`, g_lblPosObj.lblBgmVolume),
5083
- createCss2Button(`btnBgmMute`, g_stateObj.bgmMuteFlg ? `&#x1f507;` : `&#x1f50a;`, evt => {
5094
+ createCss2Button(`btnBgmMute`, g_stateObj.bgmMuteFlg ? g_emojiObj.muted : g_emojiObj.speaker, evt => {
5084
5095
  g_stateObj.bgmMuteFlg = !g_stateObj.bgmMuteFlg;
5085
5096
  g_stateObj.bgmMuteFlg ? pauseBGM() : playBGM(0);
5086
- evt.target.innerHTML = g_stateObj.bgmMuteFlg ? `&#x1f507;` : `&#x1f50a;`;
5097
+ evt.target.innerHTML = g_stateObj.bgmMuteFlg ? g_emojiObj.muted : g_emojiObj.speaker;
5087
5098
  }, g_lblPosObj.btnBgmMute, g_cssObj.button_Default),
5088
5099
  createCss2Button(`btnBgmVolume`, `${g_stateObj.bgmVolume}${g_lblNameObj.percent}`, () => setBGMVolume(),
5089
5100
  Object.assign({
@@ -5252,7 +5263,7 @@ const titleInit = (_initFlg = false) => {
5252
5263
  }), g_cssObj.button_Tweet),
5253
5264
 
5254
5265
  // セキュリティリンク
5255
- createCss2Button(`lnkComparison`, `&#x1f6e1;`, () => true,
5266
+ createCss2Button(`lnkComparison`, g_emojiObj.shield, () => true,
5256
5267
  Object.assign(g_lblPosObj.lnkComparison, {
5257
5268
  resetFunc: () => openLink(g_lblNameObj.securityUrl),
5258
5269
  }), g_cssObj.button_Tweet),
@@ -14007,7 +14018,8 @@ const resultInit = () => {
14007
14018
  { x: 280, dy: -15, hy: 0, siz: 20, color: `#999999`, align: C_ALIGN_CENTER });
14008
14019
  drawText(unEscapeHtml(mTitleForView[0]), { hy: 1 });
14009
14020
  drawText(unEscapeHtml(mTitleForView[1]), { hy: 2 });
14010
- drawText(`${getEmojiForCanvas(`&#x1f4dd;`)} ${unEscapeHtml(g_headerObj.tuning)} / ${getEmojiForCanvas(`&#x1f3b5;`)} ${unEscapeHtml(artistName)}`, { hy: mTitleForView[1] !== `` ? 3 : 2, siz: 12 });
14021
+ drawText(`${getEmojiForCanvas(g_emojiObj.memo)} ${unEscapeHtml(g_headerObj.tuning)} / ${getEmojiForCanvas(g_emojiObj.musical)} ${unEscapeHtml(artistName)}`,
14022
+ { hy: mTitleForView[1] !== `` ? 3 : 2, siz: 12 });
14011
14023
  drawText(unEscapeHtml(difDataForImage), { hy: 4 });
14012
14024
 
14013
14025
  if (playStyleData.length > 60) {
@@ -14148,7 +14160,7 @@ const resultInit = () => {
14148
14160
  // リトライ
14149
14161
  resetCommonBtn(`btnRetry`, g_lblNameObj.b_retry, g_lblPosObj.btnRsRetry, loadMusic, g_cssObj.button_Reset),
14150
14162
 
14151
- createCss2Button(`btnCopyImage`, `&#x1f4f7;`, () => true,
14163
+ createCss2Button(`btnCopyImage`, g_emojiObj.camera, () => true,
14152
14164
  Object.assign(g_lblPosObj.btnRsCopyImage, {
14153
14165
  resetFunc: () => copyResultImageData(g_msgInfoObj.I_0001),
14154
14166
  }), g_cssObj.button_Default_NoColor),
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * Source by tickle
7
7
  * Created : 2019/11/19
8
- * Revised : 2025/05/24 (v42.0.0)
8
+ * Revised : 2025/06/15 (v42.2.0)
9
9
  *
10
10
  * https://github.com/cwtickle/danoniplus
11
11
  */
@@ -875,6 +875,18 @@ const g_escapeStr = {
875
875
  ]
876
876
  };
877
877
 
878
+ /** 絵文字管理用 */
879
+ const g_emojiObj = {
880
+ checkMark: `&#x2714;`, // チェックマーク (check mark)
881
+ crossMark: `&#x274c;`, // バツ (cross mark)
882
+ muted: `&#x1f507;`, // 無音のスピーカー (muted speaker)
883
+ speaker: `&#x1f50a;`, // 音量大のスピーカー (speaker high volume)
884
+ shield: `&#x1f6e1;`, // 盾 (shield)
885
+ memo: `&#x1f4dd;`, // メモ (memo)
886
+ musical: `&#x1f3b5;`, // 音符 (musical note)
887
+ camera: `&#x1f4f7;`, // カメラ (camera)
888
+ };
889
+
878
890
  /** 設定・オプション画面用共通 */
879
891
  const g_graphColorObj = {
880
892
  max: `#993333cc`,
@@ -3208,12 +3220,8 @@ const g_keyObj = {
3208
3220
  minWidth9B: 650,
3209
3221
  minWidth9i: 650,
3210
3222
  minWidth9d: 650,
3211
- minWidth9h: 650,
3212
- minWidth11: 650,
3213
- minWidth11L: 650,
3214
3223
  minWidth11i: 650,
3215
3224
  minWidth11j: 650,
3216
- minWidth12: 675,
3217
3225
  minWidth12i: 675,
3218
3226
  minWidth13: 650,
3219
3227
  minWidth16i: 650,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "danoniplus",
3
- "version": "42.1.2",
3
+ "version": "42.2.0",
4
4
  "description": "Dancing☆Onigiri (CW Edition) - Web-based Rhythm Game",
5
5
  "main": "./js/danoni_main.js",
6
6
  "scripts": {