danoniplus 24.6.4 → 25.5.5

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.
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * Source by tickle
7
7
  * Created : 2019/11/19
8
- * Revised : 2022/01/26 (v24.6.2)
8
+ * Revised : 2022/01/26 (v25.5.1)
9
9
  *
10
10
  * https://github.com/cwtickle/danoniplus
11
11
  */
@@ -197,16 +197,16 @@ let g_imgExtensions = [`png`, `gif`, `bmp`, `jpg`, `jpeg`, `svg`];
197
197
  // オブジェクト種別
198
198
  const g_typeLists = {
199
199
  arrow: [`arrow`, `dummyArrow`, `frz`, `dummyFrz`],
200
- color: [`color`, `acolor`, `shadowColor`, `ashadowColor`],
200
+ color: [`color`, `acolor`],
201
201
  frzColor: [`Normal`, `NormalBar`, `Hit`, `HitBar`],
202
202
  dataList: [
203
203
  `Arrow`, `FrzArrow`, `FrzLength`,
204
- `Color`, `ColorCd`, `FColor`, `FColorCd`,
205
- `AColor`, `AColorCd`, `FAColor`, `FAColorCd`,
206
- `shadowColor`, `shadowColorCd`, `FshadowColor`, `FshadowColorCd`,
207
- `AshadowColor`, `AshadowColorCd`, `FAshadowColor`, `FAshadowColorCd`,
204
+ `Color`, `ColorCd`,
205
+ `FColorNormal`, `FColorNormalCd`, `FColorNormalBar`, `FColorNormalBarCd`,
206
+ `FColorHit`, `FColorHitCd`, `FColorHitBar`, `FColorHitBarCd`,
208
207
  `ArrowCssMotion`, `ArrowCssMotionName`,
209
208
  `FrzCssMotion`, `FrzCssMotionName`,
209
+ `ArrowColorChangeAll`, `FrzColorChangeAll`,
210
210
  ],
211
211
  };
212
212
 
