#ifndef VIOLETVREATHHEADER_H_
#define VIOLETVREATHHEADER_H_
#include "VioletVreath.h"

//「DirectXライブラリ」を利用する（利用者は俺！）場合
//次の"GgafLibCommonHeader.h"ヘッダをインクルードします。

#include "GgafLibCommonHeader.h"

//種別定数
//意味は資料「種別相関定義コピペツール.xls」を参照
#define KIND_EFFECT                    (0x0U)  // 00000000000000000000000000000000
#define KIND_MY_SHOT_CHIKEI_HIT        (0x8U)  // 00000000000000000000000000001000
#define KIND_MY_SHOT_CHIKEI_THRU      (0x10U)  // 00000000000000000000000000010000
#define KIND_MY_BODY_CHIKEI_HIT       (0x20U)  // 00000000000000000000000000100000
#define KIND_MY_BODY_CHIKEI_THRU      (0x40U)  // 00000000000000000000000001000000
#define KIND_ENEMY_SHOT_CHIKEI_HIT    (0x80U)  // 00000000000000000000000010000000
#define KIND_ENEMY_SHOT_CHIKEI_THRU  (0x100U)  // 00000000000000000000000100000000
#define KIND_ENEMY_BODY_CHIKEI_HIT   (0x200U)  // 00000000000000000000001000000000
#define KIND_ENEMY_BODY_CHIKEI_THRU  (0x400U)  // 00000000000000000000010000000000
#define KIND_ITEM_CHIKEI_HIT         (0x800U)  // 00000000000000000000100000000000
#define KIND_ITEM_CHIKEI_THRU       (0x1000U)  // 00000000000000000001000000000000
#define KIND_CHIKEI_CHIKEI_HIT      (0x2000U)  // 00000000000000000010000000000000
#define KIND_CHIKEI_CHIKEI_THRU     (0x4000U)  // 00000000000000000100000000000000
//種別定数（自機・敵、小分類別）
#define KIND_MY_SHOT    (KIND_MY_SHOT_CHIKEI_HIT|KIND_MY_SHOT_CHIKEI_THRU)
#define KIND_MY_BODY    (KIND_MY_BODY_CHIKEI_HIT|KIND_MY_BODY_CHIKEI_THRU)
#define KIND_ENEMY_SHOT (KIND_ENEMY_SHOT_CHIKEI_HIT|KIND_ENEMY_SHOT_CHIKEI_THRU)
#define KIND_ENEMY_BODY (KIND_ENEMY_BODY_CHIKEI_HIT|KIND_ENEMY_BODY_CHIKEI_THRU)
//種別定数（自機・敵、大分類別）
#define KIND_MY (KIND_MY_SHOT|KIND_MY_BODY)
#define KIND_ENEMRY (KIND_ENEMY_SHOT|KIND_ENEMY_BODY)
//種別定数（その他、分類別）
#define KIND_MY_CHIKEI_HIT  (KIND_MY_SHOT_CHIKEI_HIT|KIND_MY_BODY_CHIKEI_HIT)
#define KIND_MY_CHIKEI_THRU (KIND_MY_SHOT_CHIKEI_THRU|KIND_MY_BODY_CHIKEI_THRU)
#define KIND_ENEMY_CHIKEI_HIT   (KIND_ENEMY_SHOT_CHIKEI_HIT|KIND_ENEMY_BODY_CHIKEI_HIT)
#define KIND_ENEMY_CHIKEI_THRU  (KIND_ENEMY_SHOT_CHIKEI_THRU|KIND_ENEMY_BODY_CHIKEI_THRU)
#define KIND_ITEM   (KIND_ITEM_CHIKEI_HIT|KIND_ITEM_CHIKEI_THRU)
#define KIND_CHIKEI (KIND_CHIKEI_CHIKEI_HIT|KIND_CHIKEI_CHIKEI_THRU)

