// Filename : GOBJECTS.H // Coded by : Scott Evans // Created/Modified : 21/3/98 // Description : Game object routines #ifndef _GOBJECTS_H_ #define _GOBJECTS_H_ #ifdef YAROZE #include #else #include #include #include #include #include #include #include #endif #include #include #include #include #include #include #include #include "sprmap.h" #include "bouncer.h" #include "handlers.h" #include "anim.h" #define MAX_STRINGS 10 #define MAX_WIND_STRENGTHS 5 enum { WS_WEAK, WS_MEDIUM, WS_STRONG, WS_VERY_STRONG, WS_STORM }; // Performance settings typedef struct { VECTOR vel; VECTOR acc; VECTOR max_vel; VECTOR min_vel; }PERFORMANCE; // Function prototypes void SetPerformanceLevel(PERFORMANCE *,u_byte); void SetPerformanceLevels(u_byte); OBJECT *CreateBatSprite(void); OBJECT *CreateExplosionSprite(word,word,u_byte); void CheckForBlocks(word,word); OBJECT *CreateExplosionSprite2(word,word); OBJECT *CreateStartBlockSprite(void); void PositionStartBlock(OBJECT *); OBJECT *CreateBlokeSprite(void); OBJECT *CreateBlockSprite(word,word,word); OBJECT *CreateBonusSprite(word,word,word); OBJECT *CreateExpandingBlock(word,word); void CreateDecoyBloke(u_word); OBJECT *CreateSpringSprite(word,word,word); OBJECT *CreateGunSprite(word,word,word); void PositionUpArrowMapBlock(void); OBJECT *CreateCounterSprite(OBJECT_LIST_HEADER *,word,word); OBJECT *CreateMovingPlatformSprite(word,word); OBJECT *CreateFanSprite(word,word,word); OBJECT_STRING *CreatePausedSprites(void); OBJECT *CreateScoreMultiplier(word); OBJECT *CreateIconSprite(OBJECT_LIST_HEADER *,word,word,word); void KillIconSprite(OBJECT_LIST_HEADER *,OBJECT *); OBJECT_STRING *CreateTextString(DVECTOR *,FONT_INFO *,u_byte *,u_byte); OBJECT *FindObjectAtPosition(OBJECT_LIST_HEADER *,word,word); void KillActiveGuns(void); void KillActivePlatforms(void); #ifdef DEBUG_INFO void ShowWindObjects(void); #endif OBJECT *CreateTimerSprite(OBJECT_LIST_HEADER *,word); OBJECT *CreateIntroExplosionSprite(word,word); OBJECT_STRING *CreateBonusLevelSprites(void); OBJECT *CreateBonusFirework(void); OBJECT *CreateBeamObject(void); void CreateLevelSprites(long); void CreateEmptyBlockCounterEffect(long); #endif