danoniplus 36.6.0 → 36.6.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.
Files changed (2) hide show
  1. package/js/danoni_main.js +34 -15
  2. package/package.json +1 -1
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/08
7
+ * Revised : 2024/06/25
8
8
  *
9
9
  * https://github.com/cwtickle/danoniplus
10
10
  */
11
- const g_version = `Ver 36.6.0`;
12
- const g_revisedDate = `2024/06/08`;
11
+ const g_version = `Ver 36.6.2`;
12
+ const g_revisedDate = `2024/06/25`;
13
13
 
14
14
  // カスタム用バージョン (danoni_custom.js 等で指定可)
15
15
  let g_localVersion = ``;
@@ -4743,7 +4743,7 @@ const drawSpeedGraph = _scoreId => {
4743
4743
  drawBaseLine(context);
4744
4744
 
4745
4745
  const avgX = [0, 0];
4746
- const avgSubX = [1, 1];
4746
+ const avgSubX = [0, 0];
4747
4747
  const lineX = [125, 210];
4748
4748
  Object.keys(speedObj).forEach((speedType, j) => {
4749
4749
  context.beginPath();
@@ -8005,6 +8005,19 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
8005
8005
  getRefData(_header, `${_type}_data`)
8006
8006
  ];
8007
8007
 
8008
+ /**
8009
+ * 譜面データの優先順配列パターンの取得
8010
+ * @param {string} _type
8011
+ * @param {number} _scoreNo
8012
+ * @returns
8013
+ */
8014
+ const getPriorityVal = (_type, _scoreNo) => [
8015
+ `${_type}${g_localeObj.val}${_scoreNo}_data`,
8016
+ `${_type}${g_localeObj.val}_data`,
8017
+ `${_type}${_scoreNo}_data`,
8018
+ `${_type}_data`
8019
+ ];
8020
+
8008
8021
  /**
8009
8022
  * 歌詞表示、背景・マスクデータの優先順取得
8010
8023
  */
@@ -8040,16 +8053,25 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
8040
8053
  */
8041
8054
  const makeWordData = _scoreNo => {
8042
8055
  const wordDataList = [];
8056
+ const wordTargets = [];
8043
8057
  let wordReverseFlg = false;
8044
8058
  const divideCnt = getKeyInfo().divideCnt;
8045
- const addDataList = (_type = ``) => wordDataList.push(...getPriorityList(`word`, _type, _scoreNo));
8059
+ const addDataList = (_type = ``) => wordTargets.push(...getPriorityVal(_type, _scoreNo));
8046
8060
  getPriorityHeader().forEach(val => addDataList(val));
8061
+ makeDedupliArray(wordTargets).forEach(val => wordDataList.push(getRefData(`word`, val)));
8047
8062
 
8048
8063
  if (g_stateObj.reverse === C_FLG_ON) {
8064
+ let wordTarget = ``;
8065
+ for (let val of makeDedupliArray(wordTargets)) {
8066
+ if (getRefData(`word`, val) !== undefined) {
8067
+ wordTarget = val;
8068
+ break;
8069
+ }
8070
+ }
8049
8071
 
8050
8072
  // wordRev_dataが指定されている場合はそのままの位置を採用
8051
8073
  // word_dataのみ指定されている場合、下記ルールに従って設定
8052
- if (wordDataList.find((v) => v !== undefined) === undefined) {
8074
+ if (!wordTarget.includes(`Rev`) && g_stateObj.scroll === `---`) {
8053
8075
  // Reverse時の歌詞の自動反転制御設定
8054
8076
  if (g_headerObj.wordAutoReverse !== `auto`) {
8055
8077
  wordReverseFlg = g_headerObj.wordAutoReverse === C_FLG_ON;
@@ -9011,7 +9033,8 @@ const getArrowSettings = _ => {
9011
9033
 
9012
9034
  g_typeLists.frzColor.forEach((frzType, k) => {
9013
9035
  g_workObj[`frz${frzType}Colors${type}`][j] = g_headerObj.frzColor[colorj][k] || ``;
9014
- g_workObj[`dummyFrz${frzType}Colors${type}`][j] = g_headerObj.setDummyColor[colorj];
9036
+ g_workObj[`dummyFrz${frzType}Colors${type}`][j] =
9037
+ frzType.includes(`Shadow`) ? `` : g_headerObj.setDummyColor[colorj] || ``;
9015
9038
  });
9016
9039
  g_workObj[`frzNormalShadowColors${type}`][j] = g_headerObj.frzShadowColor[colorj][0] || ``;
9017
9040
  g_workObj[`frzHitShadowColors${type}`][j] = g_headerObj.frzShadowColor[colorj][1] || ``;
@@ -10271,7 +10294,7 @@ const mainInit = _ => {
10271
10294
  // ダミーフリーズアロー生成
10272
10295
  g_workObj.mkDummyFrzArrow[currentFrame]?.forEach(data =>
10273
10296
  makeFrzArrow(data, ++dummyFrzCnts[data], `dummyFrz`, g_workObj.dummyFrzNormalColors[data],
10274
- _workObj.dummyFrzNormalBarColors[data], g_workObj.dummyFrzNormalShadowColors[data]));
10297
+ g_workObj.dummyFrzNormalBarColors[data], g_workObj.dummyFrzNormalShadowColors[data]));
10275
10298
 
10276
10299
  // フリーズアロー生成
10277
10300
  g_workObj.mkFrzArrow[currentFrame]?.forEach(data =>
@@ -10574,6 +10597,7 @@ const changeHitFrz = (_j, _k, _name, _difFrame = 0) => {
10574
10597
 
10575
10598
  const styfrzBar = $id(`${_name}Bar${frzNo}`);
10576
10599
  const styfrzBtm = $id(`${_name}Btm${frzNo}`);
10600
+ const styfrzTop = $id(`${_name}Top${frzNo}`);
10577
10601
  const styfrzTopShadow = $id(`${_name}TopShadow${frzNo}`);
10578
10602
  const styfrzBtmShadow = $id(`${_name}BtmShadow${frzNo}`);
10579
10603
 
@@ -10610,7 +10634,8 @@ const changeHitFrz = (_j, _k, _name, _difFrame = 0) => {
10610
10634
  styfrzBar.background = getColor(`HitBar`);
10611
10635
  styfrzBtm.top = wUnit(currentFrz.btmY);
10612
10636
  styfrzBtm.background = tmpHitColor;
10613
- styfrzTopShadow.opacity = 0;
10637
+ styfrzTop.top = wUnit(- hitPos);
10638
+ styfrzTopShadow.top = styfrzTop.top;
10614
10639
  styfrzBtmShadow.top = styfrzBtm.top;
10615
10640
  if (_name === `frz`) {
10616
10641
  const tmpShadowColor = getColor(`HitShadow`);
@@ -10635,17 +10660,11 @@ const changeFailedFrz = (_j, _k) => {
10635
10660
  $id(`frzHit${_j}`).opacity = 0;
10636
10661
  $id(`frzTop${frzNo}`).display = C_DIS_INHERIT;
10637
10662
  $id(`frzTop${frzNo}`).background = `#cccccc`;
10638
- $id(`frzTopShadow${frzNo}`).opacity = 1;
10639
10663
  $id(`frzTopShadow${frzNo}`).background = `#333333`;
10640
10664
  $id(`frzBtmShadow${frzNo}`).background = `#333333`;
10641
10665
  $id(`frzBar${frzNo}`).background = `#999999`;
10642
10666
  $id(`frzBar${frzNo}`).opacity = 1;
10643
10667
  $id(`frzBtm${frzNo}`).background = `#cccccc`;
10644
-
10645
- // 判定位置調整分の補正
10646
- const hitPos = g_workObj.hitPosition * g_workObj.scrollDir[_j];
10647
- $id(`frzTop${frzNo}`).top = wUnit(- hitPos);
10648
- $id(`frzTopShadow${frzNo}`).top = wUnit(- hitPos);
10649
10668
  };
10650
10669
 
10651
10670
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "danoniplus",
3
- "version": "36.6.0",
3
+ "version": "36.6.2",
4
4
  "description": "Dancing☆Onigiri (CW Edition) - Web-based Rhythm Game",
5
5
  "main": "index.js",
6
6
  "scripts": {