danoniplus 31.1.0 → 31.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/js/danoni_main.js +179 -158
- package/js/lib/danoni_constants.js +154 -75
- 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 : 2023/
|
|
7
|
+
* Revised : 2023/04/05
|
|
8
8
|
*
|
|
9
9
|
* https://github.com/cwtickle/danoniplus
|
|
10
10
|
*/
|
|
11
|
-
const g_version = `Ver 31.1
|
|
12
|
-
const g_revisedDate = `2023/
|
|
11
|
+
const g_version = `Ver 31.3.1`;
|
|
12
|
+
const g_revisedDate = `2023/04/05`;
|
|
13
13
|
const g_alphaVersion = ``;
|
|
14
14
|
|
|
15
15
|
// カスタム用バージョン (danoni_custom.js 等で指定可)
|
|
@@ -373,7 +373,7 @@ const splitLF2 = (_str, _delim = `$`) => splitLF(_str).filter(val => val !== ``)
|
|
|
373
373
|
* @returns
|
|
374
374
|
*/
|
|
375
375
|
const makeDedupliArray = (_array1, ..._arrays) =>
|
|
376
|
-
Array.from((new Set([..._array1, ..._arrays.flat()])).values());
|
|
376
|
+
Array.from((new Set([..._array1, ..._arrays.flat()])).values()).filter(val => val !== undefined);
|
|
377
377
|
|
|
378
378
|
/**
|
|
379
379
|
* 二次元配列のコピー
|
|
@@ -396,10 +396,21 @@ const sumData = _array => _array.reduce((p, x) => p + x);
|
|
|
396
396
|
* @param {number} _defaultVal
|
|
397
397
|
* @returns
|
|
398
398
|
*/
|
|
399
|
-
const makeBaseArray = (_array, _minLength, _defaultVal) =>
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
399
|
+
const makeBaseArray = (_array = [], _minLength, _defaultVal) => padArray(_array, [...Array(_minLength)].fill(_defaultVal));
|
|
400
|
+
|
|
401
|
+
/**
|
|
402
|
+
* ベースとする配列に対して別の配列で上書き
|
|
403
|
+
* @param {array} _array
|
|
404
|
+
* @param {array} _baseArray ベースとする配列
|
|
405
|
+
* @returns
|
|
406
|
+
*/
|
|
407
|
+
const padArray = (_array, _baseArray) => {
|
|
408
|
+
_array?.forEach((val, j) => {
|
|
409
|
+
if (hasVal(val)) {
|
|
410
|
+
_baseArray[j] = val;
|
|
411
|
+
}
|
|
412
|
+
});
|
|
413
|
+
return _baseArray;
|
|
403
414
|
};
|
|
404
415
|
|
|
405
416
|
/**
|
|
@@ -979,7 +990,7 @@ const getFontSize = (_str, _maxWidth, _font = getBasicFont(), _maxFontsize = 64,
|
|
|
979
990
|
*/
|
|
980
991
|
const createDescDiv = (_id, _str, _altId = _id) =>
|
|
981
992
|
createDivCss2Label(_id, _str, Object.assign(g_lblPosObj[_altId], {
|
|
982
|
-
siz: getFontSize(_str, g_sWidth, getBasicFont(),
|
|
993
|
+
siz: getFontSize(_str, g_sWidth, getBasicFont(), g_limitObj.mainSiz),
|
|
983
994
|
}));
|
|
984
995
|
|
|
985
996
|
/*-----------------------------------------------------------*/
|
|
@@ -1031,8 +1042,8 @@ const setUserSelect = (_style, _value = C_DIS_NONE) => {
|
|
|
1031
1042
|
* @param {object} _obj (x, y, w, h, siz, align, ...rest)
|
|
1032
1043
|
* @param {...any} _classes
|
|
1033
1044
|
*/
|
|
1034
|
-
const createDivCss2Label = (_id, _text, { x = 0, y = 0, w =
|
|
1035
|
-
siz =
|
|
1045
|
+
const createDivCss2Label = (_id, _text, { x = 0, y = 0, w = g_limitObj.setLblWidth, h = g_limitObj.setLblHeight,
|
|
1046
|
+
siz = g_limitObj.setLblSiz, align = C_ALIGN_CENTER, ...rest } = {}, ..._classes) => {
|
|
1036
1047
|
const div = createDiv(_id, x, y, w, h, [g_cssObj.title_base, ..._classes]);
|
|
1037
1048
|
|
|
1038
1049
|
const style = div.style;
|
|
@@ -1218,8 +1229,8 @@ const deleteDiv = (_parentId, _idName) => {
|
|
|
1218
1229
|
* @param {object} _obj (x, y, w, h, siz, align, title, groupName, initDisabledFlg, ...rest)
|
|
1219
1230
|
* @param {...any} _classes
|
|
1220
1231
|
*/
|
|
1221
|
-
const createCss2Button = (_id, _text, _func = _ => true, { x = 0, y = g_sHeight - 100, w = g_sWidth / 3, h =
|
|
1222
|
-
siz =
|
|
1232
|
+
const createCss2Button = (_id, _text, _func = _ => true, { x = 0, y = g_sHeight - 100, w = g_sWidth / 3, h = g_limitObj.btnHeight,
|
|
1233
|
+
siz = g_limitObj.btnSiz, align = C_ALIGN_CENTER, title = ``, groupName = g_currentPage, initDisabledFlg = true,
|
|
1223
1234
|
resetFunc = _ => true, cxtFunc = _ => true, ...rest } = {}, ..._classes) => {
|
|
1224
1235
|
|
|
1225
1236
|
const div = createDiv(_id, x, y, w, h, [`button_common`, ..._classes]);
|
|
@@ -1315,7 +1326,7 @@ const changeStyle = (_id, { x, y, w, h, siz, align, title, ...rest } = {}) => {
|
|
|
1315
1326
|
* @param {number} _y
|
|
1316
1327
|
*/
|
|
1317
1328
|
const getTitleDivLabel = (_id, _titlename, _x, _y, ..._classes) =>
|
|
1318
|
-
createDivCss2Label(_id, _titlename, { x: _x, y: _y, w: g_sWidth, h: 50, siz:
|
|
1329
|
+
createDivCss2Label(_id, _titlename, { x: _x, y: _y, w: g_sWidth, h: 50, siz: g_limitObj.btnSiz }, ..._classes);
|
|
1319
1330
|
|
|
1320
1331
|
/**
|
|
1321
1332
|
* キーコントロールの初期化
|
|
@@ -1803,8 +1814,8 @@ const getQueryParamVal = _name => {
|
|
|
1803
1814
|
* ローディング文字用ラベルの作成
|
|
1804
1815
|
*/
|
|
1805
1816
|
const getLoadingLabel = _ => createDivCss2Label(`lblLoading`, g_lblNameObj.nowLoading, {
|
|
1806
|
-
x: 0, y: g_sHeight - 40, w: g_sWidth, h:
|
|
1807
|
-
siz:
|
|
1817
|
+
x: 0, y: g_sHeight - 40, w: g_sWidth, h: g_limitObj.setLblHeight,
|
|
1818
|
+
siz: g_limitObj.setLblSiz, align: C_ALIGN_RIGHT,
|
|
1808
1819
|
});
|
|
1809
1820
|
|
|
1810
1821
|
/**
|
|
@@ -1910,15 +1921,14 @@ const initialControl = async () => {
|
|
|
1910
1921
|
Object.assign(g_headerObj, headerConvert(g_rootObj));
|
|
1911
1922
|
const importKeysData = _data => {
|
|
1912
1923
|
keysConvert(dosConvert(_data));
|
|
1913
|
-
g_headerObj.undefinedKeyLists = g_headerObj.undefinedKeyLists.filter(key => g_keyObj[
|
|
1924
|
+
g_headerObj.undefinedKeyLists = g_headerObj.undefinedKeyLists.filter(key => g_keyObj[`${g_keyObj.defaultProp}${key}_0`] === undefined);
|
|
1914
1925
|
};
|
|
1915
1926
|
g_presetObj.keysDataLib.forEach(list => importKeysData(list));
|
|
1916
1927
|
if (g_presetObj.keysData !== undefined) {
|
|
1917
1928
|
importKeysData(g_presetObj.keysData);
|
|
1918
1929
|
}
|
|
1919
1930
|
g_headerObj.keyExtraList = keysConvert(g_rootObj, {
|
|
1920
|
-
keyExtraList: (g_rootObj.keyExtraList
|
|
1921
|
-
makeDedupliArray(g_rootObj.keyExtraList.split(`,`), g_headerObj.undefinedKeyLists) : g_headerObj.undefinedKeyLists),
|
|
1931
|
+
keyExtraList: makeDedupliArray(g_headerObj.undefinedKeyLists, g_rootObj.keyExtraList?.split(`,`)),
|
|
1922
1932
|
});
|
|
1923
1933
|
|
|
1924
1934
|
// デフォルトのカラー・シャッフルグループ設定を退避
|
|
@@ -2089,7 +2099,7 @@ const loadLocalStorage = _ => {
|
|
|
2089
2099
|
* 譜面データを分割して値を取得
|
|
2090
2100
|
* @param {string} _dos 譜面データ
|
|
2091
2101
|
*/
|
|
2092
|
-
const dosConvert = _dos => {
|
|
2102
|
+
const dosConvert = (_dos = ``) => {
|
|
2093
2103
|
|
|
2094
2104
|
const obj = {};
|
|
2095
2105
|
const paramsTmp = g_enableAmpersandSplit ? _dos.split(`&`).join(`|`) : _dos;
|
|
@@ -2228,7 +2238,7 @@ const storeBaseData = (_scoreId, _scoreObj, _keyCtrlPtn) => {
|
|
|
2228
2238
|
const startFrame = getStartFrame(lastFrame, 0, _scoreId);
|
|
2229
2239
|
const firstArrowFrame = getFirstArrowFrame(_scoreObj, _keyCtrlPtn);
|
|
2230
2240
|
const playingFrame = lastFrame - firstArrowFrame;
|
|
2231
|
-
const keyNum = g_keyObj[
|
|
2241
|
+
const keyNum = g_keyObj[`${g_keyObj.defaultProp}${_keyCtrlPtn}`].length;
|
|
2232
2242
|
|
|
2233
2243
|
// 譜面密度グラフ用のデータ作成
|
|
2234
2244
|
const noteCnt = { arrow: [], frz: [] };
|
|
@@ -2735,7 +2745,7 @@ const headerConvert = _dosObj => {
|
|
|
2735
2745
|
}
|
|
2736
2746
|
const keyLists = makeDedupliArray(obj.keyLabels);
|
|
2737
2747
|
obj.keyLists = keyLists.sort((a, b) => parseInt(a) - parseInt(b));
|
|
2738
|
-
obj.undefinedKeyLists = obj.keyLists.filter(key => g_keyObj[
|
|
2748
|
+
obj.undefinedKeyLists = obj.keyLists.filter(key => g_keyObj[`${g_keyObj.defaultProp}${key}_0`] === undefined);
|
|
2739
2749
|
|
|
2740
2750
|
// 譜面変更セレクターの利用有無
|
|
2741
2751
|
obj.difSelectorUse = (setBoolVal(_dosObj.difSelectorUse, obj.keyLabels.length > 5));
|
|
@@ -3217,15 +3227,22 @@ const resetBaseColorList = (_baseObj, _dosObj, { scoreId = `` } = {}) => {
|
|
|
3217
3227
|
|
|
3218
3228
|
const obj = {};
|
|
3219
3229
|
const scoreIdHeader = setScoreIdHeader(scoreId);
|
|
3230
|
+
const getRefData = (_header, _dataName) => {
|
|
3231
|
+
const data = _dosObj[`${_header}${_dataName}`];
|
|
3232
|
+
return data?.startsWith(_header) ? _dosObj[data] : data;
|
|
3233
|
+
}
|
|
3220
3234
|
|
|
3221
3235
|
[``, `Shadow`].forEach(pattern => {
|
|
3222
|
-
const
|
|
3223
|
-
const
|
|
3224
|
-
const _arrowInit = `set${pattern}ColorInit`;
|
|
3225
|
-
const _frzInit = `frz${pattern}ColorInit`;
|
|
3236
|
+
const _arrowCommon = `set${pattern}Color`;
|
|
3237
|
+
const _frzCommon = `frz${pattern}Color`;
|
|
3226
3238
|
|
|
3227
|
-
const
|
|
3228
|
-
const
|
|
3239
|
+
const _name = `${_arrowCommon}${scoreIdHeader}`;
|
|
3240
|
+
const _frzName = `${_frzCommon}${scoreIdHeader}`;
|
|
3241
|
+
const _arrowInit = `${_arrowCommon}Init`;
|
|
3242
|
+
const _frzInit = `${_frzCommon}Init`;
|
|
3243
|
+
|
|
3244
|
+
const arrowColorTxt = getRefData(_arrowCommon, scoreIdHeader) || _dosObj[_arrowCommon];
|
|
3245
|
+
const frzColorTxt = getRefData(_frzCommon, scoreIdHeader) || _dosObj[_frzCommon];
|
|
3229
3246
|
|
|
3230
3247
|
// 矢印色
|
|
3231
3248
|
Object.keys(_baseObj.dfColorgrdSet).forEach(type => {
|
|
@@ -3486,17 +3503,22 @@ const getKeyName = _key => hasVal(g_keyObj[`keyName${_key}`]) ? g_keyObj[`keyNam
|
|
|
3486
3503
|
* 一時的な追加キーの設定
|
|
3487
3504
|
* @param {object} _dosObj
|
|
3488
3505
|
*/
|
|
3489
|
-
const keysConvert = (_dosObj, { keyExtraList = _dosObj.keyExtraList
|
|
3506
|
+
const keysConvert = (_dosObj, { keyExtraList = _dosObj.keyExtraList?.split(`,`) } = {}) => {
|
|
3490
3507
|
|
|
3491
3508
|
if (keyExtraList === undefined) {
|
|
3492
|
-
|
|
3509
|
+
keyExtraList = [];
|
|
3510
|
+
Object.keys(_dosObj).filter(val => val.startsWith(g_keyObj.defaultProp))
|
|
3511
|
+
.forEach(keyName => keyExtraList.push(keyName.slice(g_keyObj.defaultProp.length)));
|
|
3512
|
+
|
|
3513
|
+
if (keyExtraList.length === 0) {
|
|
3514
|
+
return [];
|
|
3515
|
+
}
|
|
3493
3516
|
}
|
|
3494
3517
|
|
|
3495
3518
|
const existParam = (_data, _paramName) => !hasVal(_data) && g_keyObj[_paramName] !== undefined;
|
|
3496
3519
|
const toString = _str => _str;
|
|
3497
3520
|
const toNumber = _num => parseInt(_num, 10);
|
|
3498
3521
|
const toFloat = _num => parseFloat(_num);
|
|
3499
|
-
const toStringOrNumber = _str => isNaN(Number(_str)) ? _str : toNumber(_str);
|
|
3500
3522
|
const toKeyCtrlArray = _str => makeBaseArray(_str.split(`/`).map(n => toNumber(n)), g_keyObj.minKeyCtrlNum, 0);
|
|
3501
3523
|
const toSplitArrayStr = _str => _str.split(`/`).map(n => n);
|
|
3502
3524
|
|
|
@@ -3573,7 +3595,7 @@ const keysConvert = (_dosObj, { keyExtraList = _dosObj.keyExtraList.split(`,`) }
|
|
|
3573
3595
|
const keyPtn = getKeyPtnName(list);
|
|
3574
3596
|
if (list === ``) {
|
|
3575
3597
|
// 空指定の場合は一律同じグループへ割り当て
|
|
3576
|
-
g_keyObj[`${keyheader}_${k + dfPtn}_${ptnCnt}`] = [...Array(g_keyObj[
|
|
3598
|
+
g_keyObj[`${keyheader}_${k + dfPtn}_${ptnCnt}`] = [...Array(g_keyObj[`${g_keyObj.defaultProp}${_key}_${k + dfPtn}`].length)].fill(0);
|
|
3577
3599
|
|
|
3578
3600
|
} else if (g_keyObj[`${_name}${keyPtn}_0`] !== undefined) {
|
|
3579
3601
|
// 他のキーパターン (例: |shuffle8i=8_0| ) を指定した場合、該当があれば既存パターンからコピー
|
|
@@ -3585,7 +3607,9 @@ const keysConvert = (_dosObj, { keyExtraList = _dosObj.keyExtraList.split(`,`) }
|
|
|
3585
3607
|
}
|
|
3586
3608
|
} else {
|
|
3587
3609
|
// 通常の指定方法 (例: |shuffle8i=1,1,1,2,0,0,0,0/1,1,1,1,0,0,0,0| )の場合の取り込み
|
|
3588
|
-
g_keyObj[`${keyheader}_${k + dfPtn}_${ptnCnt}`] =
|
|
3610
|
+
g_keyObj[`${keyheader}_${k + dfPtn}_${ptnCnt}`] =
|
|
3611
|
+
makeBaseArray(list.split(`,`).map(n => isNaN(parseInt(n)) ? n : parseInt(n, 10)),
|
|
3612
|
+
g_keyObj[`${g_keyObj.defaultProp}${_key}_${k + dfPtn}`].length, 0);
|
|
3589
3613
|
ptnCnt++;
|
|
3590
3614
|
}
|
|
3591
3615
|
});
|
|
@@ -3593,10 +3617,10 @@ const keysConvert = (_dosObj, { keyExtraList = _dosObj.keyExtraList.split(`,`) }
|
|
|
3593
3617
|
}
|
|
3594
3618
|
|
|
3595
3619
|
} else if (g_keyObj[`${keyheader}_${dfPtn}_0`] === undefined) {
|
|
3596
|
-
// 特に指定が無い場合は
|
|
3620
|
+
// 特に指定が無い場合はkeyCtrlX_Yの配列長で決定
|
|
3597
3621
|
for (let k = 0; k < g_keyObj.minPatterns; k++) {
|
|
3598
3622
|
const ptnName = `${_key}_${k + dfPtn}`;
|
|
3599
|
-
g_keyObj[`${_name}${ptnName}_0`] = [...Array(g_keyObj[
|
|
3623
|
+
g_keyObj[`${_name}${ptnName}_0`] = [...Array(g_keyObj[`${g_keyObj.defaultProp}${ptnName}`].length)].fill(0);
|
|
3600
3624
|
g_keyObj[`${_name}${ptnName}`] = structuredClone(g_keyObj[`${_name}${ptnName}_0`]);
|
|
3601
3625
|
}
|
|
3602
3626
|
}
|
|
@@ -3642,7 +3666,7 @@ const keysConvert = (_dosObj, { keyExtraList = _dosObj.keyExtraList.split(`,`) }
|
|
|
3642
3666
|
|
|
3643
3667
|
// デフォルト項目がある場合は先に定義
|
|
3644
3668
|
if (_defaultName !== ``) {
|
|
3645
|
-
g_keyObj[pairName][_defaultName] = [...Array(g_keyObj[
|
|
3669
|
+
g_keyObj[pairName][_defaultName] = [...Array(g_keyObj[`${g_keyObj.defaultProp}${_key}_${k + dfPtn}`].length)].fill(_defaultVal);
|
|
3646
3670
|
}
|
|
3647
3671
|
tmpParams[k].split(`/`).forEach(pairs => {
|
|
3648
3672
|
const keyPtn = getKeyPtnName(pairs);
|
|
@@ -3653,7 +3677,9 @@ const keysConvert = (_dosObj, { keyExtraList = _dosObj.keyExtraList.split(`,`) }
|
|
|
3653
3677
|
} else {
|
|
3654
3678
|
// 通常の指定方法(例:|scroll8i=Cross::1,1,1,-1,-1,-1,1,1/Split::1,1,1,1,-1,-1,-1,-1|)から取り込み
|
|
3655
3679
|
const tmpParamPair = pairs.split(`::`);
|
|
3656
|
-
g_keyObj[pairName][tmpParamPair[0]] =
|
|
3680
|
+
g_keyObj[pairName][tmpParamPair[0]] =
|
|
3681
|
+
makeBaseArray(tmpParamPair[1].split(`,`).map(n => parseInt(n, 10)),
|
|
3682
|
+
g_keyObj[`${g_keyObj.defaultProp}${_key}_${k + dfPtn}`].length, _defaultVal);
|
|
3657
3683
|
}
|
|
3658
3684
|
});
|
|
3659
3685
|
}
|
|
@@ -3668,7 +3694,7 @@ const keysConvert = (_dosObj, { keyExtraList = _dosObj.keyExtraList.split(`,`) }
|
|
|
3668
3694
|
// キーパターンの追記 (appendX)
|
|
3669
3695
|
if (setBoolVal(_dosObj[`append${newKey}`])) {
|
|
3670
3696
|
for (let j = 0; ; j++) {
|
|
3671
|
-
if (g_keyObj[
|
|
3697
|
+
if (g_keyObj[`${g_keyObj.defaultProp}${newKey}_${j}`] === undefined) {
|
|
3672
3698
|
break;
|
|
3673
3699
|
}
|
|
3674
3700
|
g_keyObj.dfPtnNum++;
|
|
@@ -3682,8 +3708,11 @@ const keysConvert = (_dosObj, { keyExtraList = _dosObj.keyExtraList.split(`,`) }
|
|
|
3682
3708
|
// キーの最小横幅 (minWidthX)
|
|
3683
3709
|
g_keyObj[`minWidth${newKey}`] = _dosObj[`minWidth${newKey}`] ?? g_keyObj[`minWidth${newKey}`] ?? g_keyObj.minWidthDefault;
|
|
3684
3710
|
|
|
3711
|
+
// キーコンフィグ (keyCtrlX_Y)
|
|
3712
|
+
g_keyObj.minPatterns = newKeyMultiParam(newKey, `keyCtrl`, toKeyCtrlArray, { errCd: `E_0104`, baseCopyFlg: true });
|
|
3713
|
+
|
|
3685
3714
|
// 読込変数の接頭辞 (charaX_Y)
|
|
3686
|
-
|
|
3715
|
+
newKeyMultiParam(newKey, `chara`, toString);
|
|
3687
3716
|
|
|
3688
3717
|
// 矢印色パターン (colorX_Y)
|
|
3689
3718
|
newKeyTripleParam(newKey, `color`);
|
|
@@ -3691,9 +3720,6 @@ const keysConvert = (_dosObj, { keyExtraList = _dosObj.keyExtraList.split(`,`) }
|
|
|
3691
3720
|
// 矢印の回転量指定、キャラクタパターン (stepRtnX_Y)
|
|
3692
3721
|
newKeyTripleParam(newKey, `stepRtn`);
|
|
3693
3722
|
|
|
3694
|
-
// キーコンフィグ (keyCtrlX_Y)
|
|
3695
|
-
newKeyMultiParam(newKey, `keyCtrl`, toKeyCtrlArray, { errCd: `E_0104`, baseCopyFlg: true });
|
|
3696
|
-
|
|
3697
3723
|
// ステップゾーン位置 (posX_Y)
|
|
3698
3724
|
newKeyMultiParam(newKey, `pos`, toFloat);
|
|
3699
3725
|
|
|
@@ -3718,7 +3744,7 @@ const keysConvert = (_dosObj, { keyExtraList = _dosObj.keyExtraList.split(`,`) }
|
|
|
3718
3744
|
}
|
|
3719
3745
|
}
|
|
3720
3746
|
}
|
|
3721
|
-
// posX_Y, divX_Y, divMaxX_Yが未指定の場合は
|
|
3747
|
+
// charaX_Y, posX_Y, keyGroupX_Y, divX_Y, divMaxX_Yが未指定の場合はkeyCtrlX_Yを元に適用
|
|
3722
3748
|
for (let k = 0; k < g_keyObj.minPatterns; k++) {
|
|
3723
3749
|
setKeyDfVal(`${newKey}_${k + dfPtnNum}`);
|
|
3724
3750
|
}
|
|
@@ -3761,9 +3787,11 @@ const keysConvert = (_dosObj, { keyExtraList = _dosObj.keyExtraList.split(`,`) }
|
|
|
3761
3787
|
* @param {string} _ptnName
|
|
3762
3788
|
*/
|
|
3763
3789
|
const setKeyDfVal = _ptnName => {
|
|
3764
|
-
|
|
3765
|
-
|
|
3766
|
-
}
|
|
3790
|
+
const baseLength = g_keyObj[`${g_keyObj.defaultProp}${_ptnName}`].length;
|
|
3791
|
+
g_keyObj[`chara${_ptnName}`] = padArray(g_keyObj[`chara${_ptnName}`], [...Array(baseLength).keys()].map(i => `${i + 1}a`));
|
|
3792
|
+
g_keyObj[`pos${_ptnName}`] = padArray(g_keyObj[`pos${_ptnName}`], [...Array(baseLength).keys()].map(i => i));
|
|
3793
|
+
g_keyObj[`keyGroup${_ptnName}`] = padArray(g_keyObj[`keyGroup${_ptnName}`], [...Array(baseLength)].fill([`0`]));
|
|
3794
|
+
|
|
3767
3795
|
if (g_keyObj[`div${_ptnName}`] === undefined) {
|
|
3768
3796
|
g_keyObj[`div${_ptnName}`] = Math.max(...g_keyObj[`pos${_ptnName}`]) + 1;
|
|
3769
3797
|
}
|
|
@@ -3923,7 +3951,7 @@ const titleInit = _ => {
|
|
|
3923
3951
|
const versionName = `© 2018-${g_revisedDate.slice(0, 4)} ティックル, CW ${g_version}${g_alphaVersion}${customVersion}${releaseDate}`;
|
|
3924
3952
|
|
|
3925
3953
|
let reloadFlg = false;
|
|
3926
|
-
const getLinkSiz = _name => getFontSize(_name, g_sWidth / 2 - 20, getBasicFont(),
|
|
3954
|
+
const getLinkSiz = _name => getFontSize(_name, g_sWidth / 2 - 20, getBasicFont(), g_limitObj.lnkSiz, 12);
|
|
3927
3955
|
|
|
3928
3956
|
/**
|
|
3929
3957
|
* クレジット用リンク作成
|
|
@@ -3941,7 +3969,7 @@ const titleInit = _ => {
|
|
|
3941
3969
|
|
|
3942
3970
|
// Click Here
|
|
3943
3971
|
createCss2Button(`btnStart`, g_lblNameObj.clickHere, _ => clearTimeout(g_timeoutEvtTitleId), {
|
|
3944
|
-
w: g_sWidth, siz:
|
|
3972
|
+
w: g_sWidth, siz: g_limitObj.titleSiz, resetFunc: _ => optionInit(),
|
|
3945
3973
|
}, g_cssObj.button_Start),
|
|
3946
3974
|
|
|
3947
3975
|
// Reset
|
|
@@ -4115,7 +4143,7 @@ const setWindowStyle = (_text, _bkColor, _textColor, _align = C_ALIGN_LEFT) => {
|
|
|
4115
4143
|
|
|
4116
4144
|
// ウィンドウ枠の行を取得するために一時的な枠を作成
|
|
4117
4145
|
const tmplbl = createDivCss2Label(`lblTmpWarning`, _text, {
|
|
4118
|
-
x: 0, y: 70, w: g_sWidth, h: 20, siz:
|
|
4146
|
+
x: 0, y: 70, w: g_sWidth, h: 20, siz: g_limitObj.mainSiz, lineHeight: `15px`, fontFamily: getBasicFont(),
|
|
4119
4147
|
whiteSpace: `normal`,
|
|
4120
4148
|
});
|
|
4121
4149
|
divRoot.appendChild(tmplbl);
|
|
@@ -4126,7 +4154,7 @@ const setWindowStyle = (_text, _bkColor, _textColor, _align = C_ALIGN_LEFT) => {
|
|
|
4126
4154
|
const warnHeight = Math.min(150, Math.max(range.getClientRects().length,
|
|
4127
4155
|
_text.split(`<br>`).length + _text.split(`<p>`).length - 1) * 21);
|
|
4128
4156
|
const lbl = createDivCss2Label(`lblWarning`, _text, {
|
|
4129
|
-
x: 0, y: 70, w: g_sWidth, h: warnHeight, siz:
|
|
4157
|
+
x: 0, y: 70, w: g_sWidth, h: warnHeight, siz: g_limitObj.mainSiz, backgroundColor: _bkColor,
|
|
4130
4158
|
opacity: 0.9, lineHeight: `15px`, color: _textColor, align: _align, fontFamily: getBasicFont(),
|
|
4131
4159
|
whiteSpace: `normal`,
|
|
4132
4160
|
});
|
|
@@ -4232,10 +4260,10 @@ const optionInit = _ => {
|
|
|
4232
4260
|
const setSpriteList = _settingList => {
|
|
4233
4261
|
const optionWidth = (g_sWidth - 450) / 2;
|
|
4234
4262
|
const spriteList = [];
|
|
4235
|
-
_settingList.forEach(setting =>
|
|
4236
|
-
spriteList[setting
|
|
4237
|
-
x: 25, y: setting
|
|
4238
|
-
w: optionWidth + setting
|
|
4263
|
+
Object.keys(_settingList).forEach(setting =>
|
|
4264
|
+
spriteList[setting] = createEmptySprite(optionsprite, `${setting}Sprite`, {
|
|
4265
|
+
x: 25, y: _settingList[setting].heightPos * g_limitObj.setLblHeight + _settingList[setting].y + 20,
|
|
4266
|
+
w: optionWidth + _settingList[setting].dw, h: g_limitObj.setLblHeight + _settingList[setting].dh,
|
|
4239
4267
|
}));
|
|
4240
4268
|
return spriteList;
|
|
4241
4269
|
};
|
|
@@ -4268,23 +4296,8 @@ const createOptionWindow = _sprite => {
|
|
|
4268
4296
|
// 各ボタン用のスプライトを作成
|
|
4269
4297
|
const optionsprite = createOptionSprite(_sprite);
|
|
4270
4298
|
|
|
4271
|
-
// 設定名、縦位置、縦位置差分、幅差分、高さ差分
|
|
4272
|
-
const settingList = [
|
|
4273
|
-
[`difficulty`, 0, -5, 0, 10],
|
|
4274
|
-
[`speed`, 2, 0, 0, 0],
|
|
4275
|
-
[`motion`, 3, 0, 0, 0],
|
|
4276
|
-
[`reverse`, 4, 0, 0, 0],
|
|
4277
|
-
[`scroll`, 4, 0, 0, 0],
|
|
4278
|
-
[`shuffle`, 5.5, 0, 0, 0],
|
|
4279
|
-
[`autoPlay`, 6.5, 0, 0, 0],
|
|
4280
|
-
[`gauge`, 7.5, 0, 0, 0],
|
|
4281
|
-
[`adjustment`, 10.5, 0, 0, 0],
|
|
4282
|
-
[`fadein`, 11.5, 0, 0, 0],
|
|
4283
|
-
[`volume`, 12.5, 0, 0, 0],
|
|
4284
|
-
];
|
|
4285
|
-
|
|
4286
4299
|
// 設定毎に個別のスプライトを作成し、その中にラベル・ボタン類を配置
|
|
4287
|
-
const spriteList = setSpriteList(
|
|
4300
|
+
const spriteList = setSpriteList(g_settingPos.option);
|
|
4288
4301
|
|
|
4289
4302
|
// ---------------------------------------------------
|
|
4290
4303
|
// 難易度 (Difficulty)
|
|
@@ -4337,7 +4350,7 @@ const createOptionWindow = _sprite => {
|
|
|
4337
4350
|
k++;
|
|
4338
4351
|
}
|
|
4339
4352
|
});
|
|
4340
|
-
const overlength = pos *
|
|
4353
|
+
const overlength = pos * g_limitObj.setLblHeight - parseInt(difList.style.height);
|
|
4341
4354
|
difList.scrollTop = (overlength > 0 ? overlength : 0);
|
|
4342
4355
|
};
|
|
4343
4356
|
|
|
@@ -4359,7 +4372,7 @@ const createOptionWindow = _sprite => {
|
|
|
4359
4372
|
g_keyObj.prevKey = g_keyObj.currentKey;
|
|
4360
4373
|
}
|
|
4361
4374
|
}, {
|
|
4362
|
-
x: 430 + _scrollNum * 10, y: 40, w: 20, h: 20, siz:
|
|
4375
|
+
x: 430 + _scrollNum * 10, y: 40, w: 20, h: 20, siz: g_limitObj.jdgCntsSiz,
|
|
4363
4376
|
}, g_cssObj.button_Mini);
|
|
4364
4377
|
};
|
|
4365
4378
|
|
|
@@ -4380,7 +4393,7 @@ const createOptionWindow = _sprite => {
|
|
|
4380
4393
|
difCover.appendChild(
|
|
4381
4394
|
makeDifLblCssButton(`difRandom`, `RANDOM`, 0, _ => {
|
|
4382
4395
|
nextDifficulty(Math.floor(Math.random() * g_headerObj.keyLabels.length));
|
|
4383
|
-
}, { w:
|
|
4396
|
+
}, { w: g_limitObj.difCoverWidth })
|
|
4384
4397
|
);
|
|
4385
4398
|
|
|
4386
4399
|
// 全リスト
|
|
@@ -4389,7 +4402,7 @@ const createOptionWindow = _sprite => {
|
|
|
4389
4402
|
resetDifWindow();
|
|
4390
4403
|
g_stateObj.filterKeys = ``;
|
|
4391
4404
|
createDifWindow();
|
|
4392
|
-
}, { w:
|
|
4405
|
+
}, { w: g_limitObj.difCoverWidth, btnStyle: (g_stateObj.filterKeys === `` ? `Setting` : `Default`) })
|
|
4393
4406
|
);
|
|
4394
4407
|
|
|
4395
4408
|
// キー別フィルタボタン作成
|
|
@@ -4400,13 +4413,13 @@ const createOptionWindow = _sprite => {
|
|
|
4400
4413
|
resetDifWindow();
|
|
4401
4414
|
g_stateObj.filterKeys = targetKey;
|
|
4402
4415
|
createDifWindow(targetKey);
|
|
4403
|
-
}, { w:
|
|
4416
|
+
}, { w: g_limitObj.difCoverWidth, btnStyle: (g_stateObj.filterKeys === targetKey ? `Setting` : `Default`) })
|
|
4404
4417
|
);
|
|
4405
4418
|
if (g_stateObj.filterKeys === targetKey) {
|
|
4406
4419
|
pos = m + 9;
|
|
4407
4420
|
}
|
|
4408
4421
|
});
|
|
4409
|
-
const overlength = pos *
|
|
4422
|
+
const overlength = pos * g_limitObj.setLblHeight - parseInt(difCover.style.height);
|
|
4410
4423
|
difCover.scrollTop = (overlength > 0 ? overlength : 0);
|
|
4411
4424
|
|
|
4412
4425
|
multiAppend(optionsprite, makeDifBtn(-1), makeDifBtn());
|
|
@@ -4425,7 +4438,7 @@ const createOptionWindow = _sprite => {
|
|
|
4425
4438
|
}
|
|
4426
4439
|
};
|
|
4427
4440
|
const lnkDifficulty = makeSettingLblCssButton(`lnkDifficulty`, ``, 0, _ => changeDifficulty(), {
|
|
4428
|
-
y: -10, h:
|
|
4441
|
+
y: -10, h: g_limitObj.setLblHeight + 10, cxtFunc: _ => changeDifficulty(-1),
|
|
4429
4442
|
});
|
|
4430
4443
|
|
|
4431
4444
|
// 譜面選択ボタン(メイン、右回し、左回し)
|
|
@@ -4465,8 +4478,8 @@ const createOptionWindow = _sprite => {
|
|
|
4465
4478
|
const bkColor = window.getComputedStyle(textBaseObj, ``).backgroundColor;
|
|
4466
4479
|
|
|
4467
4480
|
graphObj.id = `graph${_name}`;
|
|
4468
|
-
graphObj.width =
|
|
4469
|
-
graphObj.height =
|
|
4481
|
+
graphObj.width = g_limitObj.graphWidth;
|
|
4482
|
+
graphObj.height = g_limitObj.graphHeight;
|
|
4470
4483
|
graphObj.style.left = `125px`;
|
|
4471
4484
|
graphObj.style.top = `0px`;
|
|
4472
4485
|
graphObj.style.position = `absolute`;
|
|
@@ -4482,7 +4495,7 @@ const createOptionWindow = _sprite => {
|
|
|
4482
4495
|
if (g_headerObj.scoreDetailUse) {
|
|
4483
4496
|
spriteList.speed.appendChild(
|
|
4484
4497
|
createCss2Button(`btnGraph`, `i`, _ => true, {
|
|
4485
|
-
x: -25, y: -60, w: 30, h: 30, siz:
|
|
4498
|
+
x: -25, y: -60, w: 30, h: 30, siz: g_limitObj.jdgCharaSiz, title: g_msgObj.graph,
|
|
4486
4499
|
resetFunc: _ => setScoreDetail(), cxtFunc: _ => setScoreDetail(),
|
|
4487
4500
|
}, g_cssObj.button_Mini)
|
|
4488
4501
|
);
|
|
@@ -4520,7 +4533,7 @@ const createOptionWindow = _sprite => {
|
|
|
4520
4533
|
);
|
|
4521
4534
|
g_settings.scoreDetails.forEach((sd, j) => {
|
|
4522
4535
|
scoreDetail.appendChild(
|
|
4523
|
-
makeDifLblCssButton(`lnk${sd}G`, getStgDetailName(sd), j, _ => changeScoreDetail(j), { w:
|
|
4536
|
+
makeDifLblCssButton(`lnk${sd}G`, getStgDetailName(sd), j, _ => changeScoreDetail(j), { w: g_limitObj.difCoverWidth, btnStyle: (g_stateObj.scoreDetail === sd ? `Setting` : `Default`) })
|
|
4524
4537
|
);
|
|
4525
4538
|
createScText(document.getElementById(`lnk${sd}G`), `${sd}G`, { targetLabel: `lnk${sd}G`, x: -10 });
|
|
4526
4539
|
});
|
|
@@ -4570,8 +4583,8 @@ const createOptionWindow = _sprite => {
|
|
|
4570
4583
|
const startFrame = g_detailObj.startFrame[_scoreId];
|
|
4571
4584
|
const playingFrame = g_detailObj.playingFrameWithBlank[_scoreId];
|
|
4572
4585
|
const speedObj = {
|
|
4573
|
-
speed: { frame: [0], speed: [1], cnt: 0, strokeColor:
|
|
4574
|
-
boost: { frame: [0], speed: [1], cnt: 0, strokeColor:
|
|
4586
|
+
speed: { frame: [0], speed: [1], cnt: 0, strokeColor: g_graphColorObj.speed },
|
|
4587
|
+
boost: { frame: [0], speed: [1], cnt: 0, strokeColor: g_graphColorObj.boost }
|
|
4575
4588
|
};
|
|
4576
4589
|
|
|
4577
4590
|
Object.keys(speedObj).forEach(speedType => {
|
|
@@ -4601,7 +4614,7 @@ const createOptionWindow = _sprite => {
|
|
|
4601
4614
|
let preY;
|
|
4602
4615
|
|
|
4603
4616
|
for (let i = 0; i < speedObj[speedType].frame.length; i++) {
|
|
4604
|
-
const x = speedObj[speedType].frame[i] * (
|
|
4617
|
+
const x = speedObj[speedType].frame[i] * (g_limitObj.graphWidth - 30) / playingFrame + 30;
|
|
4605
4618
|
const y = (speedObj[speedType].speed[i] - 1) * -90 + 105;
|
|
4606
4619
|
|
|
4607
4620
|
context.lineTo(x, preY);
|
|
@@ -4618,7 +4631,7 @@ const createOptionWindow = _sprite => {
|
|
|
4618
4631
|
context.moveTo(lineX, 215);
|
|
4619
4632
|
context.lineTo(lineX + 30, 215);
|
|
4620
4633
|
context.stroke();
|
|
4621
|
-
context.font = `${
|
|
4634
|
+
context.font = `${g_limitObj.difSelectorSiz}px ${getBasicFont()}`;
|
|
4622
4635
|
context.fillText(speedType, lineX + 35, 218);
|
|
4623
4636
|
|
|
4624
4637
|
updateScoreDetailLabel(`Speed`, `${speedType}S`, speedObj[speedType].cnt, j, g_lblNameObj[`s_${speedType}`]);
|
|
@@ -4656,7 +4669,7 @@ const createOptionWindow = _sprite => {
|
|
|
4656
4669
|
context.moveTo(lineX, 215);
|
|
4657
4670
|
context.lineTo(lineX + 20, 215);
|
|
4658
4671
|
context.stroke();
|
|
4659
|
-
context.font = `${
|
|
4672
|
+
context.font = `${g_limitObj.difSelectorSiz}px ${getBasicFont()}`;
|
|
4660
4673
|
context.fillText(lineNames[j], lineX + 20, 218);
|
|
4661
4674
|
});
|
|
4662
4675
|
|
|
@@ -4679,7 +4692,7 @@ const createOptionWindow = _sprite => {
|
|
|
4679
4692
|
const baseLabel = (_bLabel, _bLabelname, _bAlign) =>
|
|
4680
4693
|
document.querySelector(`#detail${_name}`).appendChild(
|
|
4681
4694
|
createDivCss2Label(`${_bLabel}`, `${_bLabelname}`, {
|
|
4682
|
-
x: 10, y: 105 + _pos * 20, w: 100, h: 20, siz:
|
|
4695
|
+
x: 10, y: 105 + _pos * 20, w: 100, h: 20, siz: g_limitObj.difSelectorSiz, align: _bAlign,
|
|
4683
4696
|
})
|
|
4684
4697
|
);
|
|
4685
4698
|
if (document.querySelector(`#data${_label}`) === null) {
|
|
@@ -4696,7 +4709,7 @@ const createOptionWindow = _sprite => {
|
|
|
4696
4709
|
* @param {number} _resolution
|
|
4697
4710
|
*/
|
|
4698
4711
|
const drawBaseLine = (_context, _resolution = 10) => {
|
|
4699
|
-
_context.clearRect(0, 0,
|
|
4712
|
+
_context.clearRect(0, 0, g_limitObj.graphWidth, g_limitObj.graphHeight);
|
|
4700
4713
|
|
|
4701
4714
|
for (let j = 0; j <= 2 * _resolution; j += 5) {
|
|
4702
4715
|
drawLine(_context, j / _resolution, `main`, 2);
|
|
@@ -4717,7 +4730,7 @@ const createOptionWindow = _sprite => {
|
|
|
4717
4730
|
const lineY = (_y - 1) * -90 + 105;
|
|
4718
4731
|
_context.beginPath();
|
|
4719
4732
|
_context.moveTo(30, lineY);
|
|
4720
|
-
_context.lineTo(
|
|
4733
|
+
_context.lineTo(g_limitObj.graphWidth, lineY);
|
|
4721
4734
|
_context.lineWidth = 1;
|
|
4722
4735
|
|
|
4723
4736
|
if (_lineType === `main`) {
|
|
@@ -4747,7 +4760,7 @@ const createOptionWindow = _sprite => {
|
|
|
4747
4760
|
* @param {string} _data
|
|
4748
4761
|
* @param {object} _obj
|
|
4749
4762
|
*/
|
|
4750
|
-
const makeDifInfoLabel = (_lbl, _data, { x = 130, y = 25, w = 125, h = 35, siz =
|
|
4763
|
+
const makeDifInfoLabel = (_lbl, _data, { x = 130, y = 25, w = 125, h = 35, siz = g_limitObj.difSelectorSiz, ...rest } = {}) =>
|
|
4751
4764
|
createDivCss2Label(_lbl, _data, { x, y, w, h, siz, align: C_ALIGN_LEFT, ...rest });
|
|
4752
4765
|
|
|
4753
4766
|
let printData = ``;
|
|
@@ -4811,7 +4824,7 @@ const createOptionWindow = _sprite => {
|
|
|
4811
4824
|
dataDouji.textContent = g_detailObj.toolDif[_scoreId].douji;
|
|
4812
4825
|
dataTate.textContent = g_detailObj.toolDif[_scoreId].tate;
|
|
4813
4826
|
lblArrowInfo2.innerHTML = g_lblNameObj.s_linecnts.split(`{0}`).join(g_detailObj.toolDif[_scoreId].push3cnt);
|
|
4814
|
-
dataArrowInfo.innerHTML = `${arrowCnts + frzCnts} <span style="font-size:${
|
|
4827
|
+
dataArrowInfo.innerHTML = `${arrowCnts + frzCnts} <span style="font-size:${g_limitObj.difSelectorSiz}px;">(${arrowCnts} + ${frzCnts})</span>`;
|
|
4815
4828
|
dataArrowInfo2.innerHTML = `<br>(${g_detailObj.arrowCnt[_scoreId]})<br><br>
|
|
4816
4829
|
(${g_detailObj.frzCnt[_scoreId]})<br><br>
|
|
4817
4830
|
${push3CntStr}`.split(`,`).join(`/`);
|
|
@@ -5233,7 +5246,7 @@ const createOptionWindow = _sprite => {
|
|
|
5233
5246
|
// 譜面名設定 (Difficulty)
|
|
5234
5247
|
const difWidth = parseFloat(lnkDifficulty.style.width);
|
|
5235
5248
|
const difNames = [`${getKeyName(g_keyObj.currentKey)} ${getStgDetailName('key')} / ${g_headerObj.difLabels[g_stateObj.scoreId]}`];
|
|
5236
|
-
lnkDifficulty.style.fontSize = `${getFontSize(difNames[0], difWidth, getBasicFont(),
|
|
5249
|
+
lnkDifficulty.style.fontSize = `${getFontSize(difNames[0], difWidth, getBasicFont(), g_limitObj.setLblSiz)}px`;
|
|
5237
5250
|
|
|
5238
5251
|
if (g_headerObj.makerView) {
|
|
5239
5252
|
difNames.push(`(${g_headerObj.creatorNames[g_stateObj.scoreId]})`);
|
|
@@ -5347,8 +5360,8 @@ const createGeneralSetting = (_obj, _settingName, { unitName = ``,
|
|
|
5347
5360
|
// 右回し・左回しボタン(最内側)
|
|
5348
5361
|
if (skipTerms[2] > 1) {
|
|
5349
5362
|
multiAppend(_obj,
|
|
5350
|
-
makeMiniCssButton(linkId, `RRR`, 0, _ => setSetting(skipTerms[2], _settingName, unitName, roundNum), { dw: -
|
|
5351
|
-
makeMiniCssButton(linkId, `LLL`, 0, _ => setSetting(skipTerms[2] * (-1), _settingName, unitName, roundNum), { dw: -
|
|
5363
|
+
makeMiniCssButton(linkId, `RRR`, 0, _ => setSetting(skipTerms[2], _settingName, unitName, roundNum), { dw: -g_limitObj.setMiniWidth / 2 }),
|
|
5364
|
+
makeMiniCssButton(linkId, `LLL`, 0, _ => setSetting(skipTerms[2] * (-1), _settingName, unitName, roundNum), { dw: -g_limitObj.setMiniWidth / 2 }),
|
|
5352
5365
|
);
|
|
5353
5366
|
}
|
|
5354
5367
|
|
|
@@ -5432,7 +5445,7 @@ const setSetting = (_scrollNum, _settingName, _unitName = ``, _roundNum = 0) =>
|
|
|
5432
5445
|
*/
|
|
5433
5446
|
const makeDisabledLabel = (_id, _heightPos, _defaultStr) => {
|
|
5434
5447
|
return createDivCss2Label(_id, _defaultStr, {
|
|
5435
|
-
x:
|
|
5448
|
+
x: g_limitObj.setLblLeft, y: g_limitObj.setLblHeight * _heightPos,
|
|
5436
5449
|
}, g_cssObj.settings_Disabled);
|
|
5437
5450
|
};
|
|
5438
5451
|
|
|
@@ -5466,7 +5479,7 @@ const setReverseDefault = _ => {
|
|
|
5466
5479
|
const getKeyCtrl = (_localStorage, _extraKeyName = ``) => {
|
|
5467
5480
|
const baseKeyCtrlPtn = _localStorage[`keyCtrlPtn${_extraKeyName}`];
|
|
5468
5481
|
const basePtn = `${g_keyObj.currentKey}_${baseKeyCtrlPtn}`;
|
|
5469
|
-
const baseKeyNum = g_keyObj[
|
|
5482
|
+
const baseKeyNum = g_keyObj[`${g_keyObj.defaultProp}${basePtn}`].length;
|
|
5470
5483
|
|
|
5471
5484
|
if (_localStorage[`keyCtrl${_extraKeyName}`] !== undefined && _localStorage[`keyCtrl${_extraKeyName}`][0].length > 0) {
|
|
5472
5485
|
const prevPtn = g_keyObj.currentPtn;
|
|
@@ -5515,11 +5528,11 @@ const getKeyCtrl = (_localStorage, _extraKeyName = ``) => {
|
|
|
5515
5528
|
*/
|
|
5516
5529
|
const makeSettingLblCssButton = (_id, _name, _heightPos, _func, { x, y, w, h, siz, cxtFunc = _ => true, ...rest } = {}, ..._classes) => {
|
|
5517
5530
|
const tmpObj = {
|
|
5518
|
-
x: x !== undefined ? x :
|
|
5519
|
-
y: y !== undefined ? y :
|
|
5520
|
-
w: w !== undefined ? w :
|
|
5521
|
-
h: h !== undefined ? h :
|
|
5522
|
-
siz: siz !== undefined ? siz :
|
|
5531
|
+
x: x !== undefined ? x : g_limitObj.setLblLeft,
|
|
5532
|
+
y: y !== undefined ? y : g_limitObj.setLblHeight * _heightPos,
|
|
5533
|
+
w: w !== undefined ? w : g_limitObj.setLblWidth,
|
|
5534
|
+
h: h !== undefined ? h : g_limitObj.setLblHeight,
|
|
5535
|
+
siz: siz !== undefined ? siz : g_limitObj.setLblSiz,
|
|
5523
5536
|
cxtFunc: cxtFunc !== undefined ? cxtFunc : _ => true,
|
|
5524
5537
|
};
|
|
5525
5538
|
return createCss2Button(_id, _name, _func, { ...tmpObj, ...rest }, g_cssObj.button_Default, ..._classes);
|
|
@@ -5532,11 +5545,11 @@ const makeSettingLblCssButton = (_id, _name, _heightPos, _func, { x, y, w, h, si
|
|
|
5532
5545
|
* @param {number} _heightPos 上からの配置順
|
|
5533
5546
|
* @param {function} _func
|
|
5534
5547
|
*/
|
|
5535
|
-
const makeDifLblCssButton = (_id, _name, _heightPos, _func, { x = 0, w =
|
|
5548
|
+
const makeDifLblCssButton = (_id, _name, _heightPos, _func, { x = 0, w = g_limitObj.difSelectorWidth, btnStyle = `Default` } = {}) => {
|
|
5536
5549
|
return createCss2Button(_id, _name, _func, {
|
|
5537
|
-
x: x, y:
|
|
5538
|
-
w: w, h:
|
|
5539
|
-
siz:
|
|
5550
|
+
x: x, y: g_limitObj.setLblHeight * _heightPos,
|
|
5551
|
+
w: w, h: g_limitObj.setLblHeight,
|
|
5552
|
+
siz: g_limitObj.difSelectorSiz,
|
|
5540
5553
|
borderStyle: `solid`,
|
|
5541
5554
|
}, g_cssObj[`button_${btnStyle}`], g_cssObj.button_ON);
|
|
5542
5555
|
};
|
|
@@ -5551,8 +5564,8 @@ const makeDifLblCssButton = (_id, _name, _heightPos, _func, { x = 0, w = C_LEN_D
|
|
|
5551
5564
|
const makeMiniCssButton = (_id, _directionFlg, _heightPos, _func, { dx = 0, dy = 0, dw = 0, dh = 0, dsiz = 0, visibility = `visible` } = {}) => {
|
|
5552
5565
|
return createCss2Button(`${_id}${_directionFlg}`, g_settingBtnObj.chara[_directionFlg], _func, {
|
|
5553
5566
|
x: g_settingBtnObj.pos[_directionFlg] + dx,
|
|
5554
|
-
y:
|
|
5555
|
-
w:
|
|
5567
|
+
y: g_limitObj.setLblHeight * _heightPos + dy,
|
|
5568
|
+
w: g_limitObj.setMiniWidth + dw, h: g_limitObj.setLblHeight + dh, siz: g_limitObj.setLblSiz + dsiz,
|
|
5556
5569
|
visibility: visibility
|
|
5557
5570
|
}, g_cssObj.button_Mini);
|
|
5558
5571
|
};
|
|
@@ -5639,8 +5652,8 @@ const createSettingsDisplayWindow = _sprite => {
|
|
|
5639
5652
|
*/
|
|
5640
5653
|
const makeDisabledDisplayLabel = (_id, _heightPos, _widthPos, _defaultStr, _flg) => {
|
|
5641
5654
|
return createDivCss2Label(_id, _defaultStr, {
|
|
5642
|
-
x: 30 + 180 * _widthPos, y: 3 +
|
|
5643
|
-
w: 170, siz:
|
|
5655
|
+
x: 30 + 180 * _widthPos, y: 3 + g_limitObj.setLblHeight * _heightPos,
|
|
5656
|
+
w: 170, siz: g_limitObj.difSelectorSiz,
|
|
5644
5657
|
}, g_cssObj[`button_Disabled${flg}`]);
|
|
5645
5658
|
};
|
|
5646
5659
|
|
|
@@ -5672,16 +5685,9 @@ const createSettingsDisplayWindow = _sprite => {
|
|
|
5672
5685
|
// 各ボタン用のスプライトを作成
|
|
5673
5686
|
createOptionSprite(_sprite);
|
|
5674
5687
|
|
|
5675
|
-
// 設定名、縦位置、縦位置差分、幅差分、高さ差分
|
|
5676
|
-
const settingList = [
|
|
5677
|
-
[`appearance`, 7.4, 10, 0, 0],
|
|
5678
|
-
[`opacity`, 9, 10, 0, 0],
|
|
5679
|
-
[`hitPosition`, 10, 10, 0, 0],
|
|
5680
|
-
];
|
|
5681
|
-
|
|
5682
5688
|
// 設定毎に個別のスプライトを作成し、その中にラベル・ボタン類を配置
|
|
5683
5689
|
const displaySprite = createEmptySprite(optionsprite, `displaySprite`, g_windowObj.displaySprite);
|
|
5684
|
-
const spriteList = setSpriteList(
|
|
5690
|
+
const spriteList = setSpriteList(g_settingPos.settingsDisplay);
|
|
5685
5691
|
|
|
5686
5692
|
_sprite.appendChild(createDivCss2Label(`sdDesc`, g_lblNameObj.sdDesc, g_lblPosObj.sdDesc));
|
|
5687
5693
|
g_displays.forEach((name, j) => makeDisplayButton(name, j % 7, Math.floor(j / 7)));
|
|
@@ -5963,7 +5969,7 @@ const keyConfigInit = (_kcType = g_kcType) => {
|
|
|
5963
5969
|
setKeyConfigCursor();
|
|
5964
5970
|
}, {
|
|
5965
5971
|
x: keyconX, y: 50 + C_KYC_REPHEIGHT * k + keyconY,
|
|
5966
|
-
w: C_ARW_WIDTH, h: C_KYC_REPHEIGHT, siz:
|
|
5972
|
+
w: C_ARW_WIDTH, h: C_KYC_REPHEIGHT, siz: g_limitObj.jdgCntsSiz,
|
|
5967
5973
|
}, g_cssObj.button_Default_NoColor, g_cssObj.title_base)
|
|
5968
5974
|
);
|
|
5969
5975
|
|
|
@@ -6057,7 +6063,7 @@ const keyConfigInit = (_kcType = g_kcType) => {
|
|
|
6057
6063
|
* @returns ボタン
|
|
6058
6064
|
*/
|
|
6059
6065
|
const makeKCButton = (_id, _text, _func, { x = g_sWidth * 5 / 6 - 20, y = 15, w = g_sWidth / 6, h = 18,
|
|
6060
|
-
siz =
|
|
6066
|
+
siz = g_limitObj.jdgCntsSiz, borderStyle = `solid`, cxtFunc, ...rest } = {}, _mainClass = g_cssObj.button_RevOFF, ..._classes) => {
|
|
6061
6067
|
return makeSettingLblCssButton(_id, getStgDetailName(_text), 0, _func, { x, y, w, h, siz, cxtFunc, borderStyle, ...rest }, _mainClass, ..._classes);
|
|
6062
6068
|
};
|
|
6063
6069
|
|
|
@@ -6069,7 +6075,7 @@ const keyConfigInit = (_kcType = g_kcType) => {
|
|
|
6069
6075
|
* @param {*} object (x, y, w, h, siz)
|
|
6070
6076
|
* @returns
|
|
6071
6077
|
*/
|
|
6072
|
-
const makeMiniKCButton = (_id, _directionFlg, _func, { x = g_sWidth * 5 / 6 - 30, y = 15, w = 15, h = 20, siz =
|
|
6078
|
+
const makeMiniKCButton = (_id, _directionFlg, _func, { x = g_sWidth * 5 / 6 - 30, y = 15, w = 15, h = 20, siz = g_limitObj.mainSiz } = {}) => {
|
|
6073
6079
|
return createCss2Button(`${_id}${_directionFlg}`, g_settingBtnObj.chara[_directionFlg], _func,
|
|
6074
6080
|
{ x, y, w, h, siz }, g_cssObj.button_Mini);
|
|
6075
6081
|
};
|
|
@@ -6546,7 +6552,7 @@ const getShadowColor = (_colorPos, _arrowColor) => g_headerObj.setShadowColor[_c
|
|
|
6546
6552
|
*/
|
|
6547
6553
|
const getKeyInfo = _ => {
|
|
6548
6554
|
const keyCtrlPtn = `${g_keyObj.currentKey}_${g_keyObj.currentPtn}`;
|
|
6549
|
-
const keyNum = g_keyObj[
|
|
6555
|
+
const keyNum = g_keyObj[`${g_keyObj.defaultProp}${keyCtrlPtn}`].length;
|
|
6550
6556
|
const posMax = (g_keyObj[`divMax${keyCtrlPtn}`] !== undefined ?
|
|
6551
6557
|
g_keyObj[`divMax${keyCtrlPtn}`] : Math.max(...g_keyObj[`pos${keyCtrlPtn}`]) + 1);
|
|
6552
6558
|
const divideCnt = g_keyObj[`div${keyCtrlPtn}`] - 1;
|
|
@@ -7097,7 +7103,7 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
|
|
|
7097
7103
|
const obj = {};
|
|
7098
7104
|
|
|
7099
7105
|
const scoreIdHeader = setScoreIdHeader(_scoreId, g_stateObj.scoreLockFlg);
|
|
7100
|
-
const keyNum = g_keyObj[
|
|
7106
|
+
const keyNum = g_keyObj[`${g_keyObj.defaultProp}${_keyCtrlPtn}`].length;
|
|
7101
7107
|
obj.arrowData = [];
|
|
7102
7108
|
obj.frzData = [];
|
|
7103
7109
|
obj.dummyArrowData = [];
|
|
@@ -7164,10 +7170,11 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
|
|
|
7164
7170
|
* @param {string} _footer
|
|
7165
7171
|
*/
|
|
7166
7172
|
const setSpeedData = (_header, _scoreNo, _footer = `_data`) => {
|
|
7173
|
+
const dosSpeedData = getRefData(_header, `${_scoreNo}${_footer}`);
|
|
7167
7174
|
const speedData = [];
|
|
7168
7175
|
|
|
7169
|
-
if (hasVal(
|
|
7170
|
-
const tmpArrayData = splitLF(
|
|
7176
|
+
if (hasVal(dosSpeedData) && g_stateObj.d_speed === C_FLG_ON) {
|
|
7177
|
+
const tmpArrayData = splitLF(dosSpeedData);
|
|
7171
7178
|
|
|
7172
7179
|
tmpArrayData.filter(data => hasVal(data)).forEach(tmpData => {
|
|
7173
7180
|
const tmpSpeedData = tmpData.split(`,`);
|
|
@@ -7206,11 +7213,12 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
|
|
|
7206
7213
|
* @param {number} _scoreNo
|
|
7207
7214
|
*/
|
|
7208
7215
|
const setColorData = (_header, _scoreNo) => {
|
|
7216
|
+
const dosColorData = getRefData(_header, `${_scoreNo}_data`);
|
|
7209
7217
|
const colorData = [];
|
|
7210
7218
|
const allFlg = (_header.charAt(0) === `a`);
|
|
7211
7219
|
|
|
7212
|
-
if (hasVal(
|
|
7213
|
-
const tmpArrayData = splitLF(
|
|
7220
|
+
if (hasVal(dosColorData) && g_stateObj.d_color === C_FLG_ON) {
|
|
7221
|
+
const tmpArrayData = splitLF(dosColorData);
|
|
7214
7222
|
|
|
7215
7223
|
tmpArrayData.filter(data => hasVal(data)).forEach(tmpData => {
|
|
7216
7224
|
const tmpColorData = tmpData.split(`,`);
|
|
@@ -7239,7 +7247,7 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
|
|
|
7239
7247
|
* @param {number} _scoreNo
|
|
7240
7248
|
*/
|
|
7241
7249
|
const setCssMotionData = (_header, _scoreNo) => {
|
|
7242
|
-
const dosCssMotionData =
|
|
7250
|
+
const dosCssMotionData = getRefData(`${_header}Motion`, `${_scoreNo}_data`) || _dosObj[`${_header}Motion_data`];
|
|
7243
7251
|
const cssMotionData = [];
|
|
7244
7252
|
|
|
7245
7253
|
if (hasVal(dosCssMotionData) && g_stateObj.d_arroweffect === C_FLG_ON) {
|
|
@@ -7265,7 +7273,7 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
|
|
|
7265
7273
|
* @param {number} _scoreNo
|
|
7266
7274
|
*/
|
|
7267
7275
|
const setScrollchData = (_scoreNo) => {
|
|
7268
|
-
const dosScrollchData =
|
|
7276
|
+
const dosScrollchData = getRefData(`scrollch`, `${_scoreNo}_data`) || _dosObj.scrollch_data;
|
|
7269
7277
|
const scrollchData = [];
|
|
7270
7278
|
|
|
7271
7279
|
if (hasVal(dosScrollchData)) {
|
|
@@ -7285,6 +7293,18 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
|
|
|
7285
7293
|
return [];
|
|
7286
7294
|
};
|
|
7287
7295
|
|
|
7296
|
+
/**
|
|
7297
|
+
* 譜面データに別の関連名が含まれていた場合、関連名の変数を返す
|
|
7298
|
+
* 例) |backA2_data=back_data| -> back_dataで定義された値を使用
|
|
7299
|
+
* @param {string} _header
|
|
7300
|
+
* @param {string} _dataName
|
|
7301
|
+
* @returns
|
|
7302
|
+
*/
|
|
7303
|
+
const getRefData = (_header, _dataName) => {
|
|
7304
|
+
const data = _dosObj[`${_header}${_dataName}`];
|
|
7305
|
+
return data?.startsWith(_header) ? _dosObj[data] : data;
|
|
7306
|
+
}
|
|
7307
|
+
|
|
7288
7308
|
/**
|
|
7289
7309
|
* 譜面データの優先順配列の取得
|
|
7290
7310
|
* @param {string} _header
|
|
@@ -7293,10 +7313,10 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
|
|
|
7293
7313
|
* @returns
|
|
7294
7314
|
*/
|
|
7295
7315
|
const getPriorityList = (_header, _type, _scoreNo) => [
|
|
7296
|
-
|
|
7297
|
-
|
|
7298
|
-
|
|
7299
|
-
|
|
7316
|
+
getRefData(_header, `${_type}${g_localeObj.val}${_scoreNo}_data`),
|
|
7317
|
+
getRefData(_header, `${_type}${g_localeObj.val}_data`),
|
|
7318
|
+
getRefData(_header, `${_type}${_scoreNo}_data`),
|
|
7319
|
+
getRefData(_header, `${_type}_data`)
|
|
7300
7320
|
];
|
|
7301
7321
|
|
|
7302
7322
|
/**
|
|
@@ -7425,16 +7445,17 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
|
|
|
7425
7445
|
|
|
7426
7446
|
/**
|
|
7427
7447
|
* リザルトモーションデータ(結果画面用背景・マスクデータ)の分解
|
|
7428
|
-
* @param {string} _header
|
|
7429
|
-
* @param {string}
|
|
7430
|
-
* @param {string}
|
|
7448
|
+
* @param {string} _header 背景、マスク (back, mask)
|
|
7449
|
+
* @param {string} _resultType リザルトモーションの種類 (result, failedB, failedS)
|
|
7450
|
+
* @param {string} _scoreNo 譜面番号
|
|
7451
|
+
* @param {string} _defaultType _resultTypeが無いときの代替名
|
|
7431
7452
|
*/
|
|
7432
|
-
const makeBackgroundResultData = (_header, _scoreNo,
|
|
7453
|
+
const makeBackgroundResultData = (_header, _resultType, _scoreNo, _defaultType = ``) => {
|
|
7433
7454
|
const dataList = [];
|
|
7434
|
-
const
|
|
7435
|
-
|
|
7436
|
-
if (
|
|
7437
|
-
|
|
7455
|
+
const addDataList = (_type = ``) => dataList.push(...getPriorityList(_header, _type, _scoreNo));
|
|
7456
|
+
addDataList(_resultType);
|
|
7457
|
+
if (_defaultType !== ``) {
|
|
7458
|
+
addDataList(_defaultType);
|
|
7438
7459
|
}
|
|
7439
7460
|
|
|
7440
7461
|
const data = dataList.find((v) => v !== undefined);
|
|
@@ -7512,17 +7533,17 @@ const scoreConvert = (_dosObj, _scoreId, _preblankFrame, _dummyNo = ``,
|
|
|
7512
7533
|
} else {
|
|
7513
7534
|
g_animationData.forEach(sprite => {
|
|
7514
7535
|
[g_headerObj[`${sprite}ResultData`], g_headerObj[`${sprite}ResultMaxDepth`]] =
|
|
7515
|
-
makeBackgroundResultData(
|
|
7536
|
+
makeBackgroundResultData(sprite, `result`, scoreIdHeader);
|
|
7516
7537
|
[g_headerObj[`${sprite}FailedData`], g_headerObj[`${sprite}FailedMaxDepth`]] =
|
|
7517
|
-
makeBackgroundResultData(
|
|
7538
|
+
makeBackgroundResultData(sprite, `failed${g_stateObj.lifeMode.slice(0, 1)}`, scoreIdHeader, `result`);
|
|
7518
7539
|
});
|
|
7519
7540
|
}
|
|
7520
7541
|
|
|
7521
7542
|
// キー変化定義
|
|
7522
7543
|
obj.keychFrames = [0];
|
|
7523
7544
|
obj.keychTarget = [`0`];
|
|
7524
|
-
if (hasVal(
|
|
7525
|
-
const keychdata = splitLF2(
|
|
7545
|
+
if (hasVal(getRefData(`keych`, `${scoreIdHeader}_data`))) {
|
|
7546
|
+
const keychdata = splitLF2(getRefData(`keych`, `${scoreIdHeader}_data`), `,`);
|
|
7526
7547
|
obj.keychFrames.push(...keychdata.filter((val, j) => j % 2 === 0));
|
|
7527
7548
|
obj.keychTarget.push(...keychdata.filter((val, j) => j % 2 === 1));
|
|
7528
7549
|
}
|
|
@@ -7562,7 +7583,7 @@ const calcLifeVal = (_val, _allArrows) => Math.round(_val * g_headerObj.maxLifeV
|
|
|
7562
7583
|
const getLastFrame = (_dataObj, _keyCtrlPtn = `${g_keyObj.currentKey}_${g_keyObj.currentPtn}`) => {
|
|
7563
7584
|
|
|
7564
7585
|
let tmpLastNum = 0;
|
|
7565
|
-
const keyNum = g_keyObj[
|
|
7586
|
+
const keyNum = g_keyObj[`${g_keyObj.defaultProp}${_keyCtrlPtn}`].length;
|
|
7566
7587
|
|
|
7567
7588
|
for (let j = 0; j < keyNum; j++) {
|
|
7568
7589
|
const data = [
|
|
@@ -7589,7 +7610,7 @@ const getLastFrame = (_dataObj, _keyCtrlPtn = `${g_keyObj.currentKey}_${g_keyObj
|
|
|
7589
7610
|
const getFirstArrowFrame = (_dataObj, _keyCtrlPtn = `${g_keyObj.currentKey}_${g_keyObj.currentPtn}`) => {
|
|
7590
7611
|
|
|
7591
7612
|
let tmpFirstNum = Infinity;
|
|
7592
|
-
const keyNum = g_keyObj[
|
|
7613
|
+
const keyNum = g_keyObj[`${g_keyObj.defaultProp}${_keyCtrlPtn}`].length;
|
|
7593
7614
|
|
|
7594
7615
|
for (let j = 0; j < keyNum; j++) {
|
|
7595
7616
|
const data = [
|
|
@@ -8707,7 +8728,7 @@ const mainInit = _ => {
|
|
|
8707
8728
|
const makerView = g_headerObj.makerView ? ` (${g_headerObj.creatorNames[g_stateObj.scoreId]})` : ``;
|
|
8708
8729
|
let difName = `[${getKeyName(g_headerObj.keyLabels[g_stateObj.scoreId])} / ${g_headerObj.difLabels[g_stateObj.scoreId]}${assistFlg}${shuffleName}${makerView}]`;
|
|
8709
8730
|
let creditName = `${musicTitle} / ${artistName}`;
|
|
8710
|
-
if (checkMusicSiz(creditName,
|
|
8731
|
+
if (checkMusicSiz(creditName, g_limitObj.musicTitleSiz) < 12) {
|
|
8711
8732
|
creditName = `${musicTitle}`;
|
|
8712
8733
|
difName = `/ ${artistName} ` + difName;
|
|
8713
8734
|
}
|
|
@@ -8716,7 +8737,7 @@ const mainInit = _ => {
|
|
|
8716
8737
|
|
|
8717
8738
|
// ライフ(数字)
|
|
8718
8739
|
createDivCss2Label(`lblLife`, intLifeVal, {
|
|
8719
|
-
x: 0, y: 30, w: 70, h: 20, siz:
|
|
8740
|
+
x: 0, y: 30, w: 70, h: 20, siz: g_limitObj.jdgCntsSiz, display: g_workObj.lifegaugeDisp,
|
|
8720
8741
|
}, lblInitColor),
|
|
8721
8742
|
|
|
8722
8743
|
// ライフ背景
|
|
@@ -8740,7 +8761,7 @@ const mainInit = _ => {
|
|
|
8740
8761
|
}, g_cssObj.life_Border, g_cssObj.life_BorderColor),
|
|
8741
8762
|
|
|
8742
8763
|
// 曲名・アーティスト名表示
|
|
8743
|
-
createDivCss2Label(`lblCredit`, creditName, Object.assign(g_lblPosObj.lblCredit, { siz: checkMusicSiz(creditName,
|
|
8764
|
+
createDivCss2Label(`lblCredit`, creditName, Object.assign(g_lblPosObj.lblCredit, { siz: checkMusicSiz(creditName, g_limitObj.musicTitleSiz) })),
|
|
8744
8765
|
|
|
8745
8766
|
// 譜面名表示
|
|
8746
8767
|
createDivCss2Label(`lblDifName`, difName, Object.assign(g_lblPosObj.lblDifName, { siz: checkMusicSiz(difName, 12) })),
|
|
@@ -8779,7 +8800,7 @@ const mainInit = _ => {
|
|
|
8779
8800
|
// キャラクタ表示
|
|
8780
8801
|
const charaJ = createDivCss2Label(`chara${jdg}`, ``, {
|
|
8781
8802
|
x: jdgX[j], y: jdgY[j],
|
|
8782
|
-
w:
|
|
8803
|
+
w: g_limitObj.jdgCharaWidth, h: g_limitObj.jdgCharaHeight, siz: g_limitObj.jdgCharaSiz,
|
|
8783
8804
|
opacity: g_stateObj.opacity / 100, display: g_workObj.judgmentDisp,
|
|
8784
8805
|
}, g_cssObj.common_ii);
|
|
8785
8806
|
charaJ.setAttribute(`cnt`, 0);
|
|
@@ -8792,14 +8813,14 @@ const mainInit = _ => {
|
|
|
8792
8813
|
// コンボ表示
|
|
8793
8814
|
createDivCss2Label(`combo${jdg}`, ``, {
|
|
8794
8815
|
x: jdgX[j] + 170, y: jdgY[j],
|
|
8795
|
-
w:
|
|
8816
|
+
w: g_limitObj.jdgCharaWidth, h: g_limitObj.jdgCharaHeight, siz: g_limitObj.jdgCharaSiz,
|
|
8796
8817
|
opacity: g_stateObj.opacity / 100, display: g_workObj.judgmentDisp,
|
|
8797
8818
|
}, g_cssObj[`common_${jdgCombos[j]}`]),
|
|
8798
8819
|
|
|
8799
8820
|
// Fast/Slow表示
|
|
8800
8821
|
createDivCss2Label(`diff${jdg}`, ``, {
|
|
8801
8822
|
x: jdgX[j] + 170, y: jdgY[j] + 25,
|
|
8802
|
-
w:
|
|
8823
|
+
w: g_limitObj.jdgCharaWidth, h: g_limitObj.jdgCharaHeight, siz: g_limitObj.mainSiz,
|
|
8803
8824
|
opacity: g_stateObj.opacity / 100, display: g_workObj.fastslowDisp,
|
|
8804
8825
|
}, g_cssObj.common_combo),
|
|
8805
8826
|
|
|
@@ -9630,7 +9651,7 @@ const mainInit = _ => {
|
|
|
9630
9651
|
} else if (/\[fontSize=\d+\]/.test(g_wordObj.wordDat)) {
|
|
9631
9652
|
|
|
9632
9653
|
// フォントサイズ変更
|
|
9633
|
-
const fontSize = setIntVal(g_wordObj.wordDat.match(/\d+/)[0],
|
|
9654
|
+
const fontSize = setIntVal(g_wordObj.wordDat.match(/\d+/)[0], g_limitObj.mainSiz);
|
|
9634
9655
|
g_wordSprite.style.fontSize = `${fontSize}px`;
|
|
9635
9656
|
|
|
9636
9657
|
} else {
|
|
@@ -9760,8 +9781,8 @@ const changeAppearanceFilter = (_appearance, _num = 10) => {
|
|
|
9760
9781
|
*/
|
|
9761
9782
|
const makeCounterSymbol = (_id, _x, _class, _heightPos, _text, _display = C_DIS_INHERIT) => {
|
|
9762
9783
|
return createDivCss2Label(_id, _text, {
|
|
9763
|
-
x: _x, y:
|
|
9764
|
-
w:
|
|
9784
|
+
x: _x, y: g_limitObj.jdgCntsHeight * _heightPos,
|
|
9785
|
+
w: g_limitObj.jdgCntsWidth, h: g_limitObj.jdgCntsHeight, siz: g_limitObj.jdgCntsSiz, align: C_ALIGN_RIGHT,
|
|
9765
9786
|
display: _display,
|
|
9766
9787
|
}, _class);
|
|
9767
9788
|
};
|
|
@@ -10727,9 +10748,9 @@ const resultInit = _ => {
|
|
|
10727
10748
|
* @param {string} _text
|
|
10728
10749
|
* @param {string} _align
|
|
10729
10750
|
*/
|
|
10730
|
-
const makeCssResultPlayData = (_id, _x, _class, _heightPos, _text, _align = C_ALIGN_CENTER, { w = 400, siz =
|
|
10751
|
+
const makeCssResultPlayData = (_id, _x, _class, _heightPos, _text, _align = C_ALIGN_CENTER, { w = 400, siz = g_limitObj.mainSiz } = {}) =>
|
|
10731
10752
|
createDivCss2Label(_id, _text, {
|
|
10732
|
-
x: _x, y:
|
|
10753
|
+
x: _x, y: g_limitObj.setMiniSiz * _heightPos, w, h: g_limitObj.setMiniSiz, siz, align: _align,
|
|
10733
10754
|
}, _class);
|
|
10734
10755
|
|
|
10735
10756
|
/**
|
|
@@ -10742,7 +10763,7 @@ const makeCssResultPlayData = (_id, _x, _class, _heightPos, _text, _align = C_AL
|
|
|
10742
10763
|
* @param {string} _align
|
|
10743
10764
|
*/
|
|
10744
10765
|
const makeCssResultSymbol = (_id, _x, _class, _heightPos, _text, _align = C_ALIGN_LEFT) =>
|
|
10745
|
-
makeCssResultPlayData(_id, _x, _class, _heightPos, _text, _align, { w: 150, siz:
|
|
10766
|
+
makeCssResultPlayData(_id, _x, _class, _heightPos, _text, _align, { w: 150, siz: g_limitObj.jdgCntsSiz });
|
|
10746
10767
|
|
|
10747
10768
|
// ライセンス原文、以下は削除しないでください
|
|
10748
10769
|
/*-----------------------------------------------------------*/
|