danoniplus 28.2.1 → 28.3.1

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.
@@ -4,7 +4,7 @@
4
4
  本体cssファイル
5
5
 
6
6
  Created : 2018/10/08
7
- Revised : 2022/10/05 (v28.2.1)
7
+ Revised : 2022/10/16 (v28.3.1)
8
8
 
9
9
  https://github.com/cwtickle/danoniplus
10
10
  ------------------------------------------ */
@@ -23,14 +23,14 @@
23
23
  }
24
24
 
25
25
  input[type="range"] {
26
- -webkit-appearance: none;
26
+ appearance: none;
27
27
  background: transparent;
28
28
  height: 20px;
29
29
  width: 205px;
30
30
  }
31
31
 
32
32
  input[type="range"]::-webkit-slider-thumb {
33
- -webkit-appearance: none;
33
+ appearance: none;
34
34
  background: #606060;
35
35
  height: 20px;
36
36
  width: 20px;
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 : 2022/10/05
7
+ * Revised : 2022/10/16
8
8
  *
9
9
  * https://github.com/cwtickle/danoniplus
10
10
  */
11
- const g_version = `Ver 28.2.1`;
12
- const g_revisedDate = `2022/10/05`;
11
+ const g_version = `Ver 28.3.1`;
12
+ const g_revisedDate = `2022/10/16`;
13
13
  const g_alphaVersion = ``;
14
14
 
15
15
  // カスタム用バージョン (danoni_custom.js 等で指定可)
@@ -949,8 +949,6 @@ const createDiv = (_id, _x, _y, _width, _height, _classes = []) => {
949
949
  const setUserSelect = (_style, _value = C_DIS_NONE) => {
950
950
  _style.userSelect = _value;
951
951
  _style.webkitUserSelect = _value;
952
- _style.msUserSelect = _value;
953
- _style.mozUserSelect = _value;
954
952
  _style.webkitTouchCallout = _value;
955
953
  };
956
954
 
@@ -1573,7 +1571,6 @@ const drawTitleResultMotion = _displayName => {
1573
1571
  // WebAudioAPIでAudio要素風に再生するクラス
1574
1572
  class AudioPlayer {
1575
1573
  constructor() {
1576
- const AudioContext = window.AudioContext ?? window.webkitAudioContext;
1577
1574
  this._context = new AudioContext();
1578
1575
  this._gain = this._context.createGain();
1579
1576
  this._gain.connect(this._context.destination);
@@ -3965,6 +3962,7 @@ const setWindowStyle = (_text, _bkColor, _textColor, _align = C_ALIGN_LEFT) => {
3965
3962
  // ウィンドウ枠の行を取得するために一時的な枠を作成
3966
3963
  const tmplbl = createDivCss2Label(`lblTmpWarning`, _text, {
3967
3964
  x: 0, y: 70, w: g_sWidth, h: 20, siz: C_SIZ_MAIN, lineHeight: `15px`, fontFamily: getBasicFont(),
3965
+ whiteSpace: `normal`,
3968
3966
  })
3969
3967
  divRoot.appendChild(tmplbl);
3970
3968
  const range = new Range();
@@ -3976,6 +3974,7 @@ const setWindowStyle = (_text, _bkColor, _textColor, _align = C_ALIGN_LEFT) => {
3976
3974
  const lbl = createDivCss2Label(`lblWarning`, _text, {
3977
3975
  x: 0, y: 70, w: g_sWidth, h: warnHeight, siz: C_SIZ_MAIN, backgroundColor: _bkColor,
3978
3976
  opacity: 0.9, lineHeight: `15px`, color: _textColor, align: _align, fontFamily: getBasicFont(),
3977
+ whiteSpace: `normal`,
3979
3978
  });
3980
3979
  if (warnHeight === 150) {
3981
3980
  lbl.style.overflow = `auto`;
@@ -5324,6 +5323,7 @@ const getKeyCtrl = (_localStorage, _extraKeyName = ``) => {
5324
5323
  for (let j = 0; j < maxPtn; j++) {
5325
5324
  g_keyObj[`${type}${copyPtn}_${j}`] = copyArray2d(g_keyObj[`${type}${basePtn}_${j}`]);
5326
5325
  }
5326
+ g_keyObj[`${type}${copyPtn}_0d`] = structuredClone(g_keyObj[`${type}${copyPtn}_0`]);
5327
5327
  });
5328
5328
  }
5329
5329
  };
@@ -5543,7 +5543,7 @@ const createSettingsDisplayWindow = _sprite => {
5543
5543
  g_hidSudObj.filterPos = inputSlider(appearanceSlider, lblAppearancePos), false);
5544
5544
 
5545
5545
  const dispAppearanceSlider = _ => {
5546
- [`lblAppearancePos`, `lblAppearanceBar`, `lnkLockBtn`].forEach(obj =>
5546
+ [`lblAppearancePos`, `lblAppearanceBar`, `lnkLockBtn`, `lnkfilterLine`].forEach(obj =>
5547
5547
  document.getElementById(obj).style.visibility =
5548
5548
  g_appearanceRanges.includes(g_stateObj.appearance) ? `Visible` : `Hidden`
5549
5549
  );
@@ -5553,7 +5553,13 @@ const createSettingsDisplayWindow = _sprite => {
5553
5553
  // ---------------------------------------------------
5554
5554
  // 判定表示系の不透明度 (Opacity)
5555
5555
  // 縦位置: 9
5556
- createGeneralSetting(spriteList.opacity, `opacity`, { unitName: g_lblNameObj.percent, displayName: g_currentPage });
5556
+ let opacityUse = false;
5557
+ [`judgment`, `fastSlow`, `filterLine`].forEach(display =>
5558
+ opacityUse ||= g_headerObj[`${display}Use`] || g_headerObj[`${display}Set`] === C_FLG_ON);
5559
+
5560
+ if (opacityUse) {
5561
+ createGeneralSetting(spriteList.opacity, `opacity`, { unitName: g_lblNameObj.percent, displayName: g_currentPage });
5562
+ }
5557
5563
  };
5558
5564
 
5559
5565
  /**
@@ -5673,22 +5679,8 @@ const keyConfigInit = (_kcType = g_kcType) => {
5673
5679
  * @param {number} _k
5674
5680
  * @param {string} _cssName
5675
5681
  */
5676
- const changeKeyConfigColor = (_j, _k, _cssName) => {
5677
- const obj = document.querySelector(`#keycon${_j}_${_k}`);
5678
- const resetClass = _className => {
5679
- if (obj.classList.contains(_className)) {
5680
- obj.classList.remove(_className);
5681
- }
5682
- };
5683
-
5684
- // CSSクラスの除去
5685
- resetClass(g_cssObj.keyconfig_Changekey);
5686
- resetClass(g_cssObj.keyconfig_Defaultkey);
5687
- resetClass(g_cssObj.title_base);
5688
-
5689
- // 指定されたCSSクラスを適用
5690
- obj.classList.add(_cssName);
5691
- };
5682
+ const changeKeyConfigColor = (_j, _k, _cssName) =>
5683
+ changeConfigColor(document.querySelector(`#keycon${_j}_${_k}`), _cssName);
5692
5684
 
5693
5685
  /**
5694
5686
  * 一時的に矢印色・シャッフルグループを変更(共通処理)
@@ -5729,6 +5721,7 @@ const keyConfigInit = (_kcType = g_kcType) => {
5729
5721
  const tmpShuffle = changeTmpData(`shuffle`, 10, _j, _scrollNum);
5730
5722
  document.getElementById(`sArrow${_j}`).textContent = tmpShuffle + 1;
5731
5723
 
5724
+ changeShuffleConfigColor(keyCtrlPtn, g_keyObj[`shuffle${keyCtrlPtn}_${g_keycons.shuffleGroupNum}`][_j], _j);
5732
5725
  adjustScrollPoint(parseFloat($id(`arrow${_j}`).left));
5733
5726
  };
5734
5727
 
@@ -5825,6 +5818,7 @@ const keyConfigInit = (_kcType = g_kcType) => {
5825
5818
 
5826
5819
  /**
5827
5820
  * カラー・シャッフルグループ設定の表示
5821
+ * - シャッフルグループではデフォルトからの差異表示もここで行う
5828
5822
  * @param {string} _type
5829
5823
  */
5830
5824
  const viewGroup = _type => {
@@ -5834,6 +5828,10 @@ const keyConfigInit = (_kcType = g_kcType) => {
5834
5828
  document.getElementById(`lnk${toCapitalize(_type)}Group`).textContent = getStgDetailName(num);
5835
5829
  }
5836
5830
  viewGroupObj[_type](`_${g_keycons[`${_type}GroupNum`]}`);
5831
+
5832
+ if (_type === `shuffle`) {
5833
+ changeShuffleConfigColor(keyCtrlPtn, g_keyObj[`shuffle${keyCtrlPtn}_${g_keycons.shuffleGroupNum}`]);
5834
+ }
5837
5835
  }
5838
5836
  };
5839
5837
  const setGroup = (_type, _scrollNum = 1) => {
@@ -6072,7 +6070,7 @@ const keyConfigInit = (_kcType = g_kcType) => {
6072
6070
  keyConfigInit(g_kcType);
6073
6071
  };
6074
6072
 
6075
- const colorPickSprite = createEmptySprite(divRoot, `colorPickSprite`, g_windowObj.colorPickSprite);
6073
+ const colorPickSprite = createEmptySprite(divRoot, `colorPickSprite`, Object.assign({ title: g_msgObj.pickArrow }, g_windowObj.colorPickSprite));
6076
6074
  if ([`Default`, `Type0`].includes(g_colorType)) {
6077
6075
  colorPickSprite.style.display = C_DIS_NONE;
6078
6076
  }
@@ -6172,6 +6170,12 @@ const keyConfigInit = (_kcType = g_kcType) => {
6172
6170
 
6173
6171
  // キーコンフィグ画面を再呼び出し
6174
6172
  keyConfigInit();
6173
+
6174
+ // シャッフルグループのデフォルト値からの差異表示(色付け)
6175
+ // 再描画後で無いと色付けできないため、keyConfigInit() 実行後に処理
6176
+ if (g_headerObj.shuffleUse) {
6177
+ changeShuffleConfigColor(`${g_keyObj.currentKey}_${g_keyObj.currentPtn}`, g_keyObj[`shuffle${g_keyObj.currentKey}_${g_keyObj.currentPtn}_${g_keycons.shuffleGroupNum}`]);
6178
+ }
6175
6179
  };
6176
6180
 
6177
6181
  // ユーザカスタムイベント(初期)
@@ -6342,6 +6346,47 @@ const changeSetColor = _ => {
6342
6346
  }
6343
6347
  };
6344
6348
 
6349
+ /**
6350
+ * コンフィグの色変更
6351
+ * @param {object} _obj
6352
+ * @param {string} _cssName
6353
+ */
6354
+ const changeConfigColor = (_obj, _cssName) => {
6355
+ const resetClass = _className => {
6356
+ if (_obj.classList.contains(_className)) {
6357
+ _obj.classList.remove(_className);
6358
+ }
6359
+ };
6360
+
6361
+ // CSSクラスの除去
6362
+ resetClass(g_cssObj.keyconfig_Changekey);
6363
+ resetClass(g_cssObj.keyconfig_Defaultkey);
6364
+ resetClass(g_cssObj.title_base);
6365
+
6366
+ // 指定されたCSSクラスを適用
6367
+ _obj.classList.add(_cssName);
6368
+ };
6369
+
6370
+ /**
6371
+ * シャッフルグループの色変更
6372
+ * - デフォルト値と違う番号になった場合、色付けする
6373
+ * @param {string} _keyCtrlPtn キーコンフィグパターン
6374
+ * @param {array} _vals シャッフルグループ番号(群)
6375
+ * @param {number} _j (-1: 全体に対して色付け, それ以外: 指定箇所のみ色付け)
6376
+ */
6377
+ const changeShuffleConfigColor = (_keyCtrlPtn, _vals, _j = -1) => {
6378
+ const changeTargetColor = (_val, _k) => {
6379
+ const isEqualShuffleGr = (_val === g_keyObj[`shuffle${_keyCtrlPtn}_0d`][_k]);
6380
+ changeConfigColor(document.getElementById(`sArrow${_k}`), isEqualShuffleGr ? g_cssObj.title_base : g_cssObj.keyconfig_Changekey);
6381
+ };
6382
+
6383
+ if (_j === -1) {
6384
+ _vals.forEach((val, m) => changeTargetColor(val, m));
6385
+ } else {
6386
+ changeTargetColor(_vals, _j);
6387
+ }
6388
+ };
6389
+
6345
6390
  /*-----------------------------------------------------------*/
6346
6391
  /* Scene : LOADING [strawberry] */
6347
6392
  /*-----------------------------------------------------------*/
@@ -9289,9 +9334,7 @@ const changeAppearanceFilter = (_appearance, _num = 10) => {
9289
9334
  const bottomShape = `inset(${numPlus}% 0% ${_num}% 0%)`;
9290
9335
 
9291
9336
  $id(`arrowSprite${topNum}`).clipPath = topShape;
9292
- $id(`arrowSprite${topNum}`).webkitClipPath = topShape;
9293
9337
  $id(`arrowSprite${bottomNum}`).clipPath = bottomShape;
9294
- $id(`arrowSprite${bottomNum}`).webkitClipPath = bottomShape;
9295
9338
 
9296
9339
  $id(`filterBar0`).top = `${g_posObj.arrowHeight * _num / 100}px`;
9297
9340
  $id(`filterBar1`).top = `${g_posObj.arrowHeight * (100 - _num) / 100}px`;
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * Source by tickle
7
7
  * Created : 2019/11/19
8
- * Revised : 2022/10/05 (v28.2.1)
8
+ * Revised : 2022/10/16 (v28.3.1)
9
9
  *
10
10
  * https://github.com/cwtickle/danoniplus
11
11
  */
@@ -135,6 +135,7 @@ const updateWindowSiz = _ => {
135
135
  lblComment: {
136
136
  x: 0, y: 70, w: g_sWidth, h: g_sHeight - 180, siz: C_SIZ_DIFSELECTOR, align: C_ALIGN_LEFT,
137
137
  overflow: `auto`, background: `#222222`, color: `#cccccc`, display: C_DIS_NONE,
138
+ whiteSpace: `normal`,
138
139
  },
139
140
  btnComment: {
140
141
  x: g_sWidth - 160, y: (g_sHeight / 2) + 150, w: 140, h: 50, siz: 20, border: `solid 1px #999999`,
@@ -238,7 +239,7 @@ const updateWindowSiz = _ => {
238
239
  x: 0, w: 50, h: 15, siz: 11, align: C_ALIGN_LEFT, background: `#${g_headerObj.baseBrightFlg ? `eeeeee` : `111111`}80`,
239
240
  },
240
241
  lnkColorCopy: {
241
- x: 35, y: -5, w: 30, h: 20, siz: 14,
242
+ x: 35, y: -5, w: 30, h: 20, siz: 14, title: g_msgObj.pickColorCopy,
242
243
  },
243
244
 
244
245
  btnKcBack: {
@@ -2054,7 +2055,7 @@ const g_keyObj = {
2054
2055
  // 矢印群の倍率指定
2055
2056
  scale: 1,
2056
2057
  scale_def: 1,
2057
- scale17_0: 0.85,
2058
+ scale17_0: 0.95,
2058
2059
 
2059
2060
  // ショートカットキーコード
2060
2061
  keyRetry: 8,
@@ -2544,7 +2545,7 @@ const g_keyObj = {
2544
2545
  minWidth11i: 650,
2545
2546
  minWidth13: 650,
2546
2547
  minWidth16i: 650,
2547
- minWidth17: 800,
2548
+ minWidth17: 825,
2548
2549
  minWidth23: 900,
2549
2550
 
2550
2551
  };
@@ -3186,6 +3187,9 @@ const g_lang_msgObj = {
3186
3187
  imgType: `矢印・フリーズアローなどのオブジェクトの見た目を変更します。`,
3187
3188
  colorGroup: `矢印・フリーズアロー色グループの割り当てパターンを変更します。`,
3188
3189
  shuffleGroup: `Mirror/Asym-Mirror/Random/S-Random選択時、シャッフルするグループを変更します。\n矢印の上にある同じ数字同士でシャッフルします。`,
3190
+
3191
+ pickArrow: `色番号ごとの矢印色(枠、塗りつぶし)、通常時のフリーズアロー色(枠、帯)を\nカラーピッカーから選んで変更できます。`,
3192
+ pickColorCopy: `このボタンを押すと、フリーズアローの配色を矢印(枠)の色で上書きします。\nヒット時のフリーズアローの色も上書きします。`,
3189
3193
  },
3190
3194
 
3191
3195
  En: {
@@ -3237,6 +3241,9 @@ const g_lang_msgObj = {
3237
3241
  imgType: `Change the appearance of sequences.`,
3238
3242
  colorGroup: `Change the sequences color group assignment pattern.`,
3239
3243
  shuffleGroup: `Change the shuffle group when Mirror, Asym-Mirror, Random or S-Random are selected.\nShuffle with the same numbers listed above.`,
3244
+
3245
+ pickArrow: `Change the frame or fill of arrow color and the frame or bar of normal freeze-arrow color\nfor each color number from the color picker.`,
3246
+ pickColorCopy: `Pressing this button will override the color scheme of the freeze arrow with the frame color of the arrow. \nIt also overrides the color of the freeze arrow on hit.`,
3240
3247
  },
3241
3248
 
3242
3249
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "danoniplus",
3
- "version": "28.2.1",
3
+ "version": "28.3.1",
4
4
  "description": "Dancing☆Onigiri (CW Edition) - Web-based Rhythm Game",
5
5
  "main": "index.js",
6
6
  "scripts": {