using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace DTXMania
{
public enum ECYGroup
{
打ち分ける,
共通
}
public enum EFTGroup
{
打ち分ける,
共通
}
public enum EHHGroup
{
全部打ち分ける,
ハイハットのみ打ち分ける,
左シンバルのみ打ち分ける,
全部共通
}
public enum Eダークモード
{
OFF,
HALF,
FULL
}
public enum Eダメージレベル
{
少ない,
普通,
大きい
}
public enum Eパッド
{
B = 2,
BD = 2,
Cancel = 5,
CY = 6,
Decide = 6,
FT = 5,
G = 1,
HH = 0,
HHO = 7,
HT = 3,
LC = 9,
LT = 4,
Pick = 3,
R = 0,
RD = 8,
SD = 1,
UNKNOWN = 0x63,
Wail = 4
}
public enum Eランダムモード
{
OFF,
RANDOM,
SUPERRANDOM,
HYPERRANDOM
}
public enum E楽器パート
{
BASS = 2,
DRUMS = 0,
GUITAR = 1,
UNKNOWN = 0x63
}
public enum E打ち分け時の再生の優先順位
{
ChipがPadより優先,
PadがChipより優先
}
internal enum E入力デバイス
{
MIDI入力 = 1,
キーボード = 0,
ジョイパッド = 2,
マウス = 3,
不明 = -1
}
internal enum E判定
{
Perfect,
Great,
Good,
Poor,
Miss,
Bad,
Auto
}
internal enum E判定文字表示位置
{
レーン上,
判定ライン上または横,
表示OFF
}
internal enum EAVI種別
{
Unknown,
AVI,
AVIPAN
}
internal enum EBGA種別
{
Unknown,
BMP,
BMPTEX,
BGA,
BGAPAN
}
internal enum EFIFOモード
{
フェードイン,
フェードアウト
}
internal enum Eドラムコンボ文字の表示位置
{
LEFT,
CENTER,
RIGHT,
OFF
}
internal enum Eドラムレーン
{
LC,
HH,
SD,
BD,
HT,
LT,
FT,
CY
}
internal enum Eログ出力
{
OFF,
ON通常,
ON詳細あり
}
internal enum E演奏画面の戻り値
{
継続,
演奏中断,
ステージ失敗,
ステージクリア
}
///
/// Drum/Guitar/Bass の値を扱う汎用の構造体。
///
/// 値の型。
[StructLayout(LayoutKind.Sequential)]
public struct STDGBVALUE
{
public T Drums;
public T Guitar;
public T Bass;
public T Unknown;
public T this[ int index ]
{
get
{
switch( index )
{
case 0:
return this.Drums;
case 1:
return this.Guitar;
case 2:
return this.Bass;
case 0x63:
return this.Unknown;
}
throw new IndexOutOfRangeException();
}
set
{
switch( index )
{
case 0:
this.Drums = value;
return;
case 1:
this.Guitar = value;
return;
case 2:
this.Bass = value;
return;
case 0x63:
this.Unknown = value;
return;
}
throw new IndexOutOfRangeException();
}
}
}
internal class C定数
{
public const int BGA_H = 0x163;
public const int BGA_W = 0x116;
public const int HIDDEN_POS = 100;
public const int MAX_AVI_LAYER = 1;
public const int MAX_WAILING = 4;
public const int PANEL_H = 0x1a;
public const int PANEL_W = 0x116;
public const int PREVIEW_H = 0x10d;
public const int PREVIEW_W = 0xcc;
public const int SCORE_H = 0x18;
public const int SCORE_W = 12;
public const int SUDDEN_POS = 200;
public class Drums
{
public const int BAR_Y = 0x1a6;
public const int BAR_Y_REV = 0x38;
public const int BASS_BAR_Y = 0x5f;
public const int BASS_BAR_Y_REV = 0x176;
public const int BASS_H = 0x163;
public const int BASS_W = 0x6d;
public const int BASS_X = 0x18e;
public const int BASS_Y = 0x39;
public const int BGA_X = 0x152;
public const int BGA_Y = 0x39;
public const int GAUGE_H = 0x160;
public const int GAUGE_W = 0x10;
public const int GAUGE_X = 6;
public const int GAUGE_Y = 0x35;
public const int GUITAR_BAR_Y = 0x5f;
public const int GUITAR_BAR_Y_REV = 0x176;
public const int GUITAR_H = 0x163;
public const int GUITAR_W = 0x6d;
public const int GUITAR_X = 0x1fb;
public const int GUITAR_Y = 0x39;
public const int PANEL_X = 0x150;
public const int PANEL_Y = 0x1ab;
public const int SCORE_X = 0x164;
public const int SCORE_Y = 14;
}
public class Guitar
{
public const int BAR_Y = 40;
public const int BAR_Y_REV = 0x171;
public const int BASS_H = 0x199;
public const int BASS_W = 140;
public const int BASS_X = 480;
public const int BASS_Y = 0;
public const int BGA_X = 0xb5;
public const int BGA_Y = 50;
public const int GAUGE_H = 0x10;
public const int GAUGE_W = 0x80;
public const int GAUGE_X_BASS = 0x14f;
public const int GAUGE_X_GUITAR = 0xb2;
public const int GAUGE_Y_BASS = 8;
public const int GAUGE_Y_GUITAR = 8;
public const int GUITAR_H = 0x199;
public const int GUITAR_W = 140;
public const int GUITAR_X = 0x1a;
public const int GUITAR_Y = 0;
public const int PANEL_X = 0xb5;
public const int PANEL_Y = 430;
}
}
}