danoniplus 48.0.0 → 48.1.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.
- package/js/danoni_main.js +452 -30
- package/js/lib/danoni_constants.js +127 -106
- 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/23
|
|
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.1.1`;
|
|
12
|
+
const g_revisedDate = `2026/05/23`;
|
|
13
13
|
|
|
14
14
|
// カスタム用バージョン (danoni_custom.js 等で指定可)
|
|
15
15
|
let g_localVersion = ``;
|
|
@@ -1809,6 +1809,7 @@ const g_handler = (() => {
|
|
|
1809
1809
|
if (key in events) {
|
|
1810
1810
|
const e = events[key];
|
|
1811
1811
|
e.target.removeEventListener(e.type, e.listener, e.capture);
|
|
1812
|
+
delete events[key];
|
|
1812
1813
|
}
|
|
1813
1814
|
}
|
|
1814
1815
|
};
|
|
@@ -2008,6 +2009,7 @@ const makeBgCanvas = (_ctx, { w = g_sWidth, h = g_sHeight } = {}) => {
|
|
|
2008
2009
|
* @param {string} [_customDisplayName=''] 画面名(メイン画面: 'Main', それ以外: 空)
|
|
2009
2010
|
*/
|
|
2010
2011
|
const clearWindow = (_redrawFlg = false, _customDisplayName = ``) => {
|
|
2012
|
+
closeDisplayPreview();
|
|
2011
2013
|
resetKeyControl();
|
|
2012
2014
|
resetTransform();
|
|
2013
2015
|
resetXY();
|
|
@@ -7086,8 +7088,8 @@ const setSpriteList = _settingList => {
|
|
|
7086
7088
|
const spriteList = [];
|
|
7087
7089
|
Object.keys(_settingList).forEach(setting =>
|
|
7088
7090
|
spriteList[setting] = createEmptySprite(optionsprite, `${setting}Sprite`, {
|
|
7089
|
-
x: 25, y: _settingList[setting].heightPos * g_limitObj.setLblHeight + _settingList[setting].y + 20,
|
|
7090
|
-
w: optionWidth + _settingList[setting].dw, h: g_limitObj.setLblHeight + _settingList[setting].dh,
|
|
7091
|
+
x: 25, y: _settingList[setting].heightPos * g_limitObj.setLblHeight + (_settingList[setting].y || 0) + 20,
|
|
7092
|
+
w: optionWidth + (_settingList[setting].dw || 0), h: g_limitObj.setLblHeight + (_settingList[setting].dh || 0),
|
|
7091
7093
|
}));
|
|
7092
7094
|
return spriteList;
|
|
7093
7095
|
};
|
|
@@ -9075,7 +9077,13 @@ const settingsDisplayInit = () => {
|
|
|
9075
9077
|
createSettingsDisplayWindow(divRoot);
|
|
9076
9078
|
|
|
9077
9079
|
// ショートカットキーメッセージ
|
|
9078
|
-
divRoot
|
|
9080
|
+
multiAppend(divRoot,
|
|
9081
|
+
createDescDiv(`scMsg`, g_lblNameObj.sdShortcutDesc),
|
|
9082
|
+
createCss2Button(`btnDisplayPreview`, `↓ Preview`, _evt => {
|
|
9083
|
+
toggleDisplayPreview();
|
|
9084
|
+
}, g_lblPosObj.btnDisplayPreview, g_cssObj.button_Setting),
|
|
9085
|
+
);
|
|
9086
|
+
createScText(btnDisplayPreview, `DisplayPreview`, { displayName: `settingsDisplay`, targetLabel: `btnDisplayPreview`, x: -25 });
|
|
9079
9087
|
|
|
9080
9088
|
// ユーザカスタムイベント(初期)
|
|
9081
9089
|
safeExecuteCustomHooks(`g_customJsObj.settingsDisplay`, g_customJsObj.settingsDisplay);
|
|
@@ -9090,6 +9098,426 @@ const settingsDisplayInit = () => {
|
|
|
9090
9098
|
safeExecuteCustomHooks(`g_skinJsObj.settingsDisplay`, g_skinJsObj.settingsDisplay);
|
|
9091
9099
|
};
|
|
9092
9100
|
|
|
9101
|
+
/** プレビューウィンドウのルートdiv */
|
|
9102
|
+
let g_previewRoot = null;
|
|
9103
|
+
|
|
9104
|
+
/** プレビューで登録した一時リスナー群 */
|
|
9105
|
+
let g_previewLsnrKeys = new Set();
|
|
9106
|
+
|
|
9107
|
+
/** プレビュー内の各UIオブジェクトの現在座標 */
|
|
9108
|
+
const g_previewPos = {
|
|
9109
|
+
jdgJ: { x: null, y: null }, // 通常判定キャラクタ・コンボ
|
|
9110
|
+
jdgFJ: { x: null, y: null }, // フリーズ判定キャラクタ・コンボ
|
|
9111
|
+
};
|
|
9112
|
+
|
|
9113
|
+
/**
|
|
9114
|
+
* プレビュー用リスナー登録(キーをレジストリへ格納)
|
|
9115
|
+
*/
|
|
9116
|
+
const addPreviewListener = (target, type, listener, capture = false) => {
|
|
9117
|
+
const key = g_handler.addListener(target, type, listener, capture);
|
|
9118
|
+
g_previewLsnrKeys.add(key);
|
|
9119
|
+
return key;
|
|
9120
|
+
};
|
|
9121
|
+
|
|
9122
|
+
/**
|
|
9123
|
+
* プレビューのトグル(表示 / 非表示)
|
|
9124
|
+
*/
|
|
9125
|
+
const toggleDisplayPreview = () => {
|
|
9126
|
+
if (g_previewRoot && document.getElementById(`displayPreviewOverlay`)) {
|
|
9127
|
+
closeDisplayPreview();
|
|
9128
|
+
g_currentPage = `settingsDisplay`;
|
|
9129
|
+
} else {
|
|
9130
|
+
openDisplayPreview();
|
|
9131
|
+
g_currentPage = `displayPreview`;
|
|
9132
|
+
}
|
|
9133
|
+
setShortcutEvent(g_currentPage, () => true, { displayFlg: false });
|
|
9134
|
+
};
|
|
9135
|
+
|
|
9136
|
+
/**
|
|
9137
|
+
* プレビューオーバーレイを開く
|
|
9138
|
+
*/
|
|
9139
|
+
const openDisplayPreview = () => {
|
|
9140
|
+
const divRoot = document.getElementById(`divRoot`);
|
|
9141
|
+
if (!divRoot) return;
|
|
9142
|
+
|
|
9143
|
+
// 既存があれば削除
|
|
9144
|
+
closeDisplayPreview();
|
|
9145
|
+
|
|
9146
|
+
// ============================================================
|
|
9147
|
+
// オーバーレイ本体
|
|
9148
|
+
// ============================================================
|
|
9149
|
+
const overlay = createEmptySprite(divRoot, `displayPreviewOverlay`, {
|
|
9150
|
+
w: g_sWidth, h: g_sHeight, background: g_headerObj.baseBrightFlg ? `#eeeeeedd` : `#111111dd`, pointerEvents: C_DIS_AUTO,
|
|
9151
|
+
});
|
|
9152
|
+
g_previewRoot = overlay;
|
|
9153
|
+
multiAppend(overlay,
|
|
9154
|
+
createDivCss2Label(`lblDisplayPreview`, `Display Preview`,
|
|
9155
|
+
g_lblPosObj.lblDisplayPreview, g_cssObj.settings_Display),
|
|
9156
|
+
createCss2Button(`btnDisplayPreview2`, `↑ Preview`, _evt => {
|
|
9157
|
+
toggleDisplayPreview();
|
|
9158
|
+
}, g_lblPosObj.btnDisplayPreview, g_cssObj.button_Setting),
|
|
9159
|
+
createDescDiv(`lblDisplayPreviewMsg`, g_lblNameObj.displayPreviewDesc),
|
|
9160
|
+
);
|
|
9161
|
+
|
|
9162
|
+
// ============================================================
|
|
9163
|
+
// プレイ画面フレーム(白枠)
|
|
9164
|
+
// ============================================================
|
|
9165
|
+
const rate = 0.8;
|
|
9166
|
+
const playW = g_headerObj.playingWidth || g_sWidth;
|
|
9167
|
+
const playH = g_headerObj.playingHeight || g_sHeight;
|
|
9168
|
+
const frameX = Math.round((g_sWidth - playW) / 2);
|
|
9169
|
+
const frameY = Math.round((g_sHeight - playH) / 2);
|
|
9170
|
+
|
|
9171
|
+
const frame = createEmptySprite(overlay, `previewFrame`, {
|
|
9172
|
+
x: frameX, y: frameY, w: playW, h: playH,
|
|
9173
|
+
background: `#111111`,
|
|
9174
|
+
border: `1px solid #444444`,
|
|
9175
|
+
overflow: `hidden`,
|
|
9176
|
+
boxSizing: `border-box`,
|
|
9177
|
+
transform: `scale(${rate})`,
|
|
9178
|
+
});
|
|
9179
|
+
|
|
9180
|
+
// ============================================================
|
|
9181
|
+
// Display設定に応じたUIを描画
|
|
9182
|
+
// ============================================================
|
|
9183
|
+
buildPreviewUI(frame, playW, playH);
|
|
9184
|
+
};
|
|
9185
|
+
|
|
9186
|
+
/**
|
|
9187
|
+
* プレビューオーバーレイを閉じる
|
|
9188
|
+
*/
|
|
9189
|
+
const closeDisplayPreview = () => {
|
|
9190
|
+
const overlay = document.getElementById(`displayPreviewOverlay`);
|
|
9191
|
+
if (overlay) {
|
|
9192
|
+
deleteChildspriteAll(`displayPreviewOverlay`);
|
|
9193
|
+
overlay.remove();
|
|
9194
|
+
}
|
|
9195
|
+
// プレビュー専用に登録した残りのハンドラを明示解除
|
|
9196
|
+
if (g_previewLsnrKeys?.size) {
|
|
9197
|
+
g_previewLsnrKeys.forEach(k => g_handler.removeListener(k));
|
|
9198
|
+
g_previewLsnrKeys.clear();
|
|
9199
|
+
}
|
|
9200
|
+
g_previewRoot = null;
|
|
9201
|
+
};
|
|
9202
|
+
|
|
9203
|
+
/**
|
|
9204
|
+
* プレビュー内のUI要素を構築する
|
|
9205
|
+
* @param {HTMLElement} _frame プレイ画面フレーム要素
|
|
9206
|
+
* @param {number} _playW プレイ幅(px)
|
|
9207
|
+
* @param {number} _playH プレイ高さ(px)
|
|
9208
|
+
*/
|
|
9209
|
+
const buildPreviewUI = (_frame, _playW, _playH) => {
|
|
9210
|
+
|
|
9211
|
+
// --- Display設定の現在値を取得 ---
|
|
9212
|
+
const d = {
|
|
9213
|
+
stepzone: g_stateObj.d_stepzone,
|
|
9214
|
+
judgment: g_stateObj.d_judgment,
|
|
9215
|
+
lifegauge: g_stateObj.d_lifegauge,
|
|
9216
|
+
score: g_stateObj.d_score,
|
|
9217
|
+
musicinfo: g_stateObj.d_musicinfo,
|
|
9218
|
+
};
|
|
9219
|
+
|
|
9220
|
+
const disableBox = (_name, { x, y, w, h } = {}) =>
|
|
9221
|
+
createDivCss2Label(`previewDisableBox_${_name}`, `${g_emojiObj.crossMark} ${_name}`, {
|
|
9222
|
+
x, y, w, h, background: `rgba(0,0,0,0.5)`, border: `1px dashed #555555`,
|
|
9223
|
+
size: 32, color: `#cccccc`, align: C_ALIGN_LEFT,
|
|
9224
|
+
});
|
|
9225
|
+
|
|
9226
|
+
// ============================================================
|
|
9227
|
+
// ステップゾーン(中央横帯)
|
|
9228
|
+
// ============================================================
|
|
9229
|
+
const stepY = g_posObj.stepY ?? C_STEP_Y;
|
|
9230
|
+
const revStepY = g_posObj.reverseStepY;
|
|
9231
|
+
|
|
9232
|
+
if (d.stepzone === C_FLG_OFF) {
|
|
9233
|
+
multiAppend(_frame,
|
|
9234
|
+
disableBox(`StepZone`, { x: Math.round(_playW / 2 - 200), y: stepY, w: 400, h: 50 }),
|
|
9235
|
+
disableBox(`StepZone_Rev`, { x: Math.round(_playW / 2 - 200), y: C_STEP_Y + revStepY, w: 400, h: 50 }),
|
|
9236
|
+
);
|
|
9237
|
+
} else {
|
|
9238
|
+
// 簡易ステップゾーン(7レーン分)
|
|
9239
|
+
const laneCount = 7;
|
|
9240
|
+
const laneW = 50;
|
|
9241
|
+
const totalW = laneCount * laneW;
|
|
9242
|
+
const startX = Math.round((_playW - totalW) / 2);
|
|
9243
|
+
|
|
9244
|
+
for (let j = 0; j < laneCount; j++) {
|
|
9245
|
+
createEmptySprite(_frame, `previewStep${j}`, {
|
|
9246
|
+
x: startX + j * laneW + 2, y: stepY + 2, w: laneW - 4, h: laneW - 4,
|
|
9247
|
+
background: `rgba(100,100,200,0.25)`,
|
|
9248
|
+
border: `1px solid rgba(150,150,255,0.5)`,
|
|
9249
|
+
});
|
|
9250
|
+
createEmptySprite(_frame, `previewStepR${j}`, {
|
|
9251
|
+
x: startX + j * laneW + 2, y: C_STEP_Y + revStepY + 2, w: laneW - 4, h: laneW - 4,
|
|
9252
|
+
background: `rgba(200,100,100,0.20)`,
|
|
9253
|
+
border: `1px solid rgba(255,150,150,0.4)`,
|
|
9254
|
+
});
|
|
9255
|
+
}
|
|
9256
|
+
}
|
|
9257
|
+
|
|
9258
|
+
// ============================================================
|
|
9259
|
+
// 判定エリア(ドラッグ可能)
|
|
9260
|
+
// ============================================================
|
|
9261
|
+
if (d.judgment === C_FLG_OFF) {
|
|
9262
|
+
_frame.appendChild(disableBox(`Judgment`, {
|
|
9263
|
+
x: Math.round(_playW / 2 - 220), y: Math.round((_playH + (g_posObj?.stepYR ?? 0)) / 2 - 60), w: 440, h: 120,
|
|
9264
|
+
}));
|
|
9265
|
+
} else {
|
|
9266
|
+
const jX0 = Math.round(_playW / 2 - 220) + (g_diffObj.arrowJdgX ?? 0);
|
|
9267
|
+
const jY0 = Math.round((_playH + (g_posObj?.stepYR ?? 0)) / 2 - 60) + (g_diffObj.arrowJdgY ?? 0);
|
|
9268
|
+
const fX0 = Math.round(_playW / 2 - 120) + (g_diffObj.frzJdgX ?? 0);
|
|
9269
|
+
const fY0 = Math.round((_playH + (g_posObj?.stepYR ?? 0)) / 2 + 10) + (g_diffObj.frzJdgY ?? 0);
|
|
9270
|
+
|
|
9271
|
+
const jdgInitX = g_previewPos.jdgJ.x ?? jX0;
|
|
9272
|
+
const jdgInitY = g_previewPos.jdgJ.y ?? jY0;
|
|
9273
|
+
const jdgFInitX = g_previewPos.jdgFJ.x ?? fX0;
|
|
9274
|
+
const jdgFInitY = g_previewPos.jdgFJ.y ?? fY0;
|
|
9275
|
+
|
|
9276
|
+
// 通常判定グループ
|
|
9277
|
+
buildDraggableJudgGroup(_frame, `jdgJ`, jdgInitX, jdgInitY, _playW, _playH, {
|
|
9278
|
+
charaText: d.judgment === C_FLG_ON ? g_lblNameObj.j_ii : ``,
|
|
9279
|
+
comboText: d.judgment === C_FLG_ON ? `5 Combo!!` : ``,
|
|
9280
|
+
diffText: `Fast 3 Frames`,
|
|
9281
|
+
charaColor: `#66ffff`,
|
|
9282
|
+
});
|
|
9283
|
+
|
|
9284
|
+
// フリーズ判定グループ
|
|
9285
|
+
buildDraggableJudgGroup(_frame, `jdgFJ`, jdgFInitX, jdgFInitY, _playW, _playH, {
|
|
9286
|
+
charaText: d.judgment === C_FLG_ON ? g_lblNameObj.j_kita : ``,
|
|
9287
|
+
comboText: d.judgment === C_FLG_ON ? `5 Combo!!` : ``,
|
|
9288
|
+
diffText: `Fast 2 Frames`,
|
|
9289
|
+
charaColor: `#ffff99`,
|
|
9290
|
+
});
|
|
9291
|
+
}
|
|
9292
|
+
|
|
9293
|
+
// ============================================================
|
|
9294
|
+
// ライフゲージ(左縦帯)
|
|
9295
|
+
// ============================================================
|
|
9296
|
+
if (d.lifegauge === C_FLG_OFF) {
|
|
9297
|
+
_frame.appendChild(disableBox(`LifeGauge`, { x: 5, y: 50, w: 15, h: _playH - 100 }));
|
|
9298
|
+
} else {
|
|
9299
|
+
multiAppend(_frame,
|
|
9300
|
+
createDivCss2Label(`previewLifeBack`, ``, {
|
|
9301
|
+
x: 5, y: 50, w: 15, h: _playH - 100,
|
|
9302
|
+
background: `#333333`, border: `1px solid #555555`,
|
|
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
|
+
}),
|
|
9312
|
+
);
|
|
9313
|
+
}
|
|
9314
|
+
|
|
9315
|
+
// ============================================================
|
|
9316
|
+
// スコア・判定カウンタ(右端縦列)
|
|
9317
|
+
// ============================================================
|
|
9318
|
+
if (d.score === C_FLG_OFF) {
|
|
9319
|
+
_frame.appendChild(disableBox(`Score`, { x: _playW - 80, y: 20, w: 70, h: 200 }));
|
|
9320
|
+
} else {
|
|
9321
|
+
const scoreItems = [
|
|
9322
|
+
{ color: `#66ffff`, cnt: `5` },
|
|
9323
|
+
{ color: `#99ff99`, cnt: `0` },
|
|
9324
|
+
{ color: `#ffcc66`, cnt: `0` },
|
|
9325
|
+
{ color: `#cc99ff`, cnt: `0` },
|
|
9326
|
+
{ color: `#ff9999`, cnt: `0` },
|
|
9327
|
+
{ color: `#ffffff`, cnt: `5` },
|
|
9328
|
+
{},
|
|
9329
|
+
{ color: `#ffff99`, cnt: `5` },
|
|
9330
|
+
{ color: `#99ff66`, cnt: `0` },
|
|
9331
|
+
{ color: `#ffffff`, cnt: `5` },
|
|
9332
|
+
];
|
|
9333
|
+
const sx = _playW - 110;
|
|
9334
|
+
scoreItems.forEach((item, i) => {
|
|
9335
|
+
_frame.appendChild(
|
|
9336
|
+
createDivCss2Label(`previewScore${i}`, item.cnt || ``, {
|
|
9337
|
+
x: sx + 50, y: 20 * (i + 1), w: 50, h: 20,
|
|
9338
|
+
siz: 16, color: item.color, align: `right`,
|
|
9339
|
+
}),
|
|
9340
|
+
);
|
|
9341
|
+
});
|
|
9342
|
+
}
|
|
9343
|
+
|
|
9344
|
+
// ============================================================
|
|
9345
|
+
// 曲名・制作者(左下)
|
|
9346
|
+
// ============================================================
|
|
9347
|
+
if (d.musicinfo === C_FLG_OFF) {
|
|
9348
|
+
_frame.appendChild(disableBox(`MusicInfo`, { x: 5, y: _playH - 50, w: _playW - 125, h: 40 }));
|
|
9349
|
+
} else {
|
|
9350
|
+
multiAppend(
|
|
9351
|
+
_frame,
|
|
9352
|
+
createDivCss2Label(`previewCredit`, `Sample Music / Artist Name`, {
|
|
9353
|
+
...g_lblPosObj.previewCredit, x: 100, y: _playH - 30, w: _playW - 125, h: 20,
|
|
9354
|
+
}),
|
|
9355
|
+
createDivCss2Label(`previewDifName`, `[7key / Normal]`, {
|
|
9356
|
+
...g_lblPosObj.previewCredit, x: 100, y: _playH - 16, w: _playW - 125, h: 16, siz: 12,
|
|
9357
|
+
}),
|
|
9358
|
+
createDivCss2Label(`previewTime1`, `0:04 /`, {
|
|
9359
|
+
...g_lblPosObj.previewCredit, x: 18, y: _playH - 30, w: 40, h: 20, align: C_ALIGN_RIGHT,
|
|
9360
|
+
}),
|
|
9361
|
+
createDivCss2Label(`previewTime2`, `2:54`, {
|
|
9362
|
+
...g_lblPosObj.previewCredit, x: 60, y: _playH - 30, w: 60, h: 20,
|
|
9363
|
+
}),
|
|
9364
|
+
)
|
|
9365
|
+
}
|
|
9366
|
+
};
|
|
9367
|
+
|
|
9368
|
+
/**
|
|
9369
|
+
* ドラッグ可能な判定グループを生成する
|
|
9370
|
+
* @param {HTMLElement} _parent 親要素
|
|
9371
|
+
* @param {string} _groupId `jdgJ` または `jdgFJ`
|
|
9372
|
+
* @param {number} _initX 初期X座標(frame相対)
|
|
9373
|
+
* @param {number} _initY 初期Y座標(frame相対)
|
|
9374
|
+
* @param {number} _playW プレイ幅
|
|
9375
|
+
* @param {number} _playH プレイ高さ
|
|
9376
|
+
* @param {object} _opts 表示テキスト・色オプション
|
|
9377
|
+
*/
|
|
9378
|
+
const buildDraggableJudgGroup = (_parent, _groupId, _initX, _initY, _playW, _playH, _opts) => {
|
|
9379
|
+
|
|
9380
|
+
const group = createEmptySprite(_parent, `previewGrp_${_groupId}`, {
|
|
9381
|
+
x: _initX, y: _initY, w: 370, h: 51, cursor: `grab`, pointerEvents: C_DIS_AUTO,
|
|
9382
|
+
});
|
|
9383
|
+
|
|
9384
|
+
multiAppend(
|
|
9385
|
+
group,
|
|
9386
|
+
// キャラクタ
|
|
9387
|
+
createDivCss2Label(`previewChara_${_groupId}`, _opts.charaText, {
|
|
9388
|
+
x: 0, y: 0, w: g_limitObj.jdgCharaWidth, h: g_limitObj.jdgCharaHeight,
|
|
9389
|
+
siz: g_limitObj.jdgCharaSiz, color: _opts.charaColor,
|
|
9390
|
+
}),
|
|
9391
|
+
// コンボ
|
|
9392
|
+
createDivCss2Label(`previewCombo_${_groupId}`, _opts.comboText, {
|
|
9393
|
+
x: 170, y: 0, w: g_limitObj.jdgCharaWidth, h: g_limitObj.jdgCharaHeight,
|
|
9394
|
+
siz: g_limitObj.jdgCharaSiz, color: `#ffffff`,
|
|
9395
|
+
}),
|
|
9396
|
+
// Fast/Slow
|
|
9397
|
+
createDivCss2Label(`previewDiff_${_groupId}`, _opts.diffText, {
|
|
9398
|
+
x: 170, y: 25, w: g_limitObj.jdgCharaWidth, h: g_limitObj.jdgCharaHeight,
|
|
9399
|
+
siz: g_limitObj.mainSiz, color: `#ff9966`,
|
|
9400
|
+
}),
|
|
9401
|
+
);
|
|
9402
|
+
|
|
9403
|
+
// ドラッグハンドル(薄い枠)
|
|
9404
|
+
createEmptySprite(group, `lblHandle_${_groupId}`, {
|
|
9405
|
+
x: 0, y: 0, w: 370, h: 51, border: `1px dashed rgba(255,255,255,0.3)`,
|
|
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();
|
|
9434
|
+
});
|
|
9435
|
+
const keyUp = addPreviewListener(group, `pointerup`, _evt => {
|
|
9436
|
+
if (!dragging) return;
|
|
9437
|
+
dragging = false;
|
|
9438
|
+
group.style.cursor = `grab`;
|
|
9439
|
+
|
|
9440
|
+
const finalX = parseInt(group.style.left, 10);
|
|
9441
|
+
const finalY = parseInt(group.style.top, 10);
|
|
9442
|
+
|
|
9443
|
+
// ---- 座標をグローバル状態とゲーム本体に反映 ----
|
|
9444
|
+
g_previewPos[_groupId].x = finalX;
|
|
9445
|
+
g_previewPos[_groupId].y = finalY;
|
|
9446
|
+
applyJudgPositionToGame(_groupId, finalX, finalY);
|
|
9447
|
+
|
|
9448
|
+
_evt.stopPropagation();
|
|
9449
|
+
});
|
|
9450
|
+
// pointerup が届かないケースを拾う
|
|
9451
|
+
addPreviewListener(group, `pointercancel`, _evt => {
|
|
9452
|
+
dragging = false;
|
|
9453
|
+
group.style.cursor = `grab`;
|
|
9454
|
+
});
|
|
9455
|
+
group.setAttribute(`lsnrkey`, keyMove);
|
|
9456
|
+
group.setAttribute(`lsnrkeyTS`, keyDown);
|
|
9457
|
+
group.setAttribute(`lsnrkeyTE`, keyUp);
|
|
9458
|
+
};
|
|
9459
|
+
|
|
9460
|
+
/**
|
|
9461
|
+
* ドラッグ結果の座標をゲーム本体の判定位置設定に反映する
|
|
9462
|
+
* @param {string} _groupId `jdgJ` または `jdgFJ`
|
|
9463
|
+
* @param {number} _x frame相対X
|
|
9464
|
+
* @param {number} _y frame相対Y
|
|
9465
|
+
*/
|
|
9466
|
+
const applyJudgPositionToGame = (_groupId, _x, _y) => {
|
|
9467
|
+
const playH = g_headerObj.playingHeight || g_sHeight;
|
|
9468
|
+
const stepYR = g_posObj?.stepYR ?? 0;
|
|
9469
|
+
|
|
9470
|
+
// mainInit内のjdgX[0/1], jdgY[0/1]はローカル変数なため、
|
|
9471
|
+
// g_diffObj経由でオフセットとして保持し、次回プレイ開始時に反映する。
|
|
9472
|
+
// ここでは g_diffObj.arrowJdgY / frzJdgY をオフセット格納先として利用する。
|
|
9473
|
+
//
|
|
9474
|
+
// 「標準Y」= (playH + stepYR) / 2 - 60 (jdgJ の場合)
|
|
9475
|
+
// = (playH + stepYR) / 2 + 10 (jdgFJ の場合)
|
|
9476
|
+
// オフセット = 実際のY - 標準Y
|
|
9477
|
+
|
|
9478
|
+
if (_groupId === `jdgJ`) {
|
|
9479
|
+
const stdX = g_headerObj.playingWidth / 2 - 220;
|
|
9480
|
+
const stdY = Math.round((playH + stepYR) / 2 - 60);
|
|
9481
|
+
g_diffObj.arrowJdgX = _x - stdX;
|
|
9482
|
+
g_diffObj.arrowJdgY = _y - stdY;
|
|
9483
|
+
showToast(`${g_lblNameObj.arrowJdgUpdate}: dX=${g_diffObj.arrowJdgX}, dY=${g_diffObj.arrowJdgY}`);
|
|
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}`);
|
|
9490
|
+
}
|
|
9491
|
+
};
|
|
9492
|
+
|
|
9493
|
+
/**
|
|
9494
|
+
* 画面上部に一時的なトーストメッセージを表示する
|
|
9495
|
+
* @param {string} _msg
|
|
9496
|
+
*/
|
|
9497
|
+
const showToast = _msg => {
|
|
9498
|
+
const existing = document.getElementById(`previewToast`);
|
|
9499
|
+
if (existing) existing.remove();
|
|
9500
|
+
|
|
9501
|
+
const toast = createDivCss2Label(`previewToast`, _msg, {
|
|
9502
|
+
x: g_btnX() + g_btnWidth() / 2, y: 50, w: g_btnWidth() / 2, h: 10,
|
|
9503
|
+
transform: `translateX(-50%)`,
|
|
9504
|
+
background: `rgba(0,40,80,0.92)`,
|
|
9505
|
+
color: `#aaddff`,
|
|
9506
|
+
border: `1px solid #3366aa`,
|
|
9507
|
+
borderRadius: `6px`,
|
|
9508
|
+
padding: `6px 16px`,
|
|
9509
|
+
fontSize: `12px`,
|
|
9510
|
+
fontFamily: `monospace`,
|
|
9511
|
+
whiteSpace: `nowrap`,
|
|
9512
|
+
pointerEvents: `none`,
|
|
9513
|
+
transition: `opacity 0.4s`,
|
|
9514
|
+
opacity: `1`,
|
|
9515
|
+
});
|
|
9516
|
+
divRoot.appendChild(toast);
|
|
9517
|
+
setTimeout(() => { toast.style.opacity = `0`; }, 2200);
|
|
9518
|
+
setTimeout(() => { if (toast.parentNode) toast.remove(); }, 2700);
|
|
9519
|
+
};
|
|
9520
|
+
|
|
9093
9521
|
/**
|
|
9094
9522
|
* 設定・オプション画面のラベル・ボタン処理の描画
|
|
9095
9523
|
* @param {Object} _sprite 基準とするスプライト(ここで指定する座標は、そのスプライトからの相対位置)
|
|
@@ -9148,7 +9576,7 @@ const createSettingsDisplayWindow = _sprite => {
|
|
|
9148
9576
|
g_settings.displayNum[_name] = list.findIndex(flg => flg === g_stateObj[`d_${_name.toLowerCase()}`]);
|
|
9149
9577
|
displaySprite.appendChild(
|
|
9150
9578
|
makeSettingLblCssButton(linkId, dispView(), _heightPos, () => switchDisplay(), {
|
|
9151
|
-
x: 30 + 180 * _widthPos, w: 170,
|
|
9579
|
+
x: 30 + 180 * _widthPos, y: 20 * _heightPos, w: 170, h: 18,
|
|
9152
9580
|
title: g_msgObj[`d_${_name.toLowerCase()}`], borderStyle: `solid`,
|
|
9153
9581
|
cxtFunc: () => switchDisplay(-1),
|
|
9154
9582
|
}, `button_${cssBgList[g_settings.displayNum[_name]]}`, `button_${cssBarList[g_settings.displayNum[_name]]}`)
|
|
@@ -9159,14 +9587,14 @@ const createSettingsDisplayWindow = _sprite => {
|
|
|
9159
9587
|
if (g_settings[`d_${_name}s`] !== undefined) {
|
|
9160
9588
|
displaySprite.appendChild(
|
|
9161
9589
|
makeSettingLblCssButton(`${linkId}R`, `>`, _heightPos, () => switchDisplay(1, false), {
|
|
9162
|
-
x: 175 + 180 * _widthPos, w: 25, cxtFunc: () => switchDisplay(-1, false),
|
|
9590
|
+
x: 175 + 180 * _widthPos, w: 25, y: 2 + 20 * _heightPos, h: 18, cxtFunc: () => switchDisplay(-1, false),
|
|
9163
9591
|
}, g_cssObj.button_Mini)
|
|
9164
9592
|
);
|
|
9165
9593
|
}
|
|
9166
9594
|
} else {
|
|
9167
9595
|
displaySprite.appendChild(
|
|
9168
9596
|
createDivCss2Label(linkId, g_lblNameObj[`d_${toCapitalize(_name)}`] + `:${g_headerObj[`${_name}Set`]}`, {
|
|
9169
|
-
x: 30 + 180 * _widthPos, y: 3 +
|
|
9597
|
+
x: 30 + 180 * _widthPos, y: 3 + 20 * _heightPos,
|
|
9170
9598
|
w: 170, siz: g_limitObj.difSelectorSiz,
|
|
9171
9599
|
}, g_cssObj[`button_Disabled${flg}`])
|
|
9172
9600
|
);
|
|
@@ -9181,7 +9609,7 @@ const createSettingsDisplayWindow = _sprite => {
|
|
|
9181
9609
|
const spriteList = setSpriteList(g_settingPos.settingsDisplay);
|
|
9182
9610
|
|
|
9183
9611
|
_sprite.appendChild(createDivCss2Label(`sdDesc`, g_lblNameObj.sdDesc, g_lblPosObj.sdDesc));
|
|
9184
|
-
g_displays.forEach((name, j) => makeDisplayButton(name, j %
|
|
9612
|
+
g_displays.forEach((name, j) => makeDisplayButton(name, j % 6, Math.floor(j / 6)));
|
|
9185
9613
|
|
|
9186
9614
|
// ---------------------------------------------------
|
|
9187
9615
|
// 矢印の見え方 (Appearance)
|
|
@@ -9226,9 +9654,7 @@ const createSettingsDisplayWindow = _sprite => {
|
|
|
9226
9654
|
// ---------------------------------------------------
|
|
9227
9655
|
// 判定表示系の不透明度 (Opacity)
|
|
9228
9656
|
// 縦位置: 9
|
|
9229
|
-
g_headerObj.opacityUse =
|
|
9230
|
-
[`judgment`, `fastSlow`, `filterLine`].forEach(display =>
|
|
9231
|
-
g_headerObj.opacityUse ||= g_headerObj[`${display}Use`] || g_headerObj[`${display}Set`] === C_FLG_ON);
|
|
9657
|
+
g_headerObj.opacityUse = g_headerObj.judgmentUse || g_headerObj.judgmentSet === C_FLG_ON;
|
|
9232
9658
|
|
|
9233
9659
|
createGeneralSetting(spriteList.opacity, `opacity`, { unitName: g_lblNameObj.percent });
|
|
9234
9660
|
|
|
@@ -10431,7 +10857,6 @@ const keyconfigKeyboardPreview = (() => {
|
|
|
10431
10857
|
// 定数
|
|
10432
10858
|
// -------------------------------------------------------------------------
|
|
10433
10859
|
const C_PREVIEW_ID = `kbPreviewArea`;
|
|
10434
|
-
const C_BTN_ID = `btnKbPreview`;
|
|
10435
10860
|
const C_CANVAS_BASE_ID = `kbCanvasBase`;
|
|
10436
10861
|
const C_CANVAS_MAP_ID = `kbCanvasMap`;
|
|
10437
10862
|
|
|
@@ -10940,18 +11365,11 @@ const keyconfigKeyboardPreview = (() => {
|
|
|
10940
11365
|
const init = divRoot => {
|
|
10941
11366
|
calcScale();
|
|
10942
11367
|
|
|
10943
|
-
// ボタン: キャンバス横幅中央に配置、小さいサイズ
|
|
10944
|
-
const btnW = 80;
|
|
10945
|
-
const btnX = g_btnX() + Math.floor((g_btnWidth() - btnW) / 2);
|
|
10946
|
-
|
|
10947
11368
|
// "↓ Preview" → 展開、"↑ Preview" → 閉じる のトグルボタン
|
|
10948
|
-
const btn = createCss2Button(
|
|
11369
|
+
const btn = createCss2Button(`btnKbPreview`, `↓ Preview`, () => {
|
|
10949
11370
|
togglePreview();
|
|
10950
11371
|
btn.textContent = _state.visible ? `↑ Preview` : `↓ Preview`;
|
|
10951
|
-
},
|
|
10952
|
-
x: btnX, y: BTN_Y, w: btnW, h: BTN_H, siz: BTN_FS,
|
|
10953
|
-
title: g_msgObj.kcPreview,
|
|
10954
|
-
}, g_cssObj.button_Setting);
|
|
11372
|
+
}, g_lblPosObj.btnKbPreview, g_cssObj.button_Setting);
|
|
10955
11373
|
divRoot.appendChild(btn);
|
|
10956
11374
|
|
|
10957
11375
|
// プレビューエリア: 水平・垂直センタリング
|
|
@@ -12199,7 +12617,7 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
|
|
|
12199
12617
|
// 歌詞データの分解 (3つで1セット, セット毎の改行区切り可)
|
|
12200
12618
|
obj.wordData = [];
|
|
12201
12619
|
obj.wordMaxDepth = -1;
|
|
12202
|
-
if (g_stateObj.
|
|
12620
|
+
if (g_stateObj.d_background === C_FLG_OFF) {
|
|
12203
12621
|
} else {
|
|
12204
12622
|
[obj.wordData, obj.wordMaxDepth] = makeWordData(scoreIdHeader);
|
|
12205
12623
|
}
|
|
@@ -13399,6 +13817,8 @@ const getArrowSettings = () => {
|
|
|
13399
13817
|
const lowerDisp = _disp.toLowerCase();
|
|
13400
13818
|
g_workObj[`${lowerDisp}Disp`] = (g_stateObj[`d_${lowerDisp}`] === C_FLG_OFF ? C_DIS_NONE : C_DIS_INHERIT);
|
|
13401
13819
|
});
|
|
13820
|
+
g_workObj.judgmentDisp = g_stateObj.d_judgment !== C_FLG_ON ? C_DIS_NONE : C_DIS_INHERIT;
|
|
13821
|
+
g_workObj.fastslowDisp = g_stateObj.d_judgment === C_FLG_OFF ? C_DIS_NONE : C_DIS_INHERIT;
|
|
13402
13822
|
|
|
13403
13823
|
g_workObj.lifeVal = Math.floor(g_workObj.lifeInit * 100) / 100;
|
|
13404
13824
|
g_workObj.arrowReturnVal = 0;
|
|
@@ -13696,11 +14116,11 @@ const mainInit = () => {
|
|
|
13696
14116
|
if (g_appearanceRanges.includes(g_stateObj.appearance)) {
|
|
13697
14117
|
mainSprite.appendChild(createDivCss2Label(`filterView`, ``, g_lblPosObj.filterView));
|
|
13698
14118
|
if (g_stateObj.d_filterline === C_FLG_ON) {
|
|
13699
|
-
$id(`filterView`).opacity =
|
|
14119
|
+
$id(`filterView`).opacity = 1;
|
|
13700
14120
|
for (let j = 0; j < g_stateObj.layerNum; j++) {
|
|
13701
|
-
$id(`filterBar${j}`).opacity =
|
|
14121
|
+
$id(`filterBar${j}`).opacity = 1;
|
|
13702
14122
|
if (doubleFilterFlg) {
|
|
13703
|
-
$id(`filterBar${j}_HS`).opacity =
|
|
14123
|
+
$id(`filterBar${j}_HS`).opacity = 1;
|
|
13704
14124
|
}
|
|
13705
14125
|
}
|
|
13706
14126
|
}
|
|
@@ -13905,8 +14325,12 @@ const mainInit = () => {
|
|
|
13905
14325
|
const jdgGroups = [`J`, `FJ`];
|
|
13906
14326
|
const jdgX = [g_headerObj.playingWidth / 2 - 220, g_headerObj.playingWidth / 2 - 120];
|
|
13907
14327
|
const jdgY = [(g_headerObj.playingHeight + g_posObj.stepYR) / 2 - 60, (g_headerObj.playingHeight + g_posObj.stepYR) / 2 + 10];
|
|
13908
|
-
if (g_stateObj.d_background === C_FLG_OFF && g_headerObj.jdgPosReset) {
|
|
14328
|
+
if (g_stateObj.d_background === C_FLG_OFF && g_headerObj.jdgPosReset && g_diffObj.arrowJdgX === 0) {
|
|
14329
|
+
// jdgPosResetオプションにより判定位置変更が阻害されることを防ぐため、
|
|
14330
|
+
// X座標が変わった場合は判定位置変更が行われたと判断
|
|
13909
14331
|
} else {
|
|
14332
|
+
jdgX[0] += g_diffObj.arrowJdgX;
|
|
14333
|
+
jdgX[1] += g_diffObj.frzJdgX;
|
|
13910
14334
|
jdgY[0] += g_diffObj.arrowJdgY;
|
|
13911
14335
|
jdgY[1] += g_diffObj.frzJdgY;
|
|
13912
14336
|
}
|
|
@@ -16792,7 +17216,6 @@ const getSelectedSettingList = (_orgShuffleFlg) => {
|
|
|
16792
17216
|
let displayData = [
|
|
16793
17217
|
withDisplays(g_stateObj.d_stepzone, C_FLG_ON, g_lblNameObj.rd_StepZone),
|
|
16794
17218
|
withDisplays(g_stateObj.d_judgment, C_FLG_ON, g_lblNameObj.rd_Judgment),
|
|
16795
|
-
withDisplays(g_stateObj.d_fastslow, C_FLG_ON, g_lblNameObj.rd_FastSlow),
|
|
16796
17219
|
withDisplays(g_stateObj.d_lifegauge, C_FLG_ON, g_lblNameObj.rd_LifeGauge),
|
|
16797
17220
|
withDisplays(g_stateObj.d_score, C_FLG_ON, g_lblNameObj.rd_Score),
|
|
16798
17221
|
withDisplays(g_stateObj.d_musicinfo, C_FLG_ON, g_lblNameObj.rd_MusicInfo),
|
|
@@ -16812,7 +17235,6 @@ const getSelectedSettingList = (_orgShuffleFlg) => {
|
|
|
16812
17235
|
let display2Data = [
|
|
16813
17236
|
withDisplays(g_stateObj.d_velocity, C_FLG_ON, g_lblNameObj.rd_Velocity),
|
|
16814
17237
|
withDisplays(g_stateObj.d_color, C_FLG_ON, g_lblNameObj.rd_Color),
|
|
16815
|
-
withDisplays(g_stateObj.d_lyrics, C_FLG_ON, g_lblNameObj.rd_Lyrics),
|
|
16816
17238
|
withDisplays(g_stateObj.d_background, C_FLG_ON, g_lblNameObj.rd_Background),
|
|
16817
17239
|
withDisplays(g_stateObj.d_arroweffect, C_FLG_ON, g_lblNameObj.rd_ArrowEffect),
|
|
16818
17240
|
withDisplays(g_stateObj.d_special, C_FLG_ON, g_lblNameObj.rd_Special),
|
|
@@ -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/23 (v48.1.1)
|
|
9
9
|
*
|
|
10
10
|
* https://github.com/cwtickle/danoniplus
|
|
11
11
|
*/
|
|
@@ -102,33 +102,33 @@ const g_limitObj = {
|
|
|
102
102
|
const g_settingPos = {
|
|
103
103
|
dataMgt: {},
|
|
104
104
|
option: {
|
|
105
|
-
difficulty: { heightPos: 0, y: -5,
|
|
106
|
-
speed: { heightPos: 2
|
|
107
|
-
motion: { heightPos: 3
|
|
108
|
-
reverse: { heightPos: 4
|
|
109
|
-
scroll: { heightPos: 4
|
|
110
|
-
shuffle: { heightPos: 5.5
|
|
111
|
-
autoPlay: { heightPos: 6.5
|
|
112
|
-
gauge: { heightPos: 7.5
|
|
113
|
-
adjustment: { heightPos: 10.5
|
|
114
|
-
fadein: { heightPos: 11.5
|
|
115
|
-
volume: { heightPos: 12.5
|
|
105
|
+
difficulty: { heightPos: 0, y: -5, dh: 10 },
|
|
106
|
+
speed: { heightPos: 2 },
|
|
107
|
+
motion: { heightPos: 3 },
|
|
108
|
+
reverse: { heightPos: 4 },
|
|
109
|
+
scroll: { heightPos: 4 },
|
|
110
|
+
shuffle: { heightPos: 5.5 },
|
|
111
|
+
autoPlay: { heightPos: 6.5 },
|
|
112
|
+
gauge: { heightPos: 7.5 },
|
|
113
|
+
adjustment: { heightPos: 10.5 },
|
|
114
|
+
fadein: { heightPos: 11.5 },
|
|
115
|
+
volume: { heightPos: 12.5 },
|
|
116
116
|
},
|
|
117
117
|
settingsDisplay: {
|
|
118
|
-
appearance: { heightPos:
|
|
119
|
-
opacity: { heightPos:
|
|
120
|
-
hitPosition: { heightPos:
|
|
118
|
+
appearance: { heightPos: 5.8, y: 10 },
|
|
119
|
+
opacity: { heightPos: 7.4, y: 10 },
|
|
120
|
+
hitPosition: { heightPos: 8.4, y: 10 },
|
|
121
121
|
},
|
|
122
122
|
exSetting: {
|
|
123
|
-
playWindow: { heightPos: 0
|
|
124
|
-
stepArea: { heightPos: 1
|
|
125
|
-
frzReturn: { heightPos: 2.5
|
|
126
|
-
shaking: { heightPos: 3.5
|
|
127
|
-
effect: { heightPos: 5
|
|
128
|
-
camoufrage: { heightPos: 6
|
|
129
|
-
swapping: { heightPos: 7
|
|
130
|
-
judgRange: { heightPos: 8.5
|
|
131
|
-
autoRetry: { heightPos: 12.5
|
|
123
|
+
playWindow: { heightPos: 0 },
|
|
124
|
+
stepArea: { heightPos: 1 },
|
|
125
|
+
frzReturn: { heightPos: 2.5 },
|
|
126
|
+
shaking: { heightPos: 3.5 },
|
|
127
|
+
effect: { heightPos: 5 },
|
|
128
|
+
camoufrage: { heightPos: 6 },
|
|
129
|
+
swapping: { heightPos: 7 },
|
|
130
|
+
judgRange: { heightPos: 8.5 },
|
|
131
|
+
autoRetry: { heightPos: 12.5 },
|
|
132
132
|
},
|
|
133
133
|
};
|
|
134
134
|
|
|
@@ -211,7 +211,7 @@ const updateWindowSiz = () => {
|
|
|
211
211
|
difList: { x: 165, y: 60, w: 280, h: 270 + g_sHeight - 500, overflow: C_DIS_AUTO, pointerEvents: C_DIS_AUTO },
|
|
212
212
|
difCover: { x: 20, y: 60, w: 145, h: 270 + g_sHeight - 500, opacity: 0.95, pointerEvents: C_DIS_AUTO },
|
|
213
213
|
difFilter: { x: 0, y: 66, w: 140, h: 204 + g_sHeight - 500, overflow: C_DIS_AUTO, pointerEvents: C_DIS_AUTO },
|
|
214
|
-
displaySprite: { x: 25, y:
|
|
214
|
+
displaySprite: { x: 25, y: 25, w: (g_sWidth - 450) / 2, h: g_limitObj.setLblHeight * 5 },
|
|
215
215
|
scoreDetail: { x: 20, y: 85, w: (g_sWidth - 500) / 2 + 420, h: 245 + g_sHeight - 500, visibility: `hidden`, pointerEvents: C_DIS_AUTO },
|
|
216
216
|
detailMiniMapHeader: { x: 110, y: 0, w: (g_sWidth - 500) / 2 + 310, h: 15 },
|
|
217
217
|
detailMiniMapSub: { x: 110, y: 15, w: (g_sWidth - 500) / 2 + 310, h: 230 + g_sHeight - 500, overflow: C_DIS_AUTO, pointerEvents: C_DIS_AUTO },
|
|
@@ -536,6 +536,19 @@ const updateWindowSiz = () => {
|
|
|
536
536
|
x: g_limitObj.setLblLeft + g_limitObj.setLblWidth - 40, y: 0, w: 40, h: g_limitObj.setLblHeight, siz: 12,
|
|
537
537
|
borderStyle: `solid`,
|
|
538
538
|
},
|
|
539
|
+
lblDisplayPreview: {
|
|
540
|
+
x: g_sWidth / 2 - 100, y: 0, w: 200, h: 20, siz: 24,
|
|
541
|
+
},
|
|
542
|
+
btnDisplayPreview: {
|
|
543
|
+
x: g_btnX() + Math.floor((g_btnWidth() - 80) / 2), y: 3, w: 80, h: 18, siz: 11,
|
|
544
|
+
title: g_msgObj.displayPreview,
|
|
545
|
+
},
|
|
546
|
+
lblDisplayPreviewMsg: {
|
|
547
|
+
x: g_btnX(), y: g_sHeight - 40, w: g_btnWidth(), h: 20, siz: 14,
|
|
548
|
+
},
|
|
549
|
+
previewCredit: {
|
|
550
|
+
siz: 13, color: `#cccccc`, align: C_ALIGN_LEFT,
|
|
551
|
+
},
|
|
539
552
|
|
|
540
553
|
/** キーコンフィグ画面 */
|
|
541
554
|
scKcMsg: {
|
|
@@ -571,6 +584,10 @@ const updateWindowSiz = () => {
|
|
|
571
584
|
lnkKeySwitch: {
|
|
572
585
|
x: g_sWidth - 60, w: 50, h: 20, siz: 14,
|
|
573
586
|
},
|
|
587
|
+
btnKbPreview: {
|
|
588
|
+
x: g_btnX() + Math.floor((g_btnWidth() - 80) / 2), y: 3, w: 80, h: 18, siz: 11,
|
|
589
|
+
title: g_msgObj.displayPreview,
|
|
590
|
+
},
|
|
574
591
|
|
|
575
592
|
btnKcBack: {
|
|
576
593
|
x: g_btnX(1 / 3), y: g_sHeight - 75,
|
|
@@ -1182,7 +1199,6 @@ const g_stateObj = {
|
|
|
1182
1199
|
|
|
1183
1200
|
d_stepzone: C_FLG_ON,
|
|
1184
1201
|
d_judgment: C_FLG_ON,
|
|
1185
|
-
d_fastslow: C_FLG_ON,
|
|
1186
1202
|
d_lifegauge: C_FLG_ON,
|
|
1187
1203
|
d_musicinfo: C_FLG_ON,
|
|
1188
1204
|
d_score: C_FLG_ON,
|
|
@@ -1191,7 +1207,6 @@ const g_stateObj = {
|
|
|
1191
1207
|
d_color: C_FLG_ON,
|
|
1192
1208
|
d_velocity: C_FLG_ON,
|
|
1193
1209
|
d_arroweffect: C_FLG_ON,
|
|
1194
|
-
d_lyrics: C_FLG_ON,
|
|
1195
1210
|
d_background: C_FLG_ON,
|
|
1196
1211
|
d_special: C_FLG_ON,
|
|
1197
1212
|
appearance: `Visible`,
|
|
@@ -1351,18 +1366,18 @@ const g_settings = {
|
|
|
1351
1366
|
|
|
1352
1367
|
// Display設定の拡張リスト
|
|
1353
1368
|
d_stepZones: [`FlatBar`],
|
|
1369
|
+
d_judgments: [`FastSlow`],
|
|
1354
1370
|
d_velocitys: [`Extreme`, `Soft`],
|
|
1371
|
+
d_backgrounds: [`Lyrics`],
|
|
1355
1372
|
|
|
1356
1373
|
displayNum: {
|
|
1357
1374
|
stepZone: 0,
|
|
1358
1375
|
judgment: 0,
|
|
1359
|
-
fastSlow: 0,
|
|
1360
1376
|
lifeGauge: 0,
|
|
1361
1377
|
score: 0,
|
|
1362
1378
|
musicInfo: 0,
|
|
1363
1379
|
velocity: 0,
|
|
1364
1380
|
color: 0,
|
|
1365
|
-
lyrics: 0,
|
|
1366
1381
|
background: 0,
|
|
1367
1382
|
arrowEffect: 0,
|
|
1368
1383
|
special: 0,
|
|
@@ -2201,8 +2216,8 @@ const g_keycons = {
|
|
|
2201
2216
|
colorCursorNum: 0,
|
|
2202
2217
|
};
|
|
2203
2218
|
|
|
2204
|
-
let g_displays = [`stepZone`, `judgment`, `
|
|
2205
|
-
`velocity`, `color`, `
|
|
2219
|
+
let g_displays = [`stepZone`, `judgment`, `lifeGauge`, `score`, `musicInfo`, `filterLine`,
|
|
2220
|
+
`velocity`, `color`, `background`, `arrowEffect`, `special`];
|
|
2206
2221
|
|
|
2207
2222
|
// ローカルストレージ保存対象
|
|
2208
2223
|
let g_storeSettings = [`adjustment`, `volume`, `appearance`, `opacity`, `hitPosition`];
|
|
@@ -2277,6 +2292,8 @@ const g_posObj = {
|
|
|
2277
2292
|
};
|
|
2278
2293
|
|
|
2279
2294
|
const g_diffObj = {
|
|
2295
|
+
arrowJdgX: 0,
|
|
2296
|
+
frzJdgX: 0,
|
|
2280
2297
|
arrowJdgY: 0,
|
|
2281
2298
|
frzJdgY: 0,
|
|
2282
2299
|
};
|
|
@@ -2832,6 +2849,7 @@ const g_shortcutObj = {
|
|
|
2832
2849
|
KeyU: { id: `btnSettingSummary` },
|
|
2833
2850
|
},
|
|
2834
2851
|
settingsDisplay: {
|
|
2852
|
+
KeyP: { id: `btnDisplayPreview` },
|
|
2835
2853
|
ShiftLeft_KeyA: { id: `lnkAppearanceL` },
|
|
2836
2854
|
ShiftRight_KeyA: { id: `lnkAppearanceL` },
|
|
2837
2855
|
KeyA: { id: `lnkAppearanceR` },
|
|
@@ -2851,83 +2869,71 @@ const g_shortcutObj = {
|
|
|
2851
2869
|
ShiftRight_Digit1: { id: `lnkstepZoneR` },
|
|
2852
2870
|
ShiftLeft_Digit2: { id: `lnkjudgmentR` },
|
|
2853
2871
|
ShiftRight_Digit2: { id: `lnkjudgmentR` },
|
|
2854
|
-
ShiftLeft_Digit3: { id: `
|
|
2855
|
-
ShiftRight_Digit3: { id: `
|
|
2856
|
-
ShiftLeft_Digit4: { id: `
|
|
2857
|
-
ShiftRight_Digit4: { id: `
|
|
2858
|
-
ShiftLeft_Digit5: { id: `
|
|
2859
|
-
ShiftRight_Digit5: { id: `
|
|
2860
|
-
ShiftLeft_Digit6: { id: `
|
|
2861
|
-
ShiftRight_Digit6: { id: `
|
|
2862
|
-
ShiftLeft_Digit7: { id: `
|
|
2863
|
-
ShiftRight_Digit7: { id: `
|
|
2864
|
-
ShiftLeft_Digit8: { id: `
|
|
2865
|
-
ShiftRight_Digit8: { id: `
|
|
2866
|
-
ShiftLeft_Digit9: { id: `
|
|
2867
|
-
ShiftRight_Digit9: { id: `
|
|
2868
|
-
ShiftLeft_Digit0: { id: `
|
|
2869
|
-
ShiftRight_Digit0: { id: `
|
|
2870
|
-
ShiftLeft_Semicolon: { id: `
|
|
2871
|
-
ShiftRight_Semicolon: { id: `
|
|
2872
|
-
ShiftLeft_Minus: { id: `lnkarrowEffectR` },
|
|
2873
|
-
ShiftRight_Minus: { id: `lnkarrowEffectR` },
|
|
2874
|
-
ShiftLeft_Slash: { id: `lnkspecialR` },
|
|
2875
|
-
ShiftRight_Slash: { id: `lnkspecialR` },
|
|
2872
|
+
ShiftLeft_Digit3: { id: `lnklifeGaugeR` },
|
|
2873
|
+
ShiftRight_Digit3: { id: `lnklifeGaugeR` },
|
|
2874
|
+
ShiftLeft_Digit4: { id: `lnkscoreR` },
|
|
2875
|
+
ShiftRight_Digit4: { id: `lnkscoreR` },
|
|
2876
|
+
ShiftLeft_Digit5: { id: `lnkmusicInfoR` },
|
|
2877
|
+
ShiftRight_Digit5: { id: `lnkmusicInfoR` },
|
|
2878
|
+
ShiftLeft_Digit6: { id: `lnkvelocityR` },
|
|
2879
|
+
ShiftRight_Digit6: { id: `lnkvelocityR` },
|
|
2880
|
+
ShiftLeft_Digit7: { id: `lnkcolorR` },
|
|
2881
|
+
ShiftRight_Digit7: { id: `lnkcolorR` },
|
|
2882
|
+
ShiftLeft_Digit8: { id: `lnkbackgroundR` },
|
|
2883
|
+
ShiftRight_Digit8: { id: `lnkbackgroundR` },
|
|
2884
|
+
ShiftLeft_Digit9: { id: `lnkarrowEffectR` },
|
|
2885
|
+
ShiftRight_Digit9: { id: `lnkarrowEffectR` },
|
|
2886
|
+
ShiftLeft_Digit0: { id: `lnkspecialR` },
|
|
2887
|
+
ShiftRight_Digit0: { id: `lnkspecialR` },
|
|
2888
|
+
ShiftLeft_Semicolon: { id: `lnkfilterLineR` },
|
|
2889
|
+
ShiftRight_Semicolon: { id: `lnkfilterLineR` },
|
|
2876
2890
|
|
|
2877
2891
|
Digit1: { id: `lnkstepZone` },
|
|
2878
2892
|
Digit2: { id: `lnkjudgment` },
|
|
2879
|
-
Digit3: { id: `
|
|
2880
|
-
Digit4: { id: `
|
|
2881
|
-
Digit5: { id: `
|
|
2882
|
-
Digit6: { id: `
|
|
2883
|
-
Digit7: { id: `
|
|
2884
|
-
Digit8: { id: `
|
|
2885
|
-
Digit9: { id: `
|
|
2886
|
-
Digit0: { id: `
|
|
2887
|
-
Semicolon: { id: `
|
|
2888
|
-
Minus: { id: `lnkarrowEffect` },
|
|
2889
|
-
Slash: { id: `lnkspecial` },
|
|
2893
|
+
Digit3: { id: `lnklifeGauge` },
|
|
2894
|
+
Digit4: { id: `lnkscore` },
|
|
2895
|
+
Digit5: { id: `lnkmusicInfo` },
|
|
2896
|
+
Digit6: { id: `lnkvelocity` },
|
|
2897
|
+
Digit7: { id: `lnkcolor` },
|
|
2898
|
+
Digit8: { id: `lnkbackground` },
|
|
2899
|
+
Digit9: { id: `lnkarrowEffect` },
|
|
2900
|
+
Digit0: { id: `lnkspecial` },
|
|
2901
|
+
Semicolon: { id: `lnkfilterLine` },
|
|
2890
2902
|
|
|
2891
2903
|
ShiftLeft_Numpad1: { id: `lnkstepZoneR` },
|
|
2892
2904
|
ShiftRight_Numpad1: { id: `lnkstepZoneR` },
|
|
2893
2905
|
ShiftLeft_Numpad2: { id: `lnkjudgmentR` },
|
|
2894
2906
|
ShiftRight_Numpad2: { id: `lnkjudgmentR` },
|
|
2895
|
-
ShiftLeft_Numpad3: { id: `
|
|
2896
|
-
ShiftRight_Numpad3: { id: `
|
|
2897
|
-
ShiftLeft_Numpad4: { id: `
|
|
2898
|
-
ShiftRight_Numpad4: { id: `
|
|
2899
|
-
ShiftLeft_Numpad5: { id: `
|
|
2900
|
-
ShiftRight_Numpad5: { id: `
|
|
2901
|
-
ShiftLeft_Numpad6: { id: `
|
|
2902
|
-
ShiftRight_Numpad6: { id: `
|
|
2903
|
-
ShiftLeft_Numpad7: { id: `
|
|
2904
|
-
ShiftRight_Numpad7: { id: `
|
|
2905
|
-
ShiftLeft_Numpad8: { id: `
|
|
2906
|
-
ShiftRight_Numpad8: { id: `
|
|
2907
|
-
ShiftLeft_Numpad9: { id: `
|
|
2908
|
-
ShiftRight_Numpad9: { id: `
|
|
2909
|
-
ShiftLeft_Numpad0: { id: `
|
|
2910
|
-
ShiftRight_Numpad0: { id: `
|
|
2911
|
-
ShiftLeft_NumpadAdd: { id: `
|
|
2912
|
-
ShiftRight_NumpadAdd: { id: `
|
|
2913
|
-
ShiftLeft_NumpadSubtract: { id: `lnkarrowEffectR` },
|
|
2914
|
-
ShiftRight_NumpadSubtract: { id: `lnkarrowEffectR` },
|
|
2915
|
-
ShiftLeft_NumpadDivide: { id: `lnkspecialR` },
|
|
2916
|
-
ShiftRight_NumpadDivide: { id: `lnkspecialR` },
|
|
2907
|
+
ShiftLeft_Numpad3: { id: `lnklifeGaugeR` },
|
|
2908
|
+
ShiftRight_Numpad3: { id: `lnklifeGaugeR` },
|
|
2909
|
+
ShiftLeft_Numpad4: { id: `lnkscoreR` },
|
|
2910
|
+
ShiftRight_Numpad4: { id: `lnkscoreR` },
|
|
2911
|
+
ShiftLeft_Numpad5: { id: `lnkmusicInfoR` },
|
|
2912
|
+
ShiftRight_Numpad5: { id: `lnkmusicInfoR` },
|
|
2913
|
+
ShiftLeft_Numpad6: { id: `lnkvelocityR` },
|
|
2914
|
+
ShiftRight_Numpad6: { id: `lnkvelocityR` },
|
|
2915
|
+
ShiftLeft_Numpad7: { id: `lnkcolorR` },
|
|
2916
|
+
ShiftRight_Numpad7: { id: `lnkcolorR` },
|
|
2917
|
+
ShiftLeft_Numpad8: { id: `lnkbackgroundR` },
|
|
2918
|
+
ShiftRight_Numpad8: { id: `lnkbackgroundR` },
|
|
2919
|
+
ShiftLeft_Numpad9: { id: `lnkarrowEffectR` },
|
|
2920
|
+
ShiftRight_Numpad9: { id: `lnkarrowEffectR` },
|
|
2921
|
+
ShiftLeft_Numpad0: { id: `lnkspecialR` },
|
|
2922
|
+
ShiftRight_Numpad0: { id: `lnkspecialR` },
|
|
2923
|
+
ShiftLeft_NumpadAdd: { id: `lnkfilterLineR` },
|
|
2924
|
+
ShiftRight_NumpadAdd: { id: `lnkfilterLineR` },
|
|
2917
2925
|
|
|
2918
2926
|
Numpad1: { id: `lnkstepZone` },
|
|
2919
2927
|
Numpad2: { id: `lnkjudgment` },
|
|
2920
|
-
Numpad3: { id: `
|
|
2921
|
-
Numpad4: { id: `
|
|
2922
|
-
Numpad5: { id: `
|
|
2923
|
-
Numpad6: { id: `
|
|
2924
|
-
Numpad7: { id: `
|
|
2925
|
-
Numpad8: { id: `
|
|
2926
|
-
Numpad9: { id: `
|
|
2927
|
-
Numpad0: { id: `
|
|
2928
|
-
NumpadAdd: { id: `
|
|
2929
|
-
NumpadSubtract: { id: `lnkarrowEffect` },
|
|
2930
|
-
NumpadDivide: { id: `lnkspecial` },
|
|
2928
|
+
Numpad3: { id: `lnklifeGauge` },
|
|
2929
|
+
Numpad4: { id: `lnkscore` },
|
|
2930
|
+
Numpad5: { id: `lnkmusicInfo` },
|
|
2931
|
+
Numpad6: { id: `lnkvelocity` },
|
|
2932
|
+
Numpad7: { id: `lnkcolor` },
|
|
2933
|
+
Numpad8: { id: `lnkbackground` },
|
|
2934
|
+
Numpad9: { id: `lnkarrowEffect` },
|
|
2935
|
+
Numpad0: { id: `lnkspecial` },
|
|
2936
|
+
NumpadAdd: { id: `lnkfilterLine` },
|
|
2931
2937
|
|
|
2932
2938
|
KeyZ: { id: `btnSave` },
|
|
2933
2939
|
Escape: { id: `btnBack` },
|
|
@@ -2939,6 +2945,16 @@ const g_shortcutObj = {
|
|
|
2939
2945
|
Tab: { id: `btnSettings` },
|
|
2940
2946
|
KeyU: { id: `btnSettingSummary` },
|
|
2941
2947
|
},
|
|
2948
|
+
displayPreview: {
|
|
2949
|
+
KeyP: { id: `btnDisplayPreview2` },
|
|
2950
|
+
Escape: { id: `btnBack` },
|
|
2951
|
+
Space: { id: `btnKeyConfig` },
|
|
2952
|
+
Enter: { id: `btnPlay` },
|
|
2953
|
+
NumpadEnter: { id: `btnPlay` },
|
|
2954
|
+
ShiftLeft_Tab: { id: `btnBack` },
|
|
2955
|
+
ShiftRight_Tab: { id: `btnBack` },
|
|
2956
|
+
Tab: { id: `btnSettings` },
|
|
2957
|
+
},
|
|
2942
2958
|
exSetting: {
|
|
2943
2959
|
ShiftLeft_KeyP: { id: `lnkPlayWindowL` },
|
|
2944
2960
|
ShiftRight_KeyP: { id: `lnkPlayWindowL` },
|
|
@@ -3065,6 +3081,7 @@ const g_mainRepeatObj = {
|
|
|
3065
3081
|
// CSS名称
|
|
3066
3082
|
const g_cssObj = {
|
|
3067
3083
|
title_base: `title_base`,
|
|
3084
|
+
settings_Display: `settings_Display`,
|
|
3068
3085
|
|
|
3069
3086
|
settings_DifSelector: `settings_DifSelector`,
|
|
3070
3087
|
settings_Disabled: `settings_Disabled`,
|
|
@@ -4694,14 +4711,12 @@ const g_lblNameObj = {
|
|
|
4694
4711
|
|
|
4695
4712
|
rd_StepZone: `Step`,
|
|
4696
4713
|
rd_Judgment: `Judge`,
|
|
4697
|
-
rd_FastSlow: `FS`,
|
|
4698
4714
|
rd_LifeGauge: `Life`,
|
|
4699
4715
|
rd_Score: `Score`,
|
|
4700
4716
|
rd_MusicInfo: `MusicInfo`,
|
|
4701
4717
|
rd_FilterLine: `Filter`,
|
|
4702
4718
|
rd_Velocity: `Velocity`,
|
|
4703
4719
|
rd_Color: `Color`,
|
|
4704
|
-
rd_Lyrics: `Lyrics`,
|
|
4705
4720
|
rd_Background: `Back`,
|
|
4706
4721
|
rd_ArrowEffect: `Effect`,
|
|
4707
4722
|
rd_Special: `SP`,
|
|
@@ -4733,6 +4748,9 @@ const g_lang_lblNameObj = {
|
|
|
4733
4748
|
transKeyDesc: `別キーモードではキーコンフィグ、ColorType等は保存されません`,
|
|
4734
4749
|
colorTypeDesc: `現在のColorTypeの設定では、色変化(Display:Color)は自動的にOFFになります`,
|
|
4735
4750
|
sdShortcutDesc: `Hid+/Sud+時ショートカット:「pageUp」カバーを上へ / 「pageDown」下へ`,
|
|
4751
|
+
displayPreviewDesc: `判定キャラクタ部分をドラッグで移動するとその位置に補正されます`,
|
|
4752
|
+
arrowJdgUpdate: `矢印判定の座標を更新`,
|
|
4753
|
+
frzJdgUpdate: `フリーズアロー判定の座標を更新`,
|
|
4736
4754
|
resultImageDesc: `画像を右クリックしてコピーできます`,
|
|
4737
4755
|
|
|
4738
4756
|
s_level: `Level`,
|
|
@@ -4790,6 +4808,9 @@ const g_lang_lblNameObj = {
|
|
|
4790
4808
|
transKeyDesc: `Key config, Color type, etc. are not saved in another key mode`,
|
|
4791
4809
|
colorTypeDesc: `With the current ColorType setting, color change (Display:Color) will be automatically turned OFF.`,
|
|
4792
4810
|
sdShortcutDesc: `When "Hidden+" or "Sudden+" select, "pageUp" cover up / "pageDown" cover down`,
|
|
4811
|
+
displayPreviewDesc: `If you drag the judgment character section, it will be adjusted to that position.`,
|
|
4812
|
+
arrowJdgUpdate: `Update the coordinates (arrow)`,
|
|
4813
|
+
frzJdgUpdate: `Update the coordinates (freeze)`,
|
|
4793
4814
|
resultImageDesc: `You can copy the image by right-clicking on it.`,
|
|
4794
4815
|
|
|
4795
4816
|
s_level: `Level`,
|
|
@@ -4887,7 +4908,7 @@ const g_lang_msgObj = {
|
|
|
4887
4908
|
toSettings: `その他の拡張設定を設定します。`,
|
|
4888
4909
|
|
|
4889
4910
|
d_stepzone: `ステップゾーンの表示\n[FlatBar] ステップゾーンをフラットな帯状にします`,
|
|
4890
|
-
d_judgment:
|
|
4911
|
+
d_judgment: `判定キャラクタ・コンボ、Fast/Slow表示\n[FastSlow] Fast/Slowのみ表示します`,
|
|
4891
4912
|
d_fastslow: `Fast/Slow表示`,
|
|
4892
4913
|
d_lifegauge: `ライフゲージの表示`,
|
|
4893
4914
|
d_score: `現時点の判定数を表示`,
|
|
@@ -4897,7 +4918,7 @@ const g_lang_msgObj = {
|
|
|
4897
4918
|
`[Soft] 全体変速、個別加速について速度変化の振れ幅が緩くなります(Extremeと逆の効果)`,
|
|
4898
4919
|
d_color: `色変化の有効化設定`,
|
|
4899
4920
|
d_lyrics: `歌詞表示の有効化設定`,
|
|
4900
|
-
d_background:
|
|
4921
|
+
d_background: `背景・マスクモーション、歌詞表示の有効化設定\n[Lyrics] 歌詞表示のみ有効化します`,
|
|
4901
4922
|
d_arroweffect: `矢印・フリーズアローモーションの有効化設定`,
|
|
4902
4923
|
d_special: `作品固有の特殊演出の有効化設定`,
|
|
4903
4924
|
|
|
@@ -4931,8 +4952,9 @@ const g_lang_msgObj = {
|
|
|
4931
4952
|
lnkHighScore: `譜面のハイスコアをクリップボードへコピー`,
|
|
4932
4953
|
|
|
4933
4954
|
appearance: `流れる矢印の見え方を制御します。`,
|
|
4934
|
-
opacity: `判定キャラクタ、コンボ数、Fast/Slow
|
|
4955
|
+
opacity: `判定キャラクタ、コンボ数、Fast/Slowの透明度を設定します。`,
|
|
4935
4956
|
hitPosition: `判定位置にズレを感じる場合、\n数値を変えることで判定の中央位置を1px単位(プラス:手前, マイナス:奥側)で調整することができます。\n早押し・遅押し傾向にある場合に使用します。`,
|
|
4957
|
+
displayPreview: `プレイ画面上のオブジェクトの表示状態をプレビューします。\n判定キャラクタ部分をドラッグで移動するとその位置に補正されます。`,
|
|
4936
4958
|
|
|
4937
4959
|
colorType: `矢印・フリーズアローの配色セットをあらかじめ定義されたリストから選択できます。\nType1~4選択時は色変化が自動でOFFになり、カラーピッカーから好きな色に変更できます。\n[Type0] グラデーション切替, [Type1~4] デフォルトパターン`,
|
|
4938
4960
|
imgType: `矢印・フリーズアローなどのオブジェクトの見た目を変更します。`,
|
|
@@ -4990,8 +5012,7 @@ const g_lang_msgObj = {
|
|
|
4990
5012
|
toSettings: `Set other extended settings.`,
|
|
4991
5013
|
|
|
4992
5014
|
d_stepzone: `Display step zone\n[FlatBar] Make the step zone a flat bar shape.`,
|
|
4993
|
-
d_judgment: `Display judgment and
|
|
4994
|
-
d_fastslow: `Display fast and slow `,
|
|
5015
|
+
d_judgment: `Display judgment, combo counts, fast/slow judgments\n[FastSlow] Display fast and slow judgments only.`,
|
|
4995
5016
|
d_lifegauge: `Display lifegauge`,
|
|
4996
5017
|
d_score: `Display the current number of judgments`,
|
|
4997
5018
|
d_musicinfo: `Display the music credits and current time`,
|
|
@@ -4999,8 +5020,7 @@ const g_lang_msgObj = {
|
|
|
4999
5020
|
d_velocity: `Enable velocity change settings\n[Extreme] For overall speed change and individual acceleration, \nif the speed change (absolute value) is greater than 1x, it will be 1.5x, \nand if it is less than 1x, it will be 0.75x.\n` +
|
|
5000
5021
|
`[Soft] For overall speed change and individual acceleration, \nthe fluctuation of speed change is softened (opposite effect to Extreme).`,
|
|
5001
5022
|
d_color: `Enable color change settings`,
|
|
5002
|
-
|
|
5003
|
-
d_background: `Enable background images and animations`,
|
|
5023
|
+
d_background: `Enable background images, animations and lyrics display\n[Lyrics] Only enable lyrics display`,
|
|
5004
5024
|
d_arroweffect: `Enable sequences' animations`,
|
|
5005
5025
|
d_special: `Enable setting of special effects to the work`,
|
|
5006
5026
|
|
|
@@ -5037,6 +5057,7 @@ const g_lang_msgObj = {
|
|
|
5037
5057
|
appearance: `Controls how the flowing sequences look.`,
|
|
5038
5058
|
opacity: `Set the transparency of some objects such as judgment, combo counts, fast and slow`,
|
|
5039
5059
|
hitPosition: `If you feel a discrepancy in the judgment position, \nyou can adjust the center position of the judgment in 1px increments \n (plus: in front, minus: at the back) by changing the numerical value. \nUse this function when there is a tendency to push too fast or too slow.`,
|
|
5060
|
+
displayPreview: `Preview the display status of objects on the play screen.\nDragging the judgment character section will adjust it to that position.`,
|
|
5040
5061
|
|
|
5041
5062
|
colorType: `Change the color scheme set for arrows and freeze-arrows from the predefined set.\nWhen Type1 to 4 is selected, color change is automatically turned off and can be changed to any color from the color picker.\n[Type0] Switch the sequences color gradations, [Type1~4] default color scheme`,
|
|
5042
5063
|
imgType: `Change the appearance of sequences.`,
|