#define S_PAD 0x1F800000 /* スクラッチパッド(1024bytes) */ #include #include #define ACT_MAX 100 #define DISABLE (1<<15) #define res14 (1<<14) #define res13 (1<<13) #define res12 (1<<12) #define res11 (1<<11) #define res10 (1<<10) #define res9 (1<< 9) #define res8 (1<< 8) #define res7 (1<< 7) #define res6 (1<< 6) #define res5 (1<< 5) #define res4 (1<< 4) #define res3 (1<< 3) #define res2 (1<< 2) #define res1 (1<< 1) #define COLLISION (1<< 0) /* 当たり */ #define EMPTY 0 #define PLAYER 1 #define ENEMY 2 #define FIRE 3 #define OTHER 254 #define SYSTEM 255 /*---------------------------------------------------------------------- action構造体 ----------------------------------------------------------------------*/ typedef struct{ short ID; /* ID (0=空き) */ void (*fnAction)(void*); /* action処理ルーチン */ short WorkSize; /* ワークサイズ */ short message; /* メッセージ */ short posX; /* X座標 */ short posY; /* Y座標 */ short vectX; /* X方向移動ベクトル */ short vectY; /* Y方向移動ベクトル */ short speed; /* 移動速度 */ short count0; /* カウンタ */ short count1; short work0; short work1; void *ptr0; void *ptr1; RECT collision; /* 矩形 */ GsSPRITE *sp; /* ポインタ */ }action; void InitAct( void ); action* GetEmptyActPtr( void ); void ResetAction( void ); void GoAction( void ); void ChangeAction( void * ); short CheckCollisionRect( action * );