#include <Assert.h>#include <Windows.h>#include "BaseType.h"#include "PtrTypes.h"#include "Vec3d.h"#include "DCommon.h"Go to the source code of this file.
Compounds | |
| struct | Surf_LVertex |
| struct | Surf_SurfInfo |
| struct | Surf_TexVert |
| struct | Surf_TLVertex |
Defines | |
| #define | SURFINFO_TRANS (1<<0) |
| #define | SURFINFO_LTYPED (1<<1) |
| #define | SURFINFO_LIGHTMAP (1<<2) |
| #define | SURFINFO_WAVY (1<<3) |
Typedefs | |
| typedef Surf_SurfInfo | Surf_SurfInfo |
| typedef Surf_TexVert | Surf_TexVert |
Functions | |
| geBoolean | Surf_EngineInit (geEngine *Engine) |
| void | Surf_EngineShutdown (geEngine *Engine) |
| geBoolean | Surf_SetEngine (geEngine *Engine) |
| geBoolean | Surf_SetWorld (geWorld *World) |
| geBoolean | Surf_SetGBSP (World_BSP *BSP) |
| geBoolean | Surf_WorldInit (geWorld *World) |
| void | Surf_WorldShutdown (geWorld *World) |
| BOOL | Surf_InSurfBoundingBox (Surf_SurfInfo *Surf, geVec3d *Pos, geFloat Box) |
|
|
Definition at line 96 of file SURFACE.H. Referenced by geEngine_CreateWorldLightmapTHandles(), geEngine_DestroyWorldLightmapTHandles(), GetSurfInfo(), Light_GetLightmapRGB(), and Light_GetLightmapRGBBlended(). |
|
|
Definition at line 95 of file SURFACE.H. Referenced by GetSurfInfo(), and Light_SetupLightmap(). |
|
|
Definition at line 94 of file SURFACE.H. Referenced by GetSurfInfo(), and RenderFace(). |
|
|
Definition at line 97 of file SURFACE.H. Referenced by RenderFace(), and Vis_MarkWaterFaces(). |
|
|
|
|
|
|
|
|
Definition at line 57 of file Surface.c. References GE_TRUE, and geBoolean.
00058 {
00059 return GE_TRUE;
00060 }
|
|
|
Definition at line 65 of file Surface.c. References BSPData, CEngine, CWorld, and NULL.
|
|
||||||||||||||||
|
Definition at line 182 of file Surface.c. References FALSE, NULL, TRUE, Surf_SurfInfo::VMaxs, Surf_SurfInfo::VMins, geVec3d::X, geVec3d::Y, and geVec3d::Z. Referenced by gePuppet_ComputeAmbientLight(), geSprite_UpdateLighting(), and SetupDynamicLight_r().
00183 {
00184 assert(Surf != NULL);
00185 assert(Pos != NULL);
00186
00187 /* eaa3 05/31/2000 charlie_x's optimization added */
00188
00189 if(Pos->Z+Box >= Surf->VMins.Z && Pos->Z-Box <= Surf->VMaxs.Z)
00190 {
00191 if(Pos->Y+Box >= Surf->VMins.Y && Pos->Y-Box <= Surf->VMaxs.Y)
00192 {
00193 if(Pos->X+Box >= Surf->VMins.X && Pos->X-Box <= Surf->VMaxs.X)
00194 {
00195 return TRUE;
00196 }
00197 }
00198 }
00199 /*
00200 if (Pos->X+Box >= Surf->VMins.X && Pos->X-Box <= Surf->VMaxs.X)
00201 if (Pos->Y+Box >= Surf->VMins.Y && Pos->Y-Box <= Surf->VMaxs.Y)
00202 if (Pos->Z+Box >= Surf->VMins.Z && Pos->Z-Box <= Surf->VMaxs.Z)
00203 return TRUE;
00204 */
00205
00206 return FALSE;
00207 }
|
|
|
Definition at line 76 of file Surface.c. References CEngine, Engine, GE_TRUE, geBoolean, and NULL. Referenced by World_SetEngine().
|
|
|
Definition at line 101 of file Surface.c. References World_BSP::BSPData, BSPData, GE_TRUE, geBoolean, and NULL. Referenced by World_SetGBSP().
|
|
|
Definition at line 89 of file Surface.c. References CWorld, GE_TRUE, geBoolean, and NULL. Referenced by World_SetWorld().
|
|
|
Definition at line 116 of file Surface.c. References World_BSP::BSPData, CalcSurfVectors(), geWorld::CurrentBSP, GE_FALSE, GE_RAM_ALLOCATE_ARRAY, GE_TRUE, geBoolean, geRam_Free, GetRGBVerts(), GetSurfInfo(), GetTexVerts(), Light_SetGBSP(), Light_SetWorld(), NULL, GBSP_BSPData::NumGFXFaces, GBSP_BSPData::NumGFXVertIndexList, World_BSP::SurfInfo, and World_BSP::TexVerts. Referenced by geWorld_Create().
00117 {
00118 World_BSP *BSP;
00119
00120 assert(World != NULL);
00121
00122 BSP = World->CurrentBSP;
00123
00124 assert(BSP != NULL);
00125
00126 // Make sure we free the old ones...
00127 if (BSP->TexVerts)
00128 geRam_Free(BSP->TexVerts);
00129
00130 if (BSP->SurfInfo)
00131 geRam_Free(BSP->SurfInfo);
00132
00133 // Create new TexVerts and FaceInfo structure for this bsp
00134 BSP->TexVerts = GE_RAM_ALLOCATE_ARRAY(Surf_TexVert, BSP->BSPData.NumGFXVertIndexList);
00135 BSP->SurfInfo = GE_RAM_ALLOCATE_ARRAY(Surf_SurfInfo, BSP->BSPData.NumGFXFaces);
00136
00137 // Fill in info needed to render this tree
00138 if (!GetTexVerts(BSP)) // Calc texture uv's at vertices...
00139 return GE_FALSE;
00140
00141 if (!GetSurfInfo(BSP)) // Get surface info
00142 return GE_FALSE;
00143
00144 Light_SetWorld(World);
00145 Light_SetGBSP(BSP);
00146
00147 if (!GetRGBVerts(BSP)) // Calc RGB values at vertices
00148 return GE_FALSE;
00149
00150 CalcSurfVectors (BSP);
00151
00152 return GE_TRUE;
00153 }
|
|
|
Definition at line 158 of file Surface.c. References geWorld::CurrentBSP, geRam_Free, NULL, World_BSP::SurfInfo, and World_BSP::TexVerts. Referenced by geWorld_Free().
00159 {
00160 World_BSP *BSP;
00161
00162 assert(World != NULL);
00163
00164 BSP = World->CurrentBSP;
00165
00166 if (!BSP)
00167 return;
00168
00169 if (BSP->TexVerts)
00170 geRam_Free(BSP->TexVerts);
00171 if (BSP->SurfInfo)
00172 geRam_Free(BSP->SurfInfo);
00173
00174 BSP->TexVerts = NULL;
00175 BSP->SurfInfo = NULL;
00176 }
|
1.3.2