Main Page | Alphabetical List | Compound List | File List | Compound Members | File Members

Genvs.h

Go to the documentation of this file.
00001 // USERTYPES.H -- Genesis Editor standard entity types
00002 //
00003 // Copyright  1998, Eclipse Entertainment
00004 #ifndef GENVS_H
00005 #define GENVS_H
00006 
00007 #include "Quatern.h"
00008 #include "GenVSI.h"
00009 
00010 #include "PhysicsObject.h"
00011 #include "PhysicsJoint.h"
00012 #include "PhysicsSystem.h"
00013 
00014 #pragma warning( disable : 4068 )
00015 #ifdef __cplusplus
00016 extern "C" {
00017 #endif
00018 
00019 #pragma GE_BrushContents
00020 typedef enum
00021 {
00022         Water = 0x00010000,
00023         Lava = 0x00020000,
00024         /*
00025         type3 = 0x00040000,
00026         type4 = 0x00080000,
00027         type5 = 0x00100000,
00028         type6 = 0x00200000,
00029         type7 = 0x00400000,
00030         type8 = 0x00800000,
00031         type9 = 0x01000000,
00032         type10 = 0x02000000,
00033         type11 = 0x04000000,
00034         type12 = 0x08000000,
00035         type13 = 0x10000000,
00036         type14 = 0x20000000,
00037         type15 = 0x40000000,
00038         type16 = 0x80000000
00039         */
00040 } UserContentsEnum;
00041 
00042 // Playerstart
00043 #pragma GE_Type("Player.ico")
00044 typedef struct  PlayerStart
00045 {
00046 #pragma GE_Published
00047     geVec3d     Origin;
00048 #pragma GE_Origin(Origin)
00049 }       PlayerStart;
00050 
00051 // DeathMatchstart
00052 #pragma GE_Type("Player.ico")
00053 typedef struct  DeathMatchStart
00054 {
00055 #pragma GE_Published
00056     geVec3d     Origin;
00057 #pragma GE_Origin(Origin)
00058 }   DeathMatchStart;
00059 
00060 // MissleTurret
00061 //#pragma GE_Type("Player.ico")
00062 typedef struct  AttackerTurret
00063 {
00064 //#pragma GE_Published
00065     geVec3d     Origin;
00066 //#pragma GE_Origin(Origin)
00067 }       AttackerTurret;
00068 
00069 // PhysicsObject
00070 typedef struct PhysicsObject PhysicsObject;
00071 #pragma GE_Type("Model.ico")
00072 typedef struct  PhysicsObject
00073 {
00074 #pragma GE_Published
00075   geWorld_Model         *Model;
00076   geVec3d                                       Origin;
00077         float                                           mass;
00078         int                                                     isAffectedByGravity;
00079         int                                                     respondsToForces;
00080         float                                           linearDamping;
00081         float                                           angularDamping;
00082         PhysicsObject           *Next;
00083         float                                           physicsScale;
00084 #pragma GE_DefaultValue(mass, "10.0")
00085 #pragma GE_DefaultValue(isAffectedByGravity, "1")
00086 #pragma GE_DefaultValue(respondsToForces, "1")
00087 #pragma GE_DefaultValue(linearDamping, "0.0005")
00088 #pragma GE_DefaultValue(angularDamping, "0.0005")
00089 #pragma GE_DefaultValue(physicsScale, "0.01")
00090 
00091 #pragma GE_Private
00092         gePhysicsObject *                       stateInfo;
00093 #pragma GE_Origin(Origin)
00094 }       PhysicsObject;
00095 
00096 typedef struct PhysicsJoint PhysicsJoint;
00097 
00098 
00099 // Joint
00100 #pragma GE_Type("Item.ico")
00101 typedef struct  PhysicsJoint
00102 {
00103 #pragma GE_Published
00104     geVec3d                                     Origin;
00105                 PhysicsObject * physicsObject1;
00106                 PhysicsObject * physicsObject2;
00107                 PhysicsJoint                    * Next;
00108                 float                                           assemblyRate;
00109                 int jointType;
00110                 float physicsScale;
00111 #pragma GE_DefaultValue(assemblyRate, "0.03")
00112 #pragma GE_DefaultValue(physicsScale, "0.01")
00113 
00114 #pragma GE_Private
00115                 gePhysicsJoint *                        jointData;
00116 #pragma GE_Origin(Origin)
00117 }   PhysicsJoint;
00118 
00119 #pragma GE_Type("Item.ico")
00120 
00121 // PhysicalSystem
00122 typedef struct PhysicalSystem
00123 {
00124 #pragma GE_Published
00125         geVec3d                                         Origin;
00126         PhysicsObject           *       physicsObjectListHeadPtr;
00127         PhysicsJoint                            *       jointListHeadPtr;
00128 #pragma GE_Private
00129 //              AnyStruct                       *       physsysData;
00130                 gePhysicsSystem *                               physsysData;
00131 #pragma GE_Origin(Origin)
00132 } PhysicalSystem;
00133 
00134 // ForceField
00135 
00136 typedef enum
00137 {
00138         FALLOFF_NONE = 0,
00139         FALLOFF_ONE_OVER_D,
00140         FALLOFF_ONE_OVER_DSQUARED
00141 };
00142 
00143 #pragma GE_Type("Item.ico")
00144 
00145 typedef struct ForceField
00146 {
00147 #pragma GE_Published
00148         geVec3d                                         Origin;
00149         float                                                   radius;
00150         float                                                   strength;
00151         int                                                             falloffType;
00152         int                                                             affectsPlayers;
00153         int                                                             affectsPhysicsObjects;
00154 
00155 #pragma GE_DefaultValue(radius, "50.0")
00156 #pragma GE_DefaultValue(falloffType, "1")
00157 #pragma GE_DefaultValue(affectsPlayers, "1")
00158 #pragma GE_DefaultValue(affectsPhysicsObjects, "1")
00159 
00160 #pragma GE_Origin(Origin)
00161 } ForceField;
00162 
00163 // Door
00164 #pragma GE_Type("Model.ico")
00165 typedef struct  Door
00166 {
00167 #pragma GE_Published
00168     geWorld_Model   *Model;
00169     geVec3d                     Origin;
00170 #pragma GE_Origin(Origin)
00171 }   Door;
00172 
00173 // MovingPlat
00174 #pragma GE_Type("Model.ico")
00175 typedef struct  MovingPlat
00176 {
00177 #pragma GE_Published
00178     geWorld_Model       *Model;
00179     geVec3d                     Origin;
00180 #pragma GE_Origin(Origin)
00181 }   MovingPlat;
00182 
00183 // ChangeLevel
00184 #pragma GE_Type("Player.ico")
00185 typedef struct ChangeLevel
00186 {
00187 #pragma GE_Published
00188     geWorld_Model       *Model;
00189         char                    *LevelName;
00190     geVec3d                     Origin;
00191 #pragma GE_Origin(Origin)
00192 } ChangeLevel;
00193 
00194 // ItemHealth
00195 #pragma GE_Type("Item.ico")
00196 typedef struct  ItemHealth
00197 {
00198 #pragma GE_Published
00199     geVec3d                     Origin;
00200 #pragma GE_Origin(Origin)
00201 }   ItemHealth;
00202 
00203 // ItemArmor
00204 #pragma GE_Type("Item.ico")
00205 typedef struct ItemArmor
00206 {
00207 #pragma GE_Published
00208     geVec3d     Origin;
00209 #pragma GE_Origin(Origin)
00210 } ItemArmor;
00211 
00212 // ItemRocket
00213 #pragma GE_Type("Item.ico")
00214 typedef struct  ItemRocket
00215 {
00216 #pragma GE_Published
00217     geVec3d                     Origin;
00218 #pragma GE_Origin(Origin)
00219 }   ItemRocket;
00220 
00221 // ItemRocketAmmo
00222 #pragma GE_Type("Item.ico")
00223 typedef struct  ItemRocketAmmo
00224 {
00225 #pragma GE_Published
00226     geVec3d                     Origin;
00227 #pragma GE_Origin(Origin)
00228 }   ItemRocketAmmo;
00229 
00230 // ItemGrenade
00231 #pragma GE_Type("Item.ico")
00232 typedef struct  ItemGrenade
00233 {
00234 #pragma GE_Published
00235     geVec3d                     Origin;
00236 #pragma GE_Origin(Origin)
00237 }   ItemGrenade;
00238 
00239 // ItemGrenadeAmmo
00240 #pragma GE_Type("Item.ico")
00241 typedef struct  ItemGrenadeAmmo
00242 {
00243 #pragma GE_Published
00244     geVec3d                     Origin;
00245 #pragma GE_Origin(Origin)
00246 }   ItemGrenadeAmmo;
00247 
00248 // ItemShredder
00249 #pragma GE_Type("Item.ico")
00250 typedef struct  ItemShredder
00251 {
00252 #pragma GE_Published
00253     geVec3d                     Origin;
00254 #pragma GE_Origin(Origin)
00255 }   ItemShredder;
00256 
00257 // ItemShredderAmmo
00258 #pragma GE_Type("Item.ico")
00259 typedef struct  ItemShredderAmmo
00260 {
00261 #pragma GE_Published
00262     geVec3d                     Origin;
00263 #pragma GE_Origin(Origin)
00264 }   ItemShredderAmmo;
00265 
00266 // FogLight
00267 #pragma GE_Type("FogLight.ico")
00268 typedef struct FogLight
00269 {
00270 
00271 #pragma GE_Published
00272         geVec3d         Origin;
00273         GE_RGBA         Color;
00274         float           Brightness;
00275         float           Radius;
00276 #pragma GE_Origin(Origin)
00277 } FogLight;
00278 
00279 #ifdef __cplusplus
00280 }
00281 #endif
00282 
00283 #pragma warning( default : 4068 )
00284 
00285 #endif

Generated on Tue Sep 30 12:35:51 2003 for GTestAndEngine by doxygen 1.3.2