OSDN Git Service

#27029 CConfigIni クラスに HHCtrl キー(FP)のアサイン項目を追加。Config.iniによる保存と復元に対応。
[dtxmania/dtxmania.git] / DTXManiaプロジェクト / コード / 全体 / C定数.cs
1 using System;\r
2 using System.Collections.Generic;\r
3 using System.Text;\r
4 using System.Runtime.InteropServices;\r
5 \r
6 namespace DTXMania\r
7 {\r
8         public enum ECYGroup\r
9         {\r
10                 打ち分ける,\r
11                 共通\r
12         }\r
13         public enum EFTGroup\r
14         {\r
15                 打ち分ける,\r
16                 共通\r
17         }\r
18         public enum EHHGroup\r
19         {\r
20                 全部打ち分ける,\r
21                 ハイハットのみ打ち分ける,\r
22                 左シンバルのみ打ち分ける,\r
23                 全部共通\r
24         }\r
25         public enum EBDGroup            // #27029 2012.1.4 from add\r
26         {\r
27                 打ち分ける,\r
28                 どっちもBD\r
29         }\r
30         public enum Eダークモード\r
31         {\r
32                 OFF,\r
33                 HALF,\r
34                 FULL\r
35         }\r
36         public enum Eダメージレベル\r
37         {\r
38                 少ない       = 0,\r
39                 普通  = 1,\r
40                 大きい       = 2\r
41         }\r
42         public enum Eパッド\r
43         {\r
44                 HH              = 0,\r
45                 R               = 0,\r
46                 SD              = 1,\r
47                 G               = 1,\r
48                 BD              = 2,\r
49                 B               = 2,\r
50                 HT              = 3,\r
51                 Pick    = 3,\r
52                 LT              = 4,\r
53                 Wail    = 4,\r
54                 FT              = 5,\r
55                 Cancel  = 5,\r
56                 CY              = 6,\r
57                 Decide  = 6,\r
58                 HHO             = 7,\r
59                 RD              = 8,\r
60                 LC              = 9,\r
61                 FP              = 10,   // #27029 2012.1.4 from\r
62                 UNKNOWN = 99\r
63         }\r
64         public enum EKeyConfigPad               // # 24609 \r
65         {\r
66                 HH              = Eパッド.HH,\r
67                 R               = Eパッド.R,\r
68                 SD              = Eパッド.SD,\r
69                 G               = Eパッド.G,\r
70                 BD              = Eパッド.BD,\r
71                 B               = Eパッド.B,\r
72                 HT              = Eパッド.HT,\r
73                 Pick    = Eパッド.Pick,\r
74                 LT              = Eパッド.LT,\r
75                 Wail    = Eパッド.Wail,\r
76                 FT              = Eパッド.FT,\r
77                 Cancel  = Eパッド.Cancel,\r
78                 CY              = Eパッド.CY,\r
79                 Decide  = Eパッド.Decide,\r
80                 HHO             = Eパッド.HHO,\r
81                 RD              = Eパッド.RD,\r
82                 LC              = Eパッド.LC,\r
83                 FP              = Eパッド.FP,                // #27029 2012.1.4 from\r
84                 Capture,\r
85                 UNKNOWN = Eパッド.UNKNOWN\r
86         }\r
87         [Flags]\r
88         public enum EパッドFlag              // #24063 2011.1.16 yyagi コマンド入力用 パッド入力のフラグ化\r
89         {\r
90                 None    = 0,\r
91                 HH              = 1,\r
92                 R               = 1,\r
93                 SD              = 2,\r
94                 G               = 2,\r
95                 B               = 4,\r
96                 BD              = 4,\r
97                 HT              = 8,\r
98                 Pick    = 8,\r
99                 LT              = 16,\r
100                 Wail    = 16,\r
101                 FT              = 32,\r
102                 Cancel  = 32,\r
103                 CY              = 64,\r
104                 Decide  = 128,\r
105                 HHO             = 128,\r
106                 RD              = 256,\r
107                 LC              = 512,\r
108                 UNKNOWN = 1024\r
109         }\r
110         public enum Eランダムモード\r
111         {\r
112                 OFF,\r
113                 RANDOM,\r
114                 SUPERRANDOM,\r
115                 HYPERRANDOM\r
116         }\r
117         public enum E楽器パート\r
118         {\r
119                 DRUMS   = 0,\r
120                 GUITAR  = 1,\r
121                 BASS    = 2,\r
122                 UNKNOWN = 0x63\r
123         }\r
124         public enum EKeyConfigPart      // : E楽器パート\r
125         {\r
126                 DRUMS   = E楽器パート.DRUMS,\r
127                 GUITAR  = E楽器パート.GUITAR,\r
128                 BASS    = E楽器パート.BASS,\r
129                 SYSTEM,\r
130                 UNKNOWN = E楽器パート.UNKNOWN\r
131         }\r
132 \r
133         public enum E打ち分け時の再生の優先順位\r
134         {\r
135                 ChipがPadより優先,\r
136                 PadがChipより優先\r
137         }\r
138         internal enum E入力デバイス\r
139         {\r
140                 キーボード         = 0,\r
141                 MIDI入力              = 1,\r
142                 ジョイパッド      = 2,\r
143                 マウス                       = 3,\r
144                 不明                  = -1\r
145         }\r
146         public enum E判定\r
147         {\r
148                 Perfect = 0,\r
149                 Great   = 1,\r
150                 Good    = 2,\r
151                 Poor    = 3,\r
152                 Miss    = 4,\r
153                 Bad             = 5,\r
154                 Auto\r
155         }\r
156         internal enum E判定文字表示位置\r
157         {\r
158                 レーン上,\r
159                 判定ライン上または横,\r
160                 表示OFF\r
161         }\r
162         internal enum EAVI種別\r
163         {\r
164                 Unknown,\r
165                 AVI,\r
166                 AVIPAN\r
167         }\r
168         internal enum EBGA種別\r
169         {\r
170                 Unknown,\r
171                 BMP,\r
172                 BMPTEX,\r
173                 BGA,\r
174                 BGAPAN\r
175         }\r
176         internal enum EFIFOモード\r
177         {\r
178                 フェードイン,\r
179                 フェードアウト\r
180         }\r
181         internal enum Eドラムコンボ文字の表示位置\r
182         {\r
183                 LEFT,\r
184                 CENTER,\r
185                 RIGHT,\r
186                 OFF\r
187         }\r
188         internal enum Eレーン\r
189         {\r
190                 LC = 0,\r
191                 HH,\r
192                 SD,\r
193                 BD,\r
194                 HT,\r
195                 LT,\r
196                 FT,\r
197                 CY,\r
198                 RD,             // 将来の独立レーン化/独立AUTO設定を見越して追加\r
199                 Guitar, // AUTOレーン判定を容易にするため、便宜上定義しておく\r
200                 Bass,\r
201                 BGM\r
202         }\r
203         internal enum Eログ出力\r
204         {\r
205                 OFF,\r
206                 ON通常,\r
207                 ON詳細あり\r
208         }\r
209         internal enum E演奏画面の戻り値\r
210         {\r
211                 継続,\r
212                 演奏中断,\r
213                 ステージ失敗,\r
214                 ステージクリア\r
215         }\r
216         /// <summary>\r
217         /// 入力ラグ表示タイプ\r
218         /// </summary>\r
219         internal enum EShowLagType\r
220         {\r
221                 OFF,                    // 全く表示しない\r
222                 ON,                             // 判定に依らず全て表示する\r
223                 GREAT_POOR              // GREAT-MISSの時のみ表示する(PERFECT時は表示しない)\r
224         }\r
225 \r
226         /// <summary>\r
227         /// Drum/Guitar/Bass の値を扱う汎用の構造体。\r
228         /// </summary>\r
229         /// <typeparam name="T">値の型。</typeparam>\r
230         [StructLayout(LayoutKind.Sequential)]\r
231         public struct STDGBVALUE<T>\r
232         {\r
233                 public T Drums;\r
234                 public T Guitar;\r
235                 public T Bass;\r
236                 public T Unknown;\r
237                 public T this[ int index ]\r
238                 {\r
239                         get\r
240                         {\r
241                                 switch( index )\r
242                                 {\r
243                                         case 0:\r
244                                                 return this.Drums;\r
245 \r
246                                         case 1:\r
247                                                 return this.Guitar;\r
248 \r
249                                         case 2:\r
250                                                 return this.Bass;\r
251 \r
252                                         case 0x63:\r
253                                                 return this.Unknown;\r
254                                 }\r
255                                 throw new IndexOutOfRangeException();\r
256                         }\r
257                         set\r
258                         {\r
259                                 switch( index )\r
260                                 {\r
261                                         case 0:\r
262                                                 this.Drums = value;\r
263                                                 return;\r
264 \r
265                                         case 1:\r
266                                                 this.Guitar = value;\r
267                                                 return;\r
268 \r
269                                         case 2:\r
270                                                 this.Bass = value;\r
271                                                 return;\r
272 \r
273                                         case 0x63:\r
274                                                 this.Unknown = value;\r
275                                                 return;\r
276                                 }\r
277                                 throw new IndexOutOfRangeException();\r
278                         }\r
279                 }\r
280         }\r
281 \r
282         /// <summary>\r
283         /// レーンの値を扱う汎用の構造体。列挙型"Eドラムレーン"に準拠。\r
284         /// </summary>\r
285         /// <typeparam name="T">値の型。</typeparam>\r
286         [StructLayout( LayoutKind.Sequential )]\r
287         public struct STLANEVALUE<T>\r
288         {\r
289                 public T LC;\r
290                 public T HH;\r
291                 public T SD;\r
292                 public T BD;\r
293                 public T HT;\r
294                 public T LT;\r
295                 public T FT;\r
296                 public T CY;\r
297                 public T RD;\r
298                 public T Guitar;\r
299                 public T Bass;\r
300                 public T BGM;\r
301 \r
302                 public T this[ int index ]\r
303                 {\r
304                         get\r
305                         {\r
306                                 switch ( index )\r
307                                 {\r
308                                         case (int) Eレーン.LC:\r
309                                                 return this.LC;\r
310                                         case (int) Eレーン.HH:\r
311                                                 return this.HH;\r
312                                         case (int) Eレーン.SD:\r
313                                                 return this.SD;\r
314                                         case (int) Eレーン.BD:\r
315                                                 return this.BD;\r
316                                         case (int) Eレーン.HT:\r
317                                                 return this.HT;\r
318                                         case (int) Eレーン.LT:\r
319                                                 return this.LT;\r
320                                         case (int) Eレーン.FT:\r
321                                                 return this.FT;\r
322                                         case (int) Eレーン.CY:\r
323                                                 return this.CY;\r
324                                         case (int) Eレーン.RD:\r
325                                                 return this.RD;\r
326                                         case (int) Eレーン.Guitar:\r
327                                                 return this.Guitar;\r
328                                         case (int) Eレーン.Bass:\r
329                                                 return this.Bass;\r
330                                 }\r
331                                 throw new IndexOutOfRangeException();\r
332                         }\r
333                         set\r
334                         {\r
335                                 switch ( index )\r
336                                 {\r
337                                         case (int) Eレーン.LC:\r
338                                                 this.LC = value;\r
339                                                 return;\r
340                                         case (int) Eレーン.HH:\r
341                                                 this.HH = value;\r
342                                                 return;\r
343                                         case (int) Eレーン.SD:\r
344                                                 this.SD = value;\r
345                                                 return;\r
346                                         case (int) Eレーン.BD:\r
347                                                 this.BD = value;\r
348                                                 return;\r
349                                         case (int) Eレーン.HT:\r
350                                                 this.HT = value;\r
351                                                 return;\r
352                                         case (int) Eレーン.LT:\r
353                                                 this.LT = value;\r
354                                                 return;\r
355                                         case (int) Eレーン.FT:\r
356                                                 this.FT = value;\r
357                                                 return;\r
358                                         case (int) Eレーン.CY:\r
359                                                 this.CY = value;\r
360                                                 return;\r
361                                         case (int) Eレーン.RD:\r
362                                                 this.RD = value;\r
363                                                 return;\r
364                                         case (int) Eレーン.Guitar:\r
365                                                 this.Guitar = value;\r
366                                                 return;\r
367                                         case (int) Eレーン.Bass:\r
368                                                 this.Bass = value;\r
369                                                 return;\r
370                                 }\r
371                                 throw new IndexOutOfRangeException();\r
372                         }\r
373                 }\r
374         }\r
375 \r
376         internal class C定数\r
377         {\r
378                 public const int BGA_H = 0x163;\r
379                 public const int BGA_W = 0x116;\r
380                 public const int HIDDEN_POS = 100;\r
381                 public const int MAX_AVI_LAYER = 1;\r
382                 public const int MAX_WAILING = 4;\r
383                 public const int PANEL_H = 0x1a;\r
384                 public const int PANEL_W = 0x116;\r
385                 public const int PREVIEW_H = 0x10d;\r
386                 public const int PREVIEW_W = 0xcc;\r
387                 public const int SCORE_H = 0x18;\r
388                 public const int SCORE_W = 12;\r
389                 public const int SUDDEN_POS = 200;\r
390 \r
391                 public class Drums\r
392                 {\r
393                         public const int BAR_Y = 0x1a6;\r
394                         public const int BAR_Y_REV = 0x38;\r
395                         public const int BASS_BAR_Y = 0x5f;\r
396                         public const int BASS_BAR_Y_REV = 0x176;\r
397                         public const int BASS_H = 0x163;\r
398                         public const int BASS_W = 0x6d;\r
399                         public const int BASS_X = 0x18e;\r
400                         public const int BASS_Y = 0x39;\r
401                         public const int BGA_X = 0x152;\r
402                         public const int BGA_Y = 0x39;\r
403                         public const int GAUGE_H = 0x160;\r
404                         public const int GAUGE_W = 0x10;\r
405                         public const int GAUGE_X = 6;\r
406                         public const int GAUGE_Y = 0x35;\r
407                         public const int GUITAR_BAR_Y = 0x5f;\r
408                         public const int GUITAR_BAR_Y_REV = 0x176;\r
409                         public const int GUITAR_H = 0x163;\r
410                         public const int GUITAR_W = 0x6d;\r
411                         public const int GUITAR_X = 0x1fb;\r
412                         public const int GUITAR_Y = 0x39;\r
413                         public const int PANEL_X = 0x150;\r
414                         public const int PANEL_Y = 0x1ab;\r
415                         public const int SCORE_X = 0x164;\r
416                         public const int SCORE_Y = 14;\r
417                 }\r
418                 public class Guitar\r
419                 {\r
420                         public const int BAR_Y = 40;\r
421                         public const int BAR_Y_REV = 0x171;\r
422                         public const int BASS_H = 0x199;\r
423                         public const int BASS_W = 140;\r
424                         public const int BASS_X = 480;\r
425                         public const int BASS_Y = 0;\r
426                         public const int BGA_X = 0xb5;\r
427                         public const int BGA_Y = 50;\r
428                         public const int GAUGE_H = 0x10;\r
429                         public const int GAUGE_W = 0x80;\r
430                         public const int GAUGE_X_BASS = 0x14f;\r
431                         public const int GAUGE_X_GUITAR = 0xb2;\r
432                         public const int GAUGE_Y_BASS = 8;\r
433                         public const int GAUGE_Y_GUITAR = 8;\r
434                         public const int GUITAR_H = 0x199;\r
435                         public const int GUITAR_W = 140;\r
436                         public const int GUITAR_X = 0x1a;\r
437                         public const int GUITAR_Y = 0;\r
438                         public const int PANEL_X = 0xb5;\r
439                         public const int PANEL_Y = 430;\r
440                 }\r
441         }\r
442 }\r