#pragma once #define MAXBULLETDISTANCE (40.0 * 40) #define MAXROCKETDISTANCE (100.0 * 100) #define ROCKETROTATERATE 0.004 #define BULLETSPEED 0.02 #define ROCKETSPEED 0.001 #define MAXROCKETSPEED 0.02 #define ROCKETACCELERATION 0.0001 #include "ObjectManager.h" #include "Vectors.h" #include "ModelManager.h" #include "Enemies.h" enum weaponTypes { WEAPONTYPEBULLET, WEAPONTYPEROCKET /* Add more as necessary. Rockets? Bombs? Mines? */ }; typedef struct VWeapon { int Type; float Speed; Vector InitialPos; Vector Target; VObject Object; struct VWeapon * next; Boolean taggedForRemoval; } VWeapon; void InitWeapon(VWeapon * w, int type); void CleanUpWeapon(VWeapon * w); void StartWeapon(VWeapon * w, Vector * startPos, Vector * target, Vector * forward, Vector * up); void RunWeapon(VWeapon * w, float interval, VObject * ObjectList, VEnemy * EnemyList); void DrawWeapon(VWeapon * w); #ifndef __MWERKS__ #include "ObjectManager.c" #include "Vectors.c" #include "ModelManager.c" #endif