danoniplus 34.7.5 → 34.7.7

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/05/18
7
+ * Revised : 2024/06/20
8
8
  *
9
9
  * https://github.com/cwtickle/danoniplus
10
10
  */
11
- const g_version = `Ver 34.7.5`;
12
- const g_revisedDate = `2024/05/18`;
11
+ const g_version = `Ver 34.7.7`;
12
+ const g_revisedDate = `2024/06/20`;
13
13
 
14
14
  // カスタム用バージョン (danoni_custom.js 等で指定可)
15
15
  let g_localVersion = ``;
@@ -7595,6 +7595,19 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
7595
7595
  getRefData(_header, `${_type}_data`)
7596
7596
  ];
7597
7597
 
7598
+ /**
7599
+ * 譜面データの優先順配列パターンの取得
7600
+ * @param {string} _type
7601
+ * @param {number} _scoreNo
7602
+ * @returns
7603
+ */
7604
+ const getPriorityVal = (_type, _scoreNo) => [
7605
+ `${_type}${g_localeObj.val}${_scoreNo}_data`,
7606
+ `${_type}${g_localeObj.val}_data`,
7607
+ `${_type}${_scoreNo}_data`,
7608
+ `${_type}_data`
7609
+ ];
7610
+
7598
7611
  /**
7599
7612
  * 歌詞表示、背景・マスクデータの優先順取得
7600
7613
  */
@@ -7630,16 +7643,25 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
7630
7643
  */
