danoniplus 29.3.0 → 29.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/README.md +41 -36
- package/js/danoni_main.js +18 -18
- package/js/lib/danoni_constants.js +13 -7
- package/js/lib/danoni_legacy_function.js +2 -2
- package/js/lib/danoni_localbinary.js +1 -1
- package/js/template/danoni_setting.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -7,45 +7,50 @@
|
|
|
7
7
|
[](https://github.com/cwtickle/danoniplus/releases)
|
|
8
8
|
[](https://github.com/cwtickle/danoniplus/blob/develop/LICENSE)
|
|
9
9
|

|
|
10
|
+
|
|
11
|
+
*Dancing Onigiri "CW Edition"* is a rhythm game.
|
|
12
|
+
You can create original game data by combining a set of published sources with music files and sequences (text file). See the [wiki](https://github.com/cwtickle/danoniplus-docs/wiki) for details.
|
|
13
|
+
|
|
14
|
+
The source released here is the **HTML5 (HTML Living Standard) version** of the rhythm game *"Dancing Onigiri"* that was previously released as Flash.
|
|
10
15
|
|
|
11
16
|
Dancing☆Onigiri (CW Edition)は、ブラウザで動作するキーボードを使ったリズムゲームです。
|
|
12
17
|
公開しているソース一式と、音楽ファイル・譜面データ(テキスト)を組み合わせることで
|
|
13
|
-
オリジナルのゲームデータを作ることができます。詳細は[Wiki](https://github.com/cwtickle/danoniplus/wiki)をご覧ください。
|
|
14
|
-
*Dancing Onigiri "CW Edition"* is a rhythm game.
|
|
15
|
-
You can create original game data by combining a set of published sources with music files and sequences (text file). See the [wiki](https://github.com/cwtickle/danoniplus/wiki/Sidebar-En) for details.
|
|
18
|
+
オリジナルのゲームデータを作ることができます。詳細は[Wiki](https://github.com/cwtickle/danoniplus/wiki)をご覧ください。
|
|
16
19
|
|
|
17
20
|
ここで公開しているソースは、以前Flashとして公開していたリズムゲーム
|
|
18
21
|
「Dancing☆Onigiri」の **HTML5 (HTML Living Standard)** 版です。
|
|
19
22
|
これまでのParaFla版に比べ、さまざまな機能強化を行っています。
|
|
20
|
-
The source released here is the **HTML5 (HTML Living Standard) version** of the rhythm game *"Dancing Onigiri"* that was previously released as Flash.
|
|
21
|
-
Compared to the previous ParaFla version, we have made various enhancements.
|
|
22
23
|
|
|
23
24
|
## Demo
|
|
24
|
-
- [Demo1](
|
|
25
|
-
- [Demo2](
|
|
26
|
-
- [Demo3](
|
|
25
|
+
- [Demo1](https://cw7.sakura.ne.jp/danoni/2013/0237_Cllema.html) クレマ / Kinoshita Tamaki
|
|
26
|
+
- [Demo2](https://cw7.sakura.ne.jp/danoni/2017/0305_ShiningStar.html) シャイニングスター / MaouDamashii
|
|
27
|
+
- [Demo3](https://cw7.sakura.ne.jp/danoni/2018/0315_PetitMagie.html) プチ・マギエ / Napi
|
|
27
28
|
|
|
28
29
|
## How to Play / 遊び方
|
|
30
|
+
This is a rhythm game, using Keyboard on the website.
|
|
31
|
+
There are many playstyles in the *Dancing Onigiri*. For example, 5keys, 7keys, 11keys, etc.
|
|
32
|
+
The details are as follows.
|
|
33
|
+
-> [How to Play](https://github.com/cwtickle/danoniplus-docs/wiki/AboutGameSystem)
|
|
34
|
+
|
|
29
35
|
リズムに合わせてやってくる矢印・フリーズアローを、ステップゾーン上で押すリズムゲームです。
|
|
30
36
|
キーボードを使って遊びます。
|
|
31
|
-
This is a rhythm game, using Keyboard on the website.
|
|
32
37
|
下記は7keyの例ですが、他にも5keyや11keyなど多様なプレイスタイルがあります。
|
|
33
|
-
There are many playstyles in the *Dancing Onigiri*. For example, 5keys, 7keys, 11keys, etc.
|
|
34
38
|
|
|
35
|
-
詳細は下記をご覧ください。
|
|
39
|
+
詳細は下記をご覧ください。
|
|
36
40
|
-> [How to Play](https://github.com/cwtickle/danoniplus/wiki/AboutGameSystem)
|
|
37
41
|
|
|
38
42
|

|
|
39
|
-
(画像は開発中のものです)
|
|
43
|
+
(The image is under development. / 画像は開発中のものです)
|
|
40
44
|
|
|
41
45
|
### Rule / ゲームのルール
|
|
42
|
-
タイミング良くキーボードを押すと(・∀・)イイ!!や(゚∀゚)キター!!となり、ライフが上がります。
|
|
43
|
-
一方、タイミングを外すと(´・ω・\`)ショボーン、(\`Д´)ウワァン、(・A・)イクナイとなり、ライフが下がります。
|
|
44
|
-
ゲーム終了までにライフゲージのライフが残っているか、ノルマ以上であればゲームクリアです。
|
|
45
46
|
When you press the keyboard with good timing *:D Perfect!!* *:) O.K.* and life will go up.
|
|
46
47
|
On the other hand, if you remove the timing *:( Bad*, *:_( Miss*, *:( N.G.* will be, life falls.
|
|
47
48
|
If the life of the life gauge remains by the end of the game or it is over the quota, the game is cleared.
|
|
48
49
|
|
|
50
|
+
タイミング良くキーボードを押すと(・∀・)イイ!!や(゚∀゚)キター!!となり、ライフが上がります。
|
|
51
|
+
一方、タイミングを外すと(´・ω・\`)ショボーン、(\`Д´)ウワァン、(・A・)イクナイとなり、ライフが下がります。
|
|
52
|
+
ゲーム終了までにライフゲージのライフが残っているか、ノルマ以上であればゲームクリアです。
|
|
53
|
+
|
|
49
54
|
## Works / 公開作品
|
|
50
55
|
- [Dancing☆Onigiri 難易度表 for.js](http://dodl4.g3.xrea.com/)
|
|
51
56
|
- [多鍵データベース](http://apoi108.sakura.ne.jp/danoni/ta/index.php)
|
|
@@ -53,43 +58,43 @@ If the life of the life gauge remains by the end of the game or it is over the q
|
|
|
53
58
|
- [Dancing☆Onigiri 作品一覧](https://cw7.sakura.ne.jp/lst/)
|
|
54
59
|
|
|
55
60
|
## How to Make / 作り方
|
|
56
|
-
- [譜面の作成概要](https://github.com/cwtickle/danoniplus/wiki/
|
|
57
|
-
- [ParaFla!ソース利用者向け移行方法](https://github.com/cwtickle/danoniplus/wiki/forParaFlaUser)
|
|
61
|
+
- [How to make chart overview](https://github.com/cwtickle/danoniplus-docs/wiki/HowtoMake) / [譜面の作成概要](https://github.com/cwtickle/danoniplus/wiki/HowtoMake)
|
|
62
|
+
- [ParaFla!ソース利用者向け移行方法 (Japanese Only)](https://github.com/cwtickle/danoniplus/wiki/forParaFlaUser)
|
|
58
63
|
|
|
59
64
|
### How to Install / 導入方法
|
|
60
|
-
-
|
|
61
|
-
-
|
|
65
|
+
- Download from [Changelog](https://github.com/cwtickle/danoniplus-docs/wiki/Changelog-latest). You can also install from npm.
|
|
66
|
+
- [Releases](https://github.com/cwtickle/danoniplus/releases)からダウンロードします。npmからの導入も可能です。
|
|
62
67
|
```
|
|
63
68
|
npm i danoniplus
|
|
64
69
|
```
|
|
65
|
-
-
|
|
66
|
-
|
|
70
|
+
- When directly specifying the version name, specify the version after @ as shown below.
|
|
71
|
+
- バージョン名を直接指定するときは下記のように @以降をバージョン指定します。
|
|
67
72
|
```
|
|
68
73
|
npm i danoniplus@26.1.2
|
|
69
74
|
```
|
|
70
75
|
|
|
71
76
|
## System requirements / 動作環境
|
|
72
|
-
|
|
73
|
-
- Google Chrome, Opera, Vivaldi (WebKit), Firefox (Gecko)
|
|
74
|
-
|
|
77
|
+
- Windows, Mac OS, Linux, Android, iPad OS
|
|
78
|
+
- Google Chrome, Microsoft Edge, Opera, Vivaldi, Safari (WebKit), Firefox (Gecko)
|
|
79
|
+
|
|
80
|
+
## Difference from Flash Version / Flash版との差異 (Japanese Only)
|
|
81
|
+
*Dancing Onigiri "CW Edition"* basically conforms to the specifications of *ParaFla!* Version, but the details are different from the conventional ones. See below for details.
|
|
75
82
|
|
|
76
|
-
## Difference from Flash Version / Flash版との差異について
|
|
77
83
|
Dancing☆Onigiri (CW Edition)では基本的にParaFla!版の仕様に準拠していますが、
|
|
78
84
|
細かい点が従来と異なります。詳細は下記をご覧ください。
|
|
79
|
-
|
|
80
|
-
but the details are different from the conventional ones. See below for details.
|
|
81
|
-
- [Flash版との差異](https://github.com/cwtickle/danoniplus/wiki/DifferenceFromFlashVer)
|
|
85
|
+
- [Difference from Flash Version / Flash版との差異 (Japanese)](https://github.com/cwtickle/danoniplus/wiki/DifferenceFromFlashVer)
|
|
82
86
|
|
|
83
|
-
## How to Contribute / 開発者の方へ
|
|
84
|
-
開発にご協力いただける方は、下記をご覧ください。GitHubアカウントの無い方でも協力できます!
|
|
87
|
+
## How to Contribute / 開発者の方へ
|
|
85
88
|
If you would like to cooperate with the development, please see below. Even if you don't have a GitHub account, you can cooperate!
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
- [
|
|
89
|
+
|
|
90
|
+
開発にご協力いただける方は、下記をご覧ください。GitHubアカウントの無い方でも協力できます!
|
|
91
|
+
- [How to Contribute / 貢献の仕方](https://github.com/cwtickle/danoniplus/blob/develop/.github/CONTRIBUTING.md)
|
|
92
|
+
- [Gitter for requests and bug reports / 要望・不具合報告(Gitter)](https://gitter.im/danonicw/community)
|
|
93
|
+
- [Contributors / コントリビューター](https://github.com/cwtickle/danoniplus/blob/develop/CONTRIBUTORS.md)
|
|
89
94
|
|
|
90
95
|
## Community / コミュニティ
|
|
91
|
-
- [Dancing☆Onigiri Discord
|
|
92
|
-
- [
|
|
96
|
+
- [Dancing☆Onigiri Discord server](https://discord.gg/TegbHFY7zg)
|
|
97
|
+
- [Gitter for score reporting / 得点報告(Gitter)](https://gitter.im/danonicw/freeboard)
|
|
93
98
|
- [Twitter #danoni](https://twitter.com/search?q=%23danoni&src=typed_query&f=live)
|
|
94
99
|
|
|
95
100
|
## Related Tools Repository / 関連リポジトリ・ツール
|
|
@@ -101,7 +106,7 @@ If you would like to cooperate with the development, please see below. Even if y
|
|
|
101
106
|
- [Dancing☆Onigiri Chart Converter](https://github.com/cwtickle/danoniplus-converter) @cwtickle
|
|
102
107
|
- [ダンおにゲージ計算機 (Gauge Calculator)](http://www.omission0.com/other/gauge_calculator/) @goe0
|
|
103
108
|
|
|
104
|
-
### キリズマ
|
|
109
|
+
### Kirizma / キリズマ
|
|
105
110
|
- [キリズマ譜面データ変換機](https://github.com/suzme/kirizma-converter) @suzme
|
|
106
111
|
- [キリズマ歌詞表示作成ツール](https://github.com/prlg25/kirizma_lyric) @prlg25
|
|
107
112
|
- [キリズマ難易度表](https://github.com/suzme/kirizma) @suzme
|
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/12/09
|
|
8
8
|
*
|
|
9
9
|
* https://github.com/cwtickle/danoniplus
|
|
10
10
|
*/
|
|
11
|
-
const g_version = `Ver 29.3.
|
|
12
|
-
const g_revisedDate = `2022/
|
|
11
|
+
const g_version = `Ver 29.3.1`;
|
|
12
|
+
const g_revisedDate = `2022/12/09`;
|
|
13
13
|
const g_alphaVersion = ``;
|
|
14
14
|
|
|
15
15
|
// カスタム用バージョン (danoni_custom.js 等で指定可)
|
|
@@ -1509,7 +1509,7 @@ const drawBaseSpriteData = (_spriteData, _name, _condition = true) => {
|
|
|
1509
1509
|
baseSprite.innerHTML = _spriteData.htmlText;
|
|
1510
1510
|
}
|
|
1511
1511
|
}
|
|
1512
|
-
}
|
|
1512
|
+
};
|
|
1513
1513
|
|
|
1514
1514
|
/**
|
|
1515
1515
|
* 背景・マスクモーションの表示(タイトル・リザルト用)
|
|
@@ -3337,7 +3337,7 @@ const getGaugeSetting = (_dosObj, _name, _difLength, { scoreId = 0 } = {}) => {
|
|
|
3337
3337
|
const gaugeDetails = [
|
|
3338
3338
|
g_presetObj.gaugeCustom[_name].Border, g_presetObj.gaugeCustom[_name].Recovery,
|
|
3339
3339
|
g_presetObj.gaugeCustom[_name].Damage, g_presetObj.gaugeCustom[_name].Init,
|
|
3340
|
-
]
|
|
3340
|
+
];
|
|
3341
3341
|
if (gaugeUpdateFlg) {
|
|
3342
3342
|
gaugeCreateFlg = setGaugeDetails(scoreId, gaugeDetails);
|
|
3343
3343
|
} else {
|
|
@@ -3821,7 +3821,7 @@ const titleInit = _ => {
|
|
|
3821
3821
|
// ヘルプ
|
|
3822
3822
|
createCss2Button(`btnHelp`, `?`, _ => true,
|
|
3823
3823
|
Object.assign(g_lblPosObj.btnHelp, {
|
|
3824
|
-
resetFunc: _ => openLink(
|
|
3824
|
+
resetFunc: _ => openLink(g_lblNameObj.helpUrl),
|
|
3825
3825
|
}), g_cssObj.button_Setting),
|
|
3826
3826
|
|
|
3827
3827
|
// 製作者表示
|
|
@@ -3840,7 +3840,7 @@ const titleInit = _ => {
|
|
|
3840
3840
|
// セキュリティリンク
|
|
3841
3841
|
createCss2Button(`lnkComparison`, `🛡`, _ => true,
|
|
3842
3842
|
Object.assign(g_lblPosObj.lnkComparison, {
|
|
3843
|
-
resetFunc: _ => openLink(
|
|
3843
|
+
resetFunc: _ => openLink(g_lblNameObj.securityUrl),
|
|
3844
3844
|
}), g_cssObj.button_Tweet),
|
|
3845
3845
|
);
|
|
3846
3846
|
|
|
@@ -3966,7 +3966,7 @@ const setWindowStyle = (_text, _bkColor, _textColor, _align = C_ALIGN_LEFT) => {
|
|
|
3966
3966
|
const tmplbl = createDivCss2Label(`lblTmpWarning`, _text, {
|
|
3967
3967
|
x: 0, y: 70, w: g_sWidth, h: 20, siz: C_SIZ_MAIN, lineHeight: `15px`, fontFamily: getBasicFont(),
|
|
3968
3968
|
whiteSpace: `normal`,
|
|
3969
|
-
})
|
|
3969
|
+
});
|
|
3970
3970
|
divRoot.appendChild(tmplbl);
|
|
3971
3971
|
const range = new Range();
|
|
3972
3972
|
range.selectNode(tmplbl);
|
|
@@ -4279,7 +4279,7 @@ const createOptionWindow = _sprite => {
|
|
|
4279
4279
|
lnkDifficulty,
|
|
4280
4280
|
makeMiniCssButton(`lnkDifficulty`, `R`, 0, _ => nextDifficulty(), { dy: -10, dh: 10 }),
|
|
4281
4281
|
makeMiniCssButton(`lnkDifficulty`, `L`, 0, _ => nextDifficulty(-1), { dy: -10, dh: 10 }),
|
|
4282
|
-
)
|
|
4282
|
+
);
|
|
4283
4283
|
createScText(spriteList.difficulty, `Difficulty`);
|
|
4284
4284
|
if (g_headerObj.difSelectorUse) {
|
|
4285
4285
|
createScText(spriteList.difficulty, `DifficultyList`, { x: 147, y: -10, targetLabel: `lnkDifficulty` });
|
|
@@ -4635,7 +4635,7 @@ const createOptionWindow = _sprite => {
|
|
|
4635
4635
|
`****** ${g_lblNameObj.s_printTitle} [${g_version}] ******\r\n\r\n`
|
|
4636
4636
|
+ `\t${g_lblNameObj.s_printHeader}\r\n\r\n${printData}`, g_msgInfoObj.I_0003
|
|
4637
4637
|
);
|
|
4638
|
-
}, g_lblPosObj.lnkDifInfo
|
|
4638
|
+
}, g_lblPosObj.lnkDifInfo),
|
|
4639
4639
|
);
|
|
4640
4640
|
createScText(lnkDifInfo, `DifInfo`, { targetLabel: `lnkDifInfo`, x: -10 });
|
|
4641
4641
|
};
|
|
@@ -4929,7 +4929,7 @@ const createOptionWindow = _sprite => {
|
|
|
4929
4929
|
createDivCss2Label(`lblFadeinBar`, `<input id="fadeinSlider" type="range" value="${g_stateObj.fadein}" min="0" max="99" step="1">`,
|
|
4930
4930
|
g_lblPosObj.lblFadeinBar),
|
|
4931
4931
|
|
|
4932
|
-
)
|
|
4932
|
+
);
|
|
4933
4933
|
|
|
4934
4934
|
const fadeinSlider = document.querySelector(`#fadeinSlider`);
|
|
4935
4935
|
fadeinSlider.addEventListener(`input`, _ =>
|
|
@@ -5168,7 +5168,7 @@ const createGeneralSetting = (_obj, _settingName, { unitName = ``,
|
|
|
5168
5168
|
setSetting(skipTerms[0] * (-1), _settingName, unitName, roundNum);
|
|
5169
5169
|
addLFunc();
|
|
5170
5170
|
}),
|
|
5171
|
-
)
|
|
5171
|
+
);
|
|
5172
5172
|
|
|
5173
5173
|
// 右回し・左回しボタン(内側)
|
|
5174
5174
|
if (skipTerms[1] > 1) {
|
|
@@ -5945,7 +5945,7 @@ const keyConfigInit = (_kcType = g_kcType) => {
|
|
|
5945
5945
|
}),
|
|
5946
5946
|
makeMiniKCButton(`lnkImgType`, `L`, _ => setImgType(-1), { x: imgBaseX - 10, y: imgBaseY }),
|
|
5947
5947
|
makeMiniKCButton(`lnkImgType`, `R`, _ => setImgType(), { x: imgBaseX + g_sWidth / 6, y: imgBaseY }),
|
|
5948
|
-
)
|
|
5948
|
+
);
|
|
5949
5949
|
}
|
|
5950
5950
|
|
|
5951
5951
|
// カラー/シャッフルグループ切替ボタン(カラー/シャッフルパターンが複数ある場合のみ)
|
|
@@ -7506,7 +7506,7 @@ const pushArrows = (_dataObj, _speedOnFrame, _motionOnFrame, _firstArrivalFrame)
|
|
|
7506
7506
|
} else {
|
|
7507
7507
|
|
|
7508
7508
|
// 速度変化が間に入るときは再計算
|
|
7509
|
-
|
|
7509
|
+
while (arrowArrivalFrm < spdPrev) {
|
|
7510
7510
|
spdk -= 2;
|
|
7511
7511
|
spdNext = spdPrev;
|
|
7512
7512
|
spdPrev = _dataObj.speedData[spdk];
|
|
@@ -7659,7 +7659,7 @@ const pushArrows = (_dataObj, _speedOnFrame, _motionOnFrame, _firstArrivalFrame)
|
|
|
7659
7659
|
}
|
|
7660
7660
|
|
|
7661
7661
|
// カットした箇所をリストから削除
|
|
7662
|
-
if (getLength(_data[startNum]
|
|
7662
|
+
if (getLength(_data[startNum]) > 0) {
|
|
7663
7663
|
_data[startNum] = _data[startNum].filter(list => getLength(list) > 0);
|
|
7664
7664
|
}
|
|
7665
7665
|
|
|
@@ -7709,9 +7709,9 @@ const getArrowStartFrame = (_frame, _speedOnFrame, _motionOnFrame) => {
|
|
|
7709
7709
|
};
|
|
7710
7710
|
|
|
7711
7711
|
while (g_posObj.distY - obj.startY > 0) {
|
|
7712
|
-
obj.startY += _speedOnFrame[obj.frm];
|
|
7712
|
+
obj.startY += _speedOnFrame[obj.frm - 1];
|
|
7713
7713
|
|
|
7714
|
-
if (_speedOnFrame[obj.frm] !== 0) {
|
|
7714
|
+
if (_speedOnFrame[obj.frm - 1] !== 0) {
|
|
7715
7715
|
obj.motionFrm++;
|
|
7716
7716
|
}
|
|
7717
7717
|
obj.frm--;
|
|
@@ -7773,7 +7773,7 @@ const convertReplaceNums = _ => {
|
|
|
7773
7773
|
const pushColors = (_header, _frame, _val, _colorCd, _allFlg) => {
|
|
7774
7774
|
|
|
7775
7775
|
const tkObj = getKeyInfo();
|
|
7776
|
-
const grdFlg = (g_colorType === `Type0` ? !g_headerObj.defaultColorgrd[0] : g_headerObj.defaultColorgrd[0])
|
|
7776
|
+
const grdFlg = (g_colorType === `Type0` ? !g_headerObj.defaultColorgrd[0] : g_headerObj.defaultColorgrd[0]);
|
|
7777
7777
|
const colorCd = makeColorGradation(_colorCd, { _defaultColorgrd: [grdFlg, g_headerObj.defaultColorgrd[1]] });
|
|
7778
7778
|
const addAll = Number(_allFlg) * 1000;
|
|
7779
7779
|
const allUseTypes = [];
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Source by tickle
|
|
7
7
|
* Created : 2019/11/19
|
|
8
|
-
* Revised : 2022/
|
|
8
|
+
* Revised : 2022/12/09 (v29.3.1)
|
|
9
9
|
*
|
|
10
10
|
* https://github.com/cwtickle/danoniplus
|
|
11
11
|
*/
|
|
@@ -341,7 +341,7 @@ const g_windowAlign = {
|
|
|
341
341
|
$id(`canvas-frame`).marginLeft = `auto`;
|
|
342
342
|
$id(`canvas-frame`).marginRight = `0px`;
|
|
343
343
|
},
|
|
344
|
-
}
|
|
344
|
+
};
|
|
345
345
|
|
|
346
346
|
const g_imgObj = {};
|
|
347
347
|
|
|
@@ -422,7 +422,7 @@ const resetImgs = (_baseDir = ``, _exp = `svg`) => {
|
|
|
422
422
|
if (g_presetObj.customImageList !== undefined) {
|
|
423
423
|
g_presetObj.customImageList.forEach(image => reloadImgCustomObj(image, _baseDir, _exp));
|
|
424
424
|
}
|
|
425
|
-
}
|
|
425
|
+
};
|
|
426
426
|
|
|
427
427
|
const reloadImgObj = _ => {
|
|
428
428
|
g_imgObj.arrow = C_IMG_ARROW;
|
|
@@ -642,7 +642,7 @@ const g_pointAllocation = {
|
|
|
642
642
|
sfsf: 4,
|
|
643
643
|
maxCombo: 2,
|
|
644
644
|
fmaxCombo: 2,
|
|
645
|
-
}
|
|
645
|
+
};
|
|
646
646
|
|
|
647
647
|
let C_WOD_FRAME = 30;
|
|
648
648
|
|
|
@@ -904,7 +904,7 @@ const g_posObj = {
|
|
|
904
904
|
stepYR: 0,
|
|
905
905
|
stepDiffY: 0,
|
|
906
906
|
arrowHeight: 0,
|
|
907
|
-
}
|
|
907
|
+
};
|
|
908
908
|
|
|
909
909
|
const g_diffObj = {
|
|
910
910
|
arrowJdgY: 0,
|
|
@@ -2876,7 +2876,7 @@ const g_lang_msgInfoObj = {
|
|
|
2876
2876
|
I_0003: `Charts information is copied to the clipboard!`,
|
|
2877
2877
|
I_0004: `Play in silence mode because "musicUrl" is not set`,
|
|
2878
2878
|
},
|
|
2879
|
-
}
|
|
2879
|
+
};
|
|
2880
2880
|
|
|
2881
2881
|
/**
|
|
2882
2882
|
* ショートカット表示のデフォルト値設定
|
|
@@ -3111,6 +3111,9 @@ const g_lang_lblNameObj = {
|
|
|
3111
3111
|
j_iknai: "(・A・)イクナイ",
|
|
3112
3112
|
|
|
3113
3113
|
j_adj: `推定Adj`,
|
|
3114
|
+
|
|
3115
|
+
helpUrl: `https://github.com/cwtickle/danoniplus/wiki/AboutGameSystem`,
|
|
3116
|
+
securityUrl: `https://github.com/cwtickle/danoniplus/security/policy`,
|
|
3114
3117
|
},
|
|
3115
3118
|
En: {
|
|
3116
3119
|
kcDesc: `[{0}:Skip / {1}:Key invalidation (Alternate keys only)]`,
|
|
@@ -3140,6 +3143,9 @@ const g_lang_lblNameObj = {
|
|
|
3140
3143
|
j_iknai: ":( N.G.",
|
|
3141
3144
|
|
|
3142
3145
|
j_adj: `Est-Adj.`,
|
|
3146
|
+
|
|
3147
|
+
helpUrl: `https://github.com/cwtickle/danoniplus-docs/wiki/AboutGameSystem`,
|
|
3148
|
+
securityUrl: `https://github.com/cwtickle/danoniplus-docs/wiki/SecurityPolicy`,
|
|
3143
3149
|
},
|
|
3144
3150
|
};
|
|
3145
3151
|
|
|
@@ -3612,4 +3618,4 @@ const loadLegacySettingFunc = _ => {
|
|
|
3612
3618
|
if (typeof g_presetKeysData === C_TYP_STRING) {
|
|
3613
3619
|
g_presetObj.keysData = g_presetKeysData;
|
|
3614
3620
|
}
|
|
3615
|
-
}
|
|
3621
|
+
};
|
|
@@ -291,7 +291,7 @@ function createButton(_obj, _func) {
|
|
|
291
291
|
div.onmouseover = _ => {
|
|
292
292
|
style.backgroundColor = _obj.hoverColor;
|
|
293
293
|
style.cursor = `pointer`;
|
|
294
|
-
}
|
|
294
|
+
};
|
|
295
295
|
const lsnrkeyTS = g_handler.addListener(div, `touchstart`, _ => {
|
|
296
296
|
style.backgroundColor = _obj.hoverColor;
|
|
297
297
|
style.cursor = `pointer`;
|
|
@@ -301,7 +301,7 @@ function createButton(_obj, _func) {
|
|
|
301
301
|
div.onmouseout = _ => {
|
|
302
302
|
style.backgroundColor = _obj.normalColor;
|
|
303
303
|
style.cursor = `default`;
|
|
304
|
-
}
|
|
304
|
+
};
|
|
305
305
|
const lsnrkeyTE = g_handler.addListener(div, `touchend`, _ => {
|
|
306
306
|
style.backgroundColor = _obj.normalColor;
|
|
307
307
|
style.cursor = `default`;
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
function loadBinary() {
|
|
14
14
|
if (location.href.match(`^file`)) {
|
|
15
|
-
C_IMG_ARROW = `data:image/svg+xml,${encodeURIComponent('<svg id="arrow" data-name="arrow" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:20px;}</style></defs><polygon class="cls-1" points="288.91 42.76 32.94 249.83 288.91 456.9 249.87 314.02 466.8 314.02 466.8 187.71 249.87 187.71 288.91 42.76"/></svg>')}
|
|
15
|
+
C_IMG_ARROW = `data:image/svg+xml,${encodeURIComponent('<svg id="arrow" data-name="arrow" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:20px;}</style></defs><polygon class="cls-1" points="288.91 42.76 32.94 249.83 288.91 456.9 249.87 314.02 466.8 314.02 466.8 187.71 249.87 187.71 288.91 42.76"/></svg>')}`;
|
|
16
16
|
C_IMG_ARROWSD = `data:image/svg+xml,${encodeURIComponent('<svg id="arrowShadow" data-name="arrowShadow" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500"><defs><style>.cls-1{stroke:#000;stroke-miterlimit:10;stroke-width:30px;}</style></defs><polygon class="cls-1" points="288.91 42.76 32.94 249.83 288.91 456.9 249.87 314.02 466.8 314.02 466.8 187.71 249.87 187.71 288.91 42.76"/></svg>')}`;
|
|
17
17
|
C_IMG_ONIGIRI = `data:image/svg+xml,${encodeURIComponent('<svg id="onigiri" data-name="onigiri" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500"><defs><style>.cls-1{fill:none;stroke-width:12px;}.cls-1,.cls-2{stroke:#000;stroke-miterlimit:10;}.cls-2{stroke-width:10px;}</style></defs><line class="cls-1" x1="160.22" y1="238.02" x2="124.03" y2="275.84"/><line class="cls-1" x1="354.94" y1="238.9" x2="391.19" y2="277"/><polyline class="cls-1" points="190.92 262 256.82 433 322.73 262"/><line class="cls-1" x1="205.47" y1="309" x2="308.18" y2="308"/><rect class="cls-2" x="192.63" y="42" width="128.39" height="150"/><line class="cls-1" x1="181.5" y1="42" x2="59.96" y2="195"/><line class="cls-1" x1="331.29" y1="42" x2="444.27" y2="183"/><path class="cls-1" d="M66,213c-81.9,97.55-79.69,176.84,7.71,277"/><path class="cls-1" d="M422,483.88c85.52-95,87.73-172.58,7.71-270.88"/></svg>')}`;
|
|
18
18
|
C_IMG_AASD = `data:image/svg+xml,${encodeURIComponent('<svg id="aaShadow" data-name="aaShadow" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500"><defs><style>.cls-1{stroke:#000;stroke-miterlimit:10;}</style></defs><polygon class="cls-1" points="177.5 25.5 49.5 180.5 6.5 274.5 -0.5 347.5 13.5 416.5 82 500 410.85 499 479.85 418 500 332 480 250 438 162 333 25 177.5 25.5"/></svg>')}`;
|