danoniplus 34.0.0 → 34.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.
@@ -105,8 +105,8 @@ a:hover { color:#FF9900; text-decoration: underline; }
105
105
   キーコンフィグ(KeyConfig)にてキーの変更が可能です。<br>
106
106
  <br>
107
107
  推奨ブラウザ:<br>
108
-  Google Chrome, Opera, Vivaldi などWebkit系ブラウザ<br>
109
-  (Microsoft Edge, IE, Firefoxは動作保証外です。将来的にはMicrosoft Edgeに対応予定)<br>
108
+  Google Chrome, Opera, Vivaldi, Microsoft Edge, Safari などWebkit系ブラウザ<br>
109
+  (IE及び、Firefoxのローカル起動は動作保証外です。)<br>
110
110
  <br>
111
111
  GitHub:<br>
112
112
  <a href="https://github.com/cwtickle/danoniplus">https://github.com/cwtickle/danoniplus</a><br>
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/24
7
+ * Revised : 2023/10/01
8
8
  *
9
9
  * https://github.com/cwtickle/danoniplus
10
10
  */
11
- const g_version = `Ver 34.0.0`;
12
- const g_revisedDate = `2023/09/24`;
11
+ const g_version = `Ver 34.2.0`;
12
+ const g_revisedDate = `2023/10/01`;
13
13
 
14
14
  // カスタム用バージョン (danoni_custom.js 等で指定可)
15
15
  let g_localVersion = ``;
@@ -368,6 +368,13 @@ const splitLF = _str => _str?.split(`\r`).join(`\n`).split(`\n`);
368
368
  */
369
369
  const splitLF2 = (_str, _delim = `$`) => splitLF(_str)?.filter(val => val !== ``).join(_delim).split(_delim);
370
370
 
371
+ /**
372
+ * カンマ区切り処理
373
+ * (ただし、カンマ+半角スペースの組の場合は区切り文字と見做さない)
374
+ * @param {string} _str
375
+ */
376
+ const splitComma = _str => _str?.split(`, `).join(`*comma* `).split(`,`);
377
+
371
378
  /**
372
379
  * 重複を排除した配列の生成
373
380
  * @param {array} _array1
@@ -2167,6 +2174,7 @@ const loadLocalStorage = _ => {
2167
2174
  g_localeObj.num = g_localeObj.list.findIndex(val => val === g_localeObj.val);
2168
2175
  }
2169
2176
  Object.assign(g_msgInfoObj, g_lang_msgInfoObj[g_localeObj.val]);
2177
+ Object.assign(g_kCd, g_lang_kCd[g_localeObj.val]);
2170
2178
 
2171
2179
  // 作品別ローカルストレージの読込
2172
2180
  const checkStorage = localStorage.getItem(g_localStorageUrl);
@@ -2743,7 +2751,7 @@ const headerConvert = _dosObj => {
2743
2751
  }
2744
2752
 
2745
2753
  for (let j = 0; j < musicData.length; j++) {
2746
- const musics = musicData[j].split(`,`);
2754
+ const musics = splitComma(musicData[j]);
2747
2755
 
2748
2756
  if (obj.musicNos.length >= j) {
2749
2757
  obj.musicTitles[j] = escapeHtml(getMusicNameSimple(musics[0]));
@@ -2751,7 +2759,7 @@ const headerConvert = _dosObj => {
2751
2759
  obj.artistNames[j] = escapeHtml(musics[1] ?? ``);
2752
2760
  }
2753
2761
  }
2754
- const musics = musicData[0].split(`,`);
2762
+ const musics = splitComma(musicData[0]);
2755
2763
  obj.musicTitle = obj.musicTitles[0];
2756
2764
  obj.musicTitleForView = obj.musicTitlesForView[0];
2757
2765
  obj.artistName = obj.artistNames[0] ?? ``;
@@ -6717,7 +6725,10 @@ const keyConfigInit = (_kcType = g_kcType) => {
6717
6725
 
6718
6726
  // 全角切替、BackSpace、Deleteキー、Escキーは割り当て禁止
6719
6727
  // また、直前と同じキーを押した場合(BackSpaceを除く)はキー操作を無効にする
6720
- const disabledKeys = [229, 240, 242, 243, 244, 91, 29, 28, 27, 259, g_prevKey];
6728
+ const disabledKeys = [240, 242, 243, 244, 91, 29, 28, 27, 259, g_prevKey];
6729
+ if (g_localeObj.val === `Ja`) {
6730
+ disabledKeys.unshift(229);
6731
+ }
6721
6732
  if (disabledKeys.includes(setKey) || g_kCdN[setKey] === undefined) {
6722
6733
  makeInfoWindow(g_msgInfoObj.I_0002, `fadeOut0`);
6723
6734
  return;
@@ -7623,6 +7634,14 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
7623
7634
  wordMaxDepth = tmpWordData[k + 1];
7624
7635
  }
7625
7636
 
7637
+ // 同一行数で数字が取得できるまでは歌詞表示と見做して結合
7638
+ let m = 3;
7639
+ while (hasVal(tmpWordData[m]) && isNaN(parseInt(tmpWordData[m])) && m < tmpWordData.length) {
7640
+ tmpWordData[k + 2] += `,${tmpWordData[k + m]}`;
7641
+ tmpWordData.splice(k + m, 1);
7642
+ }
7643
+
7644
+ // 歌詞表示データの格納
7626
7645
  let dataCnts = 0;
7627
7646
  [wordData[tmpWordData[k]], dataCnts] =
7628
7647
  checkDuplicatedObjects(wordData[tmpWordData[k]]);
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * Source by tickle
7
7
  * Created : 2019/11/19
8
- * Revised : 2023/09/24 (v34.0.0)
8
+ * Revised : 2023/10/01 (v34.2.0)
9
9
  *
10
10
  * https://github.com/cwtickle/danoniplus
11
11
  */
@@ -1081,13 +1081,66 @@ let g_currentk = 0;
1081
1081
  let g_prevKey = -1;
1082
1082
 
1083
1083
  // キーコード
1084
- const g_kCd = [];
1084
+ const g_kCd = {};
1085
1085
  const g_kCdN = [];
1086
1086
  for (let j = 0; j < 260; j++) {
1087
1087
  g_kCd[j] = ``;
1088
1088
  g_kCdN[j] = ``;
1089
1089
  }
1090
1090
 
1091
+ const g_lang_kCd = {
1092
+ Ja: {
1093
+ 48: `0`,
1094
+ 49: `1`,
1095
+ 50: `2`,
1096
+ 51: `3`,
1097
+ 52: `4`,
1098
+ 53: `5`,
1099
+ 54: `6`,
1100
+ 55: `7`,
1101
+ 56: `8`,
1102
+ 57: `9`,
1103
+ 186: `: *`,
1104
+ 187: `; +`,
1105
+ 188: `, <`,
1106
+ 189: `- =`,
1107
+ 190: `. >`,
1108
+ 191: `/ ?`,
1109
+ 192: "@ `",
1110
+ 219: `[ {`,
1111
+ 220: `\\ |`,
1112
+ 221: `] }`,
1113
+ 222: `^ ~`,
1114
+ 226: `\\ _`,
1115
+ 229: `IME`,
1116
+ },
1117
+ En: {
1118
+ 48: `0 )`,
1119
+ 49: `1 !`,
1120
+ 50: `2 @`,
1121
+ 51: `3 #`,
1122
+ 52: `4 $`,
1123
+ 53: `5 %`,
1124
+ 54: `6 ^`,
1125
+ 55: `7 &`,
1126
+ 56: `8 *`,
1127
+ 57: `9 (`,
1128
+ 186: `' "`,
1129
+ 187: `; :`,
1130
+ 188: `, <`,
1131
+ 189: `- _`,
1132
+ 190: `. >`,
1133
+ 191: `/ ?`,
1134
+ 192: `[ {`,
1135
+ 219: `] }`,
1136
+ 220: `IntlYen`,
1137
+ 221: `\\ |`,
1138
+ 222: `= +`,
1139
+ 226: `IntlRo`,
1140
+ 229: "` ~",
1141
+ },
1142
+ };
1143
+
1091
1144
  // キー表示用
1092
1145
  g_kCd[0] = `- - -`;
1093
1146
  g_kCd[1] = `Unknown`;
@@ -1115,16 +1168,6 @@ g_kCd[44] = `PS`;
1115
1168
  g_kCd[45] = `Insert`;
1116
1169
  g_kCd[46] = `Delete`;
1117
1170
  g_kCd[47] = `Help`;
1118
- g_kCd[48] = `0`;
1119
- g_kCd[49] = `1`;
1120
- g_kCd[50] = `2`;
1121
- g_kCd[51] = `3`;
1122
- g_kCd[52] = `4`;
1123
- g_kCd[53] = `5`;
1124
- g_kCd[54] = `6`;
1125
- g_kCd[55] = `7`;
1126
- g_kCd[56] = `8`;
1127
- g_kCd[57] = `9`;
1128
1171
  g_kCd[65] = `A`;
1129
1172
  g_kCd[66] = `B`;
1130
1173
  g_kCd[67] = `C`;
@@ -1187,19 +1230,6 @@ g_kCd[126] = `F15`;
1187
1230
  g_kCd[134] = `FN`;
1188
1231
  g_kCd[144] = `NumLk`;
1189
1232
  g_kCd[145] = `SL`;
1190
- g_kCd[186] = `: *`;
1191
- g_kCd[187] = `; +`;
1192
- g_kCd[188] = `, <`;
1193
- g_kCd[189] = `- =`;
1194
- g_kCd[190] = `. >`;
1195
- g_kCd[191] = `/ ?`;
1196
- g_kCd[192] = "@ `";
1197
- g_kCd[219] = `[ {`;
1198
- g_kCd[220] = `\\ |`;
1199
- g_kCd[221] = `] }`;
1200
- g_kCd[222] = `^ ~`;
1201
- g_kCd[226] = `\\ _`;
1202
- g_kCd[229] = `IME`;
1203
1233
  g_kCd[240] = `CapsLk`;
1204
1234
  g_kCd[256] = `R)Shift`;
1205
1235
  g_kCd[257] = `R)Ctrl`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "danoniplus",
3
- "version": "34.0.0",
3
+ "version": "34.2.0",
4
4
  "description": "Dancing☆Onigiri (CW Edition) - Web-based Rhythm Game",
5
5
  "main": "index.js",
6
6
  "scripts": {