danoniplus 29.4.9 → 29.4.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.
Files changed (2) hide show
  1. package/js/danoni_main.js +22 -16
  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 : 2023/09/02
7
+ * Revised : 2024/03/17
8
8
  *
9
9
  * https://github.com/cwtickle/danoniplus
10
10
  */
11
- const g_version = `Ver 29.4.9`;
12
- const g_revisedDate = `2023/09/02`;
11
+ const g_version = `Ver 29.4.11`;
12
+ const g_revisedDate = `2024/03/17`;
13
13
  const g_alphaVersion = ``;
14
14
 
15
15
  // カスタム用バージョン (danoni_custom.js 等で指定可)
@@ -442,11 +442,14 @@ const nextPos = (_basePos, _num, _length) => (_basePos + _length + _num) % _leng
442
442
  * 特定キーコードを置換する処理
443
443
  * @param {string} _setCode
444
444
  */
445
- const transCode = _setCode => {
446
- if ([`Control`, `Shift`, `Alt`].includes(_setCode.slice(0, -5))) {
447
- return _setCode.replaceAll(`Right`, `Left`);
445
+ const transCode = _evt => {
446
+ const evtCode = _evt.code;
447
+ if ([`Control`, `Shift`, `Alt`].includes(evtCode.slice(0, -5))) {
448
+ return evtCode.replaceAll(`Right`, `Left`);
449
+ } else if (evtCode === `` && _evt.key === `Shift`) {
450
+ return `ShiftLeft`;
448
451
  }
449
- return _setCode;
452
+ return evtCode;
450
453
  };
451
454
 
452
455
  /**
@@ -471,7 +474,7 @@ const commonKeyDown = (_evt, _displayName, _func = _code => { }, _dfEvtFlg) => {
471
474
  if (!_dfEvtFlg) {
472
475
  _evt.preventDefault();
473
476
  }
474
- const setCode = transCode(_evt.code);
477
+ const setCode = transCode(_evt);
475
478
  if (_evt.repeat && (g_unrepeatObj.page.includes(_displayName) || g_unrepeatObj.key.includes(setCode))) {
476
479
  return blockCode(setCode);
477
480
  }
@@ -505,7 +508,7 @@ const commonKeyDown = (_evt, _displayName, _func = _code => { }, _dfEvtFlg) => {
505
508
  */
506
509
  const commonKeyUp = _evt => {
507
510
  g_inputKeyBuffer[g_kCdNameObj.metaKey] = false;
508
- g_inputKeyBuffer[transCode(_evt.code)] = false;
511
+ g_inputKeyBuffer[transCode(_evt)] = false;
509
512
  };
510
513
 
511
514
  /**
@@ -1263,7 +1266,7 @@ const resetKeyControl = _ => {
1263
1266
  document.onkeyup = _ => { };
1264
1267
  document.onkeydown = evt => {
1265
1268
  evt.preventDefault();
1266
- return blockCode(transCode(evt.code));
1269
+ return blockCode(transCode(evt));
1267
1270
  };
1268
1271
  g_inputKeyBuffer = {};
1269
1272
  };
@@ -8568,7 +8571,7 @@ const mainInit = _ => {
8568
8571
  // キー操作イベント
8569
8572
  document.onkeydown = evt => {
8570
8573
  evt.preventDefault();
8571
- const setCode = transCode(evt.code);
8574
+ const setCode = transCode(evt);
8572
8575
 
8573
8576
  if (evt.repeat && !g_mainRepeatObj.key.includes(setCode)) {
8574
8577
  return blockCode(setCode);
@@ -8636,7 +8639,7 @@ const mainInit = _ => {
8636
8639
  };
8637
8640
 
8638
8641
  document.onkeyup = evt => {
8639
- const setCode = transCode(evt.code);
8642
+ const setCode = transCode(evt);
8640
8643
  g_inputKeyBuffer[setCode] = false;
8641
8644
  mainKeyUpActFunc[g_stateObj.autoAll]();
8642
8645
  };
@@ -8856,19 +8859,22 @@ const mainInit = _ => {
8856
8859
 
8857
8860
  frzOFF: (_j, _k, _cnt) => {
8858
8861
 
8859
- if (g_workObj.judgFrzCnt[_j] === _k - 1) {
8862
+ // 判定対象が自身より前のフリーズアローで、自身の判定範囲がキター(O.K.)の範囲内のとき
8863
+ if (g_workObj.judgFrzCnt[_j] === _k - 1 && _cnt <= g_judgObj.frzJ[g_judgPosObj.sfsf]) {
8860
8864
  const prevFrzName = `frz${_j}_${g_workObj.judgFrzCnt[_j]}`;
8861
8865
  const prevFrz = g_attrObj[prevFrzName];
8862
8866
 
8863
- if (prevFrz.isMoving && !prevFrz.judgEndFlg && prevFrz.cnt < (-1) * g_judgObj.frzJ[g_judgPosObj.kita]) {
8867
+ // 自身より前のフリーズアローが移動中かつキター(O.K.)の領域外のとき
8868
+ if (prevFrz.isMoving && prevFrz.cnt < (-1) * g_judgObj.frzJ[g_judgPosObj.kita]) {
8864
8869
 
8865
- // 自身より前のフリーズアローが未判定の場合、強制的に枠外判定を行いフリーズアローを削除
8866
- if (prevFrz.cnt >= (-1) * g_judgObj.frzJ[g_judgPosObj.iknai]) {
8870
+ // 自身より前のフリーズアローが未判定の場合、強制的に枠外判定を行う
8871
+ if (prevFrz.cnt >= (-1) * g_judgObj.frzJ[g_judgPosObj.iknai] && !prevFrz.judgEndFlg) {
8867
8872
  judgeIknai(prevFrz.cnt);
8868
8873
  if (g_headerObj.frzStartjdgUse) {
8869
8874
  judgeUwan(prevFrz.cnt);
8870
8875
  }
8871
8876
  }
8877
+ // 自身より前のフリーズアローを削除して判定対象を自身に変更 (g_workObj.judgFrzCnt[_j]をカウントアップ)
8872
8878
  judgeObjDelete.frz(_j, prevFrzName);
8873
8879
  }
8874
8880
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "danoniplus",
3
- "version": "29.4.9",
3
+ "version": "29.4.11",
4
4
  "description": "Dancing☆Onigiri (CW Edition) - Web-based Rhythm Game",
5
5
  "main": "index.js",
6
6
  "scripts": {