danoniplus 47.6.9 → 47.6.11

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/01
7
+ * Revised : 2026/08/12
8
8
  *
9
9
  * https://github.com/cwtickle/danoniplus
10
10
  */
11
- const g_version = `Ver 47.6.9`;
12
- const g_revisedDate = `2026/08/01`;
11
+ const g_version = `Ver 47.6.11`;
12
+ const g_revisedDate = `2026/08/12`;
13
13
 
14
14
  // カスタム用バージョン (danoni_custom.js 等で指定可)
15
15
  let g_localVersion = ``;
@@ -11910,7 +11910,10 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
11910
11910
  let layerTrans = tmpScrollchData[4] ?? ``;
11911
11911
  maxLayerGroup = Math.max(maxLayerGroup, layerGroup);
11912
11912
  if (g_stateObj.reverse === C_FLG_ON) {
11913
- layerTrans = invertSpecificTransforms(layerTrans);
11913
+ layerTrans = invertSpecificTransforms(layerTrans, [`translateX`]);
11914
+ }
11915
+ if (g_stateObj.swapping === `Mirror+`) {
11916
+ layerTrans = invertSpecificTransforms(layerTrans, [`translateY`]);
11914
11917
  }
11915
11918
 
11916
11919
  scrollchData.push([frame, arrowNum, frame, scrollDir, layerGroup, layerTrans]);
@@ -13071,15 +13074,20 @@ const pushScrollchs = (_header, _frameArrow, _val, _frameStep, _scrollDir, _laye
13071
13074
  /**
13072
13075
  * ホワイトリストに登録されたCSS関数内の数値符号のみを反転する関数
13073
13076
  * @param {string} cssString
13077
+ * @param {string[]} exceptList 反転対象から除外するCSS関数名のリスト
13074
13078
  * @returns {string}
13075
13079
  */
13076
- const invertSpecificTransforms = (cssString) => {
13080
+ const invertSpecificTransforms = (cssString, exceptList = []) => {
13077
13081
  // 反転対象にしたいCSS関数名を指定(ホワイトリスト)
13078
- const targetFunctions = [
13082
+ const baseTargetFunctions = [
13079
13083
  `rotate`, `rotateX`, `rotateY`, `rotateZ`, `rotate3d`,
13080
13084
  `translate`, `translateX`, `translateY`, `translateZ`, `translate3d`,
13081
13085
  `skew`, `skewX`, `skewY`
13082
13086
  ];
13087
+ const targetFunctions = baseTargetFunctions.filter(pattern => !exceptList.includes(pattern));
13088
+ if (targetFunctions.length === 0) {
13089
+ return cssString; // 反転対象がない場合は元の文字列を返す
13090
+ }
13083
13091
 
13084
13092
  // RegExパターンを作成: /(rotate|translate...)\(([^)]+)\)/g
13085
13093
  const pattern = new RegExp(`\\b(${targetFunctions.join(`|`)})\\(([^)]+)\\)`, `g`);
@@ -13171,7 +13179,12 @@ const getArrowSettings = () => {
13171
13179
  if (g_keyObj[`layerTrans${keyCtrlPtn}`]?.[0]) {
13172
13180
  g_workObj.layerTrans = structuredClone(g_keyObj[`layerTrans${keyCtrlPtn}`][0]);
13173
13181
  if (g_stateObj.reverse === C_FLG_ON) {
13174
- g_workObj.layerTrans = g_workObj.layerTrans.map(val => invertSpecificTransforms(val));
13182
+ // Reverse時はX軸反転のため、X軸の座標変換では符号を変換しない
13183
+ g_workObj.layerTrans = g_workObj.layerTrans.map(val => invertSpecificTransforms(val, [`translateX`]));
13184
+ }
13185
+ if (g_stateObj.swapping === `Mirror+`) {
13186
+ // Swapping: Mirror+ はY軸反転のため、Y軸の座標変換では符号を変換しない
13187
+ g_workObj.layerTrans = g_workObj.layerTrans.map(val => invertSpecificTransforms(val, [`translateY`]));
13175
13188
  }
13176
13189
  }
13177
13190
 
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * Source by tickle
7
7
  * Created : 2019/11/19
8
- * Revised : 2026/08/01 (v47.6.9)
8
+ * Revised : 2026/08/01 (v47.6.10)
9
9
  *
10
10
  * https://github.com/cwtickle/danoniplus
11
11
  */
@@ -3230,12 +3230,12 @@ const g_keyObj = {
3230
3230
  chara5_2: [`left`, `down`, `space`, `up`, `right`],
3231
3231
  chara8_2: [`sleft`, `left`, `leftdia`, `down`, `space`, `up`, `rightdia`, `right`],
3232
3232
  chara9h_2: [`1x`, `ax`, `zx`, `sx`, `hx`, `yx`, `ux`, `mx`, `ix`],
3233
- chara11L_2: [`left`, `sleft`, `sdown`, `leftdia`, `down`, `space`,
3234
- `up`, `sup`, `sright`, `rightdia`, `right`],
3235
3233
 
3236
3234
  chara9h_3: [`1x`, `ax`, `zx`, `sx`, `hx`, `yx`, `ux`, `mx`, `ix`],
3237
3235
  chara11_3: [`left`, `sleft`, `sdown`, `leftdia`, `down`, `space`,
3238
3236
  `up`, `sup`, `sright`, `rightdia`, `right`],
3237
+ chara11L_3: [`left`, `sleft`, `sdown`, `leftdia`, `down`, `space`,
3238
+ `up`, `sup`, `sright`, `rightdia`, `right`],
3239
3239
 
3240
3240
  chara9h_4: [`1x`, `ax`, `gor`, `zx`, `sx`, `hx`, `yx`, `ux`, `siyo`, `mx`, `ix`],
3241
3241
  chara9h_5: [`1x`, `ax`, `zx`, `sx`, `hx`, `yx`, `ux`, `mx`, `ix`],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "danoniplus",
3
- "version": "47.6.9",
3
+ "version": "47.6.11",
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",