UFO: Alien Invasion
|
#include "shared.h"
#include "bspfile.h"
#include "scriplib.h"
#include "../bsp.h"
#include <errno.h>
Go to the source code of this file.
Functions | |
byte * | CompressRouting (byte *dataStart, byte *destStart, int l) |
Compress the routing data of a map. More... | |
static void | SwapBSPFile (void) |
Byte swaps all data in a bsp file. More... | |
static uint32_t | CopyLump (const dBspHeader_t *header, int lumpIdx, void *dest, size_t size) |
dMapTile_t * | LoadBSPFile (const char *filename) |
static void | AddLump (qFILE *bspfile, dBspHeader_t *header, int lumpnum, void *data, int len) |
long | WriteBSPFile (const char *filename) |
Swaps the bsp file in place, so it should not be referenced again. More... | |
void | PrintBSPFileSizes (void) |
Dumps info about current file. More... | |
static void | StripTrailingWhitespaces (char *str) |
Removes trailing whitespaces from the given string. More... | |
static bool | IsInvalidEntityToken (const char *token) |
bool | EpairCheckForDuplicate (const entity_t *ent, const epair_t *e) |
epair_t * | AddEpair (const char *key, const char *value, int entNum) |
epair_t * | ParseEpair (int entNum) |
Parses one key and value for an entity from the current tokens. More... | |
static entity_t * | ParseEntity (void) |
void | ParseEntities (void) |
Parses the curTile->entdata string into entities. More... | |
const char * | UnparseEntities (void) |
Generates the curTile->entdata string from all the entities. More... | |
void | SetKeyValue (entity_t *ent, const char *key, const char *value) |
const char * | ValueForKey (const entity_t *ent, const char *key) |
vec_t | FloatForKey (const entity_t *ent, const char *key) |
void | GetVectorFromString (const char *value, vec3_t vec) |
Converts a string into a vec3_t . More... | |
void | GetVectorForKey (const entity_t *ent, const char *key, vec3_t vec) |
Converts the value of a entity parameter into a vec3_t . More... | |
Variables | |
int | num_entities |
entity_t | entities [MAX_MAP_ENTITIES] |
Definition at line 428 of file bspfile.cpp.
References IsInvalidEntityToken(), epair_s::key, key, MAX_KEY, MAX_VALUE, Mem_AllocType, Sys_Error(), epair_s::ump, and epair_s::value.
Referenced by ParseEpair(), ParseMapEntity(), and SetKeyValue().
|
static |
Definition at line 295 of file bspfile.cpp.
References qFILE_s::f, lump_t::filelen, lump_t::fileofs, FS_Write(), LittleLong, dBspHeader_t::lumps, qFILE_s::name, and Sys_Error().
Referenced by WriteBSPFile().
Compress the routing data of a map.
Definition at line 37 of file bspfile.cpp.
Referenced by DoRouting().
|
static |
Definition at line 212 of file bspfile.cpp.
References lump_t::filelen, lump_t::fileofs, length, dBspHeader_t::lumps, and Sys_Error().
Referenced by LoadBSPFile().
Definition at line 418 of file bspfile.cpp.
References entity_t::epairs, epair_s::key, epair_s::next, and Q_streq.
Referenced by ParseMapEntity().
Converts the value of a entity parameter into a vec3_t
.
Definition at line 592 of file bspfile.cpp.
References GetVectorFromString(), and ValueForKey().
Referenced by BuildLights(), BuildPatches(), and ParseMapEntity().
Converts a string into a vec3_t
.
Definition at line 575 of file bspfile.cpp.
References Sys_Error(), VectorClear, and VectorSet.
Referenced by BuildLights(), and GetVectorForKey().
|
inlinestatic |
Definition at line 413 of file bspfile.cpp.
References Q_streq.
Referenced by AddEpair(), and UnparseEntities().
dMapTile_t* LoadBSPFile | ( | const char * | filename | ) |
Definition at line 231 of file bspfile.cpp.
References cBspBrush_s::brushContentFlags, dBspBrush_t::brushContentFlags, dMapTile_t::brushes, dMapTile_t::brushsides, BSP_SwapHeader, BSPVERSION, CopyLump(), curTile, dMapTile_t::dbrushes, dMapTile_t::edges, dMapTile_t::entdata, dMapTile_t::entdatasize, dMapTile_t::faces, cBspBrush_s::firstbrushside, dBspBrush_t::firstbrushside, FS_FreeFile(), FS_LoadFile(), i, IDBSPHEADER, dBspHeader_t::ident, dMapTile_t::leafbrushes, dMapTile_t::leafs, dMapTile_t::lightdata, dMapTile_t::lightdatasize, LIGHTMAP_DAY, LIGHTMAP_NIGHT, LUMP_BRUSHES, LUMP_BRUSHSIDES, LUMP_EDGES, LUMP_ENTITIES, LUMP_FACES, LUMP_LEAFBRUSHES, LUMP_LEAFS, LUMP_LIGHTING_DAY, LUMP_LIGHTING_NIGHT, LUMP_MODELS, LUMP_NODES, LUMP_NORMALS, LUMP_PLANES, LUMP_ROUTING, LUMP_SURFEDGES, LUMP_TEXINFO, LUMP_VERTEXES, mapTiles, mapTiles_s::mapTiles, dMapTile_t::models, dMapTile_t::nodes, dMapTile_t::normals, dMapTile_t::numbrushes, dMapTile_t::numbrushsides, dMapTile_t::numedges, dMapTile_t::numfaces, dMapTile_t::numleafbrushes, dMapTile_t::numleafs, dMapTile_t::nummodels, dMapTile_t::numnodes, dMapTile_t::numnormals, dMapTile_t::numplanes, cBspBrush_s::numsides, dBspBrush_t::numsides, dMapTile_t::numsurfedges, dMapTile_t::numtexinfo, mapTiles_s::numTiles, dMapTile_t::numvertexes, OBJZERO, dMapTile_t::planes, dMapTile_t::routedata, dMapTile_t::routedatasize, dMapTile_t::surfedges, SwapBSPFile(), Sys_Error(), dMapTile_t::texinfo, dBspHeader_t::version, and dMapTile_t::vertexes.
Referenced by main().
Parses the curTile->entdata string into entities.
Definition at line 502 of file bspfile.cpp.
References curTile, dMapTile_t::entdata, dMapTile_t::entdatasize, num_entities, ParseEntity(), and ParseFromMemory().
Referenced by PrintBSPFileSizes().
Definition at line 466 of file bspfile.cpp.
References entity_t::epairs, GetToken(), MAX_MAP_ENTITIES, epair_s::next, num_entities, parsedToken, ParseEpair(), Q_strnull(), and Sys_Error().
Referenced by ParseEntities().
Parses one key and value for an entity from the current tokens.
Definition at line 453 of file bspfile.cpp.
References AddEpair(), GetToken(), key, Mem_StrDup, parsedToken, and StripTrailingWhitespaces().
Referenced by ParseEntity(), and ParseMapEntity().
Dumps info about current file.
Definition at line 364 of file bspfile.cpp.
References Com_Printf(), curTile, dMapTile_t::entdatasize, dMapTile_t::leafbrushes, dMapTile_t::lightdatasize, num_entities, dMapTile_t::numbrushes, dMapTile_t::numbrushsides, dMapTile_t::numedges, dMapTile_t::numfaces, dMapTile_t::numleafbrushes, dMapTile_t::numleafs, dMapTile_t::nummodels, dMapTile_t::numnodes, dMapTile_t::numnormals, dMapTile_t::numplanes, dMapTile_t::numsurfedges, dMapTile_t::numtexinfo, dMapTile_t::numvertexes, ParseEntities(), dMapTile_t::routedatasize, and dMapTile_t::surfedges.
Referenced by main().
Definition at line 546 of file bspfile.cpp.
References AddEpair(), entity_t::epairs, Mem_StrDup, epair_s::next, and Q_streq.
Referenced by CheckEntities(), ParseBrush(), and SetModelNumbers().
|
static |
Removes trailing whitespaces from the given string.
[in,out] | str | The string to clean up |
Definition at line 402 of file bspfile.cpp.
Referenced by ParseEpair(), and UnparseEntities().
Byte swaps all data in a bsp file.
Definition at line 87 of file bspfile.cpp.
References dBspLeaf_t::area, cBspBrush_s::brushContentFlags, dBspBrush_t::brushContentFlags, dMapTile_t::brushes, dMapTile_t::brushsides, dBspNode_t::children, dBspLeaf_t::contentFlags, curTile, dBspModel_t::dbmBox, dMapTile_t::dbrushes, dBspPlane_t::dist, dMapTile_t::edges, dMapTile_t::faces, cBspBrush_s::firstbrushside, dBspBrush_t::firstbrushside, dBspSurface_t::firstedge, dBspModel_t::firstface, dBspNode_t::firstface, dBspLeaf_t::firstleafbrush, dBspModel_t::headnode, i, dMapTile_t::leafbrushes, dMapTile_t::leafs, LIGHTMAP_MAX, dBspSurface_t::lightofs, LittleFloat, LittleLong, LittleShort, AABB::maxs, dBspNode_t::maxs, dBspLeaf_t::maxs, AABB::mins, dBspNode_t::mins, dBspLeaf_t::mins, dMapTile_t::models, dMapTile_t::nodes, dBspPlane_t::normal, dMapTile_t::numbrushes, dMapTile_t::numbrushsides, dBspSurface_t::numedges, dMapTile_t::numedges, dBspModel_t::numfaces, dBspNode_t::numfaces, dMapTile_t::numfaces, dBspLeaf_t::numleafbrushes, dMapTile_t::numleafbrushes, dMapTile_t::numleafs, dMapTile_t::nummodels, dMapTile_t::numnodes, dMapTile_t::numplanes, cBspBrush_s::numsides, dBspBrush_t::numsides, dMapTile_t::numsurfedges, dMapTile_t::numtexinfo, dMapTile_t::numvertexes, dBspModel_t::origin, dBspNode_t::planenum, dBspSurface_t::planenum, dBspBrushSide_t::planenum, dMapTile_t::planes, dBspVertex_t::point, dBspSurface_t::side, texinfo_s::surfaceFlags, dMapTile_t::surfedges, dBspSurface_t::texinfo, dBspBrushSide_t::texinfo, dMapTile_t::texinfo, dBspPlane_t::type, dBspEdge_t::v, texinfo_s::value, texinfo_s::vecs, and dMapTile_t::vertexes.
Referenced by LoadBSPFile(), and WriteBSPFile().
const char* UnparseEntities | ( | void | ) |
Generates the curTile->entdata string from all the entities.
Definition at line 515 of file bspfile.cpp.
References curTile, dMapTile_t::entdata, dMapTile_t::entdatasize, entity_t::epairs, i, IsInvalidEntityToken(), epair_s::key, key, epair_s::next, num_entities, Q_strcat(), Q_strncpyz(), StripTrailingWhitespaces(), Sys_Error(), and epair_s::value.
Referenced by EndBSPFile(), and main().
const char* ValueForKey | ( | const entity_t * | ent, |
const char * | key | ||
) |
Definition at line 558 of file bspfile.cpp.
References entity_t::epairs, epair_s::next, and Q_streq.
Referenced by BuildLights(), Check_ExtraBrushesForWorldspawn(), Check_IsOptimisable(), Check_Stats(), Check_TargetExists(), CheckEntities(), EntityForModel(), FaceFromPortal(), FindTargetEntity(), FloatForKey(), GetVectorForKey(), LoadMapFile(), ParseMapEntity(), and ProcessSubModel().
long WriteBSPFile | ( | const char * | filename | ) |
Swaps the bsp file in place, so it should not be referenced again.
Definition at line 316 of file bspfile.cpp.
References AddLump(), dMapTile_t::brushsides, BSPVERSION, curTile, dMapTile_t::dbrushes, dMapTile_t::edges, dMapTile_t::entdata, dMapTile_t::entdatasize, dMapTile_t::faces, FILE_WRITE, FS_OpenFile(), FS_Write(), ScopedFile::getFile(), IDBSPHEADER, dBspHeader_t::ident, dMapTile_t::leafbrushes, dMapTile_t::leafs, dMapTile_t::lightdata, dMapTile_t::lightdatasize, LittleLong, LUMP_BRUSHES, LUMP_BRUSHSIDES, LUMP_EDGES, LUMP_ENTITIES, LUMP_FACES, LUMP_LEAFBRUSHES, LUMP_LEAFS, LUMP_LIGHTING_DAY, LUMP_LIGHTING_NIGHT, LUMP_MODELS, LUMP_NODES, LUMP_NORMALS, LUMP_PLANES, LUMP_ROUTING, LUMP_SURFEDGES, LUMP_TEXINFO, LUMP_VERTEXES, dMapTile_t::models, dMapTile_t::nodes, dMapTile_t::normals, dMapTile_t::numbrushes, dMapTile_t::numbrushsides, dMapTile_t::numedges, dMapTile_t::numfaces, dMapTile_t::numleafbrushes, dMapTile_t::numleafs, dMapTile_t::nummodels, dMapTile_t::numnodes, dMapTile_t::numnormals, dMapTile_t::numplanes, dMapTile_t::numsurfedges, dMapTile_t::numtexinfo, dMapTile_t::numvertexes, OBJZERO, dMapTile_t::planes, dMapTile_t::routedata, dMapTile_t::routedatasize, SEEK_SET, dMapTile_t::surfedges, SwapBSPFile(), Sys_Error(), dMapTile_t::texinfo, dBspHeader_t::version, and dMapTile_t::vertexes.
Referenced by EndBSPFile(), and main().
entity_t entities[MAX_MAP_ENTITIES] |
Definition at line 395 of file bspfile.cpp.
Referenced by BeginModel(), BuildLights(), Check_ExtraBrushesForWorldspawn(), Check_IsOptimisable(), Check_Stats(), Check_TargetExists(), CheckEntities(), EntityForModel(), FaceFromPortal(), FindTargetEntity(), LoadMapFile(), MoveBrushesToWorld(), ParseBrush(), ParseMapEntity(), ProcessModels(), ProcessSubModel(), ProcessWorldModel(), SetModelNumbers(), and WriteMapFile().
int num_entities |
Definition at line 394 of file bspfile.cpp.
Referenced by BuildLights(), Check_ExtraBrushesForWorldspawn(), Check_Stats(), Check_TargetExists(), CheckEntities(), EntityForModel(), FindTargetEntity(), LoadMapFile(), main(), MoveBrushesToWorld(), ParseBrush(), ParseEntities(), ParseEntity(), ParseMapEntity(), PrintBSPFileSizes(), ProcessModels(), SetModelNumbers(), UnparseEntities(), and WriteMapFile().