#pragma once #include "ObjectManager.h" #include "Vectors.h" #include "ModelManager.h" #ifndef __MWERKS__ #include "ObjectManager.c" #include "Vectors.c" #include "ModelManager.c" #endif #define MAXBULLETDISTANCE (20.0 * 20) #define MAXROCKETDISTANCE (100.0 * 100) #define ROCKETROTATERATE 0.002 enum weaponTypes { WEAPONTYPEBULLET, WEAPONTYPEROCKET /* Add more as necessary. Rockets? Bombs? Mines? */ }; typedef struct VWeapon { int Type; 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); void DrawWeapon(VWeapon * w);