00001 /* 00002 Debris - A 3D-Space-Shooter Game based on OpenGL 00003 Copyright (C) 2002 Daniel Wagner <daniel@kwaxi.org> and 00004 Sebastian Zambal <e9826978@student.tuwien.ac.at> 00005 00006 file: DObject3D.h 00007 */ 00008 00009 #pragma once 00010 00011 #include "DObject3D.h" 00012 #include "DTextures.h" 00013 #include "DSystem.h" 00014 #include "debris.h" 00015 00016 //========================================================== 00017 // Radioactive Container 00018 //========================================================== 00019 00021 00024 class DGarbageRadioactive: public DObject3D { 00025 public: 00027 DGarbageRadioactive(DSystem *system); 00028 }; 00029 00030 //========================================================== 00031 // Satellite 00032 //========================================================== 00033 00035 00038 class DSatellite: public DObject3D { 00039 public: 00041 DSatellite(DSystem *system); 00042 }; 00043 00044 //========================================================== 00045 // Space Station 00046 //========================================================== 00047 00049 00052 class DSpaceStation: public DObject3D { 00053 public: 00055 DSpaceStation(DSystem *system); 00056 }; 00057 00058 //========================================================== 00059 // Up 00060 //========================================================== 00061 00063 00066 class DUp: public DObject3D { 00067 private: 00069 float counter; 00070 public: 00072 DUp(DSystem *system); 00074 virtual void Draw(void); 00075 }; 00076 00077 //========================================================== 00078 // Fighter 00079 //========================================================== 00080 00082 00085 class DFighter: public DObject3D { 00086 public: 00088 GLuint fighterTex1; 00090 DLevelSegment *currentSegment; 00092 GLuint geometryID_deformed1; 00093 GLuint geometryID_deformed2; 00095 float *targetPoint; 00097 float *dTargetPoint; 00099 bool active; 00101 float countShot; 00103 DFighter(DSystem *system); 00105 virtual void Move(void); 00107 virtual void Draw(void); 00109 void Draw(GLuint geomID); 00110 }; 00111 00112 typedef DFighter* DFighterPtr; 00113 00114 //========================================================== 00115 // TV 00116 //========================================================== 00117 00119 00122 class Dtv: public DObject3D { 00123 public: 00125 GLuint tex1; 00126 GLuint tex2; 00127 GLuint tex3; 00128 GLuint flimmer1; 00129 GLuint flimmer2; 00130 GLuint flimmer3; 00131 float flimmerCount; 00133 virtual void Draw(void); 00135 Dtv(DSystem *system); 00136 }; 00137