danoniplus 52.0.0 → 52.2.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/css/danoni_main.css +16 -1
- package/danoni/ringtest.html +98 -0
- package/js/danoni_main.js +14 -3
- package/js/lib/danoni_constants.js +126 -16
- package/js/lib/dataLoader.js +333 -9
- package/js/lib/dosConverter.js +32 -5
- package/js/lib/mainWindow.js +382 -26
- package/js/lib/result.js +3 -1
- package/js/lib/settings.js +451 -59
- package/package.json +1 -1
- package/skin/danoni_skin_default.css +3 -1
- package/skin/danoni_skin_light.css +3 -1
- package/skin/danoni_skin_skyblue.css +3 -1
- package/sound/nosound.mp3 +0 -0
package/css/danoni_main.css
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
本体cssファイル
|
|
5
5
|
|
|
6
6
|
Created : 2018/10/08
|
|
7
|
-
Revised : 2026/08
|
|
7
|
+
Revised : 2026/11/08 (v52.2.0)
|
|
8
8
|
|
|
9
9
|
https://github.com/cwtickle/danoniplus
|
|
10
10
|
------------------------------------------ */
|
|
@@ -29,6 +29,11 @@
|
|
|
29
29
|
animation-play-state: paused !important;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
+
/* ringSpriteがある場合のみ、touch-actionを無効にする */
|
|
33
|
+
#divRoot:has(> #ringSprite) {
|
|
34
|
+
touch-action: none;
|
|
35
|
+
}
|
|
36
|
+
|
|
32
37
|
input[type="range"] {
|
|
33
38
|
appearance: none;
|
|
34
39
|
background: transparent;
|
|
@@ -656,6 +661,14 @@ input[type="color"] {
|
|
|
656
661
|
color: var(--settings-hitPosition-x, #ff99ff);
|
|
657
662
|
}
|
|
658
663
|
|
|
664
|
+
.settings_RingSpeed::first-letter {
|
|
665
|
+
color: var(--settings-ringSpeed-x, #ff99cc);
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
.settings_RingGuide::first-letter {
|
|
669
|
+
color: var(--settings-ringGuide-x, #ff9999);
|
|
670
|
+
}
|
|
671
|
+
|
|
659
672
|
.settings_DifSelector {
|
|
660
673
|
background: var(--settings-difSelector, #111111);
|
|
661
674
|
}
|
|
@@ -718,6 +731,8 @@ input[type="color"] {
|
|
|
718
731
|
.settings_Appearance:hover,
|
|
719
732
|
.settings_Opacity:hover,
|
|
720
733
|
.settings_HitPosition:hover,
|
|
734
|
+
.settings_RingSpeed:hover,
|
|
735
|
+
.settings_RingGuide:hover,
|
|
721
736
|
.settings_PlayWindow:hover,
|
|
722
737
|
.settings_StepArea:hover,
|
|
723
738
|
.settings_FrzReturn:hover,
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="ja">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<script src="../js/danoni_main.js"></script>
|
|
6
|
+
<title>Dancing★Onigiri Test3</title>
|
|
7
|
+
<style type="text/css">
|
|
8
|
+
<!--//
|
|
9
|
+
a:link { color:#BAB7E0;}
|
|
10
|
+
a:visited{ color:#BAB7E0;}
|
|
11
|
+
a:active { color:#CCCCCC;}
|
|
12
|
+
body{
|
|
13
|
+
font-family:"Arial","メイリオ","MS P ゴシック",sans-serif;
|
|
14
|
+
scrollbar-base-color:"black";
|
|
15
|
+
scrollbar-arrow-color:"white";
|
|
16
|
+
color:#cccccc;
|
|
17
|
+
background-color:#000011;
|
|
18
|
+
font-size:14px;
|
|
19
|
+
}
|
|
20
|
+
table{
|
|
21
|
+
border:0;
|
|
22
|
+
border-collapse:collapse;
|
|
23
|
+
margin:auto;
|
|
24
|
+
}
|
|
25
|
+
th,td{padding:0;}
|
|
26
|
+
|
|
27
|
+
a{ text-decoration: none; }
|
|
28
|
+
a:hover { color:#FF9900; text-decoration: underline; }
|
|
29
|
+
//-->
|
|
30
|
+
</style>
|
|
31
|
+
</head>
|
|
32
|
+
|
|
33
|
+
<body>
|
|
34
|
+
<table><tr><td>
|
|
35
|
+
<input type="hidden" name="dos" id="dos" value='
|
|
36
|
+
|
|
37
|
+
|musicTitle=Ring Note Test,Tester|
|
|
38
|
+
|difData=7,RingTest,3.5|
|
|
39
|
+
|musicUrl=nosound.mp3|
|
|
40
|
+
|endFrame=1500|
|
|
41
|
+
|
|
42
|
+
|stepZoneUse=true,OFF|
|
|
43
|
+
|ring_data=
|
|
44
|
+
300,150,200,1
|
|
45
|
+
300,150,250,1
|
|
46
|
+
330,250,150,1
|
|
47
|
+
360,350,200,2,40,#ffcc00
|
|
48
|
+
420,250,300,3,60,#ff6699
|
|
49
|
+
480,120,120,4,30,#66ccff
|
|
50
|
+
540,380,320,5,,#99ff99
|
|
51
|
+
600,250,200,6,,,90
|
|
52
|
+
720,300,300,3
|
|
53
|
+
780,150,150,7,,,90
|
|
54
|
+
840,350,150,7
|
|
55
|
+
900,350,350,2,40,#ff9966
|
|
56
|
+
960,150,350,3,40,#ff9966
|
|
57
|
+
1020,250,250,4,80,#ffff66
|
|
58
|
+
|
|
|
59
|
+
|
|
60
|
+
|ringspeed_data=
|
|
61
|
+
0,1
|
|
62
|
+
700,2
|
|
63
|
+
1000,0.5
|
|
64
|
+
|
|
|
65
|
+
|
|
66
|
+
|ring2_data=
|
|
67
|
+
300,250,200
|
|
68
|
+
|
|
|
69
|
+
|
|
70
|
+
'>
|
|
71
|
+
<div id="canvas-frame">
|
|
72
|
+
<p>ゲームを準備しています...</p>
|
|
73
|
+
<p>このメッセージがいつまでも消えない場合、<br>
|
|
74
|
+
Google ChromeやFirefox等、HTML5に対応したブラウザをご利用ください。</p>
|
|
75
|
+
</div>
|
|
76
|
+
プレイ中:[BackSpace] リトライ、[Delete] タイトルバック<br>
|
|
77
|
+
<br>
|
|
78
|
+
遊び方:<br>
|
|
79
|
+
曲やリズムに合わせてやってくるリングが、ガイドリングと重なったときに<br>
|
|
80
|
+
マウスカーソルがその中にあればそのリングを取れるリズムゲームです。<br>
|
|
81
|
+
|
|
82
|
+
<br>
|
|
83
|
+
推奨ブラウザ:<br>
|
|
84
|
+
Google Chrome, Opera, Vivaldi, Microsoft Edge, Safari などWebkit系ブラウザ<br>
|
|
85
|
+
(IE及び、Firefoxのローカル起動は動作保証外です。)<br>
|
|
86
|
+
<br>
|
|
87
|
+
GitHub:<br>
|
|
88
|
+
<a href="https://github.com/cwtickle/danoniplus">https://github.com/cwtickle/danoniplus</a><br>
|
|
89
|
+
<br>
|
|
90
|
+
<br>
|
|
91
|
+
<br>
|
|
92
|
+
<br>
|
|
93
|
+
<br>
|
|
94
|
+
<br>
|
|
95
|
+
<br>
|
|
96
|
+
</td></tr></table>
|
|
97
|
+
</body>
|
|
98
|
+
</html>
|
package/js/danoni_main.js
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Source by tickle
|
|
6
6
|
* Created : 2018/10/08
|
|
7
|
-
* Revised : 2026/11/
|
|
7
|
+
* Revised : 2026/11/08
|
|
8
8
|
*
|
|
9
9
|
* https://github.com/cwtickle/danoniplus
|
|
10
10
|
*/
|
|
11
|
-
const g_version = `Ver 52.
|
|
12
|
-
const g_revisedDate = `2026/11/
|
|
11
|
+
const g_version = `Ver 52.2.0`;
|
|
12
|
+
const g_revisedDate = `2026/11/08`;
|
|
13
13
|
|
|
14
14
|
// カスタム用バージョン (danoni_custom.js 等で指定可)
|
|
15
15
|
let g_localVersion = ``;
|
|
@@ -133,7 +133,12 @@ const waitUntilLoaded = () => {
|
|
|
133
133
|
initialControl();
|
|
134
134
|
|
|
135
135
|
// プレイ画面(g_currentPage === `main`)でのみ有効化される、タブ非表示検知(常時1個だけ登録)
|
|
136
|
+
bindRingMouse();
|
|
136
137
|
g_handler.addListener(document, `visibilitychange`, () => {
|
|
138
|
+
// ポインタ状態は画面や譜面の位置に関係なくクリアする。
|
|
139
|
+
if (document.hidden) {
|
|
140
|
+
resetRingPointers();
|
|
141
|
+
}
|
|
137
142
|
if (g_currentPage !== `main`) return;
|
|
138
143
|
if (g_scoreObj.baseFrame > g_scoreObj.lastFrame) return;
|
|
139
144
|
document.hidden ? g_timelineHooks.pause() : g_timelineHooks.resume();
|
|
@@ -231,6 +236,7 @@ let g_cxtDeleteFlg = {};
|
|
|
231
236
|
const g_detailObj = {
|
|
232
237
|
arrowCnt: [],
|
|
233
238
|
frzCnt: [],
|
|
239
|
+
ringCnt: [],
|
|
234
240
|
maxDensity: [],
|
|
235
241
|
maxDensity2Push: [],
|
|
236
242
|
maxDensity3Push: [],
|
|
@@ -2341,6 +2347,11 @@ const makeBgCanvas = (_ctx, { w = g_sWidth, h = g_sHeight } = {}) => {
|
|
|
2341
2347
|
* @param {string} [_customDisplayName=''] 画面名(メイン画面: 'Main', それ以外: 空)
|
|
2342
2348
|
*/
|
|
2343
2349
|
const clearWindow = (_customDisplayName = ``) => {
|
|
2350
|
+
if (g_currentPage === `main`) {
|
|
2351
|
+
stopRingKeepAlive();
|
|
2352
|
+
g_ringTouchCleanup?.();
|
|
2353
|
+
g_ringTouchCleanup = null;
|
|
2354
|
+
}
|
|
2344
2355
|
closeDisplayPreview();
|
|
2345
2356
|
resetKeyControl();
|
|
2346
2357
|
resetTransform();
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Source by tickle
|
|
7
7
|
* Created : 2019/11/19
|
|
8
|
-
* Revised : 2026/11/
|
|
8
|
+
* Revised : 2026/11/08 (v52.2.0)
|
|
9
9
|
*
|
|
10
10
|
* https://github.com/cwtickle/danoniplus
|
|
11
11
|
*/
|
|
@@ -48,7 +48,7 @@ const g_limitObj = {
|
|
|
48
48
|
// 設定画面用のボタンの位置、幅、高さ、フォントサイズ
|
|
49
49
|
setLblLeft: 160,
|
|
50
50
|
setLblWidth: 210,
|
|
51
|
-
setLblHeight:
|
|
51
|
+
setLblHeight: 21,
|
|
52
52
|
setLblSiz: 17,
|
|
53
53
|
|
|
54
54
|
setLblLeftShort: 250,
|
|
@@ -116,14 +116,16 @@ const g_settingPos = {
|
|
|
116
116
|
shuffle: { heightPos: 5.5 },
|
|
117
117
|
autoPlay: { heightPos: 6.5 },
|
|
118
118
|
gauge: { heightPos: 7.5 },
|
|
119
|
-
adjustment: { heightPos: 10.
|
|
120
|
-
fadein: { heightPos: 11.
|
|
121
|
-
volume: { heightPos: 12.
|
|
119
|
+
adjustment: { heightPos: 10.6 },
|
|
120
|
+
fadein: { heightPos: 11.6 },
|
|
121
|
+
volume: { heightPos: 12.6 },
|
|
122
122
|
},
|
|
123
123
|
settingsDisplay: {
|
|
124
124
|
appearance: { heightPos: 5.8, y: 10 },
|
|
125
125
|
opacity: { heightPos: 7.4, y: 10 },
|
|
126
126
|
hitPosition: { heightPos: 8.4, y: 10 },
|
|
127
|
+
ringSpeed: { heightPos: 9.8, y: 10 },
|
|
128
|
+
ringGuide: { heightPos: 10.8, y: 10 },
|
|
127
129
|
},
|
|
128
130
|
exSetting: {
|
|
129
131
|
playWindow: { heightPos: 0 },
|
|
@@ -566,6 +568,16 @@ const updateWindowSiz = () => {
|
|
|
566
568
|
btnDisplayReset: {
|
|
567
569
|
x: g_btnX() + g_btnWidth() - 80, y: 3, w: 80, h: 18, siz: 11,
|
|
568
570
|
},
|
|
571
|
+
lblRingSetting: {
|
|
572
|
+
x: g_sWidth / 2 - 100, y: 0, w: 200, h: 20, siz: 24,
|
|
573
|
+
},
|
|
574
|
+
btnRingSetting: {
|
|
575
|
+
x: g_btnX() + Math.floor((g_btnWidth() - 80) / 2), y: 3, w: 80, h: 18, siz: 11,
|
|
576
|
+
title: g_msgObj.ringSetting,
|
|
577
|
+
},
|
|
578
|
+
btnRingClose: {
|
|
579
|
+
x: g_btnX() + g_btnWidth() - 80, y: 3, w: 80, h: 18, siz: 11,
|
|
580
|
+
},
|
|
569
581
|
lblDisplayPreviewMsg: {
|
|
570
582
|
x: g_btnX(), y: g_sHeight - 40, w: g_btnWidth(), h: 20, siz: 14,
|
|
571
583
|
},
|
|
@@ -839,6 +851,7 @@ const C_JSF_BLANK = `danoni_blank.js`;
|
|
|
839
851
|
const C_DIR_JS = `../js/`;
|
|
840
852
|
const C_DIR_CSS = `../css/`;
|
|
841
853
|
const C_DIR_MUSIC = `../music/`;
|
|
854
|
+
const C_DIR_SOUND = `../sound/`;
|
|
842
855
|
const C_DIR_SKIN = `../skin/`;
|
|
843
856
|
|
|
844
857
|
// カレントディレクトリマーク
|
|
@@ -1152,6 +1165,44 @@ const g_judgPosObj = {
|
|
|
1152
1165
|
ii: 0, shakin: 1, matari: 2, shobon: 3, uwan: 4,
|
|
1153
1166
|
kita: 0, sfsf: 1, iknai: 2,
|
|
1154
1167
|
};
|
|
1168
|
+
/** リングノートの共通設定 */
|
|
1169
|
+
const g_ringObj = {
|
|
1170
|
+
baseFrame: 60, // リング速度1のときの出現~到達フレーム数
|
|
1171
|
+
radius: 50, // ガイド半径の既定値(px)
|
|
1172
|
+
minRadius: 5, // ガイド半径の最小値(px)
|
|
1173
|
+
startRate: 0.1, // 出現時のリング半径(ガイド半径に対する比)
|
|
1174
|
+
color: `#ffffff`, // リング色の既定値(暗背景時)
|
|
1175
|
+
colorLight: `#000000`, // リング色の既定値(明背景時)
|
|
1176
|
+
guideColor: `#00ff00`, // ガイド色(暗背景時)
|
|
1177
|
+
guideColorLight: `#009900`, // ガイド色(明背景時)
|
|
1178
|
+
lineWidth: 2, // 線の太さ(px)
|
|
1179
|
+
sound: 1, // 音番号の既定値 (0: 無音)
|
|
1180
|
+
cols: 7, // 内部の列数 [到達フレーム, X, Y, 音番号, 半径, 色, 出現~到達フレーム数(0:未指定)]
|
|
1181
|
+
};
|
|
1182
|
+
|
|
1183
|
+
/** リングノートのデフォルト音 (音番号1~。外部ファイル不要でコード生成する) */
|
|
1184
|
+
const g_ringDefaultSounds = [
|
|
1185
|
+
// 0: 無音
|
|
1186
|
+
// 1: 従来のサリングのデフォルト音に近い音色
|
|
1187
|
+
{
|
|
1188
|
+
dur: 0.32, attack: 0.012, level: 0.5, lowpass: 10200, lpPasses: 4, bands: [
|
|
1189
|
+
{ f: 6935, q: 18, gain: 0.99, tau: 0.024, tau2: 0.09, mix2: 0.18 },
|
|
1190
|
+
{ f: 9150, q: 58, gain: 0.62, tau: 0.057, tau2: 0.089, mix2: 0.18 },
|
|
1191
|
+
{ f: 6000, q: 5.5, gain: 0.03, tau: 0.053, tau2: 0.145, mix2: 0.24 },
|
|
1192
|
+
{ f: 8400, q: 9.8, gain: 0.3, tau: 0.034, tau2: 0.072, mix2: 0.26 },
|
|
1193
|
+
{ f: 3500, q: 2, gain: 0.02, tau: 0.03, tau2: 0.04, mix2: 0.5 },
|
|
1194
|
+
]
|
|
1195
|
+
},
|
|
1196
|
+
// 2: パーン
|
|
1197
|
+
{ wave: `sine`, freq: 1800, freqEnd: 250, sweep: 0.025, noise: 0.6, dur: 0.28, decay: 9 },
|
|
1198
|
+
// 3: パン(短め・乾いた音)
|
|
1199
|
+
{ wave: `sine`, freq: 2400, freqEnd: 400, sweep: 0.015, noise: 0.85, dur: 0.12, decay: 14 },
|
|
1200
|
+
{ wave: `sine`, freq: 880, dur: 0.12 }, // 4
|
|
1201
|
+
{ wave: `sine`, freq: 1320, dur: 0.12 }, // 5
|
|
1202
|
+
{ wave: `triangle`, freq: 660, dur: 0.12 }, // 6
|
|
1203
|
+
{ wave: `square`, freq: 440, dur: 0.15 }, // 7
|
|
1204
|
+
];
|
|
1205
|
+
|
|
1155
1206
|
const g_judgRanges = {
|
|
1156
1207
|
'Normal': [[2, 4, 6, 8, 16], [2, 4, 8]],
|
|
1157
1208
|
'Narrow': [[2, 3, 4, 8, 16], [2, 4, 8]],
|
|
@@ -1318,6 +1369,12 @@ const g_stateObj = {
|
|
|
1318
1369
|
|
|
1319
1370
|
layerNum: 2, // オプションを加味した実際のレイヤー数
|
|
1320
1371
|
layerNumDf: 2, // 基準レイヤー数
|
|
1372
|
+
|
|
1373
|
+
// リング速度オプション (将来用。現状は常に1。大きいほど出現~到達が短くなる)
|
|
1374
|
+
ringSpeed: 1,
|
|
1375
|
+
|
|
1376
|
+
// リングのガイド表示 (All: 出現中のすべて / Next: 次に判定するリングのみ)
|
|
1377
|
+
ringGuide: `Next`,
|
|
1321
1378
|
};
|
|
1322
1379
|
|
|
1323
1380
|
const C_VAL_MAXLIFE = 1000;
|
|
@@ -1410,7 +1467,7 @@ const g_settings = {
|
|
|
1410
1467
|
customKey: 0,
|
|
1411
1468
|
others: 0,
|
|
1412
1469
|
},
|
|
1413
|
-
environments: [`adjustment`, `volume`, `colorType`, `appearance`, `opacity`, `hitPosition`,
|
|
1470
|
+
environments: [`adjustment`, `volume`, `colorType`, `appearance`, `opacity`, `hitPosition`, `ringSpeed`, `ringGuide`,
|
|
1414
1471
|
`arrowJdgX`, `arrowJdgY`, `frzJdgX`, `frzJdgY`, `shortcutX`, `shortcutY`],
|
|
1415
1472
|
keyStorages: [`reverse`, `keyCtrl`, `keyCtrlPtn`, `shuffle`, `color`, `stepRtn`, `shortcut`],
|
|
1416
1473
|
colorStorages: [`setColor`, `setShadowColor`, `frzColor`, `frzShadowColor`],
|
|
@@ -1458,6 +1515,13 @@ const g_settings = {
|
|
|
1458
1515
|
hitPositionNum: g_limitObj.hitPosition * 10,
|
|
1459
1516
|
hitPositionTerms: [50, 10],
|
|
1460
1517
|
|
|
1518
|
+
ringSpeeds: makeSpeedList(0.5, 3),
|
|
1519
|
+
ringSpeedNum: 0,
|
|
1520
|
+
ringSpeedTerms: [20, 5],
|
|
1521
|
+
|
|
1522
|
+
ringGuides: [`Next`, `ALL`, `Hidden`],
|
|
1523
|
+
ringGuideNum: 0,
|
|
1524
|
+
|
|
1461
1525
|
volumes: [0, 0.5, 1, 2, 5, 10, 25, 50, 75, 100],
|
|
1462
1526
|
volumeNum: 0,
|
|
1463
1527
|
bgmVolumeNum: 0,
|
|
@@ -2376,13 +2440,13 @@ let g_displays = [`stepZone`, `judgment`, `lifeGauge`, `score`, `musicInfo`, `fi
|
|
|
2376
2440
|
`velocity`, `color`, `background`, `arrowEffect`, `special`];
|
|
2377
2441
|
|
|
2378
2442
|
// ローカルストレージ保存対象
|
|
2379
|
-
let g_storeSettings = [`adjustment`, `volume`, `appearance`, `opacity`, `hitPosition`];
|
|
2443
|
+
let g_storeSettings = [`adjustment`, `volume`, `appearance`, `opacity`, `hitPosition`, `ringSpeed`, `ringGuide`];
|
|
2380
2444
|
|
|
2381
2445
|
// 廃棄対象のリスト(過去の登録対象をリスト化。ここに乗せるとローカルストレージから自動消去される)
|
|
2382
2446
|
let g_storeSettingsEx = [`d_stepzone`, `d_judgment`, `d_fastslow`, `d_lifegauge`,
|
|
2383
2447
|
`d_score`, `d_musicinfo`, `d_filterline`];
|
|
2384
2448
|
|
|
2385
|
-
let g_canDisabledSettings = [`speed`, `motion`, `scroll`, `reverse`, `shuffle`, `autoPlay`, `gauge`,
|
|
2449
|
+
let g_canDisabledSettings = [`speed`, `motion`, `scroll`, `reverse`, `shuffle`, `autoPlay`, `gauge`, `ringSpeed`, `ringGuide`,
|
|
2386
2450
|
`excessive`, `appearance`, `playWindow`, `stepArea`, `frzReturn`, `shaking`, `effect`, `camoufrage`, `camoufrageType`,
|
|
2387
2451
|
`swapping`, `judgRange`, `autoRetry`];
|
|
2388
2452
|
|
|
@@ -3034,6 +3098,13 @@ const g_shortcutObj = {
|
|
|
3034
3098
|
ShiftRight_KeyT: { id: `lnkHitPositionL` },
|
|
3035
3099
|
KeyT: { id: `lnkHitPositionLL` },
|
|
3036
3100
|
|
|
3101
|
+
ShiftLeft_KeyS: { id: `lnkRingSpeedL` },
|
|
3102
|
+
ShiftRight_KeyS: { id: `lnkRingSpeedL` },
|
|
3103
|
+
KeyS: { id: `lnkRingSpeedR` },
|
|
3104
|
+
ShiftLeft_KeyG: { id: `lnkRingGuideL` },
|
|
3105
|
+
ShiftRight_KeyG: { id: `lnkRingGuideL` },
|
|
3106
|
+
KeyG: { id: `lnkRingGuideR` },
|
|
3107
|
+
|
|
3037
3108
|
ShiftLeft_Digit1: { id: `lnkstepZoneR` },
|
|
3038
3109
|
ShiftRight_Digit1: { id: `lnkstepZoneR` },
|
|
3039
3110
|
ShiftLeft_Digit2: { id: `lnkjudgmentR` },
|
|
@@ -3178,6 +3249,8 @@ const g_shortcutObj = {
|
|
|
3178
3249
|
Escape: { id: `btnHelpClose` },
|
|
3179
3250
|
ArrowUp: { id: `btnHelpPrev` },
|
|
3180
3251
|
ArrowDown: { id: `btnHelpNext` },
|
|
3252
|
+
ArrowLeft: { id: `btnHelpLeft` },
|
|
3253
|
+
ArrowRight: { id: `btnHelpRight` },
|
|
3181
3254
|
},
|
|
3182
3255
|
keyConfig: {
|
|
3183
3256
|
//Escape: { id: `btnBack` }, // Escapeを別用途でも使用するため、ここではコメントアウト
|
|
@@ -4347,6 +4420,8 @@ const g_dataMinObj = {
|
|
|
4347
4420
|
mask: 1,
|
|
4348
4421
|
back: 1,
|
|
4349
4422
|
style: 1,
|
|
4423
|
+
ring: g_ringObj.cols,
|
|
4424
|
+
ringSpeed: 2,
|
|
4350
4425
|
};
|
|
4351
4426
|
|
|
4352
4427
|
/**
|
|
@@ -4720,6 +4795,7 @@ const g_lblNameObj = {
|
|
|
4720
4795
|
s_time: `Time`,
|
|
4721
4796
|
s_arrow: `Arrow`,
|
|
4722
4797
|
s_frz: `Frz`,
|
|
4798
|
+
s_ring: `Ring`,
|
|
4723
4799
|
|
|
4724
4800
|
s_rev: `MapScroll`,
|
|
4725
4801
|
|
|
@@ -4751,6 +4827,9 @@ const g_lblNameObj = {
|
|
|
4751
4827
|
JudgRange: `JudgRange`,
|
|
4752
4828
|
AutoRetry: `AutoRetry`,
|
|
4753
4829
|
|
|
4830
|
+
RingSpeed: `RingSpeed`,
|
|
4831
|
+
RingGuide: `RingGuide`,
|
|
4832
|
+
|
|
4754
4833
|
'u_x': `x`,
|
|
4755
4834
|
'u_%': `%`,
|
|
4756
4835
|
'u_key': `key`,
|
|
@@ -4957,7 +5036,7 @@ const g_lang_lblNameObj = {
|
|
|
4957
5036
|
s_result: `CopyResult`,
|
|
4958
5037
|
s_resetResult: `Reset`,
|
|
4959
5038
|
s_printTitle: `Dancing☆Onigiri レベル計算ツール+++`,
|
|
4960
|
-
s_printHeader: `難易度\t同時\t縦連\t総数\t矢印\t氷矢印\tAPM\t時間`,
|
|
5039
|
+
s_printHeader: `難易度\t同時\t縦連\t総数\t矢印\t氷矢印\tリング\tAPM\t時間`,
|
|
4961
5040
|
|
|
4962
5041
|
'u_60deg': `60°`,
|
|
4963
5042
|
'u_120deg': `120°`,
|
|
@@ -5023,7 +5102,7 @@ const g_lang_lblNameObj = {
|
|
|
5023
5102
|
s_result: `CopyResult`,
|
|
5024
5103
|
s_resetResult: `Reset`,
|
|
5025
5104
|
s_printTitle: `Dancing☆Onigiri Level Calculator+++`,
|
|
5026
|
-
s_printHeader: `Level\tChords\tJack\tAll\tArrow\tFrz\tAPM\tTime`,
|
|
5105
|
+
s_printHeader: `Level\tChords\tJack\tAll\tArrow\tFrz\tRing\tAPM\tTime`,
|
|
5027
5106
|
|
|
5028
5107
|
'u_60deg': `60deg`,
|
|
5029
5108
|
'u_120deg': `120deg`,
|
|
@@ -5176,7 +5255,7 @@ const g_lang_msgObj = {
|
|
|
5176
5255
|
`[XZ-Axis] X-Z軸回転\n` +
|
|
5177
5256
|
`[YZ-Axis] Y-Z軸回転\n` +
|
|
5178
5257
|
`[Random+] X軸, Y軸, Z軸, X-Y軸, X-Z軸, Y-Z回転のいずれかが適用されます。`,
|
|
5179
|
-
frzReturnType:
|
|
5258
|
+
frzReturnType: `回転幅を変更する設定です。\n[360°/120°/60°] 指定の角度まで回転します\n[±360°/±120°] 360°/120°に加えて逆回転が掛かることがあります\n[Pendulum] 振り子のように左右に動きます`,
|
|
5180
5259
|
shaking: `ステップゾーン及び矢印を揺らす設定です。\n` +
|
|
5181
5260
|
`[Horizontal] 横方向に揺らします。\n[Vertical] 縦方向に揺らします。\n` +
|
|
5182
5261
|
`[X-Horizontal] レイヤーごとに左右交互の向きで横に揺らします。\n` +
|
|
@@ -5190,7 +5269,12 @@ const g_lang_msgObj = {
|
|
|
5190
5269
|
`[Wave] 矢印とフリーズアローが左右に揺れながら移動します。\n` +
|
|
5191
5270
|
`[Storm] 矢印とフリーズアローが左右に激しく揺れ、回転します。\n` +
|
|
5192
5271
|
`[Blinking] 矢印が点滅します。\n[Squids] 矢印が伸び縮みします。`,
|
|
5193
|
-
camoufrage:
|
|
5272
|
+
camoufrage: `ステップの見た目が配置は同じでランダムに変わります。\n` +
|
|
5273
|
+
`[Color] 矢印とフリーズアローの色が他のものに擬態します。\n` +
|
|
5274
|
+
`[Arrow] 矢印とフリーズアローの矢印形状が他のものに擬態します。\n` +
|
|
5275
|
+
`[Step+Arrow] 矢印とフリーズアローの矢印形状・ステップゾーンが他のものに擬態します。\n` +
|
|
5276
|
+
`[Color+Arrow] 矢印とフリーズアローの色・矢印形状が他のものに擬態します。\n` +
|
|
5277
|
+
`[Color+Step+Arrow] 矢印とフリーズアローの色・矢印形状・ステップゾーン全てが他のものに擬態します。`,
|
|
5194
5278
|
camoufrageType: `[FrzArrow] フリーズアローの帯部分を初期表示のみ非表示にし、矢印のみで表示します(ヒット/失敗時は帯を再表示)`,
|
|
5195
5279
|
swapping: `ステップゾーンの位置を入れ替える設定です。\n` +
|
|
5196
5280
|
`[InnerSwap] ステップゾーンの中央部分のみグループ単位で入れ替えます。\n` +
|
|
@@ -5219,7 +5303,14 @@ const g_lang_msgObj = {
|
|
|
5219
5303
|
`[Hid&Sud+] Hidden+とSudden+を組み合わせて表示します。` +
|
|
5220
5304
|
`初期値を0%~50%の間で設定できます。「Lock」ボタンで可視範囲の調整を不可にします。`,
|
|
5221
5305
|
opacity: `判定キャラクタ、コンボ数、Fast/Slowの透明度を設定します。`,
|
|
5222
|
-
hitPosition:
|
|
5306
|
+
hitPosition: `判定位置にズレを感じる場合、数値を変えることで判定の中央位置を1px単位(プラス:手前, マイナス:奥側)で調整することができます。\n早押し・遅押し傾向にある場合に使用します。`,
|
|
5307
|
+
ringSpeed: `リングノートの表示速度を設定します。\n` +
|
|
5308
|
+
`0.5x ~ 3.0xの間で設定できます。初期値は1.0xです。`,
|
|
5309
|
+
ringGuide: `リングノートに対するガイド表示の設定です。\n` +
|
|
5310
|
+
`[Next] 次に判定するリングのみ表示します。\n` +
|
|
5311
|
+
`[ALL] 出現中すべてのリングノートに対するガイドを表示します。\n` +
|
|
5312
|
+
`[Hidden] すべてのガイド表示を非表示にします。`,
|
|
5313
|
+
|
|
5223
5314
|
displayPreview: `プレイ画面上のオブジェクトの表示状態をプレビューします。\n判定キャラクタ部分をドラッグで移動するとその位置に補正されます。`,
|
|
5224
5315
|
displayPreviewResetConfirm: `プレイ画面上のオブジェクトの位置を初期状態に戻します。よろしいですか?`,
|
|
5225
5316
|
|
|
@@ -5345,7 +5436,7 @@ const g_lang_msgObj = {
|
|
|
5345
5436
|
`[XZ-Axis] X-Z axis rotation\n` +
|
|
5346
5437
|
`[YZ-Axis] Y-Z axis rotation\n` +
|
|
5347
5438
|
`[Random+] Randomly rotates to one of the X/Y/Z/X-Y/X-Z/Y-Z axes.`,
|
|
5348
|
-
frzReturnType: `[360deg/120deg/60deg] Rotates to the specified angle.\n[±360deg/±120deg] May rotate in the opposite direction in addition to 360deg/120deg.\n[Pendulum] Moves back and forth like a pendulum.`,
|
|
5439
|
+
frzReturnType: `Set the rotation range.\n[360deg/120deg/60deg] Rotates to the specified angle.\n[±360deg/±120deg] May rotate in the opposite direction in addition to 360deg/120deg.\n[Pendulum] Moves back and forth like a pendulum.`,
|
|
5349
5440
|
shaking: `This sets shaking for the step zone and arrows.\n` +
|
|
5350
5441
|
`[Horizontal] Shakes horizontally.\n[Vertical] Shakes vertically.\n` +
|
|
5351
5442
|
`[X-Horizontal] Per-layer shaking with alternating left/right direction by layer.\n` +
|
|
@@ -5354,8 +5445,13 @@ const g_lang_msgObj = {
|
|
|
5354
5445
|
`[S-Drunk] Shakes the entire screen randomly in all directions, and also shakes each layer randomly in all directions.\n` +
|
|
5355
5446
|
`[H-Drunk] Adds stronger vertical movement than S-Drunk and adds rotation.`,
|
|
5356
5447
|
effect: `Applies effects to the arrows and freeze arrows.\n[Dizzy/Spin] Arrows rotate.\n[Wave/Storm] Swing from left to right.\n[Blinking] Arrows blink.\n[Squids] Arrows stretch and shrink.`,
|
|
5357
|
-
camoufrage: `The appearance of the steps changes randomly with the same placement
|
|
5358
|
-
|
|
5448
|
+
camoufrage: `The appearance of the steps changes randomly with the same placement.\n` +
|
|
5449
|
+
`[Color] The color of the arrows and freeze arrows mimics other objects.\n` +
|
|
5450
|
+
`[Arrow] The arrow shape of the arrows and freeze arrows mimics other objects.\n` +
|
|
5451
|
+
`[Step+Arrow] The arrow shape and step zone of the arrows and freeze arrows mimics other objects.\n` +
|
|
5452
|
+
`[Color+Arrow] The color and arrow shape of the arrows and freeze arrows mimics other objects.\n` +
|
|
5453
|
+
`[Color+Step+Arrow] The color, arrow shape, and step zone of the arrows and freeze arrows mimics other objects.`,
|
|
5454
|
+
camoufrageType: `[FrzArrow] Initially hides freeze-arrow bars and displays only the arrow portion (bars reappear on hit/failure).`,
|
|
5359
5455
|
swapping: `This setting allows you to swap the positions of the step zones.\n` +
|
|
5360
5456
|
`[InnerSwap] Swaps only the inner portion of step zones within each shuffle group.\n` +
|
|
5361
5457
|
`[OuterSwap] Swaps the outer portion (inverse of InnerSwap) within each shuffle group.\n` +
|
|
@@ -5390,6 +5486,13 @@ const g_lang_msgObj = {
|
|
|
5390
5486
|
opacity: `Set the transparency of some objects such as judgment, combo counts, fast and slow`,
|
|
5391
5487
|
hitPosition: `If you feel a discrepancy in the judgment position, you can adjust the center position of the judgment in 1px increments (plus: in front, minus: at the back) by changing the numerical value. \n` +
|
|
5392
5488
|
`Use this function when there is a tendency to push too fast or too slow.`,
|
|
5489
|
+
ringSpeed: `Set the display speed of the ring notes.\n` +
|
|
5490
|
+
`You can set it between 0.5x and 3.0x. The initial value is 1.0x.`,
|
|
5491
|
+
ringGuide: `Settings for guide display on ring-bound notebooks. \n` +
|
|
5492
|
+
`[Next] Display only the next ring to be judged.\n` +
|
|
5493
|
+
`[ALL] Display guides for all ring notes that are currently appearing.\n` +
|
|
5494
|
+
`[Hidden] Hide all guide displays.`,
|
|
5495
|
+
|
|
5393
5496
|
displayPreview: `Preview the display status of objects on the play screen.\nDragging the judgment character section will adjust it to that position.`,
|
|
5394
5497
|
displayPreviewResetConfirm: `Reset the position of objects on the play screen to the initial state. Is it OK?`,
|
|
5395
5498
|
|
|
@@ -5475,6 +5578,13 @@ const g_customJsObj = {
|
|
|
5475
5578
|
judg_frzHit: [],
|
|
5476
5579
|
judg_dummyFrzHit: [],
|
|
5477
5580
|
|
|
5581
|
+
// リングノート用 (第2引数は常に-1)
|
|
5582
|
+
judg_ring_ii: [],
|
|
5583
|
+
judg_ring_shakin: [],
|
|
5584
|
+
judg_ring_matari: [],
|
|
5585
|
+
judg_ring_shobon: [],
|
|
5586
|
+
judg_ring_uwan: [],
|
|
5587
|
+
|
|
5478
5588
|
mainEnterFrame: [],
|
|
5479
5589
|
mainBeforeFrameTimer: [],
|
|
5480
5590
|
result: [],
|