danoniplus 30.2.0 → 30.2.2

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.
@@ -81,7 +81,7 @@ onigiri,0,-90,90,180,giko,onigiri,iyo,0,-90,90,180,0,-90,90,180,0,-90,90,180,gik
81
81
  5,5,5,5,5,7i,7i,7i,7i,7i,7i,7i,7i,7i,11,11,11,11,11L,11L,11L,11L,11W,11W,11W,11W,12,12,12,12,12,12,12,12,12,12,12,12,11/11L/11W,11/11L/11W,11/11L/11W,11/11L/11W,11/11L/11W,11/11L/11W,11/11L/11W
82
82
  |
83
83
 
84
- |divTr=7$7$7$12,19|
84
+ |divTr=7$7$7$12|
85
85
  |keyCtrlTr=
86
86
  37/0,40/0,38/0,39/0,32/0,90/0,88/0,67/0,37/0,40/0,38/0,39/0,37/0,40/0,38/0,39/0,87/0,69/0,51/52,82/0,49/50,84/0,89/0,48/189,85/0,73/0,56/57/0,79/0,83/0,68/0,70/0,32/0,74/0,75/0,76/0,32/0,78/0,74/0,77/0,75/0,188/0,76/0,190/0
87
87
  32/0,37/0,40/0,38/0,39/0,90/0,88/0,67/0,37/0,40/0,38/0,39/0,37/0,40/0,38/0,39/0,87/0,69/0,51/52,82/0,49/50,84/0,89/0,48/189,85/0,73/0,56/57/0,79/0,83/0,68/0,70/0,32/0,74/0,75/0,76/0,32/0,78/0,74/0,77/0,75/0,188/0,76/0,190/0
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/02/17
7
+ * Revised : 2023/02/20
8
8
  *
9
9
  * https://github.com/cwtickle/danoniplus
10
10
  */
11
- const g_version = `Ver 30.2.0`;
12
- const g_revisedDate = `2023/02/17`;
11
+ const g_version = `Ver 30.2.2`;
12
+ const g_revisedDate = `2023/02/20`;
13
13
  const g_alphaVersion = ``;
14
14
 
15
15
  // カスタム用バージョン (danoni_custom.js 等で指定可)
@@ -6422,9 +6422,9 @@ const getKeyInfo = _ => {
6422
6422
  const keyCtrlPtn = `${g_keyObj.currentKey}_${g_keyObj.currentPtn}`;
6423
6423
  const keyNum = g_keyObj[`chara${keyCtrlPtn}`].length;
6424
6424
  const posMax = (g_keyObj[`divMax${keyCtrlPtn}`] !== undefined ?
6425
- g_keyObj[`divMax${keyCtrlPtn}`] : g_keyObj[`pos${keyCtrlPtn}`][keyNum - 1] + 1);
6425
+ g_keyObj[`divMax${keyCtrlPtn}`] : Math.max(...g_keyObj[`pos${keyCtrlPtn}`]) + 1);
6426
6426
  const divideCnt = g_keyObj[`div${keyCtrlPtn}`] - 1;
6427
- const keyGroupMaps = setVal(g_keyObj[`keyGroup${keyCtrlPtn}`], [...Array(keyNum)].fill([0]), C_TYP_STRING);
6427
+ const keyGroupMaps = setVal(g_keyObj[`keyGroup${keyCtrlPtn}`], [...Array(keyNum)].fill([`0`]), C_TYP_STRING);
6428
6428
  const keyGroupList = makeDedupliArray(keyGroupMaps.flat()).sort((a, b) => parseInt(a) - parseInt(b));
6429
6429
 
6430
6430
  return {
@@ -7152,7 +7152,7 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
7152
7152
  const arrowNum = parseFloat(tmpScrollchData[1]);
7153
7153
  const scrollDir = parseFloat(tmpScrollchData[2] ?? `1`);
7154
7154
 
7155
- scrollchData.push([frame, frame, arrowNum, scrollDir]);
7155
+ scrollchData.push([frame, arrowNum, frame, scrollDir]);
7156
7156
  });
7157
7157
  return scrollchData.sort((_a, _b) => _a[0] - _b[0]).flat();