@@ -503,6 +503,15 @@ const g_settings = {
503
503
  g_settings.volumeNum = g_settings.volumes.length - 1;
504
504
  g_settings.opacityNum = g_settings.opacitys.length - 1;
505
505
 
506
+ /**
507
+ * 設定画面間移動
508
+ */
509
+ const g_jumpSettingWindow = {
510
+ option: _ => settingsDisplayInit(),
511
+ difSelector: _ => settingsDisplayInit(),
512
+ settingsDisplay: _ => optionInit(),
513
+ };
514
+
506
515
  /**
507
516
  * シャッフル適用関数
508
517
  */
@@ -1659,10 +1668,10 @@ const g_keyObj = {
1659
1668
  keyCtrl12_0: [[85, 0], [73, 0], [56, 57], [79, 0], [32, 0], [78, 0], [74, 0], [77, 0], [75, 0], [188, 0], [76, 0], [190, 0]],
1660
1669
  keyCtrl13_0: [[37, 0], [40, 0], [38, 0], [39, 0], [83, 0], [68, 0], [69, 82], [70, 0], [32, 0], [74, 0], [75, 0], [73, 0], [76, 0]],
1661
1670
  keyCtrl14_0: [[84, 89], [85, 0], [73, 0], [56, 55, 57, 48], [79, 0], [192, 80], [32, 0], [78, 0], [74, 0], [77, 0], [75, 0], [188, 0], [76, 0], [190, 0]],
1662
- keyCtrl14i_0: [[90, 0], [88, 0], [67, 0], [37, 0], [40, 0], [38, 0], [39, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1671
+ keyCtrl14i_0: [[90, 87], [88, 69], [67, 82], [37, 0], [40, 0], [38, 0], [39, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1663
1672
  keyCtrl15A_0: [[87, 0], [69, 0], [51, 52], [82, 0], [37, 0], [40, 0], [38, 0], [39, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1664
1673
  keyCtrl15B_0: [[87, 0], [69, 0], [51, 52], [82, 0], [85, 0], [73, 0], [56, 57], [79, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0]],
1665
- keyCtrl16i_0: [[90, 0], [88, 0], [67, 0], [37, 0], [40, 0], [38, 0], [39, 0], [65, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0], [187, 0]],
1674
+ keyCtrl16i_0: [[90, 87], [88, 69], [67, 82], [37, 0], [40, 0], [38, 0], [39, 0], [65, 0], [83, 0], [68, 0], [70, 0], [32, 0], [74, 0], [75, 0], [76, 0], [187, 0]],
1666
1675
  keyCtrl17_0: [[65, 0], [90, 0], [83, 0], [88, 0], [68, 0], [67, 0], [70, 0], [86, 0], [32, 0], [78, 0], [74, 0], [77, 0], [75, 0], [188, 0], [76, 0], [190, 0], [187, 0]],
1667
1676
  keyCtrl23_0: [[87, 0], [69, 0], [51, 52], [82, 0], [85, 0], [73, 0], [56, 57], [79, 0],
1668
1677
  [90, 0], [83, 0], [88, 0], [68, 0], [67, 0], [70, 0], [86, 0], [32, 0], [78, 0], [74, 0], [77, 0], [75, 0], [188, 0], [76, 0], [190, 0]],
@@ -2250,6 +2259,22 @@ const g_titleLists = {
2250
2259
 
2251
2260
  const g_animationData = [`back`, `mask`];
2252
2261
 
2262
+ let g_fadeinStockList = [`word`, `back`, `mask`];
2263
+
2264
+ /** フェードイン時でもプリロードを除外しないリスト */
2265
+ const g_preloadExceptList = {
2266
+ word: [`[left]`, `[center]`, `[right]`],
2267
+ back: [],
2268
+ mask: [],
2269
+ };
2270
+
2271
+ /** フェードイン時、プリロードを強制削除するリスト(初期値は空) */
2272
+ const g_stockForceDelList = {
2273
+ word: [],
2274
+ back: [],
2275
+ mask: [],
2276
+ };
2277
+
2253
2278
  /**
2254
2279
  * データ種, 最小データ長のセット
2255
2280
  */
@@ -2407,6 +2432,7 @@ const g_lang_msgInfoObj = {
2407
2432
  W_0012: `現在の設定では音源再生方法により小数の Adjustment が利用できません。<br>
2408
2433
  また、Fadein を使用した場合は通常よりズレが発生することがあります。<br>
2409
2434
  音源ファイルを js/txt 化するか、サーバー上動作とすれば解消します。(W-0012)`,
2435
+ W_0021: `クリップボードのコピーに失敗しました。`,
2410
2436
 
2411
2437
  E_0011: `アーティスト名が未入力です。(E-0011)`,
2412
2438
  E_0012: `曲名情報が未設定です。(E-0012)<br>
@@ -2453,6 +2479,7 @@ const g_lang_msgInfoObj = {
2453
2479
  Also, if you use "Fadein", it may be out of alignment.<br>
2454
2480
  It can be solved by converting the sound source file to encoded data (js, txt) or
2455
2481
  operating it on the server. (W-0012)`,
2482
+ W_0021: `Failed to copy the clipboard.`,
2456
2483
 
2457
2484
  E_0011: `The artist name is not set. (E-0011)`,
2458
2485
  E_0012: `The song title information is not set. (E-0012)<br>
@@ -2589,6 +2616,8 @@ const g_lblNameObj = {
2589
2616
 
2590
2617
  'u_x': `x`,
2591
2618
  'u_%': `%`,
2619
+ 'u_key': `key`,
2620
+ 'u_k-': `k-`,
2592
2621
 
2593
2622
  'u_OFF': `OFF`,
2594
2623
  'u_ON': `ON`,
@@ -2718,6 +2747,8 @@ const g_lang_lblNameObj = {
2718
2747
 
2719
2748
  j_kita: "(゚∀゚)キタ-!!",
2720
2749
  j_iknai: "(・A・)イクナイ",
2750
+
2751
+ j_adj: `推定Adj`,
2721
2752
  },
2722
2753
  En: {
2723
2754
  kcDesc: `[{0}:Skip / {1}:Key invalidation (Alternate keys only)]`,
@@ -2744,6 +2775,8 @@ const g_lang_lblNameObj = {
2744
2775
 
2745
2776
  j_kita: ":) O.K.",
2746
2777
  j_iknai: ":( N.G.",
2778
+
2779
+ j_adj: `Est-Adj.`,
2747
2780
  },
2748
2781
  };
2749
2782
 
@@ -2871,4 +2904,250 @@ const g_errMsgObj = {
2871
2904
  loading: [],
2872
2905
  main: [],
2873
2906
  result: [],
2907
+ };
2908
+
2909
+ /**
2910
+ * カスタム関数の定義
2911
+ * - 挿入場所ごとに名前を分けて定義
2912
+ */
2913
+ const g_customJsObj = {
2914
+ title: [],
2915
+ titleEnterFrame: [],
2916
+ option: [],
2917
+ difficulty: [],
2918
+ settingsDisplay: [],
2919
+ keyconfig: [],
2920
+
2921
+ preloading: [],
2922
+ loading: [],
2923
+ progress: [],
2924
+ main: [],
2925
+ dummyArrow: [],
2926
+ dummyFrz: [],
2927
+
2928
+ judg_ii: [],
2929
+ judg_shakin: [],
2930
+ judg_matari: [],
2931
+ judg_shobon: [],
2932
+ judg_uwan: [],
2933
+ judg_kita: [],
2934
+ judg_iknai: [],
2935
+
2936
+ mainEnterFrame: [],
2937
+ result: [],
2938
+ resultEnterFrame: [],
2939
+ };
2940
+
2941
+ /**
2942
+ * スキン関数の定義
2943
+ * - 挿入場所ごとに名前を分けて定義
2944
+ */
2945
+ const g_skinJsObj = {
2946
+ title: [],
2947
+ option: [],
2948
+ settingsDisplay: [],
2949
+ keyconfig: [],
2950
+
2951
+ preloading: [],
2952
+ loading: [],
2953
+ main: [],
2954
+ result: [],
2955
+ };
2956
+
2957
+ /**
2958
+ * 従来のカスタム関数をg_customJsObj, g_skinJsObjへ追加
2959
+ * - customjsファイルを読み込んだ直後にこの関数を呼び出している
2960
+ */
2961
+ const loadLegacyCustomFunc = _ => {
2962
+
2963
+ // タイトル
2964
+ if (typeof customTitleInit === C_TYP_FUNCTION) {
2965
+ g_customJsObj.title.push(customTitleInit);
2966
+ }
2967
+ if (typeof customTitleInit2 === C_TYP_FUNCTION) {
2968
+ g_customJsObj.title.push(customTitleInit2);
2969
+ }
2970
+ if (typeof customTitleEnterFrame === C_TYP_FUNCTION) {
2971
+ g_customJsObj.titleEnterFrame.push(customTitleEnterFrame);
2972
+ }
2973
+ if (typeof customTitleEnterFrame2 === C_TYP_FUNCTION) {
2974
+ g_customJsObj.titleEnterFrame.push(customTitleEnterFrame2);
2975
+ }
2976
+ if (typeof skinTitleInit === C_TYP_FUNCTION) {
2977
+ g_skinJsObj.title.push(skinTitleInit);
2978
+ }
2979
+ if (typeof skinTitleInit2 === C_TYP_FUNCTION) {
2980
+ g_skinJsObj.title.push(skinTitleInit2);
2981
+ }
2982
+
2983
+ // 主要設定
2984
+ if (typeof customOptionInit === C_TYP_FUNCTION) {
2985
+ g_customJsObj.option.push(customOptionInit);
2986
+ }
2987
+ if (typeof customOptionInit2 === C_TYP_FUNCTION) {
2988
+ g_customJsObj.option.push(customOptionInit2);
2989
+ }
2990
+ if (typeof skinOptionInit === C_TYP_FUNCTION) {
2991
+ g_skinJsObj.option.push(skinOptionInit);
2992
+ }
2993
+ if (typeof skinOptionInit2 === C_TYP_FUNCTION) {
2994
+ g_skinJsObj.option.push(skinOptionInit2);
2995
+ }
2996
+
2997
+ if (typeof customSetDifficulty === C_TYP_FUNCTION) {
2998
+ g_customJsObj.difficulty.push(customSetDifficulty);
2999
+ }
3000
+ if (typeof customSetDifficulty2 === C_TYP_FUNCTION) {
3001
+ g_customJsObj.difficulty.push(customSetDifficulty2);
3002
+ }
3003
+
3004
+ // ディスプレイ設定
3005
+ if (typeof customSettingsDisplayInit === C_TYP_FUNCTION) {
3006
+ g_customJsObj.settingsDisplay.push(customSettingsDisplayInit);
3007
+ }
3008
+ if (typeof customSettingsDisplayInit2 === C_TYP_FUNCTION) {
3009
+ g_customJsObj.settingsDisplay.push(customSettingsDisplayInit2);
3010
+ }
3011
+ if (typeof skinSettingsDisplayInit === C_TYP_FUNCTION) {
3012
+ g_skinJsObj.settingsDisplay.push(skinSettingsDisplayInit);
3013
+ }
3014
+ if (typeof skinSettingsDisplayInit2 === C_TYP_FUNCTION) {
3015
+ g_skinJsObj.settingsDisplay.push(skinSettingsDisplayInit2);
3016
+ }
3017
+
3018
+ // キーコンフィグ
3019
+ if (typeof customKeyConfigInit === C_TYP_FUNCTION) {
3020
+ g_customJsObj.keyconfig.push(customKeyConfigInit);
3021
+ }
3022
+ if (typeof customKeyConfigInit2 === C_TYP_FUNCTION) {
3023
+ g_customJsObj.keyconfig.push(customKeyConfigInit2);
3024
+ }
3025
+ if (typeof skinKeyConfigInit === C_TYP_FUNCTION) {
3026
+ g_skinJsObj.keyconfig.push(skinKeyConfigInit);
3027
+ }
3028
+ if (typeof skinKeyConfigInit2 === C_TYP_FUNCTION) {
3029
+ g_skinJsObj.keyconfig.push(skinKeyConfigInit2);
3030
+ }
3031
+
3032
+ // ローディング
3033
+ if (typeof customPreloadingInit === C_TYP_FUNCTION) {
3034
+ g_customJsObj.preloading.push(customPreloadingInit);
3035
+ }
3036
+ if (typeof customPreloadingInit2 === C_TYP_FUNCTION) {
3037
+ g_customJsObj.preloading.push(customPreloadingInit2);
3038
+ }
3039
+ if (typeof skinPreloadingInit === C_TYP_FUNCTION) {
3040
+ g_skinJsObj.preloading.push(skinPreloadingInit);
3041
+ }
3042
+ if (typeof skinPreloadingInit2 === C_TYP_FUNCTION) {
3043
+ g_skinJsObj.preloading.push(skinPreloadingInit2);
3044
+ }
3045
+ if (typeof customLoadingInit === C_TYP_FUNCTION) {
3046
+ g_customJsObj.loading.push(customLoadingInit);
3047
+ }
3048
+ if (typeof customLoadingInit2 === C_TYP_FUNCTION) {
3049
+ g_customJsObj.loading.push(customLoadingInit2);
3050
+ }
3051
+ if (typeof customLoadingProgress === C_TYP_FUNCTION) {
3052
+ g_customJsObj.progress.push(customLoadingProgress);
3053
+ }
3054
+ if (typeof customLoadingProgress2 === C_TYP_FUNCTION) {
3055
+ g_customJsObj.progress.push(customLoadingProgress2);
3056
+ }
3057
+
3058
+ // メイン
3059
+ if (typeof customMainInit === C_TYP_FUNCTION) {
3060
+ g_customJsObj.main.push(customMainInit);
3061
+ }
3062
+ if (typeof customMainInit2 === C_TYP_FUNCTION) {
3063
+ g_customJsObj.main.push(customMainInit2);
3064
+ }
3065
+ if (typeof customJudgeDummyArrow === C_TYP_FUNCTION) {
3066
+ g_customJsObj.dummyArrow.push(customJudgeDummyArrow);
3067
+ }
3068
+ if (typeof customJudgeDummyArrow2 === C_TYP_FUNCTION) {
3069
+ g_customJsObj.dummyArrow.push(customJudgeDummyArrow2);
3070
+ }
3071
+ if (typeof customJudgeDummyFrz === C_TYP_FUNCTION) {
3072
+ g_customJsObj.dummyFrz.push(customJudgeDummyFrz);
3073
+ }
3074
+ if (typeof customJudgeDummyFrz2 === C_TYP_FUNCTION) {
3075
+ g_customJsObj.dummyFrz.push(customJudgeDummyFrz2);
3076
+ }
3077
+ if (typeof customMainEnterFrame === C_TYP_FUNCTION) {
3078
+ g_customJsObj.mainEnterFrame.push(customMainEnterFrame);
3079
+ }
3080
+ if (typeof customMainEnterFrame2 === C_TYP_FUNCTION) {
3081
+ g_customJsObj.mainEnterFrame.push(customMainEnterFrame2);
3082
+ }
3083
+ if (typeof skinMainInit === C_TYP_FUNCTION) {
3084
+ g_skinJsObj.main.push(skinMainInit);
3085
+ }
3086
+ if (typeof skinMainInit2 === C_TYP_FUNCTION) {
3087
+ g_skinJsObj.main.push(skinMainInit2);
3088
+ }
3089
+
3090
+ // 判定
3091
+ if (typeof customJudgeIi === C_TYP_FUNCTION) {
3092
+ g_customJsObj.judg_ii.push(customJudgeIi);
3093
+ }
3094
+ if (typeof customJudgeIi2 === C_TYP_FUNCTION) {
3095
+ g_customJsObj.judg_ii.push(customJudgeIi2);
3096
+ }
3097
+ if (typeof customJudgeShakin === C_TYP_FUNCTION) {
3098
+ g_customJsObj.judg_shakin.push(customJudgeShakin);
3099
+ }
3100
+ if (typeof customJudgeShakin2 === C_TYP_FUNCTION) {
3101
+ g_customJsObj.judg_shakin.push(customJudgeShakin2);
3102
+ }
3103
+ if (typeof customJudgeMatari === C_TYP_FUNCTION) {
3104
+ g_customJsObj.judg_matari.push(customJudgeMatari);
3105
+ }
3106
+ if (typeof customJudgeMatari2 === C_TYP_FUNCTION) {
3107
+ g_customJsObj.judg_matari.push(customJudgeMatari2);
3108
+ }
3109
+ if (typeof customJudgeShobon === C_TYP_FUNCTION) {
3110
+ g_customJsObj.judg_shobon.push(customJudgeShobon);
3111
+ }
3112
+ if (typeof customJudgeShobon2 === C_TYP_FUNCTION) {
3113
+ g_customJsObj.judg_shobon.push(customJudgeShobon2);
3114
+ }
3115
+ if (typeof customJudgeUwan === C_TYP_FUNCTION) {
3116
+ g_customJsObj.judg_uwan.push(customJudgeUwan);
3117
+ }
3118
+ if (typeof customJudgeUwan2 === C_TYP_FUNCTION) {
3119
+ g_customJsObj.judg_uwan.push(customJudgeUwan2);
3120
+ }
3121
+ if (typeof customJudgeKita === C_TYP_FUNCTION) {
3122
+ g_customJsObj.judg_kita.push(customJudgeKita);
3123
+ }
3124
+ if (typeof customJudgeKita2 === C_TYP_FUNCTION) {
3125
+ g_customJsObj.judg_kita.push(customJudgeKita2);
3126
+ }
3127
+ if (typeof customJudgeIknai === C_TYP_FUNCTION) {
3128
+ g_customJsObj.judg_iknai.push(customJudgeIknai);
3129
+ }
3130
+ if (typeof customJudgeIknai2 === C_TYP_FUNCTION) {
3131
+ g_customJsObj.judg_iknai.push(customJudgeIknai2);
3132
+ }
3133
+
3134
+ // リザルト
3135
+ if (typeof customResultInit === C_TYP_FUNCTION) {
3136
+ g_customJsObj.result.push(customResultInit);
3137
+ }
3138
+ if (typeof customResultInit2 === C_TYP_FUNCTION) {
3139
+ g_customJsObj.result.push(customResultInit2);
3140
+ }
3141
+ if (typeof customResultEnterFrame === C_TYP_FUNCTION) {
3142
+ g_customJsObj.resultEnterFrame.push(customResultEnterFrame);
3143
+ }
3144
+ if (typeof customResultEnterFrame2 === C_TYP_FUNCTION) {
3145
+ g_customJsObj.resultEnterFrame.push(customResultEnterFrame2);
3146
+ }
3147
+ if (typeof skinResultInit === C_TYP_FUNCTION) {
3148
+ g_skinJsObj.result.push(skinResultInit);
3149
+ }
3150
+ if (typeof skinResultInit2 === C_TYP_FUNCTION) {
3151
+ g_skinJsObj.result.push(skinResultInit2);
3152
+ }
2874
3153
  };
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
  /**
3
3
  * Dancing☆Onigiri 設定用jsファイル
4
- * Template Update: 2021/10/24 (v24.0.0)
4
+ * Template Update: 2022/01/26 (v25.5.1)
5
5
  *
6
6
  * このファイルでは、作品全体に対しての初期設定を行うことができます。
7
7
  * 譜面データ側で個別に同様の項目が設定されている場合は、譜面データ側の設定が優先されます。
@@ -19,7 +19,13 @@ const g_presetTuningUrl = `https://www.google.co.jp/`;
19
19
  const g_presetSkinType = `default`;
20
20
 
21
21
  // 既定カスタムJs (デフォルトは danoni_custom.js)
22
- //const g_presetCustomJs = `danoni_custom.js`;
22
+ //const g_presetCustomJs = `danoni_custom.js,danoni_init.js`;
23
+
24
+ // 既定カスタムCss (デフォルトは指定なし、cssフォルダを参照)
25
+ //const g_presetCustomCss = `danoni_custom.css`;
26
+
27
+ // 背景・マスクモーションで使用する画像パスの指定方法を他の設定に合わせる設定 (trueで有効化)
28
+ // const g_presetSyncBackPath = true;
23
29
 
24
30
  // ゲージ設定(デフォルト)
25
31
  const g_presetGauge = {
@@ -32,6 +38,13 @@ const g_presetGauge = {
32
38
  // フリーズアローのデフォルト色セットの利用有無 (true: 使用, false: 矢印色を優先してセット)
33
39
  const g_presetFrzColors = true;
34
40
 
41
+ /**
42
+ 矢印色変化に対応してフリーズアロー色を追随する範囲の設定 (Normal: 通常時、Hit: ヒット時)
43
+ ※この設定は、g_presetFrzColors = false もしくは
44
+ 譜面ヘッダー:defaultFrzColorUse=false のときにのみ有効です。
45
+ */
46
+ // const g_presetFrzScopeFromAC = [`Normal`, `Hit`];
47
+
35
48
  // ゲージ設定(デフォルト以外)
36
49
  const g_presetGaugeCustom = {
37
50
  Easy: {
@@ -232,4 +245,19 @@ const g_lblRenames = {
232
245
  main: true,
233
246
  keyConfig: true,
234
247
  result: true,
248
+ };
249
+
250
+ /**
251
+ * フェードイン時にそれ以前のデータを蓄積しない種別(word, back, mask)を指定
252
+ */
253
+ const g_presetUnStockCategories = [];
254
+
255
+ /**
256
+ * フェードイン時、プリロードを強制削除するリスト(英字は小文字で指定)
257
+ * 指定例) back: [`fade`] ※back_dataでアニメーション名に'fade'や'Fade'を含む
258
+ */
259
+ const g_presetStockForceDelList = {
260
+ word: [],
261
+ back: [],
262
+ mask: [],
235
263
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "danoniplus",
3
- "version": "24.6.4",
3
+ "version": "25.5.5",
4
4
  "description": "Dancing☆Onigiri (CW Edition) - Web-based Rhythm Game",
5
5
  "main": "index.js",
6
6
  "scripts": {