danoniplus 36.5.0 → 36.6.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 : 2024/06/01
7
+ * Revised : 2024/06/08
8
8
  *
9
9
  * https://github.com/cwtickle/danoniplus
10
10
  */
11
- const g_version = `Ver 36.5.0`;
12
- const g_revisedDate = `2024/06/05`;
11
+ const g_version = `Ver 36.6.0`;
12
+ const g_revisedDate = `2024/06/08`;
13
13
 
14
14
  // カスタム用バージョン (danoni_custom.js 等で指定可)
15
15
  let g_localVersion = ``;
@@ -6453,7 +6453,7 @@ const keyConfigInit = (_kcType = g_kcType) => {
6453
6453
  * @param {number} _scrollNum
6454
6454
  */
6455
6455
  const changeTmpShuffleNum = (_j, _scrollNum = 1) => {
6456
- const tmpShuffle = changeTmpData(`shuffle`, g_limitObj.kcShuffleNums, _j, _scrollNum);
6456
+ const tmpShuffle = changeTmpData(`shuffle`, g_keyObj[`keyCtrl${keyCtrlPtn}`].length - 1, _j, _scrollNum);
6457
6457
  document.getElementById(`sArrow${_j}`).textContent = tmpShuffle + 1;
6458
6458
 
6459
6459
  changeShuffleConfigColor(keyCtrlPtn, g_keyObj[`shuffle${keyCtrlPtn}_${g_keycons.shuffleGroupNum}`][_j], _j);
@@ -9257,8 +9257,8 @@ const mainInit = _ => {
9257
9257
  const filterCss = g_stateObj.filterLock === C_FLG_OFF ? g_cssObj.life_Failed : g_cssObj.life_Cleared;
9258
9258
  [`filterBar0`, `filterBar1`, `borderBar0`, `borderBar1`].forEach(obj =>
9259
9259
  mainSprite.appendChild(createColorObject2(obj, g_lblPosObj.filterBar, filterCss)));
9260
- borderBar0.style.top = wUnit(g_posObj.stepDiffY);
9261
- borderBar1.style.top = wUnit(g_posObj.stepDiffY + g_posObj.arrowHeight);
9260
+ borderBar0.style.top = wUnit(g_posObj.stepDiffY + g_stateObj.hitPosition);
9261
+ borderBar1.style.top = wUnit(g_posObj.stepDiffY + g_posObj.arrowHeight - g_stateObj.hitPosition);
9262
9262
 
9263
9263
  if (g_appearanceRanges.includes(g_stateObj.appearance)) {
9264
9264
  mainSprite.appendChild(createDivCss2Label(`filterView`, ``, g_lblPosObj.filterView));
@@ -9543,8 +9543,17 @@ const mainInit = _ => {
9543
9543
  );
9544
9544
  }
9545
9545
 
9546
+ const msg = [];
9546
9547
  if (getMusicUrl(g_stateObj.scoreId) === `nosound.mp3`) {
9547
- makeInfoWindow(g_msgInfoObj.I_0004, `leftToRightFade`, { _x: g_workObj.playingX, _y: g_headerObj.playingY });
9548
+ msg.push(g_msgInfoObj.I_0004);
9549
+ }
9550
+ if (g_stateObj.shuffle.indexOf(`Mirror`) !== -1 &&
9551
+ g_stateObj.dataSaveFlg && g_stateObj.autoAll === C_FLG_OFF &&
9552
+ g_keyObj[`shuffle${keyCtrlPtn}`].filter((shuffleGr, j) => shuffleGr !== g_keyObj[`shuffle${keyCtrlPtn}_0d`][j]).length > 0) {
9553
+ msg.push(g_msgInfoObj.I_0005);
9554
+ }
9555
+ if (msg.length > 0) {
9556
+ makeInfoWindow(msg.join(`<br>`), `leftToRightFade`, { _x: g_workObj.playingX, _y: g_headerObj.playingY });
9548
9557
  }
9549
9558
 
9550
9559
  // ユーザカスタムイベント(初期)
@@ -10437,8 +10446,8 @@ const changeAppearanceFilter = (_appearance, _num = 10) => {
10437
10446
  $id(`arrowSprite${topNum}`).clipPath = topShape;
10438
10447
  $id(`arrowSprite${bottomNum}`).clipPath = bottomShape;
10439
10448
 
10440
- $id(`filterBar0`).top = wUnit(g_posObj.arrowHeight * _num / 100);
10441
- $id(`filterBar1`).top = wUnit(g_posObj.arrowHeight * (100 - _num) / 100);
10449
+ $id(`filterBar0`).top = wUnit(g_posObj.arrowHeight * _num / 100 + g_stateObj.hitPosition);
10450
+ $id(`filterBar1`).top = wUnit(g_posObj.arrowHeight * (100 - _num) / 100 - g_stateObj.hitPosition);
10442
10451
 
10443
10452
  if (g_appearanceRanges.includes(_appearance)) {
10444
10453
  $id(`filterView`).top =
@@ -11082,6 +11091,8 @@ const resultInit = _ => {
11082
11091
 
11083
11092
  const keyCtrlPtn = `${g_keyObj.currentKey}_${g_keyObj.currentPtn}`;
11084
11093
  const transKeyName = (hasVal(g_keyObj[`transKey${keyCtrlPtn}`]) ? `(${g_keyObj[`transKey${keyCtrlPtn}`]})` : ``);
11094
+ const orgShuffleFlg = g_keyObj[`shuffle${keyCtrlPtn}`].filter((shuffleGr, j) => shuffleGr !== g_keyObj[`shuffle${keyCtrlPtn}_0d`][j]).length === 0;
11095
+ const shuffleName = `${getStgDetailName(g_stateObj.shuffle)}${!orgShuffleFlg && !g_stateObj.shuffle.endsWith(`+`) ? getStgDetailName('(S)') : ''}`;
11085
11096
 
11086
11097
  /**
11087
11098
  * プレイスタイルのカスタム有無
@@ -11096,7 +11107,7 @@ const resultInit = _ => {
11096
11107
  `${getKeyName(g_headerObj.keyLabels[g_stateObj.scoreId])}${transKeyName} ${getStgDetailName('key')} / ${g_headerObj.difLabels[g_stateObj.scoreId]}`,
11097
11108
  `${withOptions(g_autoPlaysBase.includes(g_stateObj.autoPlay), true, `-${getStgDetailName(g_stateObj.autoPlay)}${getStgDetailName('less')}`)}`,
11098
11109
  `${withOptions(g_headerObj.makerView, false, `(${g_headerObj.creatorNames[g_stateObj.scoreId]})`)}`,
11099
- `${withOptions(g_stateObj.shuffle, C_FLG_OFF, `[${getStgDetailName(g_stateObj.shuffle)}]`)}`
11110
+ `${withOptions(g_stateObj.shuffle, C_FLG_OFF, `[${shuffleName}]`)}`
11100
11111
  ];
11101
11112
  let difData = difDatas.filter(value => value !== ``).join(` `);
11102
11113
  const difDataForImage = difDatas.filter((value, j) => value !== `` && j !== 2).join(` `);
@@ -11241,7 +11252,7 @@ const resultInit = _ => {
11241
11252
  maxCombo: 0, fmaxCombo: 0, score: 0,
11242
11253
  };
11243
11254
 
11244
- const highscoreCondition = (g_stateObj.autoAll === C_FLG_OFF && (g_stateObj.shuffle === C_FLG_OFF || mirrorName !== ``));
11255
+ const highscoreCondition = (g_stateObj.autoAll === C_FLG_OFF && (g_stateObj.shuffle === C_FLG_OFF || (mirrorName !== `` && orgShuffleFlg)));
11245
11256
  if (highscoreCondition) {
11246
11257
 
11247
11258
  // ハイスコア差分描画
@@ -11348,7 +11359,7 @@ const resultInit = _ => {
11348
11359
  const hashTag = (hasVal(g_headerObj.hashTag) ? ` ${g_headerObj.hashTag}` : ``);
11349
11360
  let tweetDifData = `${getKeyName(g_headerObj.keyLabels[g_stateObj.scoreId])}${transKeyName}${getStgDetailName('k-')}${g_headerObj.difLabels[g_stateObj.scoreId]}${assistFlg}`;
11350
11361
  if (g_stateObj.shuffle !== `OFF`) {
11351
- tweetDifData += `:${getStgDetailName(g_stateObj.shuffle)}`;
11362
+ tweetDifData += `:${shuffleName}`;
11352
11363
  }
11353
11364
  const twiturl = new URL(g_localStorageUrl);
11354
11365
  twiturl.searchParams.append(`scoreId`, g_stateObj.scoreId);
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * Source by tickle
7
7
  * Created : 2019/11/19
8
- * Revised : 2024/06/05 (v36.5.0)
8
+ * Revised : 2024/06/08 (v36.6.0)
9
9
  *
10
10
  * https://github.com/cwtickle/danoniplus
11
11
  */
@@ -122,9 +122,6 @@ const g_limitObj = {
122
122
 
123
123
  // キーコンフィグで表示するカラーピッカー数
124
124
  kcColorPickerNum: 5,
125
-
126
- // キーコンフィグで設定できるシャッフルグループ上限数
127
- kcShuffleNums: 20,
128
125
  };
129
126
 
130
127
  /** 設定項目の位置 */
@@ -2856,6 +2853,7 @@ const g_lang_msgInfoObj = {
2856
2853
  I_0002: `入力したキーは割り当てできません。他のキーを指定してください。`,
2857
2854
  I_0003: `各譜面の明細情報をクリップボードにコピーしました!`,
2858
2855
  I_0004: `musicUrlが設定されていないため、無音モードで再生します`,
2856
+ I_0005: `正規のミラー譜面で無いため、ハイスコアは保存されません`,
2859
2857
  },
2860
2858
  En: {
2861
2859
  W_0001: `Your browser is not guaranteed to work.<br>
@@ -2905,6 +2903,7 @@ const g_lang_msgInfoObj = {
2905
2903
  I_0002: `The specified key cannot be assigned. Please specify another key.`,
2906
2904
  I_0003: `Charts information is copied to the clipboard!`,
2907
2905
  I_0004: `Play in silence mode because "musicUrl" is not set`,
2906
+ I_0005: `Highscore is not saved because not a regular mirrored chart.`,
2908
2907
  },
2909
2908
  };
2910
2909
 
@@ -3042,6 +3041,7 @@ const g_lblNameObj = {
3042
3041
  'u_Random+': `Random+`,
3043
3042
  'u_S-Random': `S-Random`,
3044
3043
  'u_S-Random+': `S-Random+`,
3044
+ 'u_(S)': `(S)`,
3045
3045
 
3046
3046
  'u_ALL': `ALL`,
3047
3047
  'u_Onigiri': `Onigiri`,
@@ -3129,7 +3129,7 @@ const g_lblNameObj = {
3129
3129
  * リンク先管理
3130
3130
  */
3131
3131
  const g_linkObj = {
3132
- x: `https://x.com/intent/tweet`,
3132
+ x: `https://x.com/intent/post`,
3133
3133
  discord: `https://discord.gg/5Hxu4wDEZR`,
3134
3134
  };
3135
3135
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "danoniplus",
3
- "version": "36.5.0",
3
+ "version": "36.6.0",
4
4
  "description": "Dancing☆Onigiri (CW Edition) - Web-based Rhythm Game",
5
5
  "main": "index.js",
6
6
  "scripts": {