#define ATTRIBUTE_NOMAL       (0x0U)    //000
#define ATTRIBUTE_GU          (0x1U)    //001
#define ATTRIBUTE_CHOKI       (0x2U)    //010
#define ATTRIBUTE_PA          (0x4U)    //100

//VirtualButton.h の define の別名を定義
#define VB_SHOT1    VB_BUTTON1
#define VB_SHOT2    VB_BUTTON2
#define VB_OPTION   VB_BUTTON3
//#define VB_VIEW     VB_BUTTON4
#define VB_TURBO    VB_BUTTON5
#define VB_POWERUP  VB_BUTTON6

#define VB_VIEW_UP    VB_S1_UP
#define VB_VIEW_DOWN  VB_S1_DOWN
#define VB_VIEW_LEFT  VB_S1_LEFT
#define VB_VIEW_RIGHT VB_S1_RIGHT

//STAT_DEFAULT_ACTOR_KINDは0
enum {
    STAT_Attribute = 1,                   //属性(uint)
    STAT_LockonAble,                      //ロックオン可否
    STAT_AddDestroyScorePoint,            //破壊時加算得点
    STAT_AddDamagedScorePoint,            //ダメージ時加算得点
    STAT_FlushAble,                       //ダメージ時フラッシュ要否
    STAT_AddRankPoint,                    //破壊時加算ランク
    STAT_AddRankPoint_Reduction,          //破壊時加算ランク減少率
    STAT_Stamina,                         //体力
    STAT_Attack,                          //攻撃力
    STAT_DefaultDefenceRate,              //基準防御率
    STAT_DominantDefenceRate,             //優性時の防御率
    STAT_RecessiveDefenceRate,            //劣性時の防御率
    STAT_EntryEffectKind,                 //出現エフェクト種別
    STAT_LeaveEffectKind,                 //退出エフェクト種別
    STAT_ExplosionEffectKind,             //爆発エフェクト種別
    STAT_DamagedEffectKind,               //ダメージ時エフェクト種別
    STAT_DestroyedEffectKind,             //やられエフェクト種別
    STAT_ItemKind,                        //やられアイテム種別
    STAT_FormationDestroyedAddScorePoint, //編隊全滅時加算得点
    STAT_FormationDestroyedEffectKind,    //編隊全滅時エフェクト
    STAT_ProperEffect01Kind,              //その他固有エフェクト０１
    STAT_FormationDestroyedItemKind,      //編隊全滅時アイテム種別
    STAT_AttackShotKind,                  //ショット種別
    STAT_DepositoryKind,                  //ショット種別
    STAT_RevengeShotKind,                 //打ち返し種別

    STAT_BANPEI,   //番兵（配列要素数に使用される、一番最後に記述すること）
};


