danoniplus 33.3.0 → 33.4.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 +113 -72
- package/js/lib/danoni_constants.js +13 -1
- package/js/template/danoni_setting.js +14 -1
- package/package.json +1 -1
- package/js/danoni_custom.js +0 -166
- package/js/danoni_setting.js +0 -409
- package/js/template/danoni_setting-template.js +0 -410
package/js/danoni_main.js
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Source by tickle
|
|
6
6
|
* Created : 2018/10/08
|
|
7
|
-
* Revised : 2023/08/
|
|
7
|
+
* Revised : 2023/08/27
|
|
8
8
|
*
|
|
9
9
|
* https://github.com/cwtickle/danoniplus
|
|
10
10
|
*/
|
|
11
|
-
const g_version = `Ver 33.
|
|
12
|
-
const g_revisedDate = `2023/08/
|
|
11
|
+
const g_version = `Ver 33.4.0`;
|
|
12
|
+
const g_revisedDate = `2023/08/27`;
|
|
13
13
|
|
|
14
14
|
// カスタム用バージョン (danoni_custom.js 等で指定可)
|
|
15
15
|
let g_localVersion = ``;
|
|
@@ -162,6 +162,7 @@ const g_workObj = {
|
|
|
162
162
|
keyHitFlg: [],
|
|
163
163
|
scrollDir: [],
|
|
164
164
|
dividePos: [],
|
|
165
|
+
nonDefaultSc: false,
|
|
165
166
|
};
|
|
166
167
|
|
|
167
168
|
// 歌詞制御
|
|
@@ -1379,21 +1380,27 @@ const resetKeyControl = _ => {
|
|
|
1379
1380
|
const clearWindow = (_redrawFlg = false, _customDisplayName = ``) => {
|
|
1380
1381
|
resetKeyControl();
|
|
1381
1382
|
|
|
1383
|
+
// ボタン、オブジェクトをクリア (divRoot配下のもの)
|
|
1384
|
+
deleteChildspriteAll(`divRoot`);
|
|
1385
|
+
|
|
1386
|
+
// 拡張範囲を取得
|
|
1387
|
+
const diffX = (_customDisplayName === `Main` && g_workObj.nonDefaultSc ?
|
|
1388
|
+
g_headerObj.scAreaWidth * (g_headerObj.playingLayout ? 2 : 1) : 0);
|
|
1389
|
+
|
|
1390
|
+
const getLayerWithClear = (_name) => {
|
|
1391
|
+
const layer = document.getElementById(_name);
|
|
1392
|
+
const ctx = layer.getContext(`2d`);
|
|
1393
|
+
ctx.clearRect(0, 0, layer.width, g_sHeight);
|
|
1394
|
+
return ctx;
|
|
1395
|
+
};
|
|
1396
|
+
|
|
1382
1397
|
if (document.querySelector(`#layer0`) !== null) {
|
|
1383
1398
|
|
|
1384
1399
|
// レイヤー情報取得
|
|
1385
|
-
const
|
|
1386
|
-
const l0ctx = layer0.getContext(`2d`);
|
|
1387
|
-
layer0.width = g_sWidth;
|
|
1388
|
-
|
|
1389
|
-
// 線画、図形をクリア
|
|
1390
|
-
l0ctx.clearRect(0, 0, g_sWidth, g_sHeight);
|
|
1400
|
+
const l0ctx = getLayerWithClear(`layer0`);
|
|
1391
1401
|
|
|
1392
1402
|
if (document.querySelector(`#layer1`) !== null) {
|
|
1393
|
-
const
|
|
1394
|
-
const l1ctx = layer1.getContext(`2d`);
|
|
1395
|
-
layer1.width = g_sWidth;
|
|
1396
|
-
l1ctx.clearRect(0, 0, g_sWidth, g_sHeight);
|
|
1403
|
+
const l1ctx = getLayerWithClear(`layer1`);
|
|
1397
1404
|
|
|
1398
1405
|
// 線画 (title-line)
|
|
1399
1406
|
l1ctx.beginPath();
|
|
@@ -1409,61 +1416,45 @@ const clearWindow = (_redrawFlg = false, _customDisplayName = ``) => {
|
|
|
1409
1416
|
l1ctx.stroke();
|
|
1410
1417
|
}
|
|
1411
1418
|
if (document.querySelector(`#layer2`) !== null) {
|
|
1412
|
-
|
|
1413
|
-
const l2ctx = layer2.getContext(`2d`);
|
|
1414
|
-
layer2.width = g_sWidth;
|
|
1415
|
-
l2ctx.clearRect(0, 0, g_sWidth, g_sHeight);
|
|
1419
|
+
getLayerWithClear(`layer2`);
|
|
1416
1420
|
}
|
|
1417
|
-
}
|
|
1418
1421
|
|
|
1419
|
-
|
|
1420
|
-
|
|
1422
|
+
if (_redrawFlg) {
|
|
1423
|
+
// 画面背景を指定 (background-color)
|
|
1424
|
+
$id(`canvas-frame`).width = `${g_sWidth + diffX}px`;
|
|
1425
|
+
layer0.width = g_sWidth + diffX;
|
|
1426
|
+
const grd = l0ctx.createLinearGradient(0, 0, 0, g_sHeight);
|
|
1427
|
+
if (!g_headerObj[`customBack${_customDisplayName}Use`]) {
|
|
1428
|
+
grd.addColorStop(0, `#000000`);
|
|
1429
|
+
grd.addColorStop(1, `#222222`);
|
|
1430
|
+
l0ctx.fillStyle = grd;
|
|
1431
|
+
l0ctx.fillRect(0, 0, g_sWidth + diffX, g_sHeight);
|
|
1432
|
+
}
|
|
1433
|
+
}
|
|
1434
|
+
}
|
|
1421
1435
|
|
|
1422
1436
|
// 背景を再描画
|
|
1423
1437
|
if (_redrawFlg) {
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
};
|
|
1438
|
+
g_btnAddFunc = {};
|
|
1439
|
+
g_btnDeleteFlg = {};
|
|
1440
|
+
g_cxtAddFunc = {};
|
|
1441
|
+
g_cxtDeleteFlg = {};
|
|
1427
1442
|
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
* @param {string} _key メイン画面かどうか。Main:メイン画面、(空白):それ以外
|
|
1431
|
-
*/
|
|
1432
|
-
const drawDefaultBackImage = _key => {
|
|
1433
|
-
|
|
1434
|
-
g_btnAddFunc = {};
|
|
1435
|
-
g_btnDeleteFlg = {};
|
|
1436
|
-
g_cxtAddFunc = {};
|
|
1437
|
-
g_cxtDeleteFlg = {};
|
|
1443
|
+
if (document.querySelector(`#layer0`) === null ||
|
|
1444
|
+
(!g_headerObj[`customBack${_customDisplayName}Use`] && !g_headerObj.defaultSkinFlg)) {
|
|
1438
1445
|
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
const layer0 = document.querySelector(`#layer0`);
|
|
1442
|
-
const l0ctx = layer0.getContext(`2d`);
|
|
1443
|
-
|
|
1444
|
-
// 画面背景を指定 (background-color)
|
|
1445
|
-
const grd = l0ctx.createLinearGradient(0, 0, 0, g_sHeight);
|
|
1446
|
-
if (!g_headerObj[`customBack${_key}Use`]) {
|
|
1447
|
-
grd.addColorStop(0, `#000000`);
|
|
1448
|
-
grd.addColorStop(1, `#222222`);
|
|
1449
|
-
l0ctx.fillStyle = grd;
|
|
1450
|
-
l0ctx.fillRect(0, 0, g_sWidth, g_sHeight);
|
|
1451
|
-
|
|
1452
|
-
if (!g_headerObj.defaultSkinFlg) {
|
|
1453
|
-
createEmptySprite(divRoot, `divBack`);
|
|
1454
|
-
}
|
|
1446
|
+
$id(`canvas-frame`).width = `${g_sWidth + diffX}px`;
|
|
1447
|
+
createEmptySprite(divRoot, `divBack`, { w: g_sWidth + diffX });
|
|
1455
1448
|
}
|
|
1456
|
-
} else {
|
|
1457
|
-
createEmptySprite(divRoot, `divBack`);
|
|
1458
|
-
}
|
|
1459
1449
|
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1450
|
+
// CSSスタイルの初期化
|
|
1451
|
+
Object.keys(g_cssBkProperties).forEach(prop =>
|
|
1452
|
+
document.documentElement.style.setProperty(prop, g_cssBkProperties[prop]));
|
|
1463
1453
|
|
|
1464
|
-
|
|
1465
|
-
|
|
1454
|
+
Object.keys(g_headerObj).filter(val => val.startsWith(`--`) && hasVal(g_headerObj[val])).forEach(prop =>
|
|
1455
|
+
document.documentElement.style.setProperty(prop, getCssCustomProperty(prop, g_headerObj[prop])));
|
|
1466
1456
|
|
|
1457
|
+
}
|
|
1467
1458
|
};
|
|
1468
1459
|
|
|
1469
1460
|
/**
|
|
@@ -3267,6 +3258,16 @@ const headerConvert = _dosObj => {
|
|
|
3267
3258
|
// プレイ中クレジットを表示しないエリアのサイズ(X方向)
|
|
3268
3259
|
obj.customViewWidth = setVal(_dosObj.customViewWidth ?? _dosObj.customCreditWidth, 0, C_TYP_FLOAT);
|
|
3269
3260
|
|
|
3261
|
+
// ショートカットキーが既定値ではない場合の左右の拡張エリアのサイズ
|
|
3262
|
+
if (hasVal(_dosObj.scArea)) {
|
|
3263
|
+
const tmp = _dosObj.scArea.split(`,`);
|
|
3264
|
+
obj.scAreaWidth = setVal(tmp[0], 0, C_TYP_FLOAT);
|
|
3265
|
+
obj.playingLayout = tmp[1] !== `left`;
|
|
3266
|
+
} else {
|
|
3267
|
+
obj.scAreaWidth = g_presetObj.scAreaWidth ?? 0;
|
|
3268
|
+
obj.playingLayout = g_presetObj.playingLayout ?? true;
|
|
3269
|
+
}
|
|
3270
|
+
|
|
3270
3271
|
// ジャストフレームの設定 (ローカル: 0フレーム, リモートサーバ上: 1フレーム以内)
|
|
3271
3272
|
obj.justFrames = (g_isLocal) ? 0 : 1;
|
|
3272
3273
|
|
|
@@ -3696,6 +3697,22 @@ const keysConvert = (_dosObj, { keyExtraList = _dosObj.keyExtraList?.split(`,`)
|
|
|
3696
3697
|
return _str;
|
|
3697
3698
|
};
|
|
3698
3699
|
|
|
3700
|
+
/**
|
|
3701
|
+
* divMaxX, posXの下段補完処理
|
|
3702
|
+
* ・divXの1番目の指定があるとき、その値を元に下段の位置を補完
|
|
3703
|
+
* 例) |div11x=7,b6|pos11x=0,1,2,3,4,5,6,b0,b1,b5,b6|
|
|
3704
|
+
* -> |div11x=7,13|pos11x=0,1,2,3,4,5,6,7,8,12,13|
|
|
3705
|
+
* @param {number} _num
|
|
3706
|
+
* @param {number} _divNum
|
|
3707
|
+
* @returns
|
|
3708
|
+
*/
|
|
3709
|
+
const getKeyPosNum = (_num, _divNum = 0) => {
|
|
3710
|
+
if (!hasVal(_num) || (!_num.startsWith(`b`) && isNaN(parseFloat(_num)))) {
|
|
3711
|
+
return _num;
|
|
3712
|
+
}
|
|
3713
|
+
return _num.startsWith(`b`) ? parseFloat(_num.slice(1)) + _divNum : parseFloat(_num);
|
|
3714
|
+
}
|
|
3715
|
+
|
|
3699
3716
|
/**
|
|
3700
3717
|
* 新キー用複合パラメータ
|
|
3701
3718
|
* @param {string} _key キー数
|
|
@@ -3891,9 +3908,6 @@ const keysConvert = (_dosObj, { keyExtraList = _dosObj.keyExtraList?.split(`,`)
|
|
|
3891
3908
|
// 矢印の回転量指定、キャラクタパターン (stepRtnX_Y)
|
|
3892
3909
|
newKeyTripleParam(newKey, `stepRtn`);
|
|
3893
3910
|
|
|
3894
|
-
// ステップゾーン位置 (posX_Y)
|
|
3895
|
-
newKeyMultiParam(newKey, `pos`, toFloat);
|
|
3896
|
-
|
|
3897
3911
|
// 各キーの区切り位置 (divX_Y)
|
|
3898
3912
|
_dosObj[`div${newKey}`]?.split(`$`).forEach((tmpDiv, k) => {
|
|
3899
3913
|
const tmpDivPtn = tmpDiv.split(`,`);
|
|
@@ -3909,10 +3923,19 @@ const keysConvert = (_dosObj, { keyExtraList = _dosObj.keyExtraList?.split(`,`)
|
|
|
3909
3923
|
} else {
|
|
3910
3924
|
// それ以外の場合は指定された値を適用(未指定時はその後で指定)
|
|
3911
3925
|
g_keyObj[`div${ptnName}`] = setVal(tmpDivPtn[0], undefined, C_TYP_NUMBER);
|
|
3912
|
-
g_keyObj[`divMax${ptnName}`] = setVal(tmpDivPtn[1], undefined, C_TYP_FLOAT);
|
|
3926
|
+
g_keyObj[`divMax${ptnName}`] = setVal(getKeyPosNum(tmpDivPtn[1], g_keyObj[`div${ptnName}`]), undefined, C_TYP_FLOAT);
|
|
3913
3927
|
}
|
|
3914
3928
|
});
|
|
3915
3929
|
|
|
3930
|
+
// ステップゾーン位置 (posX_Y)
|
|
3931
|
+
newKeyMultiParam(newKey, `pos`, toFloat, {
|
|
3932
|
+
loopFunc: (k, keyheader) => {
|
|
3933
|
+
g_keyObj[`${keyheader}_${k + dfPtnNum}`].forEach((val, j) => {
|
|
3934
|
+
g_keyObj[`${keyheader}_${k + dfPtnNum}`][j] = getKeyPosNum(String(val), g_keyObj[`div${newKey}_${k + dfPtnNum}`]);
|
|
3935
|
+
});
|
|
3936
|
+
},
|
|
3937
|
+
});
|
|
3938
|
+
|
|
3916
3939
|
// charaX_Y, posX_Y, keyGroupX_Y, divX_Y, divMaxX_Yが未指定の場合はkeyCtrlX_Yを元に適用
|
|
3917
3940
|
for (let k = 0; k < g_keyObj.minPatterns; k++) {
|
|
3918
3941
|
setKeyDfVal(`${newKey}_${k + dfPtnNum}`);
|
|
@@ -4288,8 +4311,8 @@ const makeWarningWindow = (_text = ``, { resetFlg = false, backBtnUse = false }
|
|
|
4288
4311
|
* お知らせウィンドウ(汎用)を表示
|
|
4289
4312
|
* @param {string} _text
|
|
4290
4313
|
*/
|
|
4291
|
-
const makeInfoWindow = (_text, _animationName = ``, _backColor = `#ccccff
|
|
4292
|
-
const lblWarning = setWindowStyle(`<p>${_text}</p>`, _backColor, `#000066`, C_ALIGN_CENTER);
|
|
4314
|
+
const makeInfoWindow = (_text, _animationName = ``, { _backColor = `#ccccff`, _x = 0 } = {}) => {
|
|
4315
|
+
const lblWarning = setWindowStyle(`<p>${_text}</p>`, _backColor, `#000066`, C_ALIGN_CENTER, { _x: _x });
|
|
4293
4316
|
lblWarning.style.pointerEvents = C_DIS_NONE;
|
|
4294
4317
|
|
|
4295
4318
|
if (_animationName !== ``) {
|
|
@@ -4308,7 +4331,7 @@ const makeInfoWindow = (_text, _animationName = ``, _backColor = `#ccccff`) => {
|
|
|
4308
4331
|
* @param {string} _textColor
|
|
4309
4332
|
* @param {string} _align
|
|
4310
4333
|
*/
|
|
4311
|
-
const setWindowStyle = (_text, _bkColor, _textColor, _align = C_ALIGN_LEFT) => {
|
|
4334
|
+
const setWindowStyle = (_text, _bkColor, _textColor, _align = C_ALIGN_LEFT, { _x = 0 } = {}) => {
|
|
4312
4335
|
|
|
4313
4336
|
deleteDiv(divRoot, `lblWarning`);
|
|
4314
4337
|
|
|
@@ -4325,7 +4348,7 @@ const setWindowStyle = (_text, _bkColor, _textColor, _align = C_ALIGN_LEFT) => {
|
|
|
4325
4348
|
const warnHeight = Math.min(150, Math.max(range.getClientRects().length,
|
|
4326
4349
|
_text.split(`<br>`).length + _text.split(`<p>`).length - 1) * 21);
|
|
4327
4350
|
const lbl = createDivCss2Label(`lblWarning`, _text, {
|
|
4328
|
-
x:
|
|
4351
|
+
x: _x, y: 70, w: g_sWidth, h: warnHeight, siz: g_limitObj.mainSiz, backgroundColor: _bkColor,
|
|
4329
4352
|
opacity: 0.9, lineHeight: `15px`, color: _textColor, align: _align, fontFamily: getBasicFont(),
|
|
4330
4353
|
whiteSpace: `normal`,
|
|
4331
4354
|
});
|
|
@@ -8602,6 +8625,8 @@ const getArrowSettings = _ => {
|
|
|
8602
8625
|
g_workObj.lifeVal = Math.floor(g_workObj.lifeInit * 100) / 100;
|
|
8603
8626
|
g_gameOverFlg = false;
|
|
8604
8627
|
g_finishFlg = true;
|
|
8628
|
+
g_workObj.nonDefaultSc = g_headerObj.keyRetry !== C_KEY_RETRY || g_headerObj.keyTitleBack !== C_KEY_TITLEBACK;
|
|
8629
|
+
g_workObj.playingX = g_headerObj.playingX + (g_workObj.nonDefaultSc && g_headerObj.playingLayout ? g_headerObj.scAreaWidth : 0);
|
|
8605
8630
|
|
|
8606
8631
|
if (g_stateObj.dataSaveFlg) {
|
|
8607
8632
|
// ローカルストレージへAdjustment, HitPosition, Volume設定を保存
|
|
@@ -8720,14 +8745,14 @@ const mainInit = _ => {
|
|
|
8720
8745
|
|
|
8721
8746
|
// ステップゾーン、矢印のメインスプライトを作成
|
|
8722
8747
|
const mainSprite = createEmptySprite(divRoot, `mainSprite`, {
|
|
8723
|
-
x:
|
|
8748
|
+
x: g_workObj.playingX, y: g_posObj.stepY - C_STEP_Y, w: g_headerObj.playingWidth, transform: `scale(${g_keyObj.scale})`,
|
|
8724
8749
|
});
|
|
8725
8750
|
|
|
8726
8751
|
// 曲情報・判定カウント用スプライトを作成(メインスプライトより上位)
|
|
8727
|
-
const infoSprite = createEmptySprite(divRoot, `infoSprite`, { x:
|
|
8752
|
+
const infoSprite = createEmptySprite(divRoot, `infoSprite`, { x: g_workObj.playingX, w: g_headerObj.playingWidth });
|
|
8728
8753
|
|
|
8729
8754
|
// 判定系スプライトを作成(メインスプライトより上位)
|
|
8730
|
-
const judgeSprite = createEmptySprite(divRoot, `judgeSprite`, { x:
|
|
8755
|
+
const judgeSprite = createEmptySprite(divRoot, `judgeSprite`, { x: g_workObj.playingX, w: g_headerObj.playingWidth });
|
|
8731
8756
|
|
|
8732
8757
|
const tkObj = getKeyInfo();
|
|
8733
8758
|
const [keyCtrlPtn, keyNum] = [tkObj.keyCtrlPtn, tkObj.keyNum];
|
|
@@ -9000,6 +9025,23 @@ const mainInit = _ => {
|
|
|
9000
9025
|
createDivCss2Label(`lblTime2`, `/ ${fullTime}`, Object.assign(g_lblPosObj.lblTime2, { display: g_workObj.musicinfoDisp })),
|
|
9001
9026
|
);
|
|
9002
9027
|
|
|
9028
|
+
if (g_workObj.nonDefaultSc) {
|
|
9029
|
+
multiAppend(infoSprite,
|
|
9030
|
+
createDivCss2Label(`lblRetry`, `[${g_lblNameObj.l_retry}]`, Object.assign(g_lblPosObj.lblMainScHeader, { y: g_sHeight - 65 })),
|
|
9031
|
+
);
|
|
9032
|
+
multiAppend(infoSprite,
|
|
9033
|
+
createDivCss2Label(`lblRetrySc`, g_kCd[g_headerObj.keyRetry],
|
|
9034
|
+
Object.assign(g_lblPosObj.lblMainScKey, { y: g_sHeight - 50, fontWeight: g_headerObj.keyRetry === C_KEY_RETRY ? `normal` : `bold` })),
|
|
9035
|
+
);
|
|
9036
|
+
multiAppend(infoSprite,
|
|
9037
|
+
createDivCss2Label(`lblTitleBack`, `[${g_lblNameObj.l_titleBack}]`, Object.assign(g_lblPosObj.lblMainScHeader, { y: g_sHeight - 35 })),
|
|
9038
|
+
);
|
|
9039
|
+
multiAppend(infoSprite,
|
|
9040
|
+
createDivCss2Label(`lblTitleBackSc`, g_isMac ? `Shift+${g_kCd[g_headerObj.keyRetry]}` : g_kCd[g_headerObj.keyTitleBack],
|
|
9041
|
+
Object.assign(g_lblPosObj.lblMainScKey, { y: g_sHeight - 20, fontWeight: g_headerObj.keyTitleBack === C_KEY_TITLEBACK ? `normal` : `bold` })),
|
|
9042
|
+
);
|
|
9043
|
+
}
|
|
9044
|
+
|
|
9003
9045
|
// ボーダーライン表示
|
|
9004
9046
|
lifeBorderObj.textContent = g_workObj.lifeBorder;
|
|
9005
9047
|
if (g_stateObj.lifeBorder === 0 || g_workObj.lifeVal === g_headerObj.maxLifeVal) {
|
|
@@ -9021,7 +9063,6 @@ const mainInit = _ => {
|
|
|
9021
9063
|
jdgY[0] += g_diffObj.arrowJdgY;
|
|
9022
9064
|
jdgY[1] += g_diffObj.frzJdgY;
|
|
9023
9065
|
}
|
|
9024
|
-
const jdgCombos = [`kita`, `ii`];
|
|
9025
9066
|
|
|
9026
9067
|
jdgGroups.forEach((jdg, j) => {
|
|
9027
9068
|
// キャラクタ表示
|
|
@@ -9060,7 +9101,7 @@ const mainInit = _ => {
|
|
|
9060
9101
|
MCombo: [`combo`, 5], Kita: [`kita`, 7], Iknai: [`iknai`, 8], FCombo: [`combo`, 9],
|
|
9061
9102
|
};
|
|
9062
9103
|
Object.keys(jdgMainScoreObj).forEach(jdgScore =>
|
|
9063
|
-
infoSprite.appendChild(makeCounterSymbol(`lbl${jdgScore}`, g_headerObj.playingWidth - 110,
|
|
9104
|
+
infoSprite.appendChild(makeCounterSymbol(`lbl${jdgScore}`, g_headerObj.playingWidth - 110 + (g_workObj.nonDefaultSc ? g_headerObj.scAreaWidth : 0),
|
|
9064
9105
|
g_cssObj[`common_${jdgMainScoreObj[jdgScore][0]}`], jdgMainScoreObj[jdgScore][1] + 1, 0, g_workObj.scoreDisp)));
|
|
9065
9106
|
|
|
9066
9107
|
// パーフェクト演出
|
|
@@ -9089,7 +9130,7 @@ const mainInit = _ => {
|
|
|
9089
9130
|
|
|
9090
9131
|
divRoot.appendChild(
|
|
9091
9132
|
createDivCss2Label(`lblReady`, readyHtml, {
|
|
9092
|
-
x:
|
|
9133
|
+
x: g_workObj.playingX + (g_headerObj.playingWidth - g_sWidth) / 2,
|
|
9093
9134
|
y: (g_sHeight + g_posObj.stepYR) / 2 - 75,
|
|
9094
9135
|
w: g_sWidth, h: 50, siz: 40,
|
|
9095
9136
|
animationDuration: `${g_headerObj.readyAnimationFrame / g_fps}s`,
|
|
@@ -9100,7 +9141,7 @@ const mainInit = _ => {
|
|
|
9100
9141
|
}
|
|
9101
9142
|
|
|
9102
9143
|
if (getMusicUrl(g_stateObj.scoreId) === `nosound.mp3`) {
|
|
9103
|
-
makeInfoWindow(g_msgInfoObj.I_0004, `leftToRightFade
|
|
9144
|
+
makeInfoWindow(g_msgInfoObj.I_0004, `leftToRightFade`, { _x: g_workObj.playingX });
|
|
9104
9145
|
}
|
|
9105
9146
|
|
|
9106
9147
|
// ユーザカスタムイベント(初期)
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Source by tickle
|
|
7
7
|
* Created : 2019/11/19
|
|
8
|
-
* Revised : 2023/08/
|
|
8
|
+
* Revised : 2023/08/27 (v33.4.0)
|
|
9
9
|
*
|
|
10
10
|
* https://github.com/cwtickle/danoniplus
|
|
11
11
|
*/
|
|
@@ -400,6 +400,12 @@ const updateWindowSiz = _ => {
|
|
|
400
400
|
musicInfoOFF: {
|
|
401
401
|
x: 20, animationDuration: `4.0s`, animationName: `leftToRightFade`, animationFillMode: `both`,
|
|
402
402
|
},
|
|
403
|
+
lblMainScHeader: {
|
|
404
|
+
x: g_sWidth + g_headerObj.scAreaWidth - 85, w: 80, h: 20, siz: 12, align: C_ALIGN_RIGHT,
|
|
405
|
+
},
|
|
406
|
+
lblMainScKey: {
|
|
407
|
+
x: g_sWidth + g_headerObj.scAreaWidth - 85, w: 80, h: 20, siz: 12, align: C_ALIGN_RIGHT,
|
|
408
|
+
},
|
|
403
409
|
|
|
404
410
|
/** 結果画面 */
|
|
405
411
|
lblRank: {
|
|
@@ -2853,6 +2859,9 @@ const g_lang_lblNameObj = {
|
|
|
2853
2859
|
j_adj: `推定Adj`,
|
|
2854
2860
|
j_excessive: `Excessive`,
|
|
2855
2861
|
|
|
2862
|
+
l_retry: `リトライ`,
|
|
2863
|
+
l_titleBack: `タイトルバック`,
|
|
2864
|
+
|
|
2856
2865
|
helpUrl: `https://github.com/cwtickle/danoniplus/wiki/AboutGameSystem`,
|
|
2857
2866
|
securityUrl: `https://github.com/cwtickle/danoniplus/security/policy`,
|
|
2858
2867
|
},
|
|
@@ -2887,6 +2896,9 @@ const g_lang_lblNameObj = {
|
|
|
2887
2896
|
j_adj: `Est-Adj.`,
|
|
2888
2897
|
j_excessive: `Excessive`,
|
|
2889
2898
|
|
|
2899
|
+
l_retry: `Retry`,
|
|
2900
|
+
l_titleBack: `Go to title`,
|
|
2901
|
+
|
|
2890
2902
|
helpUrl: `https://github.com/cwtickle/danoniplus-docs/wiki/AboutGameSystem`,
|
|
2891
2903
|
securityUrl: `https://github.com/cwtickle/danoniplus-docs/wiki/SecurityPolicy`,
|
|
2892
2904
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
3
|
* Dancing☆Onigiri 設定用jsファイル
|
|
4
|
-
* Template Update: 2023/08/
|
|
4
|
+
* Template Update: 2023/08/27 (v33.4.0)
|
|
5
5
|
*
|
|
6
6
|
* このファイルでは、作品全体に対しての初期設定を行うことができます。
|
|
7
7
|
* 譜面データ側で個別に同様の項目が設定されている場合は、譜面データ側の設定が優先されます。
|
|
@@ -278,6 +278,19 @@ g_presetObj.stockForceDelList = {
|
|
|
278
278
|
mask: [],
|
|
279
279
|
};
|
|
280
280
|
|
|
281
|
+
/**
|
|
282
|
+
* ショートカットキーが既定と異なる場合に表示する
|
|
283
|
+
* ショートカットキーエリア用に、プレイ時のみ左右に拡張するサイズの設定
|
|
284
|
+
* - 表示内容が収まるサイズは80px
|
|
285
|
+
* - 下記のplayingLayoutの設定により拡張幅が変わる (center: 左右両方拡張, left: 右のみ拡張)
|
|
286
|
+
*/
|
|
287
|
+
//g_presetObj.scAreaWidth = 80;
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* プレイ画面の表示レイアウト (既定: center)
|
|
291
|
+
* - 現状影響する範囲は「scAreaWidth」の設定のみ
|
|
292
|
+
*/
|
|
293
|
+
//g_presetObj.playingLayout = `left`;
|
|
281
294
|
|
|
282
295
|
/*
|
|
283
296
|
------------------------------------------------------------------------
|
package/package.json
CHANGED
package/js/danoni_custom.js
DELETED
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
/**
|
|
3
|
-
* Dancing☆Onigiri カスタム用jsファイル
|
|
4
|
-
* その1:共通設定用
|
|
5
|
-
*
|
|
6
|
-
* このファイルは、作品個別に設定できる項目となっています。
|
|
7
|
-
* 譜面データ側で下記のように作品別の外部jsファイルを指定することで、
|
|
8
|
-
* danoni_main.js の中身を変えることなく設定が可能です。
|
|
9
|
-
*
|
|
10
|
-
* 設定例:
|
|
11
|
-
* |customjs=danoni_custom-003.js|
|
|
12
|
-
*
|
|
13
|
-
* ・グローバル変数、div要素、関数は danoni_main.js のものがそのまま利用できます。
|
|
14
|
-
* ・danoni_main.jsの変数を直接書き換えると、動かなくなることがあります。
|
|
15
|
-
* こまめのバックアップをおススメします。
|
|
16
|
-
* ・ラベルなどのdiv要素を作る場合、「divRoot」の下にappendChild(div要素を追加)することで
|
|
17
|
-
* 画面遷移したときにきれいに消してくれます。
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* ローディング中処理
|
|
22
|
-
* @param {event} _event ローディングプロパティ
|
|
23
|
-
* _event.loaded 読込済バイト数
|
|
24
|
-
* _event.total 読込総バイト数
|
|
25
|
-
*/
|
|
26
|
-
function customLoadingProgress(_event) {
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* タイトル画面 [Scene: Title / Melon]
|
|
32
|
-
*/
|
|
33
|
-
function customTitleInit() {
|
|
34
|
-
|
|
35
|
-
// バージョン表記
|
|
36
|
-
g_localVersion = ``;
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* 譜面選択(Difficultyボタン)時カスタム処理
|
|
42
|
-
* @param {boolean} _initFlg 譜面変更フラグ (true:譜面変更選択時 / false:画面遷移による移動時)
|
|
43
|
-
* @param {boolean} _canLoadDifInfoFlg 譜面初期化フラグ (true:譜面設定を再読込 / false:譜面設定を引き継ぐ)
|
|
44
|
-
*/
|
|
45
|
-
function customSetDifficulty(_initFlg, _canLoadDifInfoFlg) {
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* タイトル画面(フレーム毎表示) [Scene: Title / Melon]
|
|
51
|
-
*/
|
|
52
|
-
function customTitleEnterFrame() {
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* オプション画面(初期表示) [Scene: Option / Lime]
|
|
58
|
-
*/
|
|
59
|
-
function customOptionInit() {
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* 表示変更(初期表示) [Scene: Settings-Display / Lemon]
|
|
65
|
-
*/
|
|
66
|
-
function customSettingsDisplayInit() {
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* キーコンフィグ画面(初期表示) [Scene: KeyConfig / Orange]
|
|
72
|
-
*/
|
|
73
|
-
function customKeyConfigInit() {
|
|
74
|
-
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* 譜面読込画面 [Scene: Loading / Strawberry]
|
|
79
|
-
* - この画面のみ、画面表示がありません。
|
|
80
|
-
* - 処理が完了すると、自動的にメイン画面へ遷移します。
|
|
81
|
-
*/
|
|
82
|
-
function customLoadingInit() {
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* メイン画面(初期表示) [Scene: Main / Banana]
|
|
88
|
-
*/
|
|
89
|
-
function customMainInit() {
|
|
90
|
-
|
|
91
|
-
// ここにカスタム処理を記述する
|
|
92
|
-
g_resultObj.exScore = 4000;
|
|
93
|
-
g_resultObj.extra = `test`;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* メイン画面(フレーム毎表示) [Scene: Main / Banana]
|
|
98
|
-
*/
|
|
99
|
-
function customMainEnterFrame() {
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* 結果画面(初期表示) [Scene: Result / Grape]
|
|
105
|
-
*/
|
|
106
|
-
function customResultInit() {
|
|
107
|
-
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* 結果画面(フレーム毎表示) [Scene: Result / Grape]
|
|
112
|
-
*/
|
|
113
|
-
function customResultEnterFrame() {
|
|
114
|
-
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* 判定カスタム処理 (引数は共通で1つ保持)
|
|
119
|
-
* @param {number} difFrame タイミング誤差(フレーム数)
|
|
120
|
-
*/
|
|
121
|
-
/*
|
|
122
|
-
// イイ
|
|
123
|
-
function customJudgeIi(difFrame){
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
// シャキン
|
|
128
|
-
function customJudgeShakin(difFrame){
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
// マターリ
|
|
133
|
-
function customJudgeMatari(difFrame){
|
|
134
|
-
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
// ショボーン
|
|
138
|
-
function customJudgeShobon(difFrame){
|
|
139
|
-
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
// ウワァン
|
|
143
|
-
function customJudgeUwan(difFrame){
|
|
144
|
-
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
// キター
|
|
148
|
-
function customJudgeKita(difFrame){
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
// イクナイ
|
|
153
|
-
function customJudgeIknai(difFrame){
|
|
154
|
-
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
// ダミー矢印
|
|
158
|
-
function customJudgeDummyArrow(difFrame){
|
|
159
|
-
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
// ダミーフリーズアロー
|
|
163
|
-
function customJudgeDummyFrz(difFrame){
|
|
164
|
-
|
|
165
|
-
}
|
|
166
|
-
*/
|
package/js/danoni_setting.js
DELETED
|
@@ -1,409 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
/**
|
|
3
|
-
* Dancing☆Onigiri 設定用jsファイル
|
|
4
|
-
* Template Update: 2023/06/24 (v32.5.0)
|
|
5
|
-
*
|
|
6
|
-
* このファイルでは、作品全体に対しての初期設定を行うことができます。
|
|
7
|
-
* 譜面データ側で個別に同様の項目が設定されている場合は、譜面データ側の設定が優先されます。
|
|
8
|
-
* 例えばこのファイルで g_presetObj.tuning = `onigiri` とすると全ての作品に製作者名として「onigiri」が設定されますが、
|
|
9
|
-
* 譜面データ側で |tuning=washoi| とするとその作品には製作者名として「washoi」が設定されます。
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
/*
|
|
14
|
-
------------------------------------------------------------------------
|
|
15
|
-
制作者クレジット・基本設定
|
|
16
|
-
https://github.com/cwtickle/danoniplus/wiki/dos-s0001-makerInfo
|
|
17
|
-
------------------------------------------------------------------------
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
/** 譜面製作者名 */
|
|
21
|
-
g_presetObj.tuning = `name`;
|
|
22
|
-
|
|
23
|
-
/** 譜面製作者URL */
|
|
24
|
-
g_presetObj.tuningUrl = `https://www.google.co.jp/`;
|
|
25
|
-
|
|
26
|
-
/** 自動横幅拡張設定 (true:有効、false:無効 / デフォルトは true) */
|
|
27
|
-
//g_presetObj.autoSpread = false;
|
|
28
|
-
|
|
29
|
-
/** 個人サイト別の最小横幅設定 */
|
|
30
|
-
//g_presetObj.autoMinWidth = 600;
|
|
31
|
-
|
|
32
|
-
/** 個人サイト別のウィンドウ位置 (left:左寄せ, center:中央, right:右寄せ)*/
|
|
33
|
-
//g_presetObj.windowAlign = `center`;
|
|
34
|
-
|
|
35
|
-
/*
|
|
36
|
-
------------------------------------------------------------------------
|
|
37
|
-
カスタムファイル設定
|
|
38
|
-
https://github.com/cwtickle/danoniplus/wiki/dos-s0002-customFile
|
|
39
|
-
------------------------------------------------------------------------
|
|
40
|
-
*/
|
|
41
|
-
|
|
42
|
-
/** 既定スキン (デフォルトは default) */
|
|
43
|
-
g_presetObj.skinType = `default`;
|
|
44
|
-
|
|
45
|
-
/** skinTypeがdefaultのとき、Canvas背景を有効にするかどうかのフラグ (デフォルトは有効(true)。falseで無効化) */
|
|
46
|
-
//g_presetObj.bgCanvasUse = false;
|
|
47
|
-
|
|
48
|
-
/** 既定カスタムJs (デフォルトは danoni_custom.js) */
|
|
49
|
-
//g_presetObj.customJs = `danoni_custom.js,danoni_init.js`;
|
|
50
|
-
|
|
51
|
-
/** 既定カスタムCss (デフォルトは指定なし、cssフォルダを参照) */
|
|
52
|
-
//g_presetObj.customCss = `danoni_custom.css`;
|
|
53
|
-
|
|
54
|
-
/** 背景・マスクモーションで使用する画像パスの指定方法を他の設定に合わせる設定 (trueで有効化) */
|
|
55
|
-
//g_presetObj.syncBackPath = true;
|
|
56
|
-
|
|
57
|
-
/*
|
|
58
|
-
------------------------------------------------------------------------
|
|
59
|
-
ゲージ設定
|
|
60
|
-
https://github.com/cwtickle/danoniplus/wiki/dos-s0003-initialGauge
|
|
61
|
-
------------------------------------------------------------------------
|
|
62
|
-
*/
|
|
63
|
-
|
|
64
|
-
/** ゲージ設定(デフォルト)*/
|
|
65
|
-
g_presetObj.gauge = {
|
|
66
|
-
// Border: 70, // ノルマ制でのボーダーライン、ライフ制にしたい場合は `x` を指定
|
|
67
|
-
// Recovery: 2, // 回復量
|
|
68
|
-
// Damage: 7, // ダメージ量
|
|
69
|
-
// Init: 25, // 初期値
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
/** ゲージ設定(デフォルト以外)*/
|
|
73
|
-
g_presetObj.gaugeCustom = {
|
|
74
|
-
Easy: {
|
|
75
|
-
Border: 70,
|
|
76
|
-
Recovery: 4,
|
|
77
|
-
Damage: 7,
|
|
78
|
-
Init: 25,
|
|
79
|
-
},
|
|
80
|
-
Hard: {
|
|
81
|
-
Border: `x`,
|
|
82
|
-
Recovery: 1,
|
|
83
|
-
Damage: 50,
|
|
84
|
-
Init: 100,
|
|
85
|
-
},
|
|
86
|
-
NoRecovery: {
|
|
87
|
-
Border: `x`,
|
|
88
|
-
Recovery: 0,
|
|
89
|
-
Damage: 50,
|
|
90
|
-
Init: 100,
|
|
91
|
-
},
|
|
92
|
-
SuddenDeath: {
|
|
93
|
-
Border: `x`,
|
|
94
|
-
Recovery: 0,
|
|
95
|
-
Damage: setVal(g_rootObj.maxLifeVal, C_VAL_MAXLIFE, C_TYP_FLOAT),
|
|
96
|
-
Init: 100,
|
|
97
|
-
},
|
|
98
|
-
Practice: {
|
|
99
|
-
Border: `x`,
|
|
100
|
-
Recovery: 0,
|
|
101
|
-
Damage: 0,
|
|
102
|
-
Init: 50,
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
カスタムゲージ設定(デフォルト)
|
|
108
|
-
'ゲージ名': `回復・ダメージ量設定` の形式で指定します。
|
|
109
|
-
(F : 矢印数によらず固定, V: 矢印数により変動)
|
|
110
|
-
*/
|
|
111
|
-
/*
|
|
112
|
-
g_presetObj.gaugeList = {
|
|
113
|
-
'Original': `F`,
|
|
114
|
-
'Normal': `V`,
|
|
115
|
-
'Hard': `V`,
|
|
116
|
-
};
|
|
117
|
-
*/
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
空押し判定を行うか
|
|
121
|
-
判定させる場合は true を指定
|
|
122
|
-
*/
|
|
123
|
-
g_presetObj.excessiveJdgUse = true;
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
/*
|
|
127
|
-
------------------------------------------------------------------------
|
|
128
|
-
フリーズアロー設定
|
|
129
|
-
https://github.com/cwtickle/danoniplus/wiki/dos-s0004-frzArrow
|
|
130
|
-
------------------------------------------------------------------------
|
|
131
|
-
*/
|
|
132
|
-
|
|
133
|
-
/** フリーズアローのデフォルト色セットの利用有無 (true: 使用, false: 矢印色を優先してセット) */
|
|
134
|
-
g_presetObj.frzColors = true;
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
矢印色変化に対応してフリーズアロー色を追随する範囲の設定 (Normal: 通常時、Hit: ヒット時)
|
|
138
|
-
※この設定は、g_presetObj.frzColors = false もしくは
|
|
139
|
-
譜面ヘッダー:defaultFrzColorUse=false のときにのみ有効です。
|
|
140
|
-
*/
|
|
141
|
-
//g_presetObj.frzScopeFromAC = [`Normal`, `Hit`];
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
フリーズアローの始点で通常矢印の判定を行うか(dotさんソース方式)
|
|
145
|
-
判定させる場合は `true` を指定
|
|
146
|
-
*/
|
|
147
|
-
g_presetObj.frzStartjdgUse = false;
|
|
148
|
-
|
|
149
|
-
/*
|
|
150
|
-
------------------------------------------------------------------------
|
|
151
|
-
デフォルトデザイン・画像設定
|
|
152
|
-
https://github.com/cwtickle/danoniplus/wiki/dos-s0005-defaultDesign
|
|
153
|
-
------------------------------------------------------------------------
|
|
154
|
-
*/
|
|
155
|
-
|
|
156
|
-
// デフォルトのデザインを使用せず、独自のデザインを使用するかを指定
|
|
157
|
-
// カスタムデザインにする場合は `true` を指定
|
|
158
|
-
g_presetObj.customDesignUse = {
|
|
159
|
-
title: false,
|
|
160
|
-
titleArrow: false,
|
|
161
|
-
titleAnimation: false,
|
|
162
|
-
back: false,
|
|
163
|
-
backMain: false,
|
|
164
|
-
ready: false,
|
|
165
|
-
};
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
デフォルト画像セットの設定
|
|
169
|
-
(セット対象のフォルダ名, 拡張子, 画像回転有無(true or false), Flat時ステップ間隔の順に指定)
|
|
170
|
-
|
|
171
|
-
事前に、[img]フォルダ配下にセット対象のサブフォルダを作成し、その中に一式を入れておく必要あり
|
|
172
|
-
下記の場合は[classic]フォルダに[png]形式の画像一式をデフォルト画像セットとして使用する
|
|
173
|
-
|
|
174
|
-
未指定の場合のデフォルト値は以下の通り
|
|
175
|
-
セット対象のフォルダ名:`` (imgフォルダ直下)
|
|
176
|
-
拡張子:`svg`形式
|
|
177
|
-
画像回転有無:true(回転有り)
|
|
178
|
-
Flat時ステップ間隔:50(px) ※矢印サイズ
|
|
179
|
-
*/
|
|
180
|
-
//g_presetObj.imageSets = [``, `classic,png`, `classic-thin,png`, `note,svg,false,0`];
|
|
181
|
-
|
|
182
|
-
/**
|
|
183
|
-
デフォルト画像セット (C_IMG_XXXX, 厳密にはg_imgObj) に対して拡張子の上書きを行うか設定
|
|
184
|
-
文字列の後ろ3文字をカットして、下記の値を適用する。コメントアウトした場合は、上書きを行わない。
|
|
185
|
-
`svg`: デフォルト(svg形式)、`png`: 従来画像(png形式)
|
|
186
|
-
*/
|
|
187
|
-
//g_presetObj.overrideExtension = `svg`;
|
|
188
|
-
|
|
189
|
-
/**
|
|
190
|
-
追加指定する画像のリスト(サーバ上の場合のみ有効)
|
|
191
|
-
ここで設定した画像をimgフォルダに指定した名前で格納しておくことで、
|
|
192
|
-
stepRtnX_Yで設定する名前に使用することができる
|
|
193
|
-
|
|
194
|
-
`ball`と指定した場合、下記の画像を準備する必要あり
|
|
195
|
-
- ball.svg, ballShadow.svg, ballStepHit.svg (g_presetOverrideExtension を pngにすれば、pngに変更可)
|
|
196
|
-
*/
|
|
197
|
-
//g_presetObj.customImageList = [`ball`, `square`];
|
|
198
|
-
|
|
199
|
-
/**
|
|
200
|
-
* 背景・マスクモーションで利用する「animationFillMode」のデフォルト値
|
|
201
|
-
* - none : 初期画像へ戻す
|
|
202
|
-
* - forwards : アニメーション100%の状態を維持(デフォルト)
|
|
203
|
-
* - backwards : アニメーション 0%の状態に戻す
|
|
204
|
-
*/
|
|
205
|
-
//g_presetObj.animationFillMode = `none`;
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
/*
|
|
209
|
-
------------------------------------------------------------------------
|
|
210
|
-
オプション有効化
|
|
211
|
-
https://github.com/cwtickle/danoniplus/wiki/dos-s0006-settingUse
|
|
212
|
-
------------------------------------------------------------------------
|
|
213
|
-
*/
|
|
214
|
-
|
|
215
|
-
/**
|
|
216
|
-
オプション利用設定(デフォルト)
|
|
217
|
-
一律使用させたくない場合は `false` を指定(デフォルトは `true`)
|
|
218
|
-
*/
|
|
219
|
-
g_presetObj.settingUse = {
|
|
220
|
-
motion: `true`,
|
|
221
|
-
scroll: `true`,
|
|
222
|
-
shuffle: `true`,
|
|
223
|
-
autoPlay: `true`,
|
|
224
|
-
gauge: `true`,
|
|
225
|
-
excessive: `true`,
|
|
226
|
-
appearance: `true`,
|
|
227
|
-
|
|
228
|
-
// stepZone: `true`,
|
|
229
|
-
// judgment: `true`,
|
|
230
|
-
// fastSlow: `true`,
|
|
231
|
-
// lifeGauge: `true`,
|
|
232
|
-
// score: `true`,
|
|
233
|
-
// musicInfo: `true`,
|
|
234
|
-
// filterLine: `true`,
|
|
235
|
-
// speed: `true`,
|
|
236
|
-
// color: `true`,
|
|
237
|
-
// lyrics: `true`,
|
|
238
|
-
// background: `true`,
|
|
239
|
-
// arrowEffect: `true`,
|
|
240
|
-
// special: `true`,
|
|
241
|
-
};
|
|
242
|
-
|
|
243
|
-
/*
|
|
244
|
-
------------------------------------------------------------------------
|
|
245
|
-
プレイ画面制御
|
|
246
|
-
https://github.com/cwtickle/danoniplus/wiki/dos-s0007-viewControl
|
|
247
|
-
------------------------------------------------------------------------
|
|
248
|
-
*/
|
|
249
|
-
|
|
250
|
-
/**
|
|
251
|
-
Reverse時の歌詞の自動反転制御設定
|
|
252
|
-
|
|
253
|
-
通常は以下の条件でReverseが指定された場合、歌詞表示を反転します。
|
|
254
|
-
この設定をどのように制御するか設定します。
|
|
255
|
-
・上下スクロールを挟まないキーに限定(5key, 7key, 7ikey, 9A/9Bkeyなど)
|
|
256
|
-
・リバース・スクロール拡張用の歌詞表示(wordRev_data / wordAlt_data)が設定されていない作品
|
|
257
|
-
・SETTINGS 画面で Reverse:ON、Scroll:--- (指定なし) を指定してプレイ開始した場合
|
|
258
|
-
・歌詞表示がすべて1段表示の場合
|
|
259
|
-
|
|
260
|
-
<設定可能の値>
|
|
261
|
-
`auto`(既定):上記ルールに従い設定 / `OFF`: 上記ルールに関わらず反転しない / `ON`: 上記ルールに関わらず反転する
|
|
262
|
-
*/
|
|
263
|
-
//g_presetObj.wordAutoReverse = `auto`;
|
|
264
|
-
|
|
265
|
-
/**
|
|
266
|
-
* フェードイン時にそれ以前のデータを蓄積しない種別(word, back, mask)を指定
|
|
267
|
-
*/
|
|
268
|
-
g_presetObj.unStockCategories = [];
|
|
269
|
-
|
|
270
|
-
/**
|
|
271
|
-
* フェードイン時、プリロードを強制削除するリスト(英字は小文字で指定)
|
|
272
|
-
* 指定例) back: [`fade`] ※back_dataでアニメーション名に'fade'や'Fade'を含む
|
|
273
|
-
*/
|
|
274
|
-
g_presetObj.stockForceDelList = {
|
|
275
|
-
word: [],
|
|
276
|
-
back: [],
|
|
277
|
-
mask: [],
|
|
278
|
-
};
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
/*
|
|
282
|
-
------------------------------------------------------------------------
|
|
283
|
-
リザルトデータ
|
|
284
|
-
https://github.com/cwtickle/danoniplus/wiki/dos-s0008-resultVals
|
|
285
|
-
------------------------------------------------------------------------
|
|
286
|
-
*/
|
|
287
|
-
|
|
288
|
-
/*
|
|
289
|
-
リザルトデータのフォーマット設定
|
|
290
|
-
以下のタグは下記で置き換えられます。
|
|
291
|
-
[hashTag] ハッシュタグ
|
|
292
|
-
[rank] ランク
|
|
293
|
-
[score] スコア
|
|
294
|
-
[playStyle] オプション設定
|
|
295
|
-
[arrowJdg] 矢印判定数
|
|
296
|
-
[frzJdg] フリーズアロー判定数
|
|
297
|
-
[maxCombo] マックスコンボ、フリーズコンボ
|
|
298
|
-
[url] scoreId付きURL
|
|
299
|
-
*/
|
|
300
|
-
// デフォルトフォーマット
|
|
301
|
-
// g_presetObj.resultFormat = `【#danoni[hashTag]】[musicTitle]([keyLabel]) /[maker] /Rank:[rank]/Score:[score]/Playstyle:[playStyle]/[arrowJdg]/[frzJdg]/[maxCombo] [url]`;
|
|
302
|
-
|
|
303
|
-
// MFV2さんフォーマット(オプション設定なし・参考)
|
|
304
|
-
// g_presetObj.resultFormat = `【#danoni[hashTag]】[musicTitle]/[keyLabel] /[maker] /[rank]/[arrowJdg]/[frzJdg]/Mc[maxCombo]/Sco[score]-[exScore] [url]`;
|
|
305
|
-
|
|
306
|
-
/*
|
|
307
|
-
リザルトデータ用のカスタム変数群
|
|
308
|
-
|
|
309
|
-
プロパティを定義するとそれに応じた変数に置換されます。
|
|
310
|
-
右側に定義する値は、g_resultObj配下に定義する必要があります。
|
|
311
|
-
|
|
312
|
-
例) exScore: `exScores`,
|
|
313
|
-
[exScore] -> g_resultObj.exScores
|
|
314
|
-
*/
|
|
315
|
-
g_presetObj.resultVals = {
|
|
316
|
-
// exScore: `exScore`,
|
|
317
|
-
};
|
|
318
|
-
|
|
319
|
-
/*
|
|
320
|
-
リザルトカスタムデータの表示設定
|
|
321
|
-
g_presetObj.resultVals から、リザルト画像データに表示したい項目を列挙します。
|
|
322
|
-
*/
|
|
323
|
-
//g_presetObj.resultValsView = [`exScore`];
|
|
324
|
-
|
|
325
|
-
/*
|
|
326
|
-
------------------------------------------------------------------------
|
|
327
|
-
ラベルテキスト・メッセージの上書き
|
|
328
|
-
https://github.com/cwtickle/danoniplus/wiki/dos-s0009-labelUpdate
|
|
329
|
-
------------------------------------------------------------------------
|
|
330
|
-
*/
|
|
331
|
-
|
|
332
|
-
/**
|
|
333
|
-
* ラベルテキスト (g_lblNameObj) に対応するプロパティを上書きする設定
|
|
334
|
-
* ※danoni_setting.js の他、customjsにも利用可
|
|
335
|
-
* ※設定可能項目についてはdanoni_constants.jsをご覧ください。
|
|
336
|
-
*/
|
|
337
|
-
g_presetObj.lblName = {
|
|
338
|
-
Ja: {
|
|
339
|
-
|
|
340
|
-
},
|
|
341
|
-
En: {
|
|
342
|
-
|
|
343
|
-
},
|
|
344
|
-
};
|
|
345
|
-
|
|
346
|
-
/**
|
|
347
|
-
* オンマウステキスト、確認メッセージ定義 (g_msgObj) に対応するプロパティを上書きする設定
|
|
348
|
-
* ※danoni_setting.js の他、customjsにも利用可
|
|
349
|
-
* ※設定可能項目についてはdanoni_constants.jsをご覧ください。
|
|
350
|
-
*/
|
|
351
|
-
g_presetObj.msg = {
|
|
352
|
-
Ja: {
|
|
353
|
-
|
|
354
|
-
},
|
|
355
|
-
En: {
|
|
356
|
-
|
|
357
|
-
},
|
|
358
|
-
};
|
|
359
|
-
|
|
360
|
-
/**
|
|
361
|
-
* 設定名の上書き可否設定
|
|
362
|
-
*/
|
|
363
|
-
g_presetObj.lblRenames = {
|
|
364
|
-
option: true,
|
|
365
|
-
settingsDisplay: true,
|
|
366
|
-
main: true,
|
|
367
|
-
keyConfig: true,
|
|
368
|
-
result: true,
|
|
369
|
-
};
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
/*
|
|
373
|
-
------------------------------------------------------------------------
|
|
374
|
-
カスタムキー定義
|
|
375
|
-
https://github.com/cwtickle/danoniplus/wiki/dos-s0010-customKeys
|
|
376
|
-
------------------------------------------------------------------------
|
|
377
|
-
*/
|
|
378
|
-
|
|
379
|
-
/**
|
|
380
|
-
* カスタムキー定義(共通)
|
|
381
|
-
* 指定方法は作品別にカスタムキーを定義する方法と同じ(ただし、keyExtraList必須)
|
|
382
|
-
*
|
|
383
|
-
* 定義方法は下記を参照のこと
|
|
384
|
-
* https://github.com/cwtickle/danoniplus/wiki/keys
|
|
385
|
-
* https://github.com/cwtickle/danoniplus/wiki/tips-0004-extrakeys
|
|
386
|
-
*/
|
|
387
|
-
/*
|
|
388
|
-
g_presetObj.keysData = `
|
|
389
|
-
|
|
390
|
-
|keyExtraList=6,9v|
|
|
391
|
-
|color6=0,1,0,1,0,2$2,0,1,0,1,0|
|
|
392
|
-
|chara6=left,leftdia,down,rightdia,right,space$space,left,leftdia,down,rightdia,right|
|
|
393
|
-
|div6=6$6|
|
|
394
|
-
|stepRtn6=0,45,-90,135,180,onigiri$onigiri,0,45,-90,135,180|
|
|
395
|
-
|keyCtrl6=75/0,79/0,76/0,80/0,187/0,32/0$32/0,75/0,79/0,76/0,80/0,187/0|
|
|
396
|
-
|shuffle6=1,1,1,1,1,0$0,1,1,1,1,1|
|
|
397
|
-
|
|
398
|
-
|chara9v=9B_0$9B_0|
|
|
399
|
-
|color9v=1,0,1,0,2,0,1,0,1$9B_0|
|
|
400
|
-
|div9v=9$9|
|
|
401
|
-
|keyCtrl9v=52/0,82/0,70/0,86/0,32/0,78/0,74/0,73/0,57/0$9B_0|
|
|
402
|
-
|pos9v=0,1,2,3,4,5,6,7,8$0,1,2,3,4,5,6,7,8|
|
|
403
|
-
|scroll9v=---::1,1,-1,-1,-1,-1,-1,1,1/flat::1,1,1,1,1,1,1,1,1$9B_0|
|
|
404
|
-
|shuffle9v=9B_0$9B_0|
|
|
405
|
-
|stepRtn9v=90,120,150,180,onigiri,0,30,60,90$9B_0|
|
|
406
|
-
|transKey9v=$9B|
|
|
407
|
-
|
|
408
|
-
`;
|
|
409
|
-
*/
|
|
@@ -1,410 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
/**
|
|
3
|
-
* Dancing☆Onigiri 設定用jsファイル
|
|
4
|
-
* Template Update: 2023/08/22 (v33.3.0)
|
|
5
|
-
*
|
|
6
|
-
* このファイルでは、作品全体に対しての初期設定を行うことができます。
|
|
7
|
-
* 譜面データ側で個別に同様の項目が設定されている場合は、譜面データ側の設定が優先されます。
|
|
8
|
-
* 例えばこのファイルで g_presetObj.tuning = `onigiri` とすると全ての作品に製作者名として「onigiri」が設定されますが、
|
|
9
|
-
* 譜面データ側で |tuning=washoi| とするとその作品には製作者名として「washoi」が設定されます。
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
/*
|
|
14
|
-
------------------------------------------------------------------------
|
|
15
|
-
制作者クレジット・基本設定
|
|
16
|
-
https://github.com/cwtickle/danoniplus/wiki/dos-s0001-makerInfo
|
|
17
|
-
------------------------------------------------------------------------
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
/** 譜面製作者名 */
|
|
21
|
-
g_presetObj.tuning = `name`;
|
|
22
|
-
|
|
23
|
-
/** 譜面製作者URL */
|
|
24
|
-
g_presetObj.tuningUrl = `https://www.google.co.jp/`;
|
|
25
|
-
|
|
26
|
-
/** 自動横幅拡張設定 (true:有効、false:無効 / デフォルトは true) */
|
|
27
|
-
//g_presetObj.autoSpread = false;
|
|
28
|
-
|
|
29
|
-
/** 個人サイト別の最小横幅設定 */
|
|
30
|
-
//g_presetObj.autoMinWidth = 600;
|
|
31
|
-
|
|
32
|
-
/** 個人サイト別のウィンドウ位置 (left:左寄せ, center:中央, right:右寄せ)*/
|
|
33
|
-
//g_presetObj.windowAlign = `center`;
|
|
34
|
-
|
|
35
|
-
/*
|
|
36
|
-
------------------------------------------------------------------------
|
|
37
|
-
カスタムファイル設定
|
|
38
|
-
https://github.com/cwtickle/danoniplus/wiki/dos-s0002-customFile
|
|
39
|
-
------------------------------------------------------------------------
|
|
40
|
-
*/
|
|
41
|
-
|
|
42
|
-
/** 既定スキン (デフォルトは default) */
|
|
43
|
-
g_presetObj.skinType = `default`;
|
|
44
|
-
|
|
45
|
-
/** skinTypeがdefaultのとき、Canvas背景を有効にするかどうかのフラグ (デフォルトは有効(true)。falseで無効化) */
|
|
46
|
-
//g_presetObj.bgCanvasUse = false;
|
|
47
|
-
|
|
48
|
-
/** 既定カスタムJs (デフォルトは danoni_custom.js) */
|
|
49
|
-
//g_presetObj.customJs = `danoni_custom.js,danoni_init.js`;
|
|
50
|
-
|
|
51
|
-
/** 既定カスタムCss (デフォルトは指定なし、cssフォルダを参照) */
|
|
52
|
-
//g_presetObj.customCss = `danoni_custom.css`;
|
|
53
|
-
|
|
54
|
-
/** 背景・マスクモーションで使用する画像パスの指定方法を他の設定に合わせる設定 (trueで有効化) */
|
|
55
|
-
//g_presetObj.syncBackPath = true;
|
|
56
|
-
|
|
57
|
-
/*
|
|
58
|
-
------------------------------------------------------------------------
|
|
59
|
-
ゲージ設定
|
|
60
|
-
https://github.com/cwtickle/danoniplus/wiki/dos-s0003-initialGauge
|
|
61
|
-
------------------------------------------------------------------------
|
|
62
|
-
*/
|
|
63
|
-
|
|
64
|
-
/** ゲージ設定(デフォルト)*/
|
|
65
|
-
g_presetObj.gauge = {
|
|
66
|
-
// Border: 70, // ノルマ制でのボーダーライン、ライフ制にしたい場合は `x` を指定
|
|
67
|
-
// Recovery: 2, // 回復量
|
|
68
|
-
// Damage: 7, // ダメージ量
|
|
69
|
-
// Init: 25, // 初期値
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
/** ゲージ設定(デフォルト以外)*/
|
|
73
|
-
g_presetObj.gaugeCustom = {
|
|
74
|
-
Easy: {
|
|
75
|
-
Border: 70,
|
|
76
|
-
Recovery: 4,
|
|
77
|
-
Damage: 7,
|
|
78
|
-
Init: 25,
|
|
79
|
-
},
|
|
80
|
-
Hard: {
|
|
81
|
-
Border: `x`,
|
|
82
|
-
Recovery: 1,
|
|
83
|
-
Damage: 50,
|
|
84
|
-
Init: 100,
|
|
85
|
-
},
|
|
86
|
-
NoRecovery: {
|
|
87
|
-
Border: `x`,
|
|
88
|
-
Recovery: 0,
|
|
89
|
-
Damage: 50,
|
|
90
|
-
Init: 100,
|
|
91
|
-
},
|
|
92
|
-
SuddenDeath: {
|
|
93
|
-
Border: `x`,
|
|
94
|
-
Recovery: 0,
|
|
95
|
-
Damage: setVal(g_rootObj.maxLifeVal, C_VAL_MAXLIFE, C_TYP_FLOAT),
|
|
96
|
-
Init: 100,
|
|
97
|
-
},
|
|
98
|
-
Practice: {
|
|
99
|
-
Border: `x`,
|
|
100
|
-
Recovery: 0,
|
|
101
|
-
Damage: 0,
|
|
102
|
-
Init: 50,
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
カスタムゲージ設定(デフォルト)
|
|
108
|
-
'ゲージ名': `回復・ダメージ量設定` の形式で指定します。
|
|
109
|
-
(F : 矢印数によらず固定, V: 矢印数により変動)
|
|
110
|
-
*/
|
|
111
|
-
/*
|
|
112
|
-
g_presetObj.gaugeList = {
|
|
113
|
-
'Original': `F`,
|
|
114
|
-
'Normal': `V`,
|
|
115
|
-
'Hard': `V`,
|
|
116
|
-
};
|
|
117
|
-
*/
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
空押し判定を行うか
|
|
121
|
-
判定させる場合は true を指定
|
|
122
|
-
*/
|
|
123
|
-
g_presetObj.excessiveJdgUse = false;
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
/*
|
|
127
|
-
------------------------------------------------------------------------
|
|
128
|
-
フリーズアロー設定
|
|
129
|
-
https://github.com/cwtickle/danoniplus/wiki/dos-s0004-frzArrow
|
|
130
|
-
------------------------------------------------------------------------
|
|
131
|
-
*/
|
|
132
|
-
|
|
133
|
-
/** フリーズアローのデフォルト色セットの利用有無 (true: 使用, false: 矢印色を優先してセット) */
|
|
134
|
-
g_presetObj.frzColors = true;
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
矢印色変化に対応してフリーズアロー色を追随する範囲の設定 (Normal: 通常時、Hit: ヒット時)
|
|
138
|
-
※この設定は、g_presetObj.frzColors = false もしくは
|
|
139
|
-
譜面ヘッダー:defaultFrzColorUse=false のときにのみ有効です。
|
|
140
|
-
*/
|
|
141
|
-
//g_presetObj.frzScopeFromAC = [`Normal`, `Hit`];
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
フリーズアローの始点で通常矢印の判定を行うか(dotさんソース方式)
|
|
145
|
-
判定させる場合は true を指定
|
|
146
|
-
*/
|
|
147
|
-
g_presetObj.frzStartjdgUse = false;
|
|
148
|
-
|
|
149
|
-
/*
|
|
150
|
-
------------------------------------------------------------------------
|
|
151
|
-
デフォルトデザイン・画像設定
|
|
152
|
-
https://github.com/cwtickle/danoniplus/wiki/dos-s0005-defaultDesign
|
|
153
|
-
------------------------------------------------------------------------
|
|
154
|
-
*/
|
|
155
|
-
|
|
156
|
-
// デフォルトのデザインを使用せず、独自のデザインを使用するかを指定
|
|
157
|
-
// カスタムデザインにする場合は true を指定
|
|
158
|
-
g_presetObj.customDesignUse = {
|
|
159
|
-
title: false,
|
|
160
|
-
titleArrow: false,
|
|
161
|
-
titleAnimation: false,
|
|
162
|
-
back: false,
|
|
163
|
-
backMain: false,
|
|
164
|
-
ready: false,
|
|
165
|
-
};
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
デフォルト画像セットの設定
|
|
169
|
-
(セット対象のフォルダ名, 拡張子, 画像回転有無(true or false), Flat時ステップ間隔の順に指定)
|
|
170
|
-
|
|
171
|
-
事前に、[img]フォルダ配下にセット対象のサブフォルダを作成し、その中に一式を入れておく必要あり
|
|
172
|
-
下記の場合は[classic]フォルダに[png]形式の画像一式をデフォルト画像セットとして使用する
|
|
173
|
-
|
|
174
|
-
未指定の場合のデフォルト値は以下の通り
|
|
175
|
-
セット対象のフォルダ名:`` (imgフォルダ直下)
|
|
176
|
-
拡張子:`svg`形式
|
|
177
|
-
画像回転有無:true(回転有り)
|
|
178
|
-
Flat時ステップ間隔:50(px) ※矢印サイズ
|
|
179
|
-
*/
|
|
180
|
-
//g_presetObj.imageSets = [``, `classic,png`, `classic-thin,png`, `note,svg,false,0`];
|
|
181
|
-
|
|
182
|
-
/**
|
|
183
|
-
デフォルト画像セット (C_IMG_XXXX, 厳密にはg_imgObj) に対して拡張子の上書きを行うか設定
|
|
184
|
-
文字列の後ろ3文字をカットして、下記の値を適用する。コメントアウトした場合は、上書きを行わない。
|
|
185
|
-
`svg`: デフォルト(svg形式)、`png`: 従来画像(png形式)
|
|
186
|
-
*/
|
|
187
|
-
//g_presetObj.overrideExtension = `svg`;
|
|
188
|
-
|
|
189
|
-
/**
|
|
190
|
-
追加指定する画像のリスト(サーバ上の場合のみ有効)
|
|
191
|
-
ここで設定した画像をimgフォルダに指定した名前で格納しておくことで、
|
|
192
|
-
stepRtnX_Yで設定する名前に使用することができる
|
|
193
|
-
|
|
194
|
-
`ball`と指定した場合、下記の画像を準備する必要あり
|
|
195
|
-
- ball.svg, ballShadow.svg, ballStepHit.svg (g_presetOverrideExtension を pngにすれば、pngに変更可)
|
|
196
|
-
*/
|
|
197
|
-
//g_presetObj.customImageList = [`ball`, `square`];
|
|
198
|
-
|
|
199
|
-
/**
|
|
200
|
-
* 背景・マスクモーションで利用する「animationFillMode」のデフォルト値
|
|
201
|
-
* - none : 初期画像へ戻す
|
|
202
|
-
* - forwards : アニメーション100%の状態を維持(デフォルト)
|
|
203
|
-
* - backwards : アニメーション 0%の状態に戻す
|
|
204
|
-
*/
|
|
205
|
-
//g_presetObj.animationFillMode = `none`;
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
/*
|
|
209
|
-
------------------------------------------------------------------------
|
|
210
|
-
オプション有効化
|
|
211
|
-
https://github.com/cwtickle/danoniplus/wiki/dos-s0006-settingUse
|
|
212
|
-
------------------------------------------------------------------------
|
|
213
|
-
*/
|
|
214
|
-
|
|
215
|
-
/**
|
|
216
|
-
オプション利用設定(デフォルト)
|
|
217
|
-
一律使用させたくない場合は `false` を指定(デフォルトは `true`)
|
|
218
|
-
Display設定の場合は `true,OFF`(設定は有効だが初期値はOFF)といったことができる
|
|
219
|
-
*/
|
|
220
|
-
g_presetObj.settingUse = {
|
|
221
|
-
motion: `true`,
|
|
222
|
-
scroll: `true`,
|
|
223
|
-
shuffle: `true`,
|
|
224
|
-
autoPlay: `true`,
|
|
225
|
-
gauge: `true`,
|
|
226
|
-
excessive: `true`,
|
|
227
|
-
appearance: `true`,
|
|
228
|
-
|
|
229
|
-
// stepZone: `true`,
|
|
230
|
-
// judgment: `true`,
|
|
231
|
-
// fastSlow: `true`,
|
|
232
|
-
// lifeGauge: `true`,
|
|
233
|
-
// score: `true`,
|
|
234
|
-
// musicInfo: `true`,
|
|
235
|
-
// filterLine: `true`,
|
|
236
|
-
// speed: `true`,
|
|
237
|
-
// color: `true`,
|
|
238
|
-
// lyrics: `true`,
|
|
239
|
-
// background: `true`,
|
|
240
|
-
// arrowEffect: `true`,
|
|
241
|
-
// special: `true`,
|
|
242
|
-
};
|
|
243
|
-
|
|
244
|
-
/*
|
|
245
|
-
------------------------------------------------------------------------
|
|
246
|
-
プレイ画面制御
|
|
247
|
-
https://github.com/cwtickle/danoniplus/wiki/dos-s0007-viewControl
|
|
248
|
-
------------------------------------------------------------------------
|
|
249
|
-
*/
|
|
250
|
-
|
|
251
|
-
/**
|
|
252
|
-
Reverse時の歌詞の自動反転制御設定
|
|
253
|
-
|
|
254
|
-
通常は以下の条件でReverseが指定された場合、歌詞表示を反転します。
|
|
255
|
-
この設定をどのように制御するか設定します。
|
|
256
|
-
・上下スクロールを挟まないキーに限定(5key, 7key, 7ikey, 9A/9Bkeyなど)
|
|
257
|
-
・リバース・スクロール拡張用の歌詞表示(wordRev_data / wordAlt_data)が設定されていない作品
|
|
258
|
-
・SETTINGS 画面で Reverse:ON、Scroll:--- (指定なし) を指定してプレイ開始した場合
|
|
259
|
-
・歌詞表示がすべて1段表示の場合
|
|
260
|
-
|
|
261
|
-
<設定可能の値>
|
|
262
|
-
`auto`(既定):上記ルールに従い設定 / `OFF`: 上記ルールに関わらず反転しない / `ON`: 上記ルールに関わらず反転する
|
|
263
|
-
*/
|
|
264
|
-
//g_presetObj.wordAutoReverse = `auto`;
|
|
265
|
-
|
|
266
|
-
/**
|
|
267
|
-
* フェードイン時にそれ以前のデータを蓄積しない種別(word, back, mask)を指定
|
|
268
|
-
*/
|
|
269
|
-
g_presetObj.unStockCategories = [];
|
|
270
|
-
|
|
271
|
-
/**
|
|
272
|
-
* フェードイン時、プリロードを強制削除するリスト(英字は小文字で指定)
|
|
273
|
-
* 指定例) back: [`fade`] ※back_dataでアニメーション名に'fade'や'Fade'を含む
|
|
274
|
-
*/
|
|
275
|
-
g_presetObj.stockForceDelList = {
|
|
276
|
-
word: [],
|
|
277
|
-
back: [],
|
|
278
|
-
mask: [],
|
|
279
|
-
};
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
/*
|
|
283
|
-
------------------------------------------------------------------------
|
|
284
|
-
リザルトデータ
|
|
285
|
-
https://github.com/cwtickle/danoniplus/wiki/dos-s0008-resultVals
|
|
286
|
-
------------------------------------------------------------------------
|
|
287
|
-
*/
|
|
288
|
-
|
|
289
|
-
/*
|
|
290
|
-
リザルトデータのフォーマット設定
|
|
291
|
-
以下のタグは下記で置き換えられます。
|
|
292
|
-
[hashTag] ハッシュタグ
|
|
293
|
-
[rank] ランク
|
|
294
|
-
[score] スコア
|
|
295
|
-
[playStyle] オプション設定
|
|
296
|
-
[arrowJdg] 矢印判定数
|
|
297
|
-
[frzJdg] フリーズアロー判定数
|
|
298
|
-
[maxCombo] マックスコンボ、フリーズコンボ
|
|
299
|
-
[url] scoreId付きURL
|
|
300
|
-
*/
|
|
301
|
-
// デフォルトフォーマット
|
|
302
|
-
// g_presetObj.resultFormat = `【#danoni[hashTag]】[musicTitle]([keyLabel]) /[maker] /Rank:[rank]/Score:[score]/Playstyle:[playStyle]/[arrowJdg]/[frzJdg]/[maxCombo] [url]`;
|
|
303
|
-
|
|
304
|
-
// MFV2さんフォーマット(オプション設定なし・参考)
|
|
305
|
-
// g_presetObj.resultFormat = `【#danoni[hashTag]】[musicTitle]/[keyLabel] /[maker] /[rank]/[arrowJdg]/[frzJdg]/Mc[maxCombo]/Sco[score]-[exScore] [url]`;
|
|
306
|
-
|
|
307
|
-
/*
|
|
308
|
-
リザルトデータ用のカスタム変数群
|
|
309
|
-
|
|
310
|
-
プロパティを定義するとそれに応じた変数に置換されます。
|
|
311
|
-
右側に定義する値は、g_resultObj配下に定義する必要があります。
|
|
312
|
-
|
|
313
|
-
例) exScore: `exScores`,
|
|
314
|
-
[exScore] -> g_resultObj.exScores
|
|
315
|
-
*/
|
|
316
|
-
g_presetObj.resultVals = {
|
|
317
|
-
// exScore: `exScore`,
|
|
318
|
-
};
|
|
319
|
-
|
|
320
|
-
/*
|
|
321
|
-
リザルトカスタムデータの表示設定
|
|
322
|
-
g_presetObj.resultVals から、リザルト画像データに表示したい項目を列挙します。
|
|
323
|
-
*/
|
|
324
|
-
//g_presetObj.resultValsView = [`exScore`];
|
|
325
|
-
|
|
326
|
-
/*
|
|
327
|
-
------------------------------------------------------------------------
|
|
328
|
-
ラベルテキスト・メッセージの上書き
|
|
329
|
-
https://github.com/cwtickle/danoniplus/wiki/dos-s0009-labelUpdate
|
|
330
|
-
------------------------------------------------------------------------
|
|
331
|
-
*/
|
|
332
|
-
|
|
333
|
-
/**
|
|
334
|
-
* ラベルテキスト (g_lblNameObj) に対応するプロパティを上書きする設定
|
|
335
|
-
* ※danoni_setting.js の他、customjsにも利用可
|
|
336
|
-
* ※設定可能項目についてはdanoni_constants.jsをご覧ください。
|
|
337
|
-
*/
|
|
338
|
-
g_presetObj.lblName = {
|
|
339
|
-
Ja: {
|
|
340
|
-
|
|
341
|
-
},
|
|
342
|
-
En: {
|
|
343
|
-
|
|
344
|
-
},
|
|
345
|
-
};
|
|
346
|
-
|
|
347
|
-
/**
|
|
348
|
-
* オンマウステキスト、確認メッセージ定義 (g_msgObj) に対応するプロパティを上書きする設定
|
|
349
|
-
* ※danoni_setting.js の他、customjsにも利用可
|
|
350
|
-
* ※設定可能項目についてはdanoni_constants.jsをご覧ください。
|
|
351
|
-
*/
|
|
352
|
-
g_presetObj.msg = {
|
|
353
|
-
Ja: {
|
|
354
|
-
|
|
355
|
-
},
|
|
356
|
-
En: {
|
|
357
|
-
|
|
358
|
-
},
|
|
359
|
-
};
|
|
360
|
-
|
|
361
|
-
/**
|
|
362
|
-
* 設定名の上書き可否設定
|
|
363
|
-
*/
|
|
364
|
-
g_presetObj.lblRenames = {
|
|
365
|
-
option: true,
|
|
366
|
-
settingsDisplay: true,
|
|
367
|
-
main: true,
|
|
368
|
-
keyConfig: true,
|
|
369
|
-
result: true,
|
|
370
|
-
};
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
/*
|
|
374
|
-
------------------------------------------------------------------------
|
|
375
|
-
カスタムキー定義
|
|
376
|
-
https://github.com/cwtickle/danoniplus/wiki/dos-s0010-customKeys
|
|
377
|
-
------------------------------------------------------------------------
|
|
378
|
-
*/
|
|
379
|
-
|
|
380
|
-
/**
|
|
381
|
-
* カスタムキー定義(共通)
|
|
382
|
-
* 指定方法は作品別にカスタムキーを定義する方法と同じ(ただし、keyExtraList必須)
|
|
383
|
-
*
|
|
384
|
-
* 定義方法は下記を参照のこと
|
|
385
|
-
* https://github.com/cwtickle/danoniplus/wiki/keys
|
|
386
|
-
* https://github.com/cwtickle/danoniplus/wiki/tips-0004-extrakeys
|
|
387
|
-
*/
|
|
388
|
-
/*
|
|
389
|
-
g_presetObj.keysData = `
|
|
390
|
-
|
|
391
|
-
|keyExtraList=6,9v|
|
|
392
|
-
|color6=0,1,0,1,0,2$2,0,1,0,1,0|
|
|
393
|
-
|chara6=left,leftdia,down,rightdia,right,space$space,left,leftdia,down,rightdia,right|
|
|
394
|
-
|div6=6$6|
|
|
395
|
-
|stepRtn6=0,45,-90,135,180,onigiri$onigiri,0,45,-90,135,180|
|
|
396
|
-
|keyCtrl6=75/0,79/0,76/0,80/0,187/0,32/0$32/0,75/0,79/0,76/0,80/0,187/0|
|
|
397
|
-
|shuffle6=1,1,1,1,1,0$0,1,1,1,1,1|
|
|
398
|
-
|
|
399
|
-
|chara9v=9B_0$9B_0|
|
|
400
|
-
|color9v=1,0,1,0,2,0,1,0,1$9B_0|
|
|
401
|
-
|div9v=9$9|
|
|
402
|
-
|keyCtrl9v=52/0,82/0,70/0,86/0,32/0,78/0,74/0,73/0,57/0$9B_0|
|
|
403
|
-
|pos9v=0,1,2,3,4,5,6,7,8$0,1,2,3,4,5,6,7,8|
|
|
404
|
-
|scroll9v=---::1,1,-1,-1,-1,-1,-1,1,1/flat::1,1,1,1,1,1,1,1,1$9B_0|
|
|
405
|
-
|shuffle9v=9B_0$9B_0|
|
|
406
|
-
|stepRtn9v=90,120,150,180,onigiri,0,30,60,90$9B_0|
|
|
407
|
-
|transKey9v=$9B|
|
|
408
|
-
|
|
409
|
-
`;
|
|
410
|
-
*/
|