28 #ifndef __GAME_SSD_WINDOW_H__
29 #define __GAME_SSD_WINDOW_H__
111 void SetRadius(
float _radius,
float _hitFactor = 1.0
f);
164 #define MAX_ASTEROIDS 64
199 #define MAX_ASTRONAUT 8
231 #define MAX_EXPLOSIONS 64
271 #define MAX_POINTS 16
306 #define MAX_PROJECTILES 64
337 #define MAX_POWERUPS 64
382 virtual void OnHit(
int key);
496 virtual void Draw(
int time,
float x,
float y);
616 #endif //__GAME_SSD_WINDOW_H__
void SetPosition(const idVec3 &_position)
virtual void ReadFromSaveGame(idFile *savefile, idGameSSDWindow *_game)
GLsizei const GLfloat * points
void SetMaterial(const char *_name)
SSDEntity * GetSpecificEntity(int type, int id)
virtual void WriteToSaveGame(idFile *savefile)
virtual void WriteToSaveGame(idFile *savefile)
void Init(idGameSSDWindow *_game, const idVec3 &startPosition, const idVec2 &_size, float _speed, float rotate, int _health)
virtual void ReadFromSaveGame(idFile *savefile, idGameSSDWindow *_game)
static SSDPoints * GetNewPoints(idGameSSDWindow *_game, SSDEntity *_ent, int _points, int _length, int _distance, const idVec4 &color)
static SSDAstronaut astronautPool[MAX_ASTRONAUT]
void HitAstronaut(SSDAstronaut *astronaut, int key)
static void WriteProjectiles(idFile *savefile)
void Init(idGameSSDWindow *_game, SSDEntity *_ent, int _points, int _length, int _distance, const idVec4 &color)
static SSDProjectile * GetNewProjectile(idGameSSDWindow *_game, const idVec3 &_beginPosition, const idVec3 &_endPosition, float _speed, float _size)
static void ReadExplosions(idFile *savefile, idGameSSDWindow *_game)
idBounds WorldToScreen(const idBounds worldBounds)
static SSDPoints * GetSpecificPoints(int id)
virtual void WriteToSaveGame(idFile *savefile)
SSDEntity * EntityHitTest(const idVec2 &pt)
virtual void WriteToSaveGame(idFile *savefile)
static void ReadAsteroids(idFile *savefile, idGameSSDWindow *_game)
virtual void EntityUpdate()
void BeginLevel(int level)
GLuint GLuint GLsizei GLenum type
static SSDAsteroid * GetSpecificAsteroid(int id)
virtual void ReadFromSaveGame(idFile *savefile)
virtual void WriteToSaveGame(idFile *savefile)
SSDLevelStats_t Data that is used for each level.
static SSDPowerup * GetNewPowerup(idGameSSDWindow *_game, float _speed, float _rotation)
void PlaySound(const char *sound)
void AddHealth(int health)
void AstronautStruckPlayer(SSDAstronaut *astronaut)
virtual void OnHit(int key)
virtual const char * HandleEvent(const sysEvent_t *event, bool *updateVisuals)
void SetSize(const idVec2 &_size)
virtual void ReadFromSaveGame(idFile *savefile, idGameSSDWindow *_game)
int nextAstronautSpawnTime
virtual void OnHit(int key)
void SetRotation(float _rotation)
void AsteroidStruckPlayer(SSDAsteroid *asteroid)
static void WriteExplosions(idFile *savefile)
virtual void Draw(int time, float x, float y)
idList< SSDEntity * > entities
virtual void ReadFromSaveGame(idFile *savefile)
virtual void ReadFromSaveGame(idFile *savefile, idGameSSDWindow *_game)
idGameSSDWindow(idUserInterfaceLocal *gui)
void Init(idGameSSDWindow *_game, const idVec3 &startPosition, float _speed, float rotate, int _health)
virtual void ReadFromSaveGame(idFile *savefile, idGameSSDWindow *_game)
void Init(idGameSSDWindow *_game, float _speed, float _rotation)
virtual void OnStrikePlayer()
virtual void WriteToSaveGame(idFile *savefile)
void AddDamage(int damage)
void ParseAsteroidData(int level, const idStr &asteroidDataString)
void ParseAstronautData(int level, const idStr &astronautDataString)
virtual void ReadFromSaveGame(idFile *savefile, idGameSSDWindow *_game)
void ContinueGame()
Continue game resets the players health.
void Init(idGameSSDWindow *_game, const idVec3 &_position, const idVec2 &_size, int _length, int _type, SSDEntity *_buddy, bool _killBuddy=true, bool _followBuddy=true)
static void ReadPoints(idFile *savefile, idGameSSDWindow *_game)
virtual void EntityUpdate()
static void WritePoints(idFile *savefile)
void ParseLevelData(int level, const idStr &levelDataString)
static void ReadAstronauts(idFile *savefile, idGameSSDWindow *_game)
void AddScore(SSDEntity *ent, int points)
virtual void EntityUpdate()
const idMaterial * crosshairMaterial[CROSSHAIR_COUNT]
const idMaterial * material
virtual void ReadFromSaveGame(idFile *savefile, idGameSSDWindow *_game)
virtual void EntityUpdate()
static SSDPoints pointsPool[MAX_POINTS]
static SSDAsteroid * GetNewAsteroid(idGameSSDWindow *_game, const idVec3 &startPosition, const idVec2 &_size, float _speed, float rotate, int _health)
virtual idWinVar * GetWinVarByName(const char *_name, bool winLookup=false, drawWin_t **owner=NULL)
virtual void WriteToSaveGame(idFile *savefile)
static SSDExplosion explosionPool[MAX_EXPLOSIONS]
int nextAsteroidSpawnTime
void Init(idGameSSDWindow *_game, const idVec3 &_beginPosition, const idVec3 &_endPosition, float _speed, float _size)
static SSDAstronaut * GetNewAstronaut(idGameSSDWindow *_game, const idVec3 &startPosition, float _speed, float rotate, int _health)
void SetGame(idGameSSDWindow *_game)
idUserInterfaceLocal * gui
virtual void WriteToSaveGame(idFile *savefile)
idList< SSDAstronautData_t > astronautData
static SSDPowerup powerupPool[MAX_POWERUPS]
void ParseWeaponData(int weapon, const idStr &weaponDataString)
static SSDExplosion * GetSpecificExplosion(int id)
static SSDAstronaut * GetSpecificAstronaut(int id)
void SetRadius(float _radius, float _hitFactor=1.0f)
idList< SSDWeaponData_t > weaponData
static SSDAsteroid asteroidPool[MAX_ASTEROIDS]
void HitAsteroid(SSDAsteroid *asteroid, int key)
bool HitTest(const idVec2 &pt)
static void WritePowerups(idFile *savefile)
void Draw(idDeviceContext *dc, const idVec2 &cursor)
void MoverInit(const idVec3 &_speed, float _rotationSpeed)
static SSDExplosion * GetNewExplosion(idGameSSDWindow *_game, const idVec3 &_position, const idVec2 &_size, int _length, int _type, SSDEntity *_buddy, bool _killBuddy=true, bool _followBuddy=true)
virtual void DestroyEntity()
virtual void Draw(idDeviceContext *dc)
virtual void ReadFromSaveGame(idFile *savefile, idGameSSDWindow *_game)
virtual void EntityUpdate()
static void WriteAsteroids(idFile *savefile)
virtual bool ParseInternalVar(const char *name, idParser *src)
idVec3 ScreenToWorld(const idVec3 &screenPos)
static void ReadPowerups(idFile *savefile, idGameSSDWindow *_game)
static SSDProjectile * GetSpecificProjectile(int id)
virtual void WriteToSaveGame(idFile *savefile)
idList< SSDPowerupData_t > powerupData
virtual void EntityUpdate()
SSDGameStats_t Data that is used for the game that is currently running.
idList< SSDLevelData_t > levelData
static SSDProjectile projectilePool[MAX_PROJECTILES]
void ParsePowerupData(int level, const idStr &powerupDataString)
Powerups work in two phases: 1.) Closed container hurls at you If you shoot the container it open 3...
SSDLevelStats_t levelStats
static void ReadProjectiles(idFile *savefile, idGameSSDWindow *_game)
virtual void OnStrikePlayer()
static void WriteAstronauts(idFile *savefile)
virtual void WriteToSaveGame(idFile *savefile)
static SSDPowerup * GetSpecificPowerup(int id)
idList< SSDAsteroidData_t > asteroidData