// 以下の gen01 start 〜 end はExcelマクロにより自動生成されたコードです。
// コード変更は「ランク定義Creater.xls」から行うこと。
// gen01 start
// ウノミア(EnemyUnomia) のランク式
#define RF_EnemyUnomia_ShotWay(X)  (10+(X)*10)  //発射弾(Way)数
// ウノミア編隊001(FormationUnomia001) のランク式
#define RF_FormationUnomia001_Col(X)  (RF_LL(X, 5, 10))  //列数
#define RF_FormationUnomia001_Num(X)  (RF_LL(X, 20, 30))  //隊数
#define RF_FormationUnomia001_LaunchInterval(X)  (RF_UL(X, 12, 2))  //出現間隔
#define RF_FormationUnomia001_MvVelo(X)  (RF_ULL(X, 10000, 20000))  //移動速度
// ウノミア編隊002(FormationUnomia002) のランク式
#define RF_FormationUnomia002_Col(X)  (RF_LL(X, 5, 7))  //列数
#define RF_FormationUnomia002_Num(X)  (RF_LL(X, 20, 30))  //隊数
#define RF_FormationUnomia002_LaunchInterval(X)  (RF_UL(X, 12, 2))  //出現間隔
#define RF_FormationUnomia002_MvVelo(X)  (RF_ULL(X, 10000, 20000))  //移動速度
// リス(EnemyRis) のランク式
#define RF_EnemyRis_ShotWay(X)  (10+(X)*10)  //発射弾(Way)数
// リス編隊001(FormationRis001) のランク式
#define RF_FormationRis001_Num(X)  (7 + (X)*7)  //隊数
#define RF_FormationRis001_LaunchInterval(X)  (5 + (20 - ((X)>1.0?1.0:(X))*20))  //出現間隔
#define RF_FormationRis001_MvVelo(X)  (16000+(X)*1600)  //移動速度
// リス編隊002(FormationRis002) のランク式
#define RF_FormationRis002_Num(X)  (7 + (X)*7)  //隊数
#define RF_FormationRis002_LaunchInterval(X)  (5 + (20 - ((X)>1.0?1.0:(X))*20))  //出現間隔
#define RF_FormationRis002_MvVelo(X)  (16000+(X)*1600)  //移動速度
// アラス(EnemyAllas) のランク式
#define RF_EnemyAllas_ShotWay(X)  (10+(X)*10)  //発射弾(Way)数
// アラス編隊001(FormationAllas001) のランク式
#define RF_FormationAllas001_Num(X)  (12+(X)*8)  //隊数
#define RF_FormationAllas001_LaunchInterval(X)  (5 + (20 - ((X)>1.0?1.0:(X))*20))  //出現間隔
#define RF_FormationAllas001_MvVelo(X)  (10000 + (X)*10000)  //移動速度
// アラス編隊002(FormationAllas002) のランク式
#define RF_FormationAllas002_Num(X)  (12+(X)*8)  //隊数
#define RF_FormationAllas002_LaunchInterval(X)  (5 + (20 - ((X)>1.0?1.0:(X))*20))  //出現間隔
#define RF_FormationAllas002_MvVelo(X)  (10000 + (X)*10000)  //移動速度
// ハリア(EnemyHalia) のランク式
#define RF_EnemyHalia_ShotWay(X)  (20+(X)*10)  //発射弾(Way)数
// ハリア編隊(FormationHalia) のランク式
#define RF_FormationHalia_Num(X)  (7+(X)*4)  //隊数
#define RF_FormationHalia_LaunchInterval(X)  (5 + (20 - ((X)>1.0?1.0:(X)) *20))  //出現間隔
#define RF_FormationHalia_MvVelo(X)  (14000+(X)*10000)  //移動速度
// オムルス(EnemyOmulus) のランク式
#define RF_EnemyOmulus_ShotMvVelo(X)  (10 + (10 - ((X)>1.0?1.0:(X)) * 10))  //発射弾速度
#define RF_EnemyOmulus_ShotInterval(X)  (10 + (10 - ((X)>1.0?1.0:(X)) * 10))  //発射弾間隔
// 汎用ショット001(Shot001) のランク式
#define RF_Shot001_MvVelo(X)  (5000+(X)*5000)  //移動速度
#define RF_Shot001_AngVelo(X)  (6000+(X)*6000)  //角速度
// 汎用ショット002(Shot002) のランク式
#define RF_Shot002_MvVelo(X)  (8000+(X)*8000)  //移動速度
#define RF_Shot002_AngVelo(X)  (1000+(X)*1000)  //角速度
// エミリア(EnemyEmilia) のランク式
#define RF_EnemyEmilia_ShotWay(X)  (4+(X)*4)  //発射弾(Way)数
// エミリア断片(EnemyEmiliaFragment) のランク式
// エミリア断片の断片(EnemyEmiliaFragment2) のランク式
// エミリア断片の断片の断片(EnemyEmiliaFragment3) のランク式
// エミリア群(FormationEmilia) のランク式
#define RF_FormationEmilia_LaunchInterval(X)  (10  + (20 - ((X)>1.0?1.0:(X))*20))  //出現間隔
#define RF_FormationEmilia_MvVelo(X)  (8000+(X)*8000)  //移動速度
#define RF_FormationEmilia_DurationFrames(X)  (60*20)  //持続時間
// エーベ編隊(FormationEbe) のランク式
#define RF_FormationEbe_Num(X)  (12+(X)*8)  //隊数
#define RF_FormationEbe_LaunchInterval(X)  (5 + (20 - ((X)>1.0?1.0:(X))*20))  //出現間隔
#define RF_FormationEbe_MvVelo(X)  (10000 + (X)*10000)  //移動速度
#define RF_FormationEbe_ShotWay(X)  (4+(X)*4)  //発射弾(Way)数
// エスペリア(EnemyEsperia) のランク式
#define RF_EnemyEsperia_Density(X)  (90000 - (((X)>1.0?1.0:(X)) * 50000))  //密度
#define RF_EnemyEsperia_ShotWay(X)  (7 + (((X)>1.0?1.0:(X)) * 4))  //発射弾(Way)数
// アッフォー(EnemyAppho) のランク式
#define RF_EnemyAppho_MvVelo(X)  (15000 + (X)*10000)  //移動速度
#define RF_EnemyAppho_ShotWay(X)  (2+(X)*4)  //発射弾(Way)数
#define RF_EnemyAppho_ShotMvVelo(X)  (1000+(X)*5000)  //発射弾速度
// アッフォー編隊001(FormationAppho001) のランク式
#define RF_FormationAppho001_Num(X)  (10+(X)*5)  //隊数
#define RF_FormationAppho001_LaunchInterval(X)  (3 + (20 - ((X)>1.0?1.0:(X))*20))  //出現間隔
// アテンティオペ(EnemyAntiope) のランク式
#define RF_EnemyAntiope_MvVelo(X)  (15000 + (X)*10000)  //移動速度
#define RF_EnemyAntiope_ShotWay(X)  (2+(X)*4)  //発射弾(Way)数
#define RF_EnemyAntiope_ShotMvVelo(X)  (1000+(X)*5000)  //発射弾速度
// アテンティオペ編隊001(FormationAntiope001) のランク式
#define RF_FormationAntiope001_Num(X)  (300+(X)*300)  //隊数
#define RF_FormationAntiope001_LaunchInterval(X)  (2 + (2 - ((X)>1.0?1.0:(X))*2))  //出現間隔
// デルヘイド編隊(FormationDelheid) のランク式
#define RF_FormationDelheid_Num(X)  (30+(X)*10)  //隊数
#define RF_FormationDelheid_MvVelo(X)  (10000 + (X)*10000)  //移動速度
#define RF_FormationDelheid_ShotWay(X)  (7+(X)*5)  //発射弾(Way)数
// 打ち返し弾共通(SHOT_RV) のランク式
#define RF_SHOT_RV_ShotMvVelo(X)  (3000+((X)*5000))  //発射弾速度
#define RF_SHOT_RV_ShotMvAcce(X)  (100+((X)*400))  //発射弾加速度
// ノーマル打ち返し弾001(SHOT_RV_NOMAL001) のランク式
#define RF_SHOT_RV_NOMAL001_Density(X)  (D_ANG(15)-((X)*D_ANG(5)))  //密度
#define RF_SHOT_RV_NOMAL001_ShotWay(X)  (3+(2*((X)*2)))  //発射弾(Way)数
#define RF_SHOT_RV_NOMAL001_ShotSetNum(X)  (1+((X)*3))  //発射弾(Way)弾のセット数
// オルトゥナ(EnemyOrtuna) のランク式
#define RF_EnemyOrtuna_MvVelo(X)  (15000 + (X)*10000)  //移動速度
#define RF_EnemyOrtuna_ShotWay(X)  (2+(X)*4)  //発射弾(Way)数
#define RF_EnemyOrtuna_ShotMvVelo(X)  (1000+(X)*5000)  //発射弾速度
// オルトゥナ編隊001(FormationOrtuna001) のランク式
#define RF_FormationOrtuna001_Num(X)  (10+(X)*5)  //隊数
#define RF_FormationOrtuna001_LaunchInterval(X)  (3 + (20 - ((X)>1.0?1.0:(X))*20))  //出現間隔
// グラヤ(EnemyGlaja) のランク式
#define RF_EnemyGlaja_MvVelo(X)  (15000 + (X)*10000)  //移動速度
#define RF_EnemyGlaja_ShotWay(X)  (16+(X)*16)  //発射弾(Way)数
// ドゥーナ(EnemyDuna) のランク式
#define RF_EnemyDuna_MvVelo(X)  (10000 + (X)*20000)  //移動速度
// gen02 end

