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

getypes.h

Go to the documentation of this file.
00001 /****************************************************************************************/
00002 /*  GeTypes.h                                                                           */
00003 /*                                                                                      */
00004 /*  Description: Genesis Types (not primitive enough for basetype)                      */
00005 /*                                                                                      */
00006 /*  The contents of this file are subject to the Genesis3D Public License               */
00007 /*  Version 1.01 (the "License"); you may not use this file except in                   */
00008 /*  compliance with the License. You may obtain a copy of the License at                */
00009 /*  http://www.genesis3d.com                                                            */
00010 /*                                                                                      */
00011 /*  Software distributed under the License is distributed on an "AS IS"                 */
00012 /*  basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See                */
00013 /*  the License for the specific language governing rights and limitations              */
00014 /*  under the License.                                                                  */
00015 /*                                                                                      */
00016 /*  The Original Code is Genesis3D, released March 25, 1999.                            */
00017 /*  Genesis3D Version 1.1 released November 15, 1999                                 */
00018 /*  Copyright (C) 1999 WildTangent, Inc. All Rights Reserved           */
00019 /*                                                                                      */
00020 /****************************************************************************************/
00021 #ifndef GE_TYPES_H
00022 #define GE_TYPES_H
00023 
00024 #include "BaseType.h"
00025 
00026 
00027 #ifdef __cplusplus
00028 extern "C" {
00029 #endif
00030 
00031 //
00032 //      Collision defines (for geWorld_Collision)
00033 //
00034 #define GE_COLLIDE_MESHES                       (1<<0)
00035 #define GE_COLLIDE_MODELS                       (1<<1)
00036 #define GE_COLLIDE_ACTORS                       (1<<2)
00037 #define GE_COLLIDE_NO_SUB_MODELS        (1<<3)
00038 #define GE_COLLIDE_ALL                          (GE_COLLIDE_MESHES | GE_COLLIDE_MODELS | GE_COLLIDE_ACTORS)
00039 
00040 //
00041 // Actor flags (geWorld_AddActor)
00042 //
00043 #define GE_ACTOR_RENDER_NORMAL                  (1<<0)          // Render in normal views
00044 #define GE_ACTOR_RENDER_MIRRORS                 (1<<1)          // Render in mirror views
00045 #define GE_ACTOR_RENDER_ALWAYS                  (1<<2)          // Render always, skipping all visibility tests
00046 #define GE_ACTOR_COLLIDE                                (1<<3)          // Collide when calling geWorld_Collision
00047 
00048 //MRB BEGIN
00049 //geSprite
00050 //
00051 // Sprite flags (geSprite_AddSprite)
00052 //
00053 #define GE_SPRITE_RENDER_NORMAL                 (1<<0)          // Render in normal views
00054 #define GE_SPRITE_RENDER_MIRRORS                (1<<1)          // Render in mirror views
00055 #define GE_SPRITE_RENDER_ALWAYS                 (1<<2)          // Render always, skipping all visibility tests
00056 #define GE_SPRITE_COLLIDE                                               (1<<3)          // Collide when calling geWorld_Collision
00057 //MRB END
00058 
00059 typedef struct
00060 {
00061         geBoolean               UseEnvironmentMapping;  //toggle for actor-level environ-map
00062         geBoolean               Supercede;              //toggle for material-level
00063         geFloat                 PercentEnvironment;
00064         geFloat                 PercentMaterial;                //Used when Supercede == GE_FALSE
00065         geFloat                 PercentPuppet;
00066 } geEnvironmentOptions;
00067 
00068 //
00069 //      Model flags (geWorld_ModelSetFlags)
00070 //
00071 #define GE_MODEL_RENDER_NORMAL                  (1<<0)          // Render in normal views
00072 #define GE_MODEL_RENDER_MIRRORS                 (1<<1)          // Render in mirror views
00073 #define GE_MODEL_RENDER_ALWAYS                  (1<<2)          // Render always, skipping all visibility tests
00074 #define GE_MODEL_COLLIDE                                (1<<3)          // Collide when calling geWorld_Collision
00075 
00076 //MRB BEGIN
00077 typedef struct
00078 {
00079         geFloat                         r, g, b;
00080 } geColor;
00081 
00082 typedef struct
00083 {
00084         geFloat                         u, v;
00085 } geUV;
00086 //MRB END
00087 
00088 typedef struct
00089 {
00090         geFloat r, g, b, a;
00091 } GE_RGBA;
00092 
00093 typedef struct
00094 {
00095         int32   Left;
00096         int32   Right;
00097         int32   Top;
00098         int32   Bottom;
00099 } GE_Rect;
00100 
00101 typedef struct
00102 {
00103         geFloat MinX,MaxX;
00104         geFloat MinY,MaxY;
00105 } geFloatRect;
00106 
00107 //MRB BEGIN
00108 typedef struct
00109 {
00110         geFloat X;
00111         geFloat Y;
00112 } geCoordinate;
00113 //MRB END
00114 
00115 // Lit vertex
00116 typedef struct
00117 {
00118         // FIXME:  Convert 3d X,Y,Z to geVec3d
00119         geFloat X, Y, Z;                                                                        // 3d vertex
00120         geFloat u, v;                                                                           // Uv's
00121         // FIXME:  Convert r,g,b,a to GE_RGBA
00122         geFloat r, g, b, a;                                                             // color
00123 } GE_LVertex;
00124 
00125 // Transformed Lit vertex
00126 typedef struct
00127 {
00128         geFloat x, y, z;                                                                        // screen points
00129         geFloat u, v;                                                                           // Uv's
00130         geFloat r, g, b, a;                                                             // color
00131 } GE_TLVertex;
00132 
00133 typedef GE_Rect geRect;
00134 
00135 #ifdef __cplusplus
00136 }
00137 #endif
00138 
00139 
00140 #endif GETYPES_H

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