danoniplus 44.5.1 → 44.5.3

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 : 2026/02/23
7
+ * Revised : 2026/02/24
8
8
  *
9
9
  * https://github.com/cwtickle/danoniplus
10
10
  */
11
- const g_version = `Ver 44.5.1`;
12
- const g_revisedDate = `2026/02/23`;
11
+ const g_version = `Ver 44.5.3`;
12
+ const g_revisedDate = `2026/02/24`;
13
13
 
14
14
  // カスタム用バージョン (danoni_custom.js 等で指定可)
15
15
  let g_localVersion = ``;
@@ -1537,6 +1537,34 @@ const createDivCss2Label = (_id, _text, { x = 0, y = 0, w = g_limitObj.setLblWid
1537
1537
  return div;
1538
1538
  };
1539
1539
 
1540
+ /**
1541
+ * divをドラッグ可能にする関数
1542
+ * @param {string} _divName divのid名
1543
+ * @param {number} [minX=0] ドラッグ可能な範囲の左端
1544
+ * @param {number} [minY=0] ドラッグ可能な範囲の上端
1545
+ * @param {number} [maxX=g_sWidth] ドラッグ可能な範囲の右端
1546
+ * @param {number} [maxY=g_sHeight] ドラッグ可能な範囲の下端
1547
+ */
1548
+ const dragDiv = (_divName, { minX = 0, minY = 0, maxX = g_sWidth, maxY = g_sHeight } = {}) => {
1549
+ if (document.getElementById(_divName) === null) return;
1550
+ const div = document.getElementById(_divName);
1551
+ div.onpointermove = evt => {
1552
+ if (evt.buttons) {
1553
+ const nextX = div.offsetLeft + evt.movementX;
1554
+ const nextY = div.offsetTop + evt.movementY;
1555
+ const clampMaxX = (maxX === minX) ? maxX : (maxX - div.offsetWidth);
1556
+ const clampMaxY = (maxY === minY) ? maxY : (maxY - div.offsetHeight);
1557
+ div.style.left = Math.min(Math.max(nextX, minX), clampMaxX) + 'px';
1558
+ div.style.top = Math.min(Math.max(nextY, minY), clampMaxY) + 'px';
1559
+ div.style.position = 'absolute';
1560
+ div.draggable = false;
1561
+ div.setPointerCapture(evt.pointerId);
1562
+
1563
+ g_posObj[_divName] = { x: div.offsetLeft, y: div.offsetTop };
1564
+ }
1565
+ };
1566
+ };
1567
+
1540
1568
  /**
1541
1569
  * 画像表示
1542
1570
  * @param {string} _id
@@ -6424,23 +6452,6 @@ const commonSettingBtn = _labelName => {
6424
6452
  evt.target.classList.replace(g_cssObj[`button_${from}`], g_cssObj[`button_${to}`]);
6425
6453
  };
6426
6454
 
6427
- const makeSettingSummary = () => {
6428
- const tmpDiv = createEmptySprite(divRoot, `settingSumSprite`, {
6429
- x: g_btnX() + 25, y: g_sHeight - 200, w: g_btnWidth() - 50, h: 100, pointerEvents: C_DIS_AUTO, overflow: C_DIS_AUTO
6430
- });
6431
- tmpDiv.style.background = g_headerObj.baseBrightFlg ? `#ffffffcc` : `#000000cc`;
6432
-
6433
- multiAppend(tmpDiv,
6434
- createDivCss2Label(`lblSummaryHeader`, g_lblNameObj.settingSummary, g_lblPosObj.lblSummaryHeader),
6435
- createDivCss2Label(`lblSummaryEnvironment`, ``, g_lblPosObj.lblSummaryEnvironment),
6436
- createDivCss2Label(`lblSummaryDifInfo`, ``, g_lblPosObj.lblSummaryDifInfo),
6437
- createDivCss2Label(`lblSummaryPlaystyleInfo`, ``, g_lblPosObj.lblSummaryPlaystyleInfo),
6438
- createDivCss2Label(`lblSummaryDisplayInfo`, ``, g_lblPosObj.lblSummaryDisplayInfo),
6439
- createDivCss2Label(`lblSummaryDisplay2Info`, ``, g_lblPosObj.lblSummaryDisplay2Info),
6440
- );
6441
- tmpDiv.style.visibility = g_stateObj.settingSummaryVisible ? `visible` : `hidden`;
6442
- };
6443
-
6444
6455
  multiAppend(divRoot,
6445
6456
 
6446
6457
  // タイトル画面へ戻る
@@ -6495,6 +6506,30 @@ const commonSettingBtn = _labelName => {
6495
6506
  makeSettingSummary();
6496
6507
  };
6497
6508
 
6509
+ const makeSettingSummary = () => {
6510
+ const tmpDiv = createEmptySprite(divRoot, `settingSumSprite`, g_windowObj.settingSumSprite);
6511
+ tmpDiv.style.background = g_headerObj.baseBrightFlg ? `#ffffffcc` : `#000000cc`;
6512
+
6513
+ multiAppend(tmpDiv,
6514
+ createDivCss2Label(`lblSummaryHeader`, g_lblNameObj.settingSummary, g_lblPosObj.lblSummaryHeader),
6515
+ createDivCss2Label(`lblSummaryEnvironment`, ``, g_lblPosObj.lblSummaryEnvironment),
6516
+ createDivCss2Label(`lblSummaryDifHeader`, g_lblNameObj.rt_Difficulty, g_lblPosObj.lblSummaryDifHeader),
6517
+ createDivCss2Label(`lblSummaryDifInfo`, ``, g_lblPosObj.lblSummaryDifInfo),
6518
+ createDivCss2Label(`lblSummaryPlaystyleHeader`, g_lblNameObj.rt_Style, g_lblPosObj.lblSummaryPlaystyleHeader),
6519
+ createDivCss2Label(`lblSummaryPlaystyleInfo`, ``, g_lblPosObj.lblSummaryPlaystyleInfo),
6520
+ createDivCss2Label(`lblSummaryDisplayHeader`, g_lblNameObj.rt_Display, g_lblPosObj.lblSummaryDisplayHeader),
6521
+ createDivCss2Label(`lblSummaryDisplayInfo`, ``, g_lblPosObj.lblSummaryDisplayInfo),
6522
+ createDivCss2Label(`lblSummaryDisplay2Info`, ``, g_lblPosObj.lblSummaryDisplay2Info),
6523
+ );
6524
+ tmpDiv.style.visibility = g_stateObj.settingSummaryVisible ? `visible` : `hidden`;
6525
+ dragDiv(`settingSumSprite`, {
6526
+ minX: g_btnX() + 25, maxX: g_btnX() + 25, minY: 10, maxY: g_sHeight - 10,
6527
+ });
6528
+ if (g_posObj.settingSumSprite?.y !== undefined) {
6529
+ document.getElementById(`settingSumSprite`).style.top = wUnit(g_posObj.settingSumSprite.y);
6530
+ }
6531
+ };
6532
+
6498
6533
  const visibleSettingSummary = _visible => {
6499
6534
  const summaryDiv = document.getElementById(`settingSumSprite`);
6500
6535
  if (summaryDiv) {
@@ -6514,7 +6549,9 @@ const updateSettingSummary = () => {
6514
6549
  document.getElementById(`lblSummaryPlaystyleInfo`).innerHTML = settingData.playStyleData;
6515
6550
  document.getElementById(`lblSummaryDisplayInfo`).innerHTML = settingData.displayData;
6516
6551
  document.getElementById(`lblSummaryDisplay2Info`).innerHTML = settingData.display2Data;
6517
- document.getElementById(`lblSummaryEnvironment`).innerHTML = `(Adj: ${g_stateObj.adjustment} f, Volume: ${g_stateObj.volume}%, ColorType: ${g_colorType})`;
6552
+ document.getElementById(`lblSummaryEnvironment`).innerHTML =
6553
+ `(Adj: ${g_stateObj.adjustment} f, Volume: ${g_stateObj.volume}%, ` +
6554
+ `ColorType: ${g_colorType}, KeyPattern: ${g_keyObj.currentPtn === -1 ? 'Self' : g_keyObj.currentPtn + 1})`;
6518
6555
  };
6519
6556
 
6520
6557
  /**
@@ -7945,13 +7982,16 @@ const createLblSetting = (_settingName, _adjY = 0, _settingLabel = _settingName)
7945
7982
  };
7946
7983
 
7947
7984
  /**
7948
- * 設定名の置き換え処理
7985
+ * 設定名の置き換え処理(未指定時は原則g_lblNameObjの値を使用、明示的な指定がある場合のみ元の名前を返却)
7949
7986
  * @param {string} _name
7950
7987
  * @returns {string}
7951
7988
  */
7952
7989
  const getStgDetailName = _name => {
7953
- return g_lblNameObj[`u_${_name}`] !== undefined &&
7954
- (g_presetObj.lblRenames === undefined || g_presetObj.lblRenames[g_currentPage]) ? g_lblNameObj[`u_${_name}`] : _name;
7990
+ return g_lblNameObj[`u_${_name}`] !== undefined && (
7991
+ g_presetObj.lblRenames === undefined ||
7992
+ g_presetObj.lblRenames[g_currentPage] === undefined ||
7993
+ g_presetObj.lblRenames[g_currentPage]
7994
+ ) ? g_lblNameObj[`u_${_name}`] : _name;
7955
7995
  };
7956
7996
 
7957
7997
  /**
@@ -15079,7 +15119,7 @@ const getSelectedSettingList = (_shuffleName) => {
15079
15119
  withDisplays(g_stateObj.d_filterline, C_FLG_ON, g_lblNameObj.rd_FilterLine),
15080
15120
  ].filter(value => value !== ``).join(`, `);
15081
15121
  if (displayData === ``) {
15082
- displayData = `All Visible`;
15122
+ displayData = getStgDetailName(`All Visible`);
15083
15123
  } else {
15084
15124
  // 表示設定のOFF項目を末尾にまとめる
15085
15125
  const displayList = displayData.split(`, `).sort((a, b) => b.includes(`:`) - a.includes(`:`));
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * Source by tickle
7
7
  * Created : 2019/11/19
8
- * Revised : 2026/02/23 (v44.5.0)
8
+ * Revised : 2026/02/23 (v44.5.2)
9
9
  *
10
10
  * https://github.com/cwtickle/danoniplus
11
11
  */
@@ -201,6 +201,7 @@ const updateWindowSiz = () => {
201
201
  Object.assign(g_windowObj, {
202
202
  keyTitleSprite: { x: g_btnX(1 / 4), y: g_sHeight / 2 - 5, w: g_btnWidth(1 / 2), h: 16 },
203
203
  mSelectTitleSprite: { x: g_btnX(), y: 0, w: g_btnWidth(), h: g_sHeight, clipPath: `inset(12% 0 8% 0)` },
204
+ settingSumSprite: { x: g_btnX() + 25, y: g_sHeight - 200, w: g_btnWidth() - 50, h: 100, pointerEvents: C_DIS_AUTO, overflow: C_DIS_AUTO },
204
205
  optionSprite: { x: (g_sWidth - 450) / 2, y: 65, w: 450, h: 325 },
205
206
  dataSprite: { x: g_btnX() + (g_sWidth - Math.max(g_sWidth - 100, 450)) / 2, y: 65, w: Math.max(g_sWidth - 100, 450), h: 325 },
206
207
  keyListSprite: { x: 0, y: g_limitObj.setLblHeight * 7.5 + 40, w: 150, h: g_sHeight - 380, overflow: C_DIS_AUTO },
@@ -384,17 +385,26 @@ const updateWindowSiz = () => {
384
385
  lblSummaryEnvironment: {
385
386
  x: 150, y: 5, w: g_btnWidth() - 200, h: 20, siz: 12, align: C_ALIGN_LEFT,
386
387
  },
388
+ lblSummaryDifHeader: {
389
+ x: 0, y: 20, w: 70, h: 20, siz: 12, align: C_ALIGN_LEFT, opacity: 0.75,
390
+ },
387
391
  lblSummaryDifInfo: {
388
- x: 0, y: 20, w: g_btnWidth() - 50, h: 20, siz: 12, align: C_ALIGN_LEFT,
392
+ x: 70, y: 20, w: g_btnWidth() - 120, h: 20, siz: 12, align: C_ALIGN_LEFT,
393
+ },
394
+ lblSummaryPlaystyleHeader: {
395
+ x: 0, y: 35, w: 70, h: 20, siz: 12, align: C_ALIGN_LEFT, opacity: 0.75,
389
396
  },
390
397
  lblSummaryPlaystyleInfo: {
391
- x: 0, y: 35, w: g_btnWidth() - 50, h: 20, siz: 12, align: C_ALIGN_LEFT,
398
+ x: 70, y: 35, w: g_btnWidth() - 120, h: 20, siz: 12, align: C_ALIGN_LEFT,
399
+ },
400
+ lblSummaryDisplayHeader: {
401
+ x: 0, y: 50, w: 70, h: 20, siz: 12, align: C_ALIGN_LEFT, opacity: 0.75,
392
402
  },
393
403
  lblSummaryDisplayInfo: {
394
- x: 0, y: 50, w: g_btnWidth() - 50, h: 20, siz: 12, align: C_ALIGN_LEFT,
404
+ x: 70, y: 50, w: g_btnWidth() - 120, h: 20, siz: 12, align: C_ALIGN_LEFT,
395
405
  },
396
406
  lblSummaryDisplay2Info: {
397
- x: 0, y: 65, w: g_btnWidth() - 50, h: 20, siz: 12, align: C_ALIGN_LEFT,
407
+ x: 70, y: 65, w: g_btnWidth() - 120, h: 20, siz: 12, align: C_ALIGN_LEFT,
398
408
  },
399
409
 
400
410
  lblMusicInfo: {
@@ -4220,6 +4230,8 @@ const g_lblNameObj = {
4220
4230
  'u_Type3': `Type3`,
4221
4231
  'u_Type4': `Type4`,
4222
4232
 
4233
+ 'u_All Visible': `All Visible`,
4234
+
4223
4235
  ColorType: `ColorType`,
4224
4236
  ImgType: `ImgType`,
4225
4237
  ColorGroup: `ColorGr.`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "danoniplus",
3
- "version": "44.5.1",
3
+ "version": "44.5.3",
4
4
  "description": "Dancing☆Onigiri (CW Edition) - Web-based Rhythm Game",
5
5
  "main": "./js/danoni_main.js",
6
6
  "scripts": {