7631
7644
  const makeWordData = _scoreNo => {
7632
7645
  const wordDataList = [];
7646
+ const wordTargets = [];
7633
7647
  let wordReverseFlg = false;
7634
7648
  const divideCnt = getKeyInfo().divideCnt;
7635
- const addDataList = (_type = ``) => wordDataList.push(...getPriorityList(`word`, _type, _scoreNo));
7649
+ const addDataList = (_type = ``) => wordTargets.push(...getPriorityVal(_type, _scoreNo));
7636
7650
  getPriorityHeader().forEach(val => addDataList(val));
7651
+ makeDedupliArray(wordTargets).forEach(val => wordDataList.push(getRefData(`word`, val)));
7637
7652
 
7638
7653
  if (g_stateObj.reverse === C_FLG_ON) {
7654
+ let wordTarget = ``;
7655
+ for (let val of makeDedupliArray(wordTargets)) {
7656
+ if (getRefData(`word`, val) !== undefined) {
7657
+ wordTarget = val;
7658
+ break;
7659
+ }
7660
+ }
7639
7661
 
7640
7662
  // wordRev_dataが指定されている場合はそのままの位置を採用
7641
7663
  // word_dataのみ指定されている場合、下記ルールに従って設定
7642
- if (wordDataList.find((v) => v !== undefined) === undefined) {
7664
+ if (!wordTarget.includes(`Rev`) && g_stateObj.scroll === `---`) {
7643
7665
  // Reverse時の歌詞の自動反転制御設定
7644
7666
  if (g_headerObj.wordAutoReverse !== `auto`) {
7645
7667
  wordReverseFlg = g_headerObj.wordAutoReverse === C_FLG_ON;
@@ -8805,8 +8827,8 @@ const mainInit = _ => {
8805
8827
  const filterCss = g_stateObj.filterLock === C_FLG_OFF ? g_cssObj.life_Failed : g_cssObj.life_Cleared;
8806
8828
  [`filterBar0`, `filterBar1`, `borderBar0`, `borderBar1`].forEach(obj =>
8807
8829
  mainSprite.appendChild(createColorObject2(obj, g_lblPosObj.filterBar, filterCss)));
8808
- borderBar0.style.top = wUnit(g_posObj.stepDiffY);
8809
- borderBar1.style.top = wUnit(g_posObj.stepDiffY + g_posObj.arrowHeight);
8830
+ borderBar0.style.top = wUnit(g_posObj.stepDiffY + g_stateObj.hitPosition);
8831
+ borderBar1.style.top = wUnit(g_posObj.stepDiffY + g_posObj.arrowHeight - g_stateObj.hitPosition);
8810
8832
 
8811
8833
  if (g_appearanceRanges.includes(g_stateObj.appearance)) {
8812
8834
  mainSprite.appendChild(createDivCss2Label(`filterView`, ``, g_lblPosObj.filterView));
@@ -9959,8 +9981,8 @@ const changeAppearanceFilter = (_appearance, _num = 10) => {
9959
9981
  $id(`arrowSprite${topNum}`).clipPath = topShape;
9960
9982
  $id(`arrowSprite${bottomNum}`).clipPath = bottomShape;
9961
9983
 
9962
- $id(`filterBar0`).top = wUnit(g_posObj.arrowHeight * _num / 100);
9963
- $id(`filterBar1`).top = wUnit(g_posObj.arrowHeight * (100 - _num) / 100);
9984
+ $id(`filterBar0`).top = wUnit(g_posObj.arrowHeight * _num / 100 + g_stateObj.hitPosition);
9985
+ $id(`filterBar1`).top = wUnit(g_posObj.arrowHeight * (100 - _num) / 100 - g_stateObj.hitPosition);
9964
9986
 
9965
9987
  if (g_appearanceRanges.includes(_appearance)) {
9966
9988
  $id(`filterView`).top =
@@ -10089,6 +10111,7 @@ const changeHitFrz = (_j, _k, _name, _difFrame = 0) => {
10089
10111
 
10090
10112
  const styfrzBar = $id(`${_name}Bar${frzNo}`);
10091
10113
  const styfrzBtm = $id(`${_name}Btm${frzNo}`);
10114
+ const styfrzTop = $id(`${_name}Top${frzNo}`);
10092
10115
  const styfrzTopShadow = $id(`${_name}TopShadow${frzNo}`);
10093
10116
  const styfrzBtmShadow = $id(`${_name}BtmShadow${frzNo}`);
10094
10117
  const colorPos = g_keyObj[`color${g_keyObj.currentKey}_${g_keyObj.currentPtn}`][_j];
@@ -10114,7 +10137,8 @@ const changeHitFrz = (_j, _k, _name, _difFrame = 0) => {
10114
10137
  styfrzBar.background = g_workObj[`${_name}HitBarColors`][_j];
10115
10138
  styfrzBtm.top = wUnit(currentFrz.btmY);
10116
10139
  styfrzBtm.background = g_workObj[`${_name}HitColors`][_j];
10117
- styfrzTopShadow.opacity = 0;
10140
+ styfrzTop.top = wUnit(- hitPos);
10141
+ styfrzTopShadow.top = styfrzTop.top;
10118
10142
  styfrzBtmShadow.top = styfrzBtm.top;
10119
10143
  if (_name === `frz`) {
10120
10144
  if (g_headerObj.frzShadowColor[colorPos][1] !== ``) {
@@ -10141,16 +10165,10 @@ const changeFailedFrz = (_j, _k) => {
10141
10165
  $id(`frzHit${_j}`).opacity = 0;
10142
10166
  $id(`frzTop${frzNo}`).display = C_DIS_INHERIT;
10143
10167
  $id(`frzTop${frzNo}`).background = `#cccccc`;
10144
- $id(`frzTopShadow${frzNo}`).opacity = 1;
10145
10168
  $id(`frzBar${frzNo}`).background = `#999999`;
10146
10169
  $id(`frzBar${frzNo}`).opacity = 1;
10147
10170
  $id(`frzBtm${frzNo}`).background = `#cccccc`;
10148
10171
 
10149
- // 判定位置調整分の補正
10150
- const hitPos = g_workObj.hitPosition * g_workObj.scrollDir[_j];
10151
- $id(`frzTop${frzNo}`).top = wUnit(- hitPos);
10152
- $id(`frzTopShadow${frzNo}`).top = wUnit(- hitPos);
10153
-
10154
10172
  const colorPos = g_keyObj[`color${g_keyObj.currentKey}_${g_keyObj.currentPtn}`][_j];
10155
10173
  if (g_headerObj.frzShadowColor[colorPos][0] !== ``) {
10156
10174
  $id(`frzTopShadow${frzNo}`).background = `#333333`;
@@ -10844,7 +10862,7 @@ const resultInit = _ => {
10844
10862
  tweetResultTmp = tweetResultTmp.split(`[${key}]`).join(g_resultObj[g_presetObj.resultVals[key]]));
10845
10863
  }
10846
10864
  const resultText = `${unEscapeHtml(tweetResultTmp)}`;
10847
- const tweetResult = `https://x.com/intent/tweet?text=${encodeURIComponent(resultText)}`;
10865
+ const tweetResult = `https://x.com/intent/post?text=${encodeURIComponent(resultText)}`;
10848
10866
  const currentDateTime = new Date().toLocaleString();
10849
10867
 
10850
10868
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "danoniplus",
3
- "version": "34.7.5",
3
+ "version": "34.7.7",
4
4
  "description": "Dancing☆Onigiri (CW Edition) - Web-based Rhythm Game",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/skin/skin_css.zip DELETED
Binary file