7158
7158
  }
@@ -7393,14 +7393,12 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
7393
7393
  }
7394
7394
 
7395
7395
  // キー変化定義
7396
- obj.keychFrames = [];
7396
+ obj.keychFrames = [0];
7397
+ obj.keychTarget = [`0`];
7397
7398
  if (hasVal(_dosObj[`keych${setScoreIdHeader(g_stateObj.scoreId, g_stateObj.scoreLockFlg)}_data`])) {
7398
7399
  const keychdata = splitLF2(_dosObj[`keych${setScoreIdHeader(g_stateObj.scoreId, g_stateObj.scoreLockFlg)}_data`], `,`);
7399
- obj.keychFrames = keychdata.filter((val, j) => j % 2 === 0);
7400
- obj.keychTarget = keychdata.filter((val, j) => j % 2 === 1);
7401
- } else {
7402
- obj.keychFrames = [0];
7403
- obj.keychTarget = [0];
7400
+ obj.keychFrames.push(...keychdata.filter((val, j) => j % 2 === 0));
7401
+ obj.keychTarget.push(...keychdata.filter((val, j) => j % 2 === 1));
7404
7402
  }
7405
7403
 
7406
7404
  return obj;
@@ -7738,7 +7736,8 @@ const pushArrows = (_dataObj, _speedOnFrame, _motionOnFrame, _firstArrivalFrame)
7738
7736
  g_workObj.boostData = getTimingData(_dataObj.boostData);
7739
7737
 
7740
7738
  /**
7741
- * 色変化・モーションデータのタイミング更新
7739
+ * 色変化・モーションデータ・スクロール反転データのタイミング更新
7740
+ * - この関数を使用する場合、配列グループの先頭2つが「フレーム数、矢印番号」となっていないと動作しない
7742
7741
  * @param {string} _type
7743
7742
  * @param {string} _header
7744
7743
  * @param {function} _setFunc
@@ -7759,6 +7758,7 @@ const pushArrows = (_dataObj, _speedOnFrame, _motionOnFrame, _firstArrivalFrame)
7759
7758
  const calcFrameFlg = (_colorFlg && !isFrzHitColor(baseData[k + 1]) && !baseData[k + 3]) || _calcFrameFlg;
7760
7759
 
7761
7760
  if (baseData[k] < g_scoreObj.frameNum) {
7761
+ // フェードイン直前にある色変化・モーションデータ・スクロール反転データを取得して格納
7762
7762
  if (!hasValInArray(baseData[k + 1], frontData)) {
7763
7763
  frontData.unshift(baseData.slice(k + 1, k + _term));
7764
7764
  }
@@ -7844,7 +7844,7 @@ const pushArrows = (_dataObj, _speedOnFrame, _motionOnFrame, _firstArrivalFrame)
7844
7844
  return _data;
7845
7845
  };
7846
7846
 
7847
- // 個別・全体色変化、モーションデータのタイミング更新
7847
+ // 個別・全体色変化、モーションデータ・スクロール反転データのタイミング更新
7848
7848
  [``, `dummy`].forEach(type =>
7849
7849
  calcDataTiming(`color`, type, pushColors, { _colorFlg: true }));
7850
7850
 
@@ -8094,7 +8094,7 @@ const pushCssMotions = (_header, _frame, _val, _styleName, _styleNameRev) => {
8094
8094
  * @param {number} _val
8095
8095
  * @param {number} _scrollDir
8096
8096
  */
8097
- const pushScrollchs = (_header, _frameArrow, _frameStep, _val, _scrollDir) => {
8097
+ const pushScrollchs = (_header, _frameArrow, _val, _frameStep, _scrollDir) => {
8098
8098
  const tkObj = getKeyInfo();
8099
8099
 
8100
8100
  const frameArrow = Math.max(_frameArrow, g_scoreObj.frameNum);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "danoniplus",
3
- "version": "30.2.0",
3
+ "version": "30.2.2",
4
4
  "description": "Dancing☆Onigiri (CW Edition) - Web-based Rhythm Game",
5
5
  "main": "index.js",
6
6
  "scripts": {