danoniplus 48.1.2 → 48.2.0
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 +172 -100
- package/js/lib/danoni_constants.js +42 -4
- 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 : 2026/05/
|
|
7
|
+
* Revised : 2026/05/30
|
|
8
8
|
*
|
|
9
9
|
* https://github.com/cwtickle/danoniplus
|
|
10
10
|
*/
|
|
11
|
-
const g_version = `Ver 48.
|
|
12
|
-
const g_revisedDate = `2026/05/
|
|
11
|
+
const g_version = `Ver 48.2.0`;
|
|
12
|
+
const g_revisedDate = `2026/05/30`;
|
|
13
13
|
|
|
14
14
|
// カスタム用バージョン (danoni_custom.js 等で指定可)
|
|
15
15
|
let g_localVersion = ``;
|
|
@@ -6734,6 +6734,11 @@ const dataMgtInit = () => {
|
|
|
6734
6734
|
.filter(key => key.startsWith('dm_') && g_stateObj[key] === C_FLG_ON)
|
|
6735
6735
|
.map(key => key.slice(`dm_`.length));
|
|
6736
6736
|
|
|
6737
|
+
if (selectedData.length === 0) {
|
|
6738
|
+
window.alert(g_msgObj.noDataSelected);
|
|
6739
|
+
return;
|
|
6740
|
+
}
|
|
6741
|
+
|
|
6737
6742
|
if (window.confirm(g_msgObj.dataResetConfirm +
|
|
6738
6743
|
`\n\n${selectedData.map(val => `- ${g_msgObj[val] || g_msgObj.keyTypes.split('{0}').join(val)}`).join(`\n`)}`)) {
|
|
6739
6744
|
selectedData.forEach(key => {
|
|
@@ -9294,21 +9299,12 @@ const buildPreviewUI = (_frame, _playW, _playH) => {
|
|
|
9294
9299
|
// ライフゲージ(左縦帯)
|
|
9295
9300
|
// ============================================================
|
|
9296
9301
|
if (d.lifegauge === C_FLG_OFF) {
|
|
9297
|
-
_frame.appendChild(disableBox(`LifeGauge`,
|
|
9302
|
+
_frame.appendChild(disableBox(`LifeGauge`, g_lblPosObj.previewLifeDisabled));
|
|
9298
9303
|
} else {
|
|
9299
9304
|
multiAppend(_frame,
|
|
9300
|
-
createDivCss2Label(`previewLifeBack`, ``,
|
|
9301
|
-
|
|
9302
|
-
|
|
9303
|
-
}),
|
|
9304
|
-
createDivCss2Label(`previewLifeBar`, ``, {
|
|
9305
|
-
x: 5, y: 50 + (_playH - 100) * 0.3,
|
|
9306
|
-
w: 15, h: (_playH - 100) * 0.7, background: `#006666`,
|
|
9307
|
-
}),
|
|
9308
|
-
createDivCss2Label(`previewLifeNum`, `700`, {
|
|
9309
|
-
x: 0, y: 30, w: 70, h: 20,
|
|
9310
|
-
size: 14, color: `#ffffff`, background: `#006666`, align: `center`,
|
|
9311
|
-
}),
|
|
9305
|
+
createDivCss2Label(`previewLifeBack`, ``, g_lblPosObj.previewLifeBack),
|
|
9306
|
+
createDivCss2Label(`previewLifeBar`, ``, g_lblPosObj.previewLifeBar),
|
|
9307
|
+
createDivCss2Label(`previewLifeNum`, `700`, g_lblPosObj.previewLifeNum),
|
|
9312
9308
|
);
|
|
9313
9309
|
}
|
|
9314
9310
|
|
|
@@ -9316,7 +9312,11 @@ const buildPreviewUI = (_frame, _playW, _playH) => {
|
|
|
9316
9312
|
// スコア・判定カウンタ(右端縦列)
|
|
9317
9313
|
// ============================================================
|
|
9318
9314
|
if (d.score === C_FLG_OFF) {
|
|
9319
|
-
_frame.appendChild(disableBox(`Score`,
|
|
9315
|
+
_frame.appendChild(disableBox(`Score`, g_lblPosObj.previewScoreDisabled));
|
|
9316
|
+
|
|
9317
|
+
if (g_stateObj.frzReturn !== C_FLG_OFF) {
|
|
9318
|
+
_frame.appendChild(disableBox(`FrzReturnBar`, g_lblPosObj.previewLifeFrzDisabled));
|
|
9319
|
+
}
|
|
9320
9320
|
} else {
|
|
9321
9321
|
const scoreItems = [
|
|
9322
9322
|
{ color: `#66ffff`, cnt: `5` },
|
|
@@ -9339,30 +9339,114 @@ const buildPreviewUI = (_frame, _playW, _playH) => {
|
|
|
9339
9339
|
}),
|
|
9340
9340
|
);
|
|
9341
9341
|
});
|
|
9342
|
+
|
|
9343
|
+
// FrzReturn用ゲージ
|
|
9344
|
+
if (g_stateObj.frzReturn !== C_FLG_OFF) {
|
|
9345
|
+
multiAppend(_frame,
|
|
9346
|
+
createDivCss2Label(`previewFrzLifeBack`, ``, g_lblPosObj.previewFrzLifeBack),
|
|
9347
|
+
createDivCss2Label(`previewFrzLifeBar`, ``, g_lblPosObj.previewFrzLifeBar, g_cssObj.life_frzNormal),
|
|
9348
|
+
);
|
|
9349
|
+
}
|
|
9342
9350
|
}
|
|
9343
9351
|
|
|
9344
9352
|
// ============================================================
|
|
9345
9353
|
// 曲名・制作者(左下)
|
|
9346
9354
|
// ============================================================
|
|
9347
9355
|
if (d.musicinfo === C_FLG_OFF) {
|
|
9348
|
-
_frame.appendChild(disableBox(`MusicInfo`,
|
|
9356
|
+
_frame.appendChild(disableBox(`MusicInfo`, g_lblPosObj.previewMusicInfoDisabled));
|
|
9357
|
+
_frame.appendChild(disableBox(`GaugeName`, g_lblPosObj.previewGaugeNameDisabled));
|
|
9349
9358
|
} else {
|
|
9350
|
-
|
|
9351
|
-
|
|
9352
|
-
|
|
9353
|
-
|
|
9359
|
+
const creditName = `Sample Music / Artist Name`;
|
|
9360
|
+
const difName = `[7key / Normal]`;
|
|
9361
|
+
const checkMusicSiz = (_text, _siz) => getFontSize2(_text, g_headerObj.playingWidth - g_headerObj.customViewWidth - 125, { maxSiz: _siz });
|
|
9362
|
+
|
|
9363
|
+
multiAppend(_frame,
|
|
9364
|
+
createDivCss2Label(`previewCredit`, creditName, {
|
|
9365
|
+
...g_lblPosObj.lblCredit, siz: checkMusicSiz(creditName, g_limitObj.musicTitleSiz)
|
|
9354
9366
|
}),
|
|
9355
|
-
createDivCss2Label(`previewDifName`,
|
|
9356
|
-
...g_lblPosObj.
|
|
9367
|
+
createDivCss2Label(`previewDifName`, difName, {
|
|
9368
|
+
...g_lblPosObj.lblDifName, siz: checkMusicSiz(difName, 12)
|
|
9357
9369
|
}),
|
|
9358
9370
|
createDivCss2Label(`previewTime1`, `0:04 /`, {
|
|
9359
|
-
...g_lblPosObj.
|
|
9360
|
-
}),
|
|
9361
|
-
createDivCss2Label(`previewTime2`, `2:54`, {
|
|
9362
|
-
...g_lblPosObj.previewCredit, x: 60, y: _playH - 30, w: 60, h: 20,
|
|
9371
|
+
...g_lblPosObj.lblTime1,
|
|
9363
9372
|
}),
|
|
9373
|
+
createDivCss2Label(`previewTime2`, `2:54`, g_lblPosObj.lblTime2),
|
|
9374
|
+
|
|
9375
|
+
// ゲージ設定名
|
|
9376
|
+
createDivCss2Label(`previewGauge`, `Original`, g_lblPosObj.lblGaugeMode),
|
|
9364
9377
|
)
|
|
9365
9378
|
}
|
|
9379
|
+
|
|
9380
|
+
// ユーザカスタムイベント(プレビュー表示用)
|
|
9381
|
+
safeExecuteCustomHooks(`g_customJsObj.displayPreview`, g_customJsObj.displayPreview, _frame, _playW, _playH);
|
|
9382
|
+
};
|
|
9383
|
+
|
|
9384
|
+
/**
|
|
9385
|
+
* 要素をドラッグ可能にする(汎用ユーティリティ)
|
|
9386
|
+
* @param {HTMLElement} _target ドラッグ対象の要素
|
|
9387
|
+
* @param {number} _playW 制限範囲の幅
|
|
9388
|
+
* @param {number} _playH 制限範囲の高さ
|
|
9389
|
+
* @param {object} _bounds 要素自体のサイズ { w, h } (はみ出し防止用)
|
|
9390
|
+
* @param {function} _onDragEnd 位置確定時に呼ばれるコールバック (_finalX, _finalY) => void
|
|
9391
|
+
*/
|
|
9392
|
+
const makeElementDraggable = (_target, _playW, _playH, _bounds, _onDragEnd) => {
|
|
9393
|
+
let dragging = false;
|
|
9394
|
+
let dragStartX = 0, dragStartY = 0;
|
|
9395
|
+
let elemStartX = 0, elemStartY = 0;
|
|
9396
|
+
|
|
9397
|
+
const boundsW = _bounds?.w ?? _target.offsetWidth ?? 0;
|
|
9398
|
+
const boundsH = _bounds?.h ?? _target.offsetHeight ?? 0;
|
|
9399
|
+
|
|
9400
|
+
const keyDown = addPreviewListener(_target, `pointerdown`, _evt => {
|
|
9401
|
+
dragging = true;
|
|
9402
|
+
dragStartX = _evt.clientX;
|
|
9403
|
+
dragStartY = _evt.clientY;
|
|
9404
|
+
elemStartX = parseInt(_target.style.left, 10) || 0;
|
|
9405
|
+
elemStartY = parseInt(_target.style.top, 10) || 0;
|
|
9406
|
+
_target.style.cursor = `grabbing`;
|
|
9407
|
+
_target.setPointerCapture(_evt.pointerId);
|
|
9408
|
+
_evt.stopPropagation();
|
|
9409
|
+
});
|
|
9410
|
+
|
|
9411
|
+
const keyMove = addPreviewListener(_target, `pointermove`, _evt => {
|
|
9412
|
+
if (!dragging) return;
|
|
9413
|
+
const dx = _evt.clientX - dragStartX;
|
|
9414
|
+
const dy = _evt.clientY - dragStartY;
|
|
9415
|
+
|
|
9416
|
+
// 境界値制限
|
|
9417
|
+
const newX = Math.max(0, Math.min(_playW - boundsW, elemStartX + dx));
|
|
9418
|
+
const newY = Math.max(0, Math.min(_playH - boundsH, elemStartY + dy));
|
|
9419
|
+
|
|
9420
|
+
_target.style.left = wUnit(newX);
|
|
9421
|
+
_target.style.top = wUnit(newY);
|
|
9422
|
+
_evt.stopPropagation();
|
|
9423
|
+
});
|
|
9424
|
+
|
|
9425
|
+
const keyUp = addPreviewListener(_target, `pointerup`, _evt => {
|
|
9426
|
+
if (!dragging) return;
|
|
9427
|
+
dragging = false;
|
|
9428
|
+
_target.style.cursor = `grab`;
|
|
9429
|
+
|
|
9430
|
+
const finalX = parseInt(_target.style.left, 10) || 0;
|
|
9431
|
+
const finalY = parseInt(_target.style.top, 10) || 0;
|
|
9432
|
+
|
|
9433
|
+
// 外部の保存処理などを実行
|
|
9434
|
+
if (typeof _onDragEnd === `function`) {
|
|
9435
|
+
_onDragEnd(finalX, finalY);
|
|
9436
|
+
}
|
|
9437
|
+
|
|
9438
|
+
_evt.stopPropagation();
|
|
9439
|
+
});
|
|
9440
|
+
|
|
9441
|
+
addPreviewListener(_target, `pointercancel`, _evt => {
|
|
9442
|
+
dragging = false;
|
|
9443
|
+
_target.style.cursor = `grab`;
|
|
9444
|
+
});
|
|
9445
|
+
|
|
9446
|
+
// 既存の管理用属性(必要に応じて)
|
|
9447
|
+
_target.setAttribute(`lsnrkey`, keyMove);
|
|
9448
|
+
_target.setAttribute(`lsnrkeyTS`, keyDown);
|
|
9449
|
+
_target.setAttribute(`lsnrkeyTE`, keyUp);
|
|
9366
9450
|
};
|
|
9367
9451
|
|
|
9368
9452
|
/**
|
|
@@ -9376,11 +9460,14 @@ const buildPreviewUI = (_frame, _playW, _playH) => {
|
|
|
9376
9460
|
* @param {object} _opts 表示テキスト・色オプション
|
|
9377
9461
|
*/
|
|
9378
9462
|
const buildDraggableJudgGroup = (_parent, _groupId, _initX, _initY, _playW, _playH, _opts) => {
|
|
9463
|
+
const groupW = 370;
|
|
9464
|
+
const groupH = 51;
|
|
9379
9465
|
|
|
9380
9466
|
const group = createEmptySprite(_parent, `previewGrp_${_groupId}`, {
|
|
9381
|
-
x: _initX, y: _initY, w:
|
|
9467
|
+
x: _initX, y: _initY, w: groupW, h: groupH, cursor: `grab`, pointerEvents: C_DIS_AUTO,
|
|
9382
9468
|
});
|
|
9383
9469
|
|
|
9470
|
+
// 内包要素の生成 (省略:元のコードの multiAppend 部分と同一)
|
|
9384
9471
|
multiAppend(
|
|
9385
9472
|
group,
|
|
9386
9473
|
// キャラクタ
|
|
@@ -9402,91 +9489,73 @@ const buildDraggableJudgGroup = (_parent, _groupId, _initX, _initY, _playW, _pla
|
|
|
9402
9489
|
|
|
9403
9490
|
// ドラッグハンドル(薄い枠)
|
|
9404
9491
|
createEmptySprite(group, `lblHandle_${_groupId}`, {
|
|
9405
|
-
x: 0, y: 0, w:
|
|
9406
|
-
boxSizing: `border-box`, borderRadius: `2px`,
|
|
9407
|
-
background: `rgba(255,255,255,0.04)`,
|
|
9408
|
-
});
|
|
9409
|
-
|
|
9410
|
-
// ---- ドラッグ処理 ----
|
|
9411
|
-
let dragging = false;
|
|
9412
|
-
let dragStartX = 0, dragStartY = 0;
|
|
9413
|
-
let elemStartX = 0, elemStartY = 0;
|
|
9414
|
-
|
|
9415
|
-
const keyDown = addPreviewListener(group, `pointerdown`, _evt => {
|
|
9416
|
-
dragging = true;
|
|
9417
|
-
dragStartX = _evt.clientX;
|
|
9418
|
-
dragStartY = _evt.clientY;
|
|
9419
|
-
elemStartX = parseInt(group.style.left, 10);
|
|
9420
|
-
elemStartY = parseInt(group.style.top, 10);
|
|
9421
|
-
group.style.cursor = `grabbing`;
|
|
9422
|
-
group.setPointerCapture(_evt.pointerId);
|
|
9423
|
-
_evt.stopPropagation();
|
|
9424
|
-
});
|
|
9425
|
-
const keyMove = addPreviewListener(group, `pointermove`, _evt => {
|
|
9426
|
-
if (!dragging) return;
|
|
9427
|
-
const dx = _evt.clientX - dragStartX;
|
|
9428
|
-
const dy = _evt.clientY - dragStartY;
|
|
9429
|
-
const newX = Math.max(0, Math.min(_playW - 370, elemStartX + dx));
|
|
9430
|
-
const newY = Math.max(0, Math.min(_playH - 50, elemStartY + dy));
|
|
9431
|
-
group.style.left = wUnit(newX);
|
|
9432
|
-
group.style.top = wUnit(newY);
|
|
9433
|
-
_evt.stopPropagation();
|
|
9492
|
+
x: 0, y: 0, w: groupW, h: groupH, border: `1px dashed rgba(255,255,255,0.3)`,
|
|
9493
|
+
boxSizing: `border-box`, borderRadius: `2px`, background: `rgba(255,255,255,0.04)`,
|
|
9434
9494
|
});
|
|
9435
|
-
const keyUp = addPreviewListener(group, `pointerup`, _evt => {
|
|
9436
|
-
if (!dragging) return;
|
|
9437
|
-
dragging = false;
|
|
9438
|
-
group.style.cursor = `grab`;
|
|
9439
9495
|
|
|
9440
|
-
|
|
9441
|
-
|
|
9496
|
+
// ============================================================
|
|
9497
|
+
// 判定グループ固有の「座標反映ルール」を定義
|
|
9498
|
+
// ============================================================
|
|
9499
|
+
const configMap = {
|
|
9500
|
+
jdgJ: {
|
|
9501
|
+
toastTitle: g_lblNameObj.arrowJdgUpdate,
|
|
9502
|
+
getStdX: (pw) => Math.round(pw / 2 - 220),
|
|
9503
|
+
getStdY: (ph, syr) => Math.round((ph + syr) / 2 - 60),
|
|
9504
|
+
saveCallback: (dx, dy) => {
|
|
9505
|
+
g_diffObj.arrowJdgX = dx;
|
|
9506
|
+
g_diffObj.arrowJdgY = dy;
|
|
9507
|
+
}
|
|
9508
|
+
},
|
|
9509
|
+
jdgFJ: {
|
|
9510
|
+
toastTitle: g_lblNameObj.frzJdgUpdate,
|
|
9511
|
+
getStdX: (pw) => Math.round(pw / 2 - 120),
|
|
9512
|
+
getStdY: (ph, syr) => Math.round((ph + syr) / 2 + 10),
|
|
9513
|
+
saveCallback: (dx, dy) => {
|
|
9514
|
+
g_diffObj.frzJdgX = dx;
|
|
9515
|
+
g_diffObj.frzJdgY = dy;
|
|
9516
|
+
}
|
|
9517
|
+
}
|
|
9518
|
+
};
|
|
9442
9519
|
|
|
9443
|
-
|
|
9520
|
+
// 汎用関数を呼び出し、判定位置特有の処理をコールバックとして渡す
|
|
9521
|
+
makeElementDraggable(group, _playW, _playH, { w: groupW, h: groupH }, (finalX, finalY) => {
|
|
9522
|
+
// グローバルなプレビュー座標を更新
|
|
9444
9523
|
g_previewPos[_groupId].x = finalX;
|
|
9445
9524
|
g_previewPos[_groupId].y = finalY;
|
|
9446
|
-
applyJudgPositionToGame(_groupId, finalX, finalY);
|
|
9447
9525
|
|
|
9448
|
-
|
|
9449
|
-
|
|
9450
|
-
|
|
9451
|
-
|
|
9452
|
-
|
|
9453
|
-
group.style.cursor = `grab`;
|
|
9526
|
+
// 設定マップから該当するルールを適用して保存
|
|
9527
|
+
const currentConfig = configMap[_groupId];
|
|
9528
|
+
if (currentConfig) {
|
|
9529
|
+
applyElementPositionToGame(finalX, finalY, currentConfig);
|
|
9530
|
+
}
|
|
9454
9531
|
});
|
|
9455
|
-
group.setAttribute(`lsnrkey`, keyMove);
|
|
9456
|
-
group.setAttribute(`lsnrkeyTS`, keyDown);
|
|
9457
|
-
group.setAttribute(`lsnrkeyTE`, keyUp);
|
|
9458
9532
|
};
|
|
9459
9533
|
|
|
9460
9534
|
/**
|
|
9461
|
-
*
|
|
9462
|
-
* @param {
|
|
9463
|
-
* @param {number}
|
|
9464
|
-
* @param {
|
|
9535
|
+
* ドラッグ結果の座標をゲーム本体の設定に汎用的に反映する
|
|
9536
|
+
* @param {number} _x 確定したframe相対X
|
|
9537
|
+
* @param {number} _y 確定したframe相対Y
|
|
9538
|
+
* @param {object} _config 反映用の設定オブジェクト
|
|
9465
9539
|
*/
|
|
9466
|
-
const
|
|
9540
|
+
const applyElementPositionToGame = (_x, _y, _config) => {
|
|
9541
|
+
const playW = g_headerObj.playingWidth || g_sWidth;
|
|
9467
9542
|
const playH = g_headerObj.playingHeight || g_sHeight;
|
|
9468
9543
|
const stepYR = g_posObj?.stepYR ?? 0;
|
|
9469
9544
|
|
|
9470
|
-
//
|
|
9471
|
-
|
|
9472
|
-
|
|
9473
|
-
|
|
9474
|
-
//
|
|
9475
|
-
|
|
9476
|
-
|
|
9477
|
-
|
|
9478
|
-
|
|
9479
|
-
|
|
9480
|
-
|
|
9481
|
-
|
|
9482
|
-
|
|
9483
|
-
showToast(`${
|
|
9484
|
-
} else if (_groupId === `jdgFJ`) {
|
|
9485
|
-
const stdX = g_headerObj.playingWidth / 2 - 120;
|
|
9486
|
-
const stdY = Math.round((playH + stepYR) / 2 + 10);
|
|
9487
|
-
g_diffObj.frzJdgX = _x - stdX;
|
|
9488
|
-
g_diffObj.frzJdgY = _y - stdY;
|
|
9489
|
-
showToast(`${g_lblNameObj.frzJdgUpdate}: dX=${g_diffObj.frzJdgX}, dY=${g_diffObj.frzJdgY}`);
|
|
9545
|
+
// 1. 各要素固有の「標準座標(基準点)」を計算
|
|
9546
|
+
const stdX = _config.getStdX(playW);
|
|
9547
|
+
const stdY = _config.getStdY(playH, stepYR);
|
|
9548
|
+
|
|
9549
|
+
// 2. オフセット(差分)を計算
|
|
9550
|
+
const diffX = _x - stdX;
|
|
9551
|
+
const diffY = _y - stdY;
|
|
9552
|
+
|
|
9553
|
+
// 3. 指定された保存先にオフセットを格納
|
|
9554
|
+
_config.saveCallback(diffX, diffY);
|
|
9555
|
+
|
|
9556
|
+
// 4. トースト表示 (通知が不要な要素なら省略可能にする)
|
|
9557
|
+
if (_config.toastTitle) {
|
|
9558
|
+
showToast(`${_config.toastTitle}: dX=${diffX}, dY=${diffY}`);
|
|
9490
9559
|
}
|
|
9491
9560
|
};
|
|
9492
9561
|
|
|
@@ -14259,6 +14328,9 @@ const mainInit = () => {
|
|
|
14259
14328
|
x: 0, y: 30, w: 70, h: 20, siz: g_limitObj.jdgCntsSiz, display: g_workObj.lifegaugeDisp,
|
|
14260
14329
|
}, lblInitColor),
|
|
14261
14330
|
|
|
14331
|
+
// ゲージ種類
|
|
14332
|
+
createDivCss2Label(`lblGaugeMode`, g_stateObj.gauge, { ...g_lblPosObj.lblGaugeMode, display: g_workObj.musicinfoDisp }),
|
|
14333
|
+
|
|
14262
14334
|
// ライフ背景
|
|
14263
14335
|
createColorObject2(`lifeBackObj`, { ...g_lblPosObj.lifeBackObj, display: g_workObj.lifegaugeDisp }, g_cssObj.life_Background),
|
|
14264
14336
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Source by tickle
|
|
7
7
|
* Created : 2019/11/19
|
|
8
|
-
* Revised : 2026/05/
|
|
8
|
+
* Revised : 2026/05/30 (v48.2.0)
|
|
9
9
|
*
|
|
10
10
|
* https://github.com/cwtickle/danoniplus
|
|
11
11
|
*/
|
|
@@ -546,8 +546,40 @@ const updateWindowSiz = () => {
|
|
|
546
546
|
lblDisplayPreviewMsg: {
|
|
547
547
|
x: g_btnX(), y: g_sHeight - 40, w: g_btnWidth(), h: 20, siz: 14,
|
|
548
548
|
},
|
|
549
|
-
|
|
550
|
-
|
|
549
|
+
previewScoreDisabled: {
|
|
550
|
+
x: g_headerObj.playingWidth - 80, y: 20, w: 70, h: 200,
|
|
551
|
+
},
|
|
552
|
+
previewLifeDisabled: {
|
|
553
|
+
x: 5, y: 50, w: 15, h: g_headerObj.playingHeight - 100,
|
|
554
|
+
},
|
|
555
|
+
previewLifeFrzDisabled: {
|
|
556
|
+
x: 0, y: 70, w: 5, h: g_headerObj.playingHeight - 120,
|
|
557
|
+
},
|
|
558
|
+
previewMusicInfoDisabled: {
|
|
559
|
+
x: 5, y: g_headerObj.playingHeight - 50, w: g_headerObj.playingWidth - 125, h: 40,
|
|
560
|
+
},
|
|
561
|
+
previewGaugeNameDisabled: {
|
|
562
|
+
x: 0, y: 10, w: 110, h: 18,
|
|
563
|
+
},
|
|
564
|
+
previewLifeBack: {
|
|
565
|
+
x: 5, y: 50, w: 15, h: g_headerObj.playingHeight - 100,
|
|
566
|
+
background: `#333333`, border: `1px solid #555555`,
|
|
567
|
+
},
|
|
568
|
+
previewLifeBar: {
|
|
569
|
+
x: 5, y: 50 + (g_headerObj.playingHeight - 100) * 0.3,
|
|
570
|
+
w: 15, h: (g_headerObj.playingHeight - 100) * 0.7, background: `#006666`,
|
|
571
|
+
},
|
|
572
|
+
previewLifeNum: {
|
|
573
|
+
x: 0, y: 30, w: 70, h: 20,
|
|
574
|
+
siz: g_limitObj.jdgCntsSiz, color: `#ffffff`, background: `#006666`, align: C_ALIGN_CENTER,
|
|
575
|
+
},
|
|
576
|
+
previewFrzLifeBack: {
|
|
577
|
+
x: 0, y: 50, w: 5, h: g_headerObj.playingHeight - 100,
|
|
578
|
+
background: `#333333`, border: `1px solid #555555`,
|
|
579
|
+
},
|
|
580
|
+
previewFrzLifeBar: {
|
|
581
|
+
x: 0, y: 50 + (g_headerObj.playingHeight - 100) * 0.7,
|
|
582
|
+
w: 5, h: (g_headerObj.playingHeight - 100) * 0.3,
|
|
551
583
|
},
|
|
552
584
|
|
|
553
585
|
/** キーコンフィグ画面 */
|
|
@@ -640,7 +672,7 @@ const updateWindowSiz = () => {
|
|
|
640
672
|
x: -8, y: -8, w: C_ARW_WIDTH + 16, h: C_ARW_WIDTH + 16,
|
|
641
673
|
},
|
|
642
674
|
lblframe: {
|
|
643
|
-
x: 0, y: 0, w: 100, h: 30, siz:
|
|
675
|
+
x: 0, y: 0, w: 100, h: 30, siz: 18,
|
|
644
676
|
},
|
|
645
677
|
lblCredit: {
|
|
646
678
|
x: 125, y: g_headerObj.playingHeight - 30, w: g_headerObj.playingWidth - 125, h: 20, align: C_ALIGN_LEFT,
|
|
@@ -654,6 +686,9 @@ const updateWindowSiz = () => {
|
|
|
654
686
|
lblTime2: {
|
|
655
687
|
x: 60, y: g_headerObj.playingHeight - 30, w: 60, h: 20, siz: g_limitObj.mainSiz,
|
|
656
688
|
},
|
|
689
|
+
lblGaugeMode: {
|
|
690
|
+
x: 5, y: 18, w: 100, h: 20, siz: 11, align: C_ALIGN_LEFT,
|
|
691
|
+
},
|
|
657
692
|
lifeBackObj: {
|
|
658
693
|
x: 5, y: 50, w: 15, h: g_headerObj.playingHeight - 100, styleName: `lifeBar`,
|
|
659
694
|
},
|
|
@@ -4883,6 +4918,7 @@ const g_lang_msgObj = {
|
|
|
4883
4918
|
keyTypes: `Key: {0} の保存データ(個別の色設定を除く)を消去します。`,
|
|
4884
4919
|
|
|
4885
4920
|
dataResetConfirm: `選択したローカル設定をクリアします。よろしいですか?`,
|
|
4921
|
+
noDataSelected: `消去するデータが選択されていません。`,
|
|
4886
4922
|
dataRestoreConfirm: `ローカル設定を前回の状態に戻します(1回限り)。よろしいですか?\n消去した設定によっては今の設定が上書きされることがあります。`,
|
|
4887
4923
|
safeModeONConfirm: `セーフモードを解除して、ローカルストレージ情報を利用します。\nよろしいですか?`,
|
|
4888
4924
|
safeModeOFFConfirm: `セーフモードを設定して、ローカルストレージを使わずにリロードします。\nよろしいですか?`,
|
|
@@ -4987,6 +5023,7 @@ const g_lang_msgObj = {
|
|
|
4987
5023
|
keyTypes: `Deletes the stored data (except color settings) for Key: {0}.`,
|
|
4988
5024
|
|
|
4989
5025
|
dataResetConfirm: `Delete the selected local settings. Is it OK?`,
|
|
5026
|
+
noDataSelected: `No data selected to delete.`,
|
|
4990
5027
|
dataRestoreConfirm: `Restore local settings to previous state (one time only). Is it OK?\nSome deleted settings may overwrite the current settings.`,
|
|
4991
5028
|
safeModeONConfirm: `Exit safe mode and use local storage information. Is it OK?`,
|
|
4992
5029
|
safeModeOFFConfirm: `Set safe mode and reload without local storage. Is it OK?`,
|
|
@@ -5107,6 +5144,7 @@ const g_customJsObj = {
|
|
|
5107
5144
|
option: [],
|
|
5108
5145
|
difficulty: [],
|
|
5109
5146
|
settingsDisplay: [],
|
|
5147
|
+
displayPreview: [],
|
|
5110
5148
|
exSetting: [],
|
|
5111
5149
|
settingSummary: [],
|
|
5112
5150
|
keyconfig: [],
|