//1/√2
#define NANAME2D_RATE 0.70710
//1/√3
#define NANAME3D_RATE 0.57735

#define FADE_FRAMES 180

#define VV_DEFAULT_CONFIG_FILE ".\\default_config.properties"
#define VV_CONFIG_FILE         ".\\config.properties"


#define Obj_RankUpStage              (0x81000000U)     //0b 10000001 00000000 00000000 00000000


namespace VioletVreath {

//前方宣言
class God;
class Spacetime;
class World;

class CommonScene;

class TitleBoard;
class Cursor001;

class PreDrawScene;
class LaserChipTestActor;

class GameScene;
class MyShipScene;
class GamePreTitleScene;
class GameTitleScene;
class GameDemoScene;
class GameBeginningScene;
class GameMainScene;
class GameEndingScene;
class GameOverScene;
class NameEntryScene;

class RankUpStage;
class RankUp001;
class RankUp002;
class RankUp003;
class RankUp004;
class RankUp005;
class RankUp006;
class RankUp007;

class StageWorld;
class StageController;
class Stage;
class Stage01;
class Stage02;
class Stage03;
class Stage04;
class Stage05;
class TransitStage;
class RankUpStageController;
class RankUpStage;
class RankUp001;
class RankUp002;
class RankUp100;
class TamagoScene;

class StagePartController;
class Stage01PartController;
class Stage01_01;
class Stage01_02;
class Stage01_03;
class Stage01_Climax;
class Stage01WalledSection001;
class Stage01WalledScene;
class Stage01WallSection001;
class Stage01WallScene;
class Wall001;
class Wall001Prism;
class Wall01;

class Stage02PartController;
class Stage02_01;
class Stage02_Climax;

class Camera;
class CameraUpVector;
class CameraViewPoint;
class ViewPointGuide;
class DefaultCamWorker;
class TestCamWorker;

class GroundMeshActor;
class Ratislavia;
class VarietyRatislavia001;
class VarietyRatislavia002;
class VarietyRatislavia003;
class VarietyRatislavia004;
class EnemyRatislavia;
class EnemyRatislaviaEye;
class EnemyRatislaviaEyeStraightLaserChip001;
class EffectRatislaviaEye001;

class SingleLaser;
class Shot001;
class Shot002;
class Shot003;
class Shot004;
class Shot004Blue;
class Shot004Yellow;
class EnemyWateringLaserChip001;
class EnemyStraightLaserChip001;

class VamSysCamWorker;
class PauseCamWorker;
class MyShipDivingCamWorker;

class MyStraightLaserChip001;
class MyShip;
class MyMagicEnergyCore;
class MyMagicEnergy;
class MyLockonController;


class MyBunshinBase;
class MyBunshin;
class MyBunshinShot001;
class MyBunshinSnipeShot001;
class MyBunshinWateringLaserChip001;


class MyTorpedoController;
class MyTorpedoTail;
class MyTorpedo;
class MyTorpedoBlast;
class MyShot001;
class MySnipeShot001;
class MyWave001;
class MyVreath;
class EffectMyShipExplosion;

class TestGuShot;
class TestChokiShot;
class TestPaShot;
class TestNomalShot;

class MagicMeter;
class MagicMeterStatus;
class MagicMeterCursor001;
class MagicLvCursor;
class MagicLvCursor001;
class MagicLvCursor002;
class MagicLvCursor003;
class MpBar;
class CostDispBar;
class VreathBar;
class DamageDispBar;

class Magic;
class BunshinMagic;
class LaserMagic;
class ShotMagic;
class SpeedMagic;
class LockonMagic;
class TorpedoMagic;
class TractorMagic;
class VreathMagic;
class SmileMagic;
class EffectMagic001;
class EffectSpeedMagic;
class EffectTorpedoMagic;
class EffectLockonMagic;
class EffectLaserMagic;
class EffectShotMagic;
class EffectBunshinMagic001;
class EffectVreathMagic001;
class EffectSmileMagic001;

class EffectExplosion001;
class EffectExplosion002;
class EffectExplosion003;
class EffectExplosion004;
class EffectLockon001;
class EffectLockon001_Main;
class EffectLockon001_Sub;
class EffectTurbo001;
class EffectTurbo002;
class EffectCondensation001;
class EffectLaserRefraction001;
class EffectWormhole;
class EffectWormhole001;
class EffectBlink;
class EffectBlink001;
class EffectBlink002;
class EffectBlink003;

class HoshiBoshiTransit;
class HoshiBoshiRankUp;
class HoshiBoshi001;
class HoshiBoshiTitle;
class WorldBoundTransit;
class WorldBound001;
class WorldBound002;
class WorldBoundRankUp;
class WorldBoundTitle;
class WorldBoundNameEntry;

class LabelFix16Font01;
class LabelGecchi8Font;
class LabelGecchi16Font;
class LabelGecchi32Font;
class LabelMenuTitleFont01;
class LabelMenuItemFont01;
class LabelRankFont;
class LabelRankingFont;
class LabelScoreFont;

class SpriteLabelTest;
class SpriteLabelGecchi32Font;
class SpriteLabelBonus001;
class LabelSceneSymbol;

class TamagoActor;
class TestEnemy;
class TestGu;
class TestChoki;
class TestPa;
class TestNomal;

class EnemyTamago01Actor;
class GameGlobal;

class EnemyEres;
class EnemyEresShot001;
class FormationEres001;
class FormationEres002;

class EnemyAllas;
class FormationAllas001;
class FormationAllas001a;
class FormationAllas001b;
class FormationAllas001c;
class FormationAllas001d;
class FormationAllas002;

class EnemyUnomia;
class FormationUnomia;
class FormationUnomia001;
class FormationUnomia001a;
class FormationUnomia001b;
class FormationUnomia002;
class FormationUnomia002a;
class FormationUnomia002b;

class EnemyGeria;
class FormationGeria;
class FormationGeria001;
class FormationGeria002;

class EnemyEtis;
class FormationEtis001;
class EnemyDrastea;
class FormationDrastea001;

class EnemyStraea;
class EnemyStraeaLaserChip001;
class EnemyStraeaLaserChip002;
class EnemyStraeaLaserChip003;
class EnemyStraeaLaserChip004;

class EnemyRis;
class FormationRis001;
class FormationRis002;

class EnemyOmulus;

class EnemyOrtuna;
class FormationOrtuna001;
class FormationOrtuna001a;
class FormationOrtuna001b;

class EnemyEmus;
class EnemyEmusLaserChip001;

class EnemyIrce;

class EnemyHalia;
class FormationHalia;

class EnemyEmiliaBase;
class EnemyEmilia;
class EnemyEmiliaFragment;
class EnemyEmiliaFragment2;
class EnemyEmiliaFragment3;
class FormationEmilia;

class EnemyEbe;
class FormationEbe;
class FormationEbe001;

class EnemyHisbe;
class EnemyHisbe002;
class EnemyHisbeLaserChip001;
class EnemyHisbeLaserChip002;
class EnemyHisbeLaserChip003;

class EnemyEsperia;
class EnemyEsperiaLaserChip001;

class EnemyTalante;

class EnemyErmione;
class EnemyErmioneArm;
class EnemyErmioneArmBody;
class EnemyErmioneArmHead;
class EnemyErmioneArmWeak;

class EnemyAppho;
class FormationAppho001;
class FormationAppho001a;
class FormationAppho001b;

class EnemyAntiope;
class EnemyAntiopeP;
class EnemyAntiopeN;
class FormationAntiope001;

class EnemyDelheid;
class FormationDelheid;
class FormationDelheid001;

class EnemyAlisana;

class EnemyIda;
class EnemyIdaBase;
class EnemyIdaBase001;
class FormationIda;
class FormationIda001;

class EnemyThagoras;
class FormationThagoras;
class FormationThagoras001;
class FormationThagoras002;

class EnemyGlaja;
class EnemyGlajaLance001;

class EnemyDuna;

class EnemyOzartia;
class EnemyOzartiaLaserChip01;
class EnemyOzartiaShot01;
class EnemyOzartiaPillar01;

class EnemyOebius;
class EnemyOebiusCore;
class EnemyOebiusController;
class EnemyOebiusController001;
class EnemyOebiusController002;
class FormationOebius;
class FormationOebius001;
class FormationOebius002;

class EnemyUrydike;
class FormationUrydike;
class FormationUrydike001;
class FormationUrydike002;
//"VVEnemysHeader.h" もわすれるな〜



class DanmakuAlice;
class DanmakuAlice001;
class AliceShot;
//"VVEnemysHeader.h" もわすれるな〜

class DepositoryConnection;
class DepositoryManager;
class SplineLineConnection;
class SplineLineManager;
class XpmConnection;
class XpmManager;

class CameraWorkerManager;
class CameraWorkerConnection;

class TestDepository;

class Item;
class MagicPointItem;
class MagicPointItem001;
class MagicPointItem002;
class MagicPointItem003;
class ScoreItem;
class ScoreItem001;
class VreathItem;
class VreathItem001;

class Properties;
class RankingTable;
class MyStgUtil;

template<class T>
class Formation001;


class Planet001;
class Planet001Atmosphere;
class Horizon001;

class CubeMapMeshTestActor;
class CubeMapMeshSetTestActor;
class CubeMapMorphMeshTestActor;
class DefaultD3DXAniMeshTestActor;
class DefaultBoardTestActor;
class DefaultBoardSetTestActor;
class DefaultMeshTestActor;
class DefaultD3DXMeshTestActor;
class DefaultMeshSetTestActor;
class DefaultMorphMeshTestActor;
class DefaultPointSpriteTestActor;
class DefaultSpriteTestActor;
class DefaultSpriteSetTestActor;
class GroundMeshTestActor;
class HoshiboshiTestActor;
class LaserChipTestActor;
class SingleLaserTestActor;
class SpriteMeshTestActor;
class SpriteMeshSetTestActor;
class WallAABTestActor;
class WallAAPrismTestActor;

class VamSysCamPosition;
class MenuBoard;
class CursorCofirmMenu;
class MenuBoardConfirm;
class CursorPauseMenu;
class MenuBoardPause;
class CursorTitleMenu;
class MenuBoardTitle;

class CursorConfig001;
class MenuBoardConfig;
class CursorConfig002;
class MenuBoardKeyConfig;
class CursorConfig004;
class MenuBoardSoundConfig;
class CursorConfig003;
class MenuBoardScreenConfig;
class CursorResolutionSelect;
class MenuBoardResolutionSelect;

class MenuBoardNameEntry;
class CursorNameEntryMenu;
class CursorConfig005;

class XpmHeader;
class InnerTitleBar;
}


#endif /*VIOLETVREATHHEADER_H_*/
