danoniplus 27.2.0 → 27.3.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 +183 -294
- package/js/lib/danoni_constants.js +239 -15
- 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 : 2022/
|
|
7
|
+
* Revised : 2022/04/10
|
|
8
8
|
*
|
|
9
9
|
* https://github.com/cwtickle/danoniplus
|
|
10
10
|
*/
|
|
11
|
-
const g_version = `Ver 27.
|
|
12
|
-
const g_revisedDate = `2022/
|
|
11
|
+
const g_version = `Ver 27.3.0`;
|
|
12
|
+
const g_revisedDate = `2022/04/10`;
|
|
13
13
|
const g_alphaVersion = ``;
|
|
14
14
|
|
|
15
15
|
// カスタム用バージョン (danoni_custom.js 等で指定可)
|
|
@@ -41,11 +41,11 @@ let g_localVersion2 = ``;
|
|
|
41
41
|
*/
|
|
42
42
|
const current = _ => {
|
|
43
43
|
if (document.currentScript) {
|
|
44
|
-
return document.currentScript.src;
|
|
44
|
+
return encodeURI(document.currentScript.src);
|
|
45
45
|
}
|
|
46
46
|
const scripts = document.getElementsByTagName(`script`);
|
|
47
47
|
const targetScript = scripts[scripts.length - 1];
|
|
48
|
-
return targetScript.src;
|
|
48
|
+
return encodeURI(targetScript.src);
|
|
49
49
|
};
|
|
50
50
|
const g_rootPath = current().match(/(^.*\/)/)[0];
|
|
51
51
|
const g_remoteFlg = g_rootPath.match(`^https://cwtickle.github.io/danoniplus/`) !== null;
|
|
@@ -885,6 +885,18 @@ const getFontSize = (_str, _maxWidth, _font = getBasicFont(), _maxFontsize = 64,
|
|
|
885
885
|
return _minFontsize;
|
|
886
886
|
};
|
|
887
887
|
|
|
888
|
+
/**
|
|
889
|
+
* 補足説明部分のラベル作成
|
|
890
|
+
* @param {string} _id
|
|
891
|
+
* @param {string} _str
|
|
892
|
+
* @param {string} _altId
|
|
893
|
+
* @returns
|
|
894
|
+
*/
|
|
895
|
+
const createDescDiv = (_id, _str, _altId = _id) =>
|
|
896
|
+
createDivCss2Label(_id, _str, Object.assign(g_lblPosObj[_altId], {
|
|
897
|
+
siz: getFontSize(_str, g_sWidth, getBasicFont(), C_SIZ_MAIN),
|
|
898
|
+
}));
|
|
899
|
+
|
|
888
900
|
/*-----------------------------------------------------------*/
|
|
889
901
|
/* ラベル・ボタン・オブジェクトの作成 */
|
|
890
902
|
/*-----------------------------------------------------------*/
|
|
@@ -967,18 +979,20 @@ const createImg = (_id, _imgPath, _x, _y, _width, _height) => {
|
|
|
967
979
|
|
|
968
980
|
/**
|
|
969
981
|
* ColorPickerの作成
|
|
970
|
-
* @param {string}
|
|
971
|
-
* @param {string}
|
|
982
|
+
* @param {string} _parentObj
|
|
983
|
+
* @param {string} _id
|
|
984
|
+
* @param {function} _func
|
|
972
985
|
* @param {object} _obj
|
|
973
986
|
* @returns
|
|
974
987
|
*/
|
|
975
|
-
const createColorPicker = (_parentObj, _id, { x = 0, y = 0 } = {}) => {
|
|
988
|
+
const createColorPicker = (_parentObj, _id, _func, { x = 0, y = 0 } = {}) => {
|
|
976
989
|
const picker = document.createElement(`input`);
|
|
977
990
|
picker.setAttribute(`type`, `color`);
|
|
978
991
|
picker.id = _id;
|
|
979
992
|
picker.style.left = `${x}px`;
|
|
980
993
|
picker.style.top = `${y}px`;
|
|
981
994
|
picker.style.position = `absolute`;
|
|
995
|
+
picker.addEventListener(`change`, _func);
|
|
982
996
|
_parentObj.appendChild(picker);
|
|
983
997
|
return picker;
|
|
984
998
|
};
|
|
@@ -1866,6 +1880,7 @@ const initialControl = async () => {
|
|
|
1866
1880
|
getScoreDetailData(j);
|
|
1867
1881
|
}
|
|
1868
1882
|
}
|
|
1883
|
+
g_customJsObj.preTitle.forEach(func => func());
|
|
1869
1884
|
titleInit();
|
|
1870
1885
|
};
|
|
1871
1886
|
|
|
@@ -1959,7 +1974,8 @@ const loadChartFile = async (_scoreId = g_stateObj.scoreId) => {
|
|
|
1959
1974
|
|
|
1960
1975
|
const dosInput = document.querySelector(`#dos`);
|
|
1961
1976
|
const divRoot = document.querySelector(`#divRoot`);
|
|
1962
|
-
const queryDos = getQueryParamVal(`dos`) !== null ?
|
|
1977
|
+
const queryDos = getQueryParamVal(`dos`) !== null ?
|
|
1978
|
+
`dos/${getQueryParamVal('dos')}.txt` : encodeURI(document.querySelector(`#externalDos`)?.value ?? ``);
|
|
1963
1979
|
|
|
1964
1980
|
if (dosInput === null && queryDos === ``) {
|
|
1965
1981
|
makeWarningWindow(g_msgInfoObj.E_0023);
|
|
@@ -3650,6 +3666,17 @@ const titleInit = _ => {
|
|
|
3650
3666
|
let reloadFlg = false;
|
|
3651
3667
|
const getLinkSiz = _name => getFontSize(_name, g_sWidth / 2 - 20, getBasicFont(), C_LBL_LNKSIZE, 12);
|
|
3652
3668
|
|
|
3669
|
+
/**
|
|
3670
|
+
* クレジット用リンク作成
|
|
3671
|
+
* @param {string} _id
|
|
3672
|
+
* @param {string} _text
|
|
3673
|
+
* @param {string} _url
|
|
3674
|
+
* @returns
|
|
3675
|
+
*/
|
|
3676
|
+
const createCreditBtn = (_id, _text, _url) =>
|
|
3677
|
+
createCss2Button(_id, _text, _ => true,
|
|
3678
|
+
Object.assign(g_lblPosObj[_id], { siz: getLinkSiz(_text), resetFunc: _ => openLink(_url) }), g_cssObj.button_Default);
|
|
3679
|
+
|
|
3653
3680
|
// ボタン描画
|
|
3654
3681
|
multiAppend(divRoot,
|
|
3655
3682
|
|
|
@@ -3670,63 +3697,49 @@ const titleInit = _ => {
|
|
|
3670
3697
|
localStorage.setItem(g_localStorageUrl, JSON.stringify(g_localStorage));
|
|
3671
3698
|
reloadFlg = true;
|
|
3672
3699
|
}
|
|
3673
|
-
}, {
|
|
3674
|
-
x: 0, y: g_sHeight - 20, w: g_sWidth / 4, h: 16, siz: 12, title: g_msgObj.dataReset,
|
|
3700
|
+
}, Object.assign(g_lblPosObj.btnReset, {
|
|
3675
3701
|
resetFunc: _ => {
|
|
3676
3702
|
if (reloadFlg) {
|
|
3677
3703
|
location.reload();
|
|
3678
3704
|
}
|
|
3679
3705
|
},
|
|
3680
|
-
}, g_cssObj.button_Reset),
|
|
3706
|
+
}), g_cssObj.button_Reset),
|
|
3681
3707
|
|
|
3682
3708
|
// ロケール切替
|
|
3683
|
-
createCss2Button(`btnReload`, g_localeObj.val, _ => true,
|
|
3684
|
-
|
|
3685
|
-
|
|
3686
|
-
|
|
3687
|
-
|
|
3688
|
-
|
|
3689
|
-
|
|
3690
|
-
|
|
3691
|
-
|
|
3709
|
+
createCss2Button(`btnReload`, g_localeObj.val, _ => true,
|
|
3710
|
+
Object.assign(g_lblPosObj.btnReload, {
|
|
3711
|
+
resetFunc: _ => {
|
|
3712
|
+
g_localeObj.num = (++g_localeObj.num) % g_localeObj.list.length;
|
|
3713
|
+
g_langStorage.locale = g_localeObj.list[g_localeObj.num];
|
|
3714
|
+
localStorage.setItem(`danoni-locale`, JSON.stringify(g_langStorage));
|
|
3715
|
+
location.reload();
|
|
3716
|
+
},
|
|
3717
|
+
}), g_cssObj.button_Start),
|
|
3692
3718
|
|
|
3693
3719
|
// ヘルプ
|
|
3694
|
-
createCss2Button(`btnHelp`, `?`, _ => true,
|
|
3695
|
-
|
|
3696
|
-
|
|
3697
|
-
|
|
3720
|
+
createCss2Button(`btnHelp`, `?`, _ => true,
|
|
3721
|
+
Object.assign(g_lblPosObj.btnHelp, {
|
|
3722
|
+
resetFunc: _ => openLink(`https://github.com/cwtickle/danoniplus/wiki/AboutGameSystem`),
|
|
3723
|
+
}), g_cssObj.button_Setting),
|
|
3698
3724
|
|
|
3699
3725
|
// 製作者表示
|
|
3700
|
-
|
|
3701
|
-
x: 0, y: g_sHeight - 50, w: g_sWidth / 2, h: C_LNK_HEIGHT,
|
|
3702
|
-
siz: getLinkSiz(`${g_lblNameObj.maker}: ${g_headerObj.tuningInit}`), align: C_ALIGN_LEFT,
|
|
3703
|
-
title: g_headerObj.creatorUrl,
|
|
3704
|
-
resetFunc: _ => openLink(g_headerObj.creatorUrl),
|
|
3705
|
-
}, g_cssObj.button_Default),
|
|
3726
|
+
createCreditBtn(`lnkMaker`, `${g_lblNameObj.maker}: ${g_headerObj.tuningInit}`, g_headerObj.creatorUrl),
|
|
3706
3727
|
|
|
3707
3728
|
// アーティスト表示
|
|
3708
|
-
|
|
3709
|
-
x: g_sWidth / 2, y: g_sHeight - 50, w: g_sWidth / 2, h: C_LNK_HEIGHT,
|
|
3710
|
-
siz: getLinkSiz(`${g_lblNameObj.artist}: ${g_headerObj.artistName}`), align: C_ALIGN_LEFT,
|
|
3711
|
-
title: g_headerObj.artistUrl,
|
|
3712
|
-
resetFunc: _ => openLink(g_headerObj.artistUrl),
|
|
3713
|
-
}, g_cssObj.button_Default),
|
|
3729
|
+
createCreditBtn(`lnkArtist`, `${g_lblNameObj.artist}: ${g_headerObj.artistName}`, g_headerObj.artistUrl),
|
|
3714
3730
|
|
|
3715
3731
|
// バージョン描画
|
|
3716
|
-
createCss2Button(
|
|
3717
|
-
|
|
3718
|
-
|
|
3719
|
-
|
|
3720
|
-
|
|
3721
|
-
resetFunc: _ => openLink(`https://github.com/cwtickle/danoniplus`),
|
|
3722
|
-
}, g_cssObj.button_Tweet),
|
|
3732
|
+
createCss2Button(`lnkVersion`, versionName, _ => true,
|
|
3733
|
+
Object.assign(g_lblPosObj.lnkVersion, {
|
|
3734
|
+
siz: getFontSize(versionName, g_sWidth * 3 / 4 - 20, getBasicFont(), 12),
|
|
3735
|
+
resetFunc: _ => openLink(`https://github.com/cwtickle/danoniplus`),
|
|
3736
|
+
}), g_cssObj.button_Tweet),
|
|
3723
3737
|
|
|
3724
3738
|
// セキュリティリンク
|
|
3725
|
-
createCss2Button(`lnkComparison`, `🛡`, _ => true,
|
|
3726
|
-
|
|
3727
|
-
|
|
3728
|
-
|
|
3729
|
-
}, g_cssObj.button_Tweet),
|
|
3739
|
+
createCss2Button(`lnkComparison`, `🛡`, _ => true,
|
|
3740
|
+
Object.assign(g_lblPosObj.lnkComparison, {
|
|
3741
|
+
resetFunc: _ => openLink(`https://github.com/cwtickle/danoniplus/security/policy`),
|
|
3742
|
+
}), g_cssObj.button_Tweet),
|
|
3730
3743
|
);
|
|
3731
3744
|
|
|
3732
3745
|
// コメントエリア作成
|
|
@@ -3746,19 +3759,11 @@ const titleInit = _ => {
|
|
|
3746
3759
|
}
|
|
3747
3760
|
} else {
|
|
3748
3761
|
multiAppend(divRoot,
|
|
3749
|
-
|
|
3750
|
-
createDivCss2Label(`lblComment`, convCommentVal, {
|
|
3751
|
-
x: 0, y: 70, w: g_sWidth, h: g_sHeight - 180, siz: C_SIZ_DIFSELECTOR, align: C_ALIGN_LEFT,
|
|
3752
|
-
overflow: `auto`, background: `#222222`, color: `#cccccc`, display: C_DIS_NONE,
|
|
3753
|
-
}),
|
|
3754
|
-
|
|
3762
|
+
createDivCss2Label(`lblComment`, convCommentVal, g_lblPosObj.lblComment),
|
|
3755
3763
|
createCss2Button(`btnComment`, g_lblNameObj.comment, _ => {
|
|
3756
3764
|
const lblCommentDef = lblComment.style.display;
|
|
3757
3765
|
lblComment.style.display = (lblCommentDef === C_DIS_NONE ? C_DIS_INHERIT : C_DIS_NONE);
|
|
3758
|
-
},
|
|
3759
|
-
x: g_sWidth - 160, y: (g_sHeight / 2) + 150, w: 140, h: 50, siz: 20, border: `solid 1px #999999`,
|
|
3760
|
-
}, g_cssObj.button_Default),
|
|
3761
|
-
|
|
3766
|
+
}, g_lblPosObj.btnComment, g_cssObj.button_Default),
|
|
3762
3767
|
);
|
|
3763
3768
|
setUserSelect(lblComment.style, `text`);
|
|
3764
3769
|
}
|
|
@@ -3896,31 +3901,31 @@ const commonSettingBtn = _labelName => {
|
|
|
3896
3901
|
multiAppend(divRoot,
|
|
3897
3902
|
|
|
3898
3903
|
// タイトル画面へ戻る
|
|
3899
|
-
createCss2Button(`btnBack`, g_lblNameObj.b_back, _ => true,
|
|
3900
|
-
|
|
3901
|
-
|
|
3904
|
+
createCss2Button(`btnBack`, g_lblNameObj.b_back, _ => true,
|
|
3905
|
+
Object.assign(g_lblPosObj.btnBack, {
|
|
3906
|
+
animationName: (g_initialFlg ? `` : `smallToNormalY`), resetFunc: _ => titleInit(),
|
|
3907
|
+
}), g_cssObj.button_Back),
|
|
3902
3908
|
|
|
3903
3909
|
// キーコンフィグ画面へ移動
|
|
3904
|
-
createCss2Button(`btnKeyConfig`, g_lblNameObj.b_keyConfig, _ => true,
|
|
3905
|
-
|
|
3906
|
-
|
|
3907
|
-
|
|
3910
|
+
createCss2Button(`btnKeyConfig`, g_lblNameObj.b_keyConfig, _ => true,
|
|
3911
|
+
Object.assign(g_lblPosObj.btnKeyConfig, {
|
|
3912
|
+
animationName: (g_initialFlg ? `` : `smallToNormalY`), resetFunc: _ => keyConfigInit(`Main`),
|
|
3913
|
+
}), g_cssObj.button_Setting),
|
|
3908
3914
|
|
|
3909
3915
|
// プレイ開始
|
|
3910
3916
|
makePlayButton(_ => loadMusic()),
|
|
3911
3917
|
|
|
3912
3918
|
// Display設定へ移動
|
|
3913
|
-
createCss2Button(`btn${_labelName}`, `>`, _ => true,
|
|
3914
|
-
|
|
3915
|
-
|
|
3916
|
-
|
|
3917
|
-
}, g_cssObj.button_Mini),
|
|
3919
|
+
createCss2Button(`btn${_labelName}`, `>`, _ => true,
|
|
3920
|
+
Object.assign(g_lblPosObj.btnSwitchSetting, {
|
|
3921
|
+
title: g_msgObj[`to${_labelName}`], resetFunc: _ => g_jumpSettingWindow[g_currentPage](),
|
|
3922
|
+
}), g_cssObj.button_Mini),
|
|
3918
3923
|
|
|
3919
3924
|
// データセーブフラグの切替
|
|
3920
|
-
createCss2Button(`btnSave`, g_lblNameObj.dataSave, evt => switchSave(evt),
|
|
3921
|
-
|
|
3922
|
-
|
|
3923
|
-
|
|
3925
|
+
createCss2Button(`btnSave`, g_lblNameObj.dataSave, evt => switchSave(evt),
|
|
3926
|
+
Object.assign(g_lblPosObj.btnSave, {
|
|
3927
|
+
cxtFunc: evt => switchSave(evt),
|
|
3928
|
+
}), g_cssObj.button_Default, (g_stateObj.dataSaveFlg ? g_cssObj.button_ON : g_cssObj.button_OFF)),
|
|
3924
3929
|
);
|
|
3925
3930
|
};
|
|
3926
3931
|
|
|
@@ -3928,13 +3933,11 @@ const commonSettingBtn = _labelName => {
|
|
|
3928
3933
|
* PLAYボタンの作成
|
|
3929
3934
|
* @param {function} _func
|
|
3930
3935
|
*/
|
|
3931
|
-
const makePlayButton = _func =>
|
|
3932
|
-
|
|
3933
|
-
x: g_sWidth * 2 / 3,
|
|
3936
|
+
const makePlayButton = _func => createCss2Button(`btnPlay`, g_lblNameObj.b_play, _ => true,
|
|
3937
|
+
Object.assign(g_lblPosObj.btnPlay, {
|
|
3934
3938
|
animationName: (g_initialFlg ? `` : `smallToNormalY`),
|
|
3935
3939
|
resetFunc: _func,
|
|
3936
|
-
}, g_cssObj.button_Next);
|
|
3937
|
-
};
|
|
3940
|
+
}), g_cssObj.button_Next);
|
|
3938
3941
|
|
|
3939
3942
|
/**
|
|
3940
3943
|
* 設定・オプション画面初期化
|
|
@@ -4246,13 +4249,12 @@ const createOptionWindow = _sprite => {
|
|
|
4246
4249
|
createScoreDetail(`Speed`),
|
|
4247
4250
|
createScoreDetail(`Density`),
|
|
4248
4251
|
createScoreDetail(`ToolDif`, false),
|
|
4249
|
-
makeSettingLblCssButton(`lnkScoreDetailB`, `- - -`, 0, _ => changeScoreDetail(-1),
|
|
4250
|
-
|
|
4251
|
-
},
|
|
4252
|
-
|
|
4253
|
-
|
|
4254
|
-
|
|
4255
|
-
}, g_cssObj.button_RevON),
|
|
4252
|
+
makeSettingLblCssButton(`lnkScoreDetailB`, `- - -`, 0, _ => changeScoreDetail(-1),
|
|
4253
|
+
g_lblPosObj.lnkScoreDetailB, g_cssObj.button_RevON),
|
|
4254
|
+
makeSettingLblCssButton(`lnkScoreDetail`, `${getStgDetailName(g_stateObj.scoreDetail)}`, 0, _ => changeScoreDetail(),
|
|
4255
|
+
Object.assign(g_lblPosObj.lnkScoreDetail, {
|
|
4256
|
+
cxtFunc: _ => changeScoreDetail(-1),
|
|
4257
|
+
}), g_cssObj.button_RevON),
|
|
4256
4258
|
);
|
|
4257
4259
|
viewScText();
|
|
4258
4260
|
}
|
|
@@ -4497,24 +4499,22 @@ const createOptionWindow = _sprite => {
|
|
|
4497
4499
|
`${obj.playingTime}\r\n`;
|
|
4498
4500
|
}
|
|
4499
4501
|
multiAppend(detailToolDif,
|
|
4500
|
-
makeDifInfoLabel(`lblTooldif`, g_lblNameObj.s_level,
|
|
4501
|
-
makeDifInfoLabel(`dataTooldif`, ``,
|
|
4502
|
-
makeDifInfoLabel(`lblDouji`, g_lblNameObj.s_douji),
|
|
4503
|
-
makeDifInfoLabel(`lblTate`, g_lblNameObj.s_tate,
|
|
4504
|
-
makeDifInfoLabel(`dataDouji`, ``,
|
|
4505
|
-
makeDifInfoLabel(`dataTate`, ``,
|
|
4506
|
-
makeDifInfoLabel(`lblArrowInfo`, g_lblNameObj.s_cnts,
|
|
4507
|
-
makeDifInfoLabel(`dataArrowInfo`, ``,
|
|
4508
|
-
makeDifInfoLabel(`lblArrowInfo2`, ``,
|
|
4509
|
-
makeDifInfoLabel(`dataArrowInfo2`, ``,
|
|
4502
|
+
makeDifInfoLabel(`lblTooldif`, g_lblNameObj.s_level, g_lblPosObj.lblTooldif),
|
|
4503
|
+
makeDifInfoLabel(`dataTooldif`, ``, g_lblPosObj.dataTooldif),
|
|
4504
|
+
makeDifInfoLabel(`lblDouji`, g_lblNameObj.s_douji, g_lblPosObj.lblDouji),
|
|
4505
|
+
makeDifInfoLabel(`lblTate`, g_lblNameObj.s_tate, g_lblPosObj.lblTate),
|
|
4506
|
+
makeDifInfoLabel(`dataDouji`, ``, g_lblPosObj.dataDouji),
|
|
4507
|
+
makeDifInfoLabel(`dataTate`, ``, g_lblPosObj.dataTate),
|
|
4508
|
+
makeDifInfoLabel(`lblArrowInfo`, g_lblNameObj.s_cnts, g_lblPosObj.lblArrowInfo),
|
|
4509
|
+
makeDifInfoLabel(`dataArrowInfo`, ``, g_lblPosObj.dataArrowInfo),
|
|
4510
|
+
makeDifInfoLabel(`lblArrowInfo2`, ``, g_lblPosObj.lblArrowInfo2),
|
|
4511
|
+
makeDifInfoLabel(`dataArrowInfo2`, ``, g_lblPosObj.dataArrowInfo2),
|
|
4510
4512
|
makeSettingLblCssButton(`lnkDifInfo`, g_lblNameObj.s_print, 0, _ => {
|
|
4511
4513
|
copyTextToClipboard(
|
|
4512
4514
|
`****** ${g_lblNameObj.s_printTitle} [${g_version}] ******\r\n\r\n`
|
|
4513
4515
|
+ `\t${g_lblNameObj.s_printHeader}\r\n\r\n${printData}`, g_msgInfoObj.I_0003
|
|
4514
4516
|
);
|
|
4515
|
-
},
|
|
4516
|
-
x: 10, y: 30, w: 100, borderStyle: `solid`
|
|
4517
|
-
}, g_cssObj.button_RevON),
|
|
4517
|
+
}, g_lblPosObj.lnkDifInfo, g_cssObj.button_RevON),
|
|
4518
4518
|
);
|
|
4519
4519
|
createScText(lnkDifInfo, `DifInfo`, { targetLabel: `lnkDifInfo`, x: -10 });
|
|
4520
4520
|
};
|
|
@@ -4564,12 +4564,10 @@ const createOptionWindow = _sprite => {
|
|
|
4564
4564
|
];
|
|
4565
4565
|
|
|
4566
4566
|
spriteList.scroll.appendChild(
|
|
4567
|
-
createCss2Button(`btnReverse`, `${g_lblNameObj.Reverse}:${getStgDetailName(g_stateObj.reverse)}`, evt => setReverse(evt.target),
|
|
4568
|
-
|
|
4569
|
-
|
|
4570
|
-
|
|
4571
|
-
cxtFunc: evt => setReverse(evt.target),
|
|
4572
|
-
}, g_cssObj.button_Default, g_cssObj[`button_Rev${g_stateObj.reverse}`])
|
|
4567
|
+
createCss2Button(`btnReverse`, `${g_lblNameObj.Reverse}:${getStgDetailName(g_stateObj.reverse)}`, evt => setReverse(evt.target),
|
|
4568
|
+
Object.assign(g_lblPosObj.btnReverse, {
|
|
4569
|
+
cxtFunc: evt => setReverse(evt.target),
|
|
4570
|
+
}), g_cssObj.button_Default, g_cssObj[`button_Rev${g_stateObj.reverse}`])
|
|
4573
4571
|
);
|
|
4574
4572
|
spriteList[g_settings.scrolls.length > 1 ? `reverse` : `scroll`].style.display = C_DIS_NONE;
|
|
4575
4573
|
} else {
|
|
@@ -4604,12 +4602,7 @@ const createOptionWindow = _sprite => {
|
|
|
4604
4602
|
spriteList.gauge.appendChild(createLblSetting(`Gauge`));
|
|
4605
4603
|
|
|
4606
4604
|
// ゲージ設定詳細 縦位置: ゲージ設定+1
|
|
4607
|
-
spriteList.gauge.appendChild(
|
|
4608
|
-
createDivCss2Label(`lblGauge2`, ``, {
|
|
4609
|
-
x: C_LEN_SETLBL_LEFT - 35, y: C_LEN_SETLBL_HEIGHT,
|
|
4610
|
-
w: C_LEN_SETLBL_WIDTH + 60, h: C_LEN_SETLBL_HEIGHT * 2, siz: 11,
|
|
4611
|
-
})
|
|
4612
|
-
);
|
|
4605
|
+
spriteList.gauge.appendChild(createDivCss2Label(`lblGauge2`, ``, g_lblPosObj.lblGauge2));
|
|
4613
4606
|
|
|
4614
4607
|
/**
|
|
4615
4608
|
* ゲージ設定メイン
|
|
@@ -4795,9 +4788,8 @@ const createOptionWindow = _sprite => {
|
|
|
4795
4788
|
// 縦位置: 11 スライダーあり
|
|
4796
4789
|
spriteList.fadein.appendChild(createLblSetting(`Fadein`));
|
|
4797
4790
|
|
|
4798
|
-
const lnkFadein = createDivCss2Label(`lnkFadein`, `${g_stateObj.fadein}${g_lblNameObj.percent}`,
|
|
4799
|
-
|
|
4800
|
-
}, g_cssObj.settings_FadeinBar);
|
|
4791
|
+
const lnkFadein = createDivCss2Label(`lnkFadein`, `${g_stateObj.fadein}${g_lblNameObj.percent}`,
|
|
4792
|
+
g_lblPosObj.lnkFadein, g_cssObj.settings_FadeinBar);
|
|
4801
4793
|
spriteList.fadein.appendChild(lnkFadein);
|
|
4802
4794
|
|
|
4803
4795
|
const setFadein = _sign => {
|
|
@@ -4813,9 +4805,8 @@ const createOptionWindow = _sprite => {
|
|
|
4813
4805
|
makeMiniCssButton(`lnkFadein`, `L`, 0, _ => setFadein(-1)),
|
|
4814
4806
|
|
|
4815
4807
|
// フェードインのスライダー処理
|
|
4816
|
-
createDivCss2Label(`lblFadeinBar`, `<input id="fadeinSlider" type="range" value="${g_stateObj.fadein}" min="0" max="99" step="1">`,
|
|
4817
|
-
|
|
4818
|
-
}),
|
|
4808
|
+
createDivCss2Label(`lblFadeinBar`, `<input id="fadeinSlider" type="range" value="${g_stateObj.fadein}" min="0" max="99" step="1">`,
|
|
4809
|
+
g_lblPosObj.lblFadeinBar),
|
|
4819
4810
|
|
|
4820
4811
|
)
|
|
4821
4812
|
|
|
@@ -5274,12 +5265,7 @@ const settingsDisplayInit = _ => {
|
|
|
5274
5265
|
createSettingsDisplayWindow(divRoot);
|
|
5275
5266
|
|
|
5276
5267
|
// ショートカットキーメッセージ
|
|
5277
|
-
divRoot.appendChild(
|
|
5278
|
-
createDivCss2Label(`scMsg`, g_lblNameObj.sdShortcutDesc, {
|
|
5279
|
-
x: 0, y: g_sHeight - 45, w: g_sWidth, h: 20,
|
|
5280
|
-
siz: getFontSize(g_lblNameObj.sdShortcutDesc, g_sWidth, getBasicFont(), C_SIZ_MAIN),
|
|
5281
|
-
})
|
|
5282
|
-
);
|
|
5268
|
+
divRoot.appendChild(createDescDiv(`scMsg`, g_lblNameObj.sdShortcutDesc));
|
|
5283
5269
|
|
|
5284
5270
|
// ユーザカスタムイベント(初期)
|
|
5285
5271
|
g_customJsObj.settingsDisplay.forEach(func => func());
|
|
@@ -5365,11 +5351,7 @@ const createSettingsDisplayWindow = _sprite => {
|
|
|
5365
5351
|
const displaySprite = createEmptySprite(optionsprite, `displaySprite`, g_windowObj.displaySprite);
|
|
5366
5352
|
const spriteList = setSpriteList(settingList);
|
|
5367
5353
|
|
|
5368
|
-
_sprite.appendChild(
|
|
5369
|
-
createDivCss2Label(`sdDesc`, g_lblNameObj.sdDesc, {
|
|
5370
|
-
x: 0, y: 65, w: g_sWidth, h: 20, siz: C_SIZ_MAIN,
|
|
5371
|
-
})
|
|
5372
|
-
);
|
|
5354
|
+
_sprite.appendChild(createDivCss2Label(`sdDesc`, g_lblNameObj.sdDesc, g_lblPosObj.sdDesc));
|
|
5373
5355
|
g_displays.forEach((name, j) => makeDisplayButton(name, j % 7, Math.floor(j / 7)));
|
|
5374
5356
|
|
|
5375
5357
|
// ---------------------------------------------------
|
|
@@ -5383,16 +5365,13 @@ const createSettingsDisplayWindow = _sprite => {
|
|
|
5383
5365
|
|
|
5384
5366
|
// Hidden+/Sudden+初期値用スライダー、ロックボタン
|
|
5385
5367
|
multiAppend(spriteList.appearance,
|
|
5386
|
-
createDivCss2Label(`lblAppearancePos`, `${g_hidSudObj.filterPos}${g_lblNameObj.percent}`,
|
|
5387
|
-
|
|
5388
|
-
|
|
5389
|
-
|
|
5390
|
-
|
|
5391
|
-
|
|
5392
|
-
|
|
5393
|
-
x: C_LEN_SETLBL_LEFT + C_LEN_SETLBL_WIDTH - 40, y: 0, w: 40, h: C_LEN_SETLBL_HEIGHT, siz: 12,
|
|
5394
|
-
borderStyle: `solid`, cxtFunc: evt => setLockView(evt.target),
|
|
5395
|
-
}, g_cssObj.button_Default, g_cssObj[`button_Rev${g_stateObj.filterLock}`]),
|
|
5368
|
+
createDivCss2Label(`lblAppearancePos`, `${g_hidSudObj.filterPos}${g_lblNameObj.percent}`, g_lblPosObj.lblAppearancePos),
|
|
5369
|
+
createDivCss2Label(`lblAppearanceBar`, `<input id="appearanceSlider" type="range" value="${g_hidSudObj.filterPos}" min="0" max="100" step="1">`,
|
|
5370
|
+
g_lblPosObj.lblAppearanceBar),
|
|
5371
|
+
createCss2Button(`lnkLockBtn`, g_lblNameObj.filterLock, evt => setLockView(evt.target),
|
|
5372
|
+
Object.assign(g_lblPosObj.lnkLockBtn, {
|
|
5373
|
+
cxtFunc: evt => setLockView(evt.target),
|
|
5374
|
+
}), g_cssObj.button_Default, g_cssObj[`button_Rev${g_stateObj.filterLock}`]),
|
|
5396
5375
|
);
|
|
5397
5376
|
|
|
5398
5377
|
const setLockView = (_btn) => {
|
|
@@ -5488,17 +5467,10 @@ const keyConfigInit = (_kcType = g_kcType) => {
|
|
|
5488
5467
|
`<div class="settings_Title">${g_lblNameObj.key}</div><div class="settings_Title2">${g_lblNameObj.config}</div>`
|
|
5489
5468
|
.replace(/[\t\n]/g, ``), 0, 15, g_cssObj.flex_centering),
|
|
5490
5469
|
|
|
5491
|
-
|
|
5492
|
-
.split(`{1}:`).join(g_isMac ? `` : `Delete:`),
|
|
5493
|
-
x: 0, y: 68, w: g_sWidth, h: 20,
|
|
5494
|
-
siz: getFontSize(g_lblNameObj.kcDesc, g_sWidth, getBasicFont(), C_SIZ_MAIN),
|
|
5495
|
-
}),
|
|
5496
|
-
|
|
5497
|
-
createDivCss2Label(`kcShuffleDesc`, g_lblNameObj.kcShuffleDesc, {
|
|
5498
|
-
x: 5, y: g_sHeight - 125, w: g_sWidth, h: 20, align: C_ALIGN_LEFT,
|
|
5499
|
-
siz: getFontSize(g_lblNameObj.kcShuffleDesc, g_sWidth, getBasicFont(), C_SIZ_MAIN),
|
|
5500
|
-
}),
|
|
5470
|
+
createDescDiv(`kcDesc`, g_lblNameObj.kcDesc.split(`{0}`).join(g_kCd[C_KEY_RETRY])
|
|
5471
|
+
.split(`{1}:`).join(g_isMac ? `` : `Delete:`)),
|
|
5501
5472
|
|
|
5473
|
+
createDescDiv(`kcShuffleDesc`, g_lblNameObj.kcShuffleDesc),
|
|
5502
5474
|
);
|
|
5503
5475
|
|
|
5504
5476
|
// キーの一覧を表示
|
|
@@ -5789,26 +5761,17 @@ const keyConfigInit = (_kcType = g_kcType) => {
|
|
|
5789
5761
|
viewGroup(_type);
|
|
5790
5762
|
};
|
|
5791
5763
|
|
|
5792
|
-
const scMsg = g_lblNameObj.kcShortcutDesc.split(`{0}`).join(g_isMac ? `Shift+${g_kCd[g_headerObj.keyRetry]}` : g_kCd[g_headerObj.keyTitleBack])
|
|
5793
|
-
.split(`{1}`).join(g_kCd[g_headerObj.keyRetry]);
|
|
5794
|
-
|
|
5795
5764
|
multiAppend(divRoot,
|
|
5796
5765
|
|
|
5797
5766
|
// ショートカットキーメッセージ
|
|
5798
|
-
|
|
5799
|
-
`
|
|
5800
|
-
{
|
|
5801
|
-
x: 0, y: g_sHeight - 45, w: g_sWidth, h: 20,
|
|
5802
|
-
siz: getFontSize(scMsg, g_sWidth, getBasicFont(), C_SIZ_MAIN),
|
|
5803
|
-
}),
|
|
5767
|
+
createDescDiv(`scMsg`, g_lblNameObj.kcShortcutDesc.split(`{0}`).join(g_isMac ? `Shift+${g_kCd[g_headerObj.keyRetry]}` : g_kCd[g_headerObj.keyTitleBack])
|
|
5768
|
+
.split(`{1}`).join(g_kCd[g_headerObj.keyRetry]), `scKcMsg`),
|
|
5804
5769
|
|
|
5805
5770
|
// 別キーモード警告メッセージ
|
|
5806
5771
|
createDivCss2Label(
|
|
5807
5772
|
`kcMsg`,
|
|
5808
5773
|
hasVal(g_keyObj[`transKey${keyCtrlPtn}`]) ? g_lblNameObj.transKeyDesc : ``,
|
|
5809
|
-
|
|
5810
|
-
x: 0, y: g_sHeight - 25, w: g_sWidth, h: 20, siz: C_SIZ_MAIN,
|
|
5811
|
-
}, g_cssObj.keyconfig_warning
|
|
5774
|
+
g_lblPosObj.kcMsg, g_cssObj.keyconfig_warning
|
|
5812
5775
|
),
|
|
5813
5776
|
|
|
5814
5777
|
// キーコンフィグタイプ切替ボタン
|
|
@@ -5968,10 +5931,9 @@ const keyConfigInit = (_kcType = g_kcType) => {
|
|
|
5968
5931
|
if ([`Default`, `Type0`].includes(g_colorType)) {
|
|
5969
5932
|
colorPickSprite.style.display = C_DIS_NONE;
|
|
5970
5933
|
}
|
|
5971
|
-
const pickPos = { x: 0, w: 50, h: 15, siz: 11, align: C_ALIGN_LEFT, background: `#${g_headerObj.baseBrightFlg ? `eeeeee` : `111111`}80` };
|
|
5972
5934
|
multiAppend(colorPickSprite,
|
|
5973
|
-
createDivCss2Label(`lblPickArrow`, g_lblNameObj.s_arrow, Object.assign({ y: 0 }, pickPos)),
|
|
5974
|
-
createDivCss2Label(`lblPickFrz`, g_lblNameObj.s_frz, Object.assign({ y: 140 }, pickPos)),
|
|
5935
|
+
createDivCss2Label(`lblPickArrow`, g_lblNameObj.s_arrow, Object.assign({ y: 0 }, g_lblPosObj.pickPos)),
|
|
5936
|
+
createDivCss2Label(`lblPickFrz`, g_lblNameObj.s_frz, Object.assign({ y: 140 }, g_lblPosObj.pickPos)),
|
|
5975
5937
|
createCss2Button(`lnkColorCopy`, `[↓]`, _ => {
|
|
5976
5938
|
if (window.confirm(g_msgObj.colorCopyConfirm)) {
|
|
5977
5939
|
for (let j = 0; j < g_headerObj.setColor.length; j++) {
|
|
@@ -5980,7 +5942,7 @@ const keyConfigInit = (_kcType = g_kcType) => {
|
|
|
5980
5942
|
document.getElementById(`pickfrz${val}${j}`).value = g_headerObj[`frzColor${g_colorType}`][j][k]);
|
|
5981
5943
|
}
|
|
5982
5944
|
}
|
|
5983
|
-
},
|
|
5945
|
+
}, g_lblPosObj.lnkColorCopy, g_cssObj.button_Start),
|
|
5984
5946
|
);
|
|
5985
5947
|
|
|
5986
5948
|
/**
|
|
@@ -5990,10 +5952,8 @@ const keyConfigInit = (_kcType = g_kcType) => {
|
|
|
5990
5952
|
* @param {function} _func
|
|
5991
5953
|
* @param {object} _obj
|
|
5992
5954
|
*/
|
|
5993
|
-
const createColorPickWindow = (_j, _type, _func, { x = 0, y = 15 } = {}) =>
|
|
5994
|
-
|
|
5995
|
-
picker.addEventListener(`change`, _func);
|
|
5996
|
-
};
|
|
5955
|
+
const createColorPickWindow = (_j, _type, _func, { x = 0, y = 15 } = {}) =>
|
|
5956
|
+
createColorPicker(colorPickSprite, `pick${_type}${_j}`, _func, { x, y: y + 25 * _j });
|
|
5997
5957
|
|
|
5998
5958
|
for (let j = 0; j < g_headerObj.setColor.length; j++) {
|
|
5999
5959
|
createColorPickWindow(j, `arrow`, _ => {
|
|
@@ -6043,21 +6003,15 @@ const keyConfigInit = (_kcType = g_kcType) => {
|
|
|
6043
6003
|
g_currentj = 0;
|
|
6044
6004
|
g_currentk = 0;
|
|
6045
6005
|
g_prevKey = 0;
|
|
6046
|
-
}, {
|
|
6047
|
-
x: g_sWidth / 3, y: g_sHeight - 75,
|
|
6048
|
-
w: g_sWidth / 3, h: C_BTN_HEIGHT / 2, siz: C_LBL_BTNSIZE * 2 / 3,
|
|
6006
|
+
}, Object.assign(g_lblPosObj.btnKcBack, {
|
|
6049
6007
|
resetFunc: _ => (g_baseDisp === `Settings` ? optionInit() : settingsDisplayInit()),
|
|
6050
|
-
}, g_cssObj.button_Back),
|
|
6008
|
+
}), g_cssObj.button_Back),
|
|
6051
6009
|
|
|
6052
|
-
createDivCss2Label(`lblPattern`, `${g_lblNameObj.KeyPattern}: ${g_keyObj.currentPtn === -1 ?
|
|
6053
|
-
|
|
6054
|
-
w: g_sWidth / 3, h: C_BTN_HEIGHT / 2,
|
|
6055
|
-
}),
|
|
6010
|
+
createDivCss2Label(`lblPattern`, `${g_lblNameObj.KeyPattern}: ${g_keyObj.currentPtn === -1 ?
|
|
6011
|
+
'Self' : g_keyObj.currentPtn + 1}${lblTransKey}`, g_lblPosObj.lblPattern),
|
|
6056
6012
|
|
|
6057
6013
|
// パターン変更ボタン描画(右回り)
|
|
6058
|
-
createCss2Button(`btnPtnChangeR`, `>>`, _ => true, {
|
|
6059
|
-
x: g_sWidth / 2, y: g_sHeight - 100,
|
|
6060
|
-
w: g_sWidth / 6, h: C_BTN_HEIGHT / 2, siz: C_LBL_BTNSIZE * 2 / 3,
|
|
6014
|
+
createCss2Button(`btnPtnChangeR`, `>>`, _ => true, Object.assign(g_lblPosObj.btnPtnChangeR, {
|
|
6061
6015
|
resetFunc: _ => {
|
|
6062
6016
|
const tempPtn = searchPattern(g_keyObj.currentPtn + 1, 1, g_headerObj.transKeyUse, `transKey`);
|
|
6063
6017
|
g_keyObj.currentPtn = (g_keyObj[`keyCtrl${g_keyObj.currentKey}_${tempPtn}`] !== undefined ?
|
|
@@ -6065,12 +6019,10 @@ const keyConfigInit = (_kcType = g_kcType) => {
|
|
|
6065
6019
|
|
|
6066
6020
|
keyConfigInit();
|
|
6067
6021
|
},
|
|
6068
|
-
}, g_cssObj.button_Setting),
|
|
6022
|
+
}), g_cssObj.button_Setting),
|
|
6069
6023
|
|
|
6070
6024
|
// パターン変更ボタン描画(左回り)
|
|
6071
|
-
createCss2Button(`btnPtnChangeL`, `<<`, _ => true, {
|
|
6072
|
-
x: 0, y: g_sHeight - 100,
|
|
6073
|
-
w: g_sWidth / 6, h: C_BTN_HEIGHT / 2, siz: C_LBL_BTNSIZE * 2 / 3,
|
|
6025
|
+
createCss2Button(`btnPtnChangeL`, `<<`, _ => true, Object.assign(g_lblPosObj.btnPtnChangeL, {
|
|
6074
6026
|
resetFunc: _ => {
|
|
6075
6027
|
const tempPtn = searchPattern(g_keyObj.currentPtn - 1, -1, g_headerObj.transKeyUse, `transKey`);
|
|
6076
6028
|
g_keyObj.currentPtn = (g_keyObj[`keyCtrl${g_keyObj.currentKey}_${tempPtn}`] !== undefined ?
|
|
@@ -6078,7 +6030,7 @@ const keyConfigInit = (_kcType = g_kcType) => {
|
|
|
6078
6030
|
|
|
6079
6031
|
keyConfigInit();
|
|
6080
6032
|
},
|
|
6081
|
-
}, g_cssObj.button_Setting),
|
|
6033
|
+
}), g_cssObj.button_Setting),
|
|
6082
6034
|
|
|
6083
6035
|
// キーコンフィグリセットボタン描画
|
|
6084
6036
|
createCss2Button(`btnReset`, g_lblNameObj.b_reset, _ => {
|
|
@@ -6093,10 +6045,7 @@ const keyConfigInit = (_kcType = g_kcType) => {
|
|
|
6093
6045
|
resetCursor(Number(g_kcType === `Replaced`));
|
|
6094
6046
|
keyconSprite.scrollLeft = - maxLeftX;
|
|
6095
6047
|
}
|
|
6096
|
-
},
|
|
6097
|
-
x: 0, y: g_sHeight - 75,
|
|
6098
|
-
w: g_sWidth / 3, h: C_BTN_HEIGHT / 2, siz: C_LBL_BTNSIZE * 2 / 3,
|
|
6099
|
-
}, g_cssObj.button_Reset),
|
|
6048
|
+
}, g_lblPosObj.btnKcReset, g_cssObj.button_Reset),
|
|
6100
6049
|
|
|
6101
6050
|
// プレイ開始
|
|
6102
6051
|
makePlayButton(_ => loadMusic())
|
|
@@ -7996,10 +7945,9 @@ const MainInit = _ => {
|
|
|
7996
7945
|
}, g_cssObj.main_stepKeyDown),
|
|
7997
7946
|
|
|
7998
7947
|
// ヒット時モーション
|
|
7999
|
-
createColorObject2(`stepHit${j}`, {
|
|
8000
|
-
x: -15, y: -15, w: C_ARW_WIDTH + 30, h: C_ARW_WIDTH + 30,
|
|
7948
|
+
createColorObject2(`stepHit${j}`, Object.assign(g_lblPosObj.stepHit, {
|
|
8001
7949
|
rotate: g_workObj.stepHitRtn[j], styleName: `StepHit`, opacity: 0,
|
|
8002
|
-
}, g_cssObj.main_stepDefault),
|
|
7950
|
+
}), g_cssObj.main_stepDefault),
|
|
8003
7951
|
|
|
8004
7952
|
);
|
|
8005
7953
|
}
|
|
@@ -8020,23 +7968,13 @@ const MainInit = _ => {
|
|
|
8020
7968
|
|
|
8021
7969
|
// Hidden+, Sudden+用のライン、パーセント表示
|
|
8022
7970
|
const filterCss = g_stateObj.filterLock === C_FLG_OFF ? g_cssObj.life_Failed : g_cssObj.life_Cleared;
|
|
8023
|
-
[`filterBar0`, `filterBar1`, `borderBar0`, `borderBar1`].forEach(obj =>
|
|
8024
|
-
mainSprite.appendChild(
|
|
8025
|
-
createColorObject2(`${obj}`, {
|
|
8026
|
-
w: g_headerObj.playingWidth - 50, h: 1, styleName: `lifeBar`,
|
|
8027
|
-
opacity: 0.0625,
|
|
8028
|
-
}, filterCss)
|
|
8029
|
-
);
|
|
8030
|
-
});
|
|
7971
|
+
[`filterBar0`, `filterBar1`, `borderBar0`, `borderBar1`].forEach(obj =>
|
|
7972
|
+
mainSprite.appendChild(createColorObject2(obj, g_lblPosObj.filterBar, filterCss)));
|
|
8031
7973
|
borderBar0.style.top = `${g_posObj.stepDiffY}px`;
|
|
8032
7974
|
borderBar1.style.top = `${g_posObj.stepDiffY + g_posObj.arrowHeight}px`;
|
|
8033
7975
|
|
|
8034
7976
|
if (g_appearanceRanges.includes(g_stateObj.appearance)) {
|
|
8035
|
-
mainSprite.appendChild(
|
|
8036
|
-
createDivCss2Label(`filterView`, ``, {
|
|
8037
|
-
x: g_headerObj.playingWidth - 70, y: 0, w: 10, h: 10, siz: 10, align: C_ALIGN_RIGHT,
|
|
8038
|
-
})
|
|
8039
|
-
);
|
|
7977
|
+
mainSprite.appendChild(createDivCss2Label(`filterView`, ``, g_lblPosObj.filterView));
|
|
8040
7978
|
if (g_stateObj.d_filterline === C_FLG_ON) {
|
|
8041
7979
|
[`filterBar0`, `filterBar1`, `filterView`].forEach(obj => {
|
|
8042
7980
|
$id(obj).opacity = g_stateObj.opacity / 100;
|
|
@@ -8064,7 +8002,7 @@ const MainInit = _ => {
|
|
|
8064
8002
|
if (isNaN(parseFloat(g_workObj.arrowRtn[j]))) {
|
|
8065
8003
|
multiAppend(frzHit,
|
|
8066
8004
|
createColorObject2(`frzHitShadow${j}`, {
|
|
8067
|
-
rotate: g_workObj.arrowRtn[j], styleName: `Shadow
|
|
8005
|
+
rotate: g_workObj.arrowRtn[j], styleName: `Shadow`,
|
|
8068
8006
|
}, g_cssObj.main_objShadow),
|
|
8069
8007
|
createColorObject2(`frzHitTop${j}`, {
|
|
8070
8008
|
background: g_workObj.frzHitColors[j], rotate: g_workObj.arrowRtn[j],
|
|
@@ -8072,10 +8010,9 @@ const MainInit = _ => {
|
|
|
8072
8010
|
);
|
|
8073
8011
|
} else {
|
|
8074
8012
|
frzHit.appendChild(
|
|
8075
|
-
createColorObject2(`frzHitTop${j}`, {
|
|
8076
|
-
x: -8, y: -8, w: C_ARW_WIDTH + 16, h: C_ARW_WIDTH + 16,
|
|
8013
|
+
createColorObject2(`frzHitTop${j}`, Object.assign(g_lblPosObj.frzHitTop, {
|
|
8077
8014
|
rotate: g_workObj.arrowRtn[j], styleName: `Shadow`,
|
|
8078
|
-
}, g_cssObj.main_frzHitTop)
|
|
8015
|
+
}), g_cssObj.main_frzHitTop)
|
|
8079
8016
|
);
|
|
8080
8017
|
}
|
|
8081
8018
|
}
|
|
@@ -8202,24 +8139,16 @@ const MainInit = _ => {
|
|
|
8202
8139
|
}, g_cssObj.life_Border, g_cssObj.life_BorderColor),
|
|
8203
8140
|
|
|
8204
8141
|
// 曲名・アーティスト名表示
|
|
8205
|
-
createDivCss2Label(`lblCredit`, creditName, {
|
|
8206
|
-
x: 125, y: g_sHeight - 30, w: g_headerObj.playingWidth - 125, h: 20, siz: checkMusicSiz(creditName, C_SIZ_MUSIC_TITLE), align: C_ALIGN_LEFT,
|
|
8207
|
-
}),
|
|
8142
|
+
createDivCss2Label(`lblCredit`, creditName, Object.assign(g_lblPosObj.lblCredit, { siz: checkMusicSiz(creditName, C_SIZ_MUSIC_TITLE) })),
|
|
8208
8143
|
|
|
8209
8144
|
// 譜面名表示
|
|
8210
|
-
createDivCss2Label(`lblDifName`, difName, {
|
|
8211
|
-
x: 125, y: g_sHeight - 16, w: g_headerObj.playingWidth, h: 20, siz: checkMusicSiz(difName, 12), align: C_ALIGN_LEFT,
|
|
8212
|
-
}),
|
|
8145
|
+
createDivCss2Label(`lblDifName`, difName, Object.assign(g_lblPosObj.lblDifName, { siz: checkMusicSiz(difName, 12) })),
|
|
8213
8146
|
|
|
8214
8147
|
// 曲時間表示:現在時間
|
|
8215
|
-
createDivCss2Label(`lblTime1`, `-:--`, {
|
|
8216
|
-
x: 18, y: g_sHeight - 30, w: 40, h: 20, siz: C_SIZ_MAIN, align: C_ALIGN_RIGHT, display: g_workObj.musicinfoDisp,
|
|
8217
|
-
}),
|
|
8148
|
+
createDivCss2Label(`lblTime1`, `-:--`, Object.assign(g_lblPosObj.lblTime1, { display: g_workObj.musicinfoDisp })),
|
|
8218
8149
|
|
|
8219
8150
|
// 曲時間表示:総時間
|
|
8220
|
-
createDivCss2Label(`lblTime2`, `/ ${fullTime}`, {
|
|
8221
|
-
x: 60, y: g_sHeight - 30, w: 60, h: 20, siz: C_SIZ_MAIN, display: g_workObj.musicinfoDisp,
|
|
8222
|
-
}),
|
|
8151
|
+
createDivCss2Label(`lblTime2`, `/ ${fullTime}`, Object.assign(g_lblPosObj.lblTime2, { display: g_workObj.musicinfoDisp })),
|
|
8223
8152
|
);
|
|
8224
8153
|
|
|
8225
8154
|
// ボーダーライン表示
|
|
@@ -8232,11 +8161,7 @@ const MainInit = _ => {
|
|
|
8232
8161
|
const wordSprite = createEmptySprite(judgeSprite, `wordSprite`, { w: g_headerObj.playingWidth });
|
|
8233
8162
|
for (let j = 0; j <= g_scoreObj.wordMaxDepth; j++) {
|
|
8234
8163
|
const wordY = (j % 2 === 0 ? 10 : (g_headerObj.bottomWordSetFlg ? g_posObj.distY + 10 : g_sHeight - 60));
|
|
8235
|
-
wordSprite.appendChild(createDivCss2Label(`lblword${j}`, ``, {
|
|
8236
|
-
x: 100, y: wordY, w: g_headerObj.playingWidth - 200, h: 50,
|
|
8237
|
-
siz: C_SIZ_MAIN, align: C_ALIGN_LEFT, fontFamily: getBasicFont(),
|
|
8238
|
-
display: `block`, margin: `auto`,
|
|
8239
|
-
}));
|
|
8164
|
+
wordSprite.appendChild(createDivCss2Label(`lblword${j}`, ``, Object.assign(g_lblPosObj.lblWord, { y: wordY, fontFamily: getBasicFont() })));
|
|
8240
8165
|
}
|
|
8241
8166
|
|
|
8242
8167
|
const jdgGroups = [`J`, `FJ`];
|
|
@@ -8291,17 +8216,11 @@ const MainInit = _ => {
|
|
|
8291
8216
|
});
|
|
8292
8217
|
|
|
8293
8218
|
// パーフェクト演出
|
|
8294
|
-
judgeSprite.appendChild(
|
|
8295
|
-
createDivCss2Label(`finishView`, ``, {
|
|
8296
|
-
x: g_headerObj.playingWidth / 2 - 150, y: g_sHeight / 2 - 50, w: 300, h: 20, siz: 50,
|
|
8297
|
-
}, g_cssObj.common_kita)
|
|
8298
|
-
);
|
|
8219
|
+
judgeSprite.appendChild(createDivCss2Label(`finishView`, ``, g_lblPosObj.finishView, g_cssObj.common_kita));
|
|
8299
8220
|
|
|
8300
8221
|
// 曲情報OFF
|
|
8301
8222
|
if (g_stateObj.d_musicinfo === C_FLG_OFF) {
|
|
8302
|
-
[`lblCredit`, `lblDifName`].forEach(labelName =>
|
|
8303
|
-
changeStyle(labelName, { x: 20, animationDuration: `4.0s`, animationName: `leftToRightFade`, animationFillMode: `both` });
|
|
8304
|
-
});
|
|
8223
|
+
[`lblCredit`, `lblDifName`].forEach(labelName => changeStyle(labelName, g_lblPosObj.musicInfoOFF));
|
|
8305
8224
|
}
|
|
8306
8225
|
|
|
8307
8226
|
// ローカル時のみフレーム数を残す
|
|
@@ -9672,10 +9591,9 @@ const resultInit = _ => {
|
|
|
9672
9591
|
const scoreIdHeader = setScoreIdHeader(g_stateObj.scoreId, g_stateObj.scoreLockFlg);
|
|
9673
9592
|
|
|
9674
9593
|
g_animationData.forEach(sprite => {
|
|
9675
|
-
|
|
9676
|
-
|
|
9677
|
-
|
|
9678
|
-
[g_headerObj[`${sprite}ResultData`], g_headerObj[`${sprite}ResultMaxDepth`]] = makeSpriteData(g_rootObj[`${sprite}failedS_data`]);
|
|
9594
|
+
const failedData = g_rootObj[`${sprite}failedS${scoreIdHeader}_data`] ?? g_rootObj[`${sprite}failedS_data`];
|
|
9595
|
+
if (failedData !== undefined) {
|
|
9596
|
+
[g_headerObj[`${sprite}ResultData`], g_headerObj[`${sprite}ResultMaxDepth`]] = makeSpriteData(failedData);
|
|
9679
9597
|
}
|
|
9680
9598
|
});
|
|
9681
9599
|
} else if (g_gameOverFlg) {
|
|
@@ -9715,8 +9633,7 @@ const resultInit = _ => {
|
|
|
9715
9633
|
|
|
9716
9634
|
// スコア計算(一括)
|
|
9717
9635
|
const scoreTmp = Object.keys(g_pointAllocation).reduce(
|
|
9718
|
-
(score, name) => score + g_resultObj[name] * g_pointAllocation[name]
|
|
9719
|
-
, 0)
|
|
9636
|
+
(score, name) => score + g_resultObj[name] * g_pointAllocation[name], 0);
|
|
9720
9637
|
|
|
9721
9638
|
const allScore = g_fullArrows * 10;
|
|
9722
9639
|
const resultScore = Math.round(scoreTmp / allScore * g_maxScore) || 0;
|
|
@@ -9859,35 +9776,25 @@ const resultInit = _ => {
|
|
|
9859
9776
|
|
|
9860
9777
|
// ランク描画
|
|
9861
9778
|
resultWindow.appendChild(
|
|
9862
|
-
createDivCss2Label(`lblRank`, rankMark, {
|
|
9863
|
-
x: 340, y: 160, w: 70, h: 20, siz: 50, align: C_ALIGN_CENTER,
|
|
9779
|
+
createDivCss2Label(`lblRank`, rankMark, Object.assign(g_lblPosObj.lblRank, {
|
|
9864
9780
|
color: rankColor, fontFamily: getBasicFont(`"Bookman Old Style"`),
|
|
9865
|
-
})
|
|
9781
|
+
}))
|
|
9866
9782
|
);
|
|
9867
9783
|
|
|
9868
9784
|
// Cleared & Failed表示
|
|
9869
9785
|
const lblResultPre = createDivCss2Label(
|
|
9870
9786
|
`lblResultPre`,
|
|
9871
9787
|
resultViewText(g_gameOverFlg ? `failed` : `cleared`),
|
|
9872
|
-
{
|
|
9873
|
-
|
|
9874
|
-
w: 200, h: 50, siz: 60,
|
|
9875
|
-
opacity: 0, animationDuration: (g_gameOverFlg ? `3s` : `2.5s`),
|
|
9788
|
+
Object.assign(g_lblPosObj.lblResultPre, {
|
|
9789
|
+
animationDuration: (g_gameOverFlg ? `3s` : `2.5s`),
|
|
9876
9790
|
animationName: (g_gameOverFlg ? `upToDownFade` : `leftToRightFade`)
|
|
9877
|
-
}, g_cssObj.result_Cleared, g_cssObj.result_Window
|
|
9791
|
+
}), g_cssObj.result_Cleared, g_cssObj.result_Window
|
|
9878
9792
|
);
|
|
9879
9793
|
divRoot.appendChild(lblResultPre);
|
|
9880
9794
|
|
|
9881
|
-
divRoot.appendChild(
|
|
9882
|
-
|
|
9883
|
-
|
|
9884
|
-
resultViewText(g_gameOverFlg ? `failed` :
|
|
9885
|
-
(playingArrows === g_fullArrows ? g_resultObj.spState : ``)),
|
|
9886
|
-
{
|
|
9887
|
-
x: g_sWidth / 2 + 50, y: 40, w: 200, h: 30, siz: 20,
|
|
9888
|
-
}, g_cssObj.result_Cleared
|
|
9889
|
-
)
|
|
9890
|
-
);
|
|
9795
|
+
divRoot.appendChild(createDivCss2Label(`lblResultPre2`,
|
|
9796
|
+
resultViewText(g_gameOverFlg ? `failed` : (playingArrows === g_fullArrows ? g_resultObj.spState : ``)),
|
|
9797
|
+
g_lblPosObj.lblResultPre2, g_cssObj.result_Cleared));
|
|
9891
9798
|
|
|
9892
9799
|
// プレイデータは Cleared & Failed に合わせて表示
|
|
9893
9800
|
playDataWindow.style.animationDuration = `3s`;
|
|
@@ -10019,57 +9926,39 @@ const resultInit = _ => {
|
|
|
10019
9926
|
const resultText = `${unEscapeHtml(tweetResultTmp)}`;
|
|
10020
9927
|
const tweetResult = `https://twitter.com/intent/tweet?text=${encodeURIComponent(resultText)}`;
|
|
10021
9928
|
|
|
10022
|
-
|
|
10023
|
-
|
|
10024
|
-
|
|
10025
|
-
// タイトル画面へ戻る
|
|
10026
|
-
createCss2Button(`btnBack`, g_lblNameObj.b_back, _ => {
|
|
9929
|
+
/** 音源、ループ処理の停止 */
|
|
9930
|
+
const resetCommonBtn = (_id, _name, _posObj, _func, _cssClass) =>
|
|
9931
|
+
createCss2Button(_id, _name, _ => {
|
|
10027
9932
|
if (g_finishFlg) {
|
|
10028
9933
|
g_audio.pause();
|
|
10029
9934
|
}
|
|
10030
9935
|
clearTimeout(g_timeoutEvtId);
|
|
10031
9936
|
clearTimeout(g_timeoutEvtResultId);
|
|
10032
|
-
}, {
|
|
10033
|
-
|
|
10034
|
-
|
|
10035
|
-
|
|
9937
|
+
}, Object.assign(_posObj, { resetFunc: _func }), _cssClass);
|
|
9938
|
+
|
|
9939
|
+
// ボタン描画
|
|
9940
|
+
multiAppend(divRoot,
|
|
9941
|
+
|
|
9942
|
+
// タイトル画面へ戻る
|
|
9943
|
+
resetCommonBtn(`btnBack`, g_lblNameObj.b_back, g_lblPosObj.btnRsBack, titleInit, g_cssObj.button_Back),
|
|
10036
9944
|
|
|
10037
9945
|
// リザルトデータをクリップボードへコピー
|
|
10038
9946
|
createCss2Button(`btnCopy`, g_lblNameObj.b_copy, _ => {
|
|
10039
9947
|
copyTextToClipboard(resultText, g_msgInfoObj.I_0001);
|
|
10040
|
-
},
|
|
10041
|
-
x: g_sWidth / 4,
|
|
10042
|
-
w: g_sWidth / 2,
|
|
10043
|
-
h: C_BTN_HEIGHT * 5 / 8, siz: 24,
|
|
10044
|
-
animationName: `smallToNormalY`,
|
|
10045
|
-
}, g_cssObj.button_Setting),
|
|
9948
|
+
}, g_lblPosObj.btnRsCopy, g_cssObj.button_Setting),
|
|
10046
9949
|
|
|
10047
9950
|
// リザルトデータをTwitterへ転送
|
|
10048
|
-
createCss2Button(`btnTweet`, g_lblNameObj.b_tweet, _ => true, {
|
|
10049
|
-
|
|
10050
|
-
|
|
10051
|
-
animationName: `smallToNormalY`, resetFunc: _ => openLink(tweetResult),
|
|
10052
|
-
}, g_cssObj.button_Tweet),
|
|
9951
|
+
createCss2Button(`btnTweet`, g_lblNameObj.b_tweet, _ => true, Object.assign(g_lblPosObj.btnRsTweet, {
|
|
9952
|
+
resetFunc: _ => openLink(tweetResult),
|
|
9953
|
+
}), g_cssObj.button_Tweet),
|
|
10053
9954
|
|
|
10054
9955
|
// Gitterへのリンク
|
|
10055
|
-
createCss2Button(`btnGitter`, g_lblNameObj.b_gitter, _ => true, {
|
|
10056
|
-
|
|
10057
|
-
|
|
10058
|
-
animationName: `smallToNormalY`, resetFunc: _ => openLink(`https://gitter.im/danonicw/freeboard`),
|
|
10059
|
-
}, g_cssObj.button_Default),
|
|
9956
|
+
createCss2Button(`btnGitter`, g_lblNameObj.b_gitter, _ => true, Object.assign(g_lblPosObj.btnRsGitter, {
|
|
9957
|
+
resetFunc: _ => openLink(`https://gitter.im/danonicw/freeboard`),
|
|
9958
|
+
}), g_cssObj.button_Default),
|
|
10060
9959
|
|
|
10061
9960
|
// リトライ
|
|
10062
|
-
|
|
10063
|
-
if (g_finishFlg) {
|
|
10064
|
-
g_audio.pause();
|
|
10065
|
-
}
|
|
10066
|
-
clearTimeout(g_timeoutEvtId);
|
|
10067
|
-
clearTimeout(g_timeoutEvtResultId);
|
|
10068
|
-
}, {
|
|
10069
|
-
x: g_sWidth / 4 * 3,
|
|
10070
|
-
w: g_sWidth / 4, h: C_BTN_HEIGHT * 5 / 4,
|
|
10071
|
-
animationName: `smallToNormalY`, resetFunc: _ => loadMusic(),
|
|
10072
|
-
}, g_cssObj.button_Reset),
|
|
9961
|
+
resetCommonBtn(`btnRetry`, g_lblNameObj.b_retry, g_lblPosObj.btnRsRetry, loadMusic, g_cssObj.button_Reset),
|
|
10073
9962
|
);
|
|
10074
9963
|
|
|
10075
9964
|
// マスクスプライトを作成
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Source by tickle
|
|
7
7
|
* Created : 2019/11/19
|
|
8
|
-
* Revised : 2022/
|
|
8
|
+
* Revised : 2022/04/10 (v27.3.0)
|
|
9
9
|
*
|
|
10
10
|
* https://github.com/cwtickle/danoniplus
|
|
11
11
|
*/
|
|
@@ -83,31 +83,255 @@ const g_windowObj = {
|
|
|
83
83
|
divRoot: { margin: `auto`, letterSpacing: `normal` },
|
|
84
84
|
divBack: { background: `linear-gradient(#000000, #222222)` },
|
|
85
85
|
|
|
86
|
-
optionSprite: { w: 450, h: 325 },
|
|
87
86
|
difList: { x: 165, y: 65, w: 280, h: 255, overflow: `auto` },
|
|
88
87
|
difCover: { x: 25, y: 65, w: 140, h: 255, overflow: `auto`, opacity: 0.95 },
|
|
89
88
|
|
|
90
89
|
scoreDetail: { x: 20, y: 90, w: 420, h: 230, visibility: `hidden` },
|
|
91
90
|
detailObj: { w: 420, h: 230, visibility: `hidden` },
|
|
92
91
|
|
|
93
|
-
displaySprite: { x: 25, y: 30, h: C_LEN_SETLBL_HEIGHT * 5 },
|
|
94
|
-
keyconSprite: { overflow: `auto` },
|
|
95
92
|
colorPickSprite: { x: 0, y: 90, w: 50, h: 280 },
|
|
96
|
-
|
|
97
|
-
loader: { h: 10, backgroundColor: `#333333` },
|
|
98
|
-
|
|
99
|
-
playDataWindow: { w: 450, h: 110 },
|
|
100
|
-
resultWindow: { w: 400, h: 210 },
|
|
101
93
|
};
|
|
102
94
|
|
|
95
|
+
const g_lblPosObj = {};
|
|
96
|
+
|
|
103
97
|
// 可変部分のウィンドウサイズを更新
|
|
104
98
|
const updateWindowSiz = _ => {
|
|
105
|
-
Object.assign(g_windowObj
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
99
|
+
Object.assign(g_windowObj, {
|
|
100
|
+
optionSprite: { x: (g_sWidth - 450) / 2, y: 65 + (g_sHeight - 500) / 2, w: 450, h: 325 },
|
|
101
|
+
displaySprite: { x: 25, y: 30, w: (g_sWidth - 450) / 2, h: C_LEN_SETLBL_HEIGHT * 5 },
|
|
102
|
+
keyconSprite: { y: 88 + (g_sHeight - 500) / 2, h: g_sHeight, overflow: `auto` },
|
|
103
|
+
loader: { y: g_sHeight - 10, h: 10, backgroundColor: `#333333` },
|
|
104
|
+
playDataWindow: { x: g_sWidth / 2 - 225, y: 70 + (g_sHeight - 500) / 2, w: 450, h: 110 },
|
|
105
|
+
resultWindow: { x: g_sWidth / 2 - 200, y: 185 + (g_sHeight - 500) / 2, w: 400, h: 210 },
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
Object.assign(g_lblPosObj, {
|
|
109
|
+
|
|
110
|
+
/** タイトル画面 */
|
|
111
|
+
btnReset: {
|
|
112
|
+
x: 0, y: g_sHeight - 20, w: g_sWidth / 4, h: 16, siz: 12, title: g_msgObj.dataReset,
|
|
113
|
+
},
|
|
114
|
+
btnReload: {
|
|
115
|
+
x: 10, y: 10, w: 30, h: 30, siz: 20, title: g_msgObj.reload,
|
|
116
|
+
},
|
|
117
|
+
btnHelp: {
|
|
118
|
+
x: 0, y: g_sHeight - 150, w: 40, h: 40, siz: 30, title: g_msgObj.howto,
|
|
119
|
+
},
|
|
120
|
+
lnkMaker: {
|
|
121
|
+
x: 0, y: g_sHeight - 50, w: g_sWidth / 2, h: C_LNK_HEIGHT,
|
|
122
|
+
align: C_ALIGN_LEFT, title: g_headerObj.creatorUrl,
|
|
123
|
+
},
|
|
124
|
+
lnkArtist: {
|
|
125
|
+
x: g_sWidth / 2, y: g_sHeight - 50, w: g_sWidth / 2, h: C_LNK_HEIGHT,
|
|
126
|
+
align: C_ALIGN_LEFT, title: g_headerObj.artistUrl,
|
|
127
|
+
},
|
|
128
|
+
lnkVersion: {
|
|
129
|
+
x: g_sWidth / 4, y: g_sHeight - 20, w: g_sWidth * 3 / 4 - 20, h: 16,
|
|
130
|
+
align: C_ALIGN_RIGHT, title: g_msgObj.github,
|
|
131
|
+
},
|
|
132
|
+
lnkComparison: {
|
|
133
|
+
x: g_sWidth - 20, y: g_sHeight - 20, w: 20, h: 16, siz: 12, title: g_msgObj.security,
|
|
134
|
+
},
|
|
135
|
+
lblComment: {
|
|
136
|
+
x: 0, y: 70, w: g_sWidth, h: g_sHeight - 180, siz: C_SIZ_DIFSELECTOR, align: C_ALIGN_LEFT,
|
|
137
|
+
overflow: `auto`, background: `#222222`, color: `#cccccc`, display: C_DIS_NONE,
|
|
138
|
+
},
|
|
139
|
+
btnComment: {
|
|
140
|
+
x: g_sWidth - 160, y: (g_sHeight / 2) + 150, w: 140, h: 50, siz: 20, border: `solid 1px #999999`,
|
|
141
|
+
},
|
|
142
|
+
|
|
143
|
+
/** 設定画面 */
|
|
144
|
+
btnBack: {},
|
|
145
|
+
btnKeyConfig: {
|
|
146
|
+
x: g_sWidth / 3,
|
|
147
|
+
},
|
|
148
|
+
btnPlay: {
|
|
149
|
+
x: g_sWidth * 2 / 3,
|
|
150
|
+
},
|
|
151
|
+
btnSwitchSetting: {
|
|
152
|
+
x: g_sWidth / 2 + 175 - C_LEN_SETMINI_WIDTH / 2, y: 25, w: C_LEN_SETMINI_WIDTH, h: 40,
|
|
153
|
+
},
|
|
154
|
+
btnSave: {
|
|
155
|
+
x: 0, y: 5, w: g_sWidth / 5, h: 16, siz: 12,
|
|
156
|
+
title: g_msgObj.dataSave, borderStyle: `solid`,
|
|
157
|
+
},
|
|
158
|
+
|
|
159
|
+
btnReverse: {
|
|
160
|
+
x: 160, y: 0, w: 90, h: 21, siz: C_SIZ_DIFSELECTOR, borderStyle: `solid`,
|
|
161
|
+
},
|
|
162
|
+
lblGauge2: {
|
|
163
|
+
x: C_LEN_SETLBL_LEFT - 35, y: C_LEN_SETLBL_HEIGHT,
|
|
164
|
+
w: C_LEN_SETLBL_WIDTH + 60, h: C_LEN_SETLBL_HEIGHT * 2, siz: 11,
|
|
165
|
+
},
|
|
166
|
+
lnkFadein: {
|
|
167
|
+
x: C_LEN_SETLBL_LEFT, y: 0,
|
|
168
|
+
},
|
|
169
|
+
lblFadeinBar: {
|
|
170
|
+
x: C_LEN_SETLBL_LEFT, y: 0,
|
|
171
|
+
},
|
|
172
|
+
|
|
173
|
+
/** 設定: 譜面明細子画面 */
|
|
174
|
+
lnkScoreDetailB: {
|
|
175
|
+
x: 10, w: 100, visibility: `hidden`,
|
|
176
|
+
},
|
|
177
|
+
lnkScoreDetail: {
|
|
178
|
+
x: 10, w: 100, borderStyle: `solid`,
|
|
179
|
+
},
|
|
180
|
+
|
|
181
|
+
lblTooldif: {
|
|
182
|
+
y: 5, w: 250, siz: C_SIZ_JDGCNTS,
|
|
183
|
+
},
|
|
184
|
+
dataTooldif: {
|
|
185
|
+
x: 270, y: 3, w: 160, siz: 18,
|
|
186
|
+
},
|
|
187
|
+
lblDouji: {},
|
|
188
|
+
lblTate: {
|
|
189
|
+
x: 270,
|
|
190
|
+
},
|
|
191
|
+
dataDouji: {
|
|
192
|
+
x: 200, w: 160,
|
|
193
|
+
},
|
|
194
|
+
dataTate: {
|
|
195
|
+
x: 345, w: 160,
|
|
196
|
+
},
|
|
197
|
+
lblArrowInfo: {
|
|
198
|
+
x: 130, y: 45, w: 290, siz: C_SIZ_JDGCNTS,
|
|
199
|
+
},
|
|
200
|
+
dataArrowInfo: {
|
|
201
|
+
x: 270, y: 45, w: 160, siz: C_SIZ_JDGCNTS,
|
|
202
|
+
},
|
|
203
|
+
lblArrowInfo2: {
|
|
204
|
+
x: 130, y: 70, w: 200, h: 90,
|
|
205
|
+
},
|
|
206
|
+
dataArrowInfo2: {
|
|
207
|
+
x: 140, y: 70, w: 275, h: 150, overflow: `auto`,
|
|
208
|
+
},
|
|
209
|
+
lnkDifInfo: {
|
|
210
|
+
x: 10, y: 30, w: 100, borderStyle: `solid`,
|
|
211
|
+
},
|
|
212
|
+
|
|
213
|
+
/** ディスプレイ画面 */
|
|
214
|
+
scMsg: {
|
|
215
|
+
x: 0, y: g_sHeight - 45, w: g_sWidth, h: 20,
|
|
216
|
+
},
|
|
217
|
+
sdDesc: {
|
|
218
|
+
x: 0, y: 65, w: g_sWidth, h: 20, siz: C_SIZ_MAIN,
|
|
219
|
+
},
|
|
220
|
+
lblAppearancePos: {
|
|
221
|
+
x: C_LEN_SETLBL_LEFT, y: 20, siz: 12, align: C_ALIGN_CENTER,
|
|
222
|
+
},
|
|
223
|
+
lblAppearanceBar: {
|
|
224
|
+
x: C_LEN_SETLBL_LEFT, y: 15,
|
|
225
|
+
},
|
|
226
|
+
lnkLockBtn: {
|
|
227
|
+
x: C_LEN_SETLBL_LEFT + C_LEN_SETLBL_WIDTH - 40, y: 0, w: 40, h: C_LEN_SETLBL_HEIGHT, siz: 12,
|
|
228
|
+
borderStyle: `solid`,
|
|
229
|
+
},
|
|
230
|
+
|
|
231
|
+
/** キーコンフィグ画面 */
|
|
232
|
+
scKcMsg: {
|
|
233
|
+
x: 0, y: g_sHeight - 45, w: g_sWidth, h: 20,
|
|
234
|
+
},
|
|
235
|
+
kcMsg: {
|
|
236
|
+
x: 0, y: g_sHeight - 25, w: g_sWidth, h: 20, siz: C_SIZ_MAIN,
|
|
237
|
+
},
|
|
238
|
+
kcDesc: {
|
|
239
|
+
x: 0, y: 68, w: g_sWidth, h: 20,
|
|
240
|
+
},
|
|
241
|
+
kcShuffleDesc: {
|
|
242
|
+
x: 5, y: g_sHeight - 125, w: g_sWidth, h: 20, align: C_ALIGN_LEFT,
|
|
243
|
+
},
|
|
244
|
+
pickPos: {
|
|
245
|
+
x: 0, w: 50, h: 15, siz: 11, align: C_ALIGN_LEFT, background: `#${g_headerObj.baseBrightFlg ? `eeeeee` : `111111`}80`,
|
|
246
|
+
},
|
|
247
|
+
lnkColorCopy: {
|
|
248
|
+
x: 35, y: -5, w: 30, h: 20, siz: 14,
|
|
249
|
+
},
|
|
250
|
+
|
|
251
|
+
btnKcBack: {
|
|
252
|
+
x: g_sWidth / 3, y: g_sHeight - 75,
|
|
253
|
+
w: g_sWidth / 3, h: C_BTN_HEIGHT / 2, siz: C_LBL_BTNSIZE * 2 / 3,
|
|
254
|
+
},
|
|
255
|
+
lblPattern: {
|
|
256
|
+
x: g_sWidth / 6, y: g_sHeight - 100, w: g_sWidth / 3, h: C_BTN_HEIGHT / 2,
|
|
257
|
+
},
|
|
258
|
+
btnPtnChangeR: {
|
|
259
|
+
x: g_sWidth / 2, y: g_sHeight - 100,
|
|
260
|
+
w: g_sWidth / 6, h: C_BTN_HEIGHT / 2, siz: C_LBL_BTNSIZE * 2 / 3,
|
|
261
|
+
},
|
|
262
|
+
btnPtnChangeL: {
|
|
263
|
+
x: 0, y: g_sHeight - 100,
|
|
264
|
+
w: g_sWidth / 6, h: C_BTN_HEIGHT / 2, siz: C_LBL_BTNSIZE * 2 / 3,
|
|
265
|
+
},
|
|
266
|
+
btnKcReset: {
|
|
267
|
+
x: 0, y: g_sHeight - 75,
|
|
268
|
+
w: g_sWidth / 3, h: C_BTN_HEIGHT / 2, siz: C_LBL_BTNSIZE * 2 / 3,
|
|
269
|
+
},
|
|
270
|
+
|
|
271
|
+
/** メイン画面 */
|
|
272
|
+
stepHit: {
|
|
273
|
+
x: -15, y: -15, w: C_ARW_WIDTH + 30, h: C_ARW_WIDTH + 30,
|
|
274
|
+
},
|
|
275
|
+
filterBar: {
|
|
276
|
+
w: g_headerObj.playingWidth - 50, h: 1, styleName: `lifeBar`, opacity: 0.0625,
|
|
277
|
+
},
|
|
278
|
+
filterView: {
|
|
279
|
+
x: g_headerObj.playingWidth - 70, y: 0, w: 10, h: 10, siz: 10, align: C_ALIGN_RIGHT,
|
|
280
|
+
},
|
|
281
|
+
frzHitTop: {
|
|
282
|
+
x: -8, y: -8, w: C_ARW_WIDTH + 16, h: C_ARW_WIDTH + 16,
|
|
283
|
+
},
|
|
284
|
+
lblCredit: {
|
|
285
|
+
x: 125, y: g_sHeight - 30, w: g_headerObj.playingWidth - 125, h: 20, align: C_ALIGN_LEFT,
|
|
286
|
+
},
|
|
287
|
+
lblDifName: {
|
|
288
|
+
x: 125, y: g_sHeight - 16, w: g_headerObj.playingWidth, h: 20, align: C_ALIGN_LEFT,
|
|
289
|
+
},
|
|
290
|
+
lblTime1: {
|
|
291
|
+
x: 18, y: g_sHeight - 30, w: 40, h: 20, siz: C_SIZ_MAIN, align: C_ALIGN_RIGHT,
|
|
292
|
+
},
|
|
293
|
+
lblTime2: {
|
|
294
|
+
x: 60, y: g_sHeight - 30, w: 60, h: 20, siz: C_SIZ_MAIN,
|
|
295
|
+
},
|
|
296
|
+
lblWord: {
|
|
297
|
+
x: 100, w: g_headerObj.playingWidth - 200, h: 50,
|
|
298
|
+
siz: C_SIZ_MAIN, align: C_ALIGN_LEFT, display: `block`, margin: `auto`,
|
|
299
|
+
},
|
|
300
|
+
finishView: {
|
|
301
|
+
x: g_headerObj.playingWidth / 2 - 150, y: g_sHeight / 2 - 50, w: 300, h: 20, siz: 50,
|
|
302
|
+
},
|
|
303
|
+
musicInfoOFF: {
|
|
304
|
+
x: 20, animationDuration: `4.0s`, animationName: `leftToRightFade`, animationFillMode: `both`,
|
|
305
|
+
},
|
|
306
|
+
|
|
307
|
+
/** 結果画面 */
|
|
308
|
+
lblRank: {
|
|
309
|
+
x: 340, y: 160, w: 70, h: 20, siz: 50, align: C_ALIGN_CENTER,
|
|
310
|
+
},
|
|
311
|
+
lblResultPre: {
|
|
312
|
+
x: g_sWidth / 2 - 150, y: g_sHeight / 2 - 160, w: 200, h: 50, siz: 60, opacity: 0,
|
|
313
|
+
},
|
|
314
|
+
lblResultPre2: {
|
|
315
|
+
x: g_sWidth / 2 + 50, y: 40, w: 200, h: 30, siz: 20,
|
|
316
|
+
},
|
|
317
|
+
btnRsBack: {
|
|
318
|
+
w: g_sWidth / 4, h: C_BTN_HEIGHT * 5 / 4, animationName: `smallToNormalY`,
|
|
319
|
+
},
|
|
320
|
+
btnRsCopy: {
|
|
321
|
+
x: g_sWidth / 4, w: g_sWidth / 2, h: C_BTN_HEIGHT * 5 / 8, siz: 24, animationName: `smallToNormalY`,
|
|
322
|
+
},
|
|
323
|
+
btnRsTweet: {
|
|
324
|
+
x: g_sWidth / 4, y: g_sHeight - 100 + C_BTN_HEIGHT * 5 / 8,
|
|
325
|
+
w: g_sWidth / 4, h: C_BTN_HEIGHT * 5 / 8, siz: 24, animationName: `smallToNormalY`,
|
|
326
|
+
},
|
|
327
|
+
btnRsGitter: {
|
|
328
|
+
x: g_sWidth / 2, y: g_sHeight - 100 + C_BTN_HEIGHT * 5 / 8,
|
|
329
|
+
w: g_sWidth / 4, h: C_BTN_HEIGHT * 5 / 8, siz: 24, animationName: `smallToNormalY`,
|
|
330
|
+
},
|
|
331
|
+
btnRsRetry: {
|
|
332
|
+
x: g_sWidth / 4 * 3, w: g_sWidth / 4, h: C_BTN_HEIGHT * 5 / 4, animationName: `smallToNormalY`,
|
|
333
|
+
},
|
|
334
|
+
});
|
|
111
335
|
};
|
|
112
336
|
|
|
113
337
|
// ウィンドウ位置
|