common: tidy up version check in LoadBSPFile
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
This commit is contained in:
parent
e970bea8c7
commit
fbab3d4859
|
|
@ -202,6 +202,32 @@ CopyLump(const dheader_t *header, int lumpnum, void *destptr)
|
||||||
return length / size;
|
return length / size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const char *
|
||||||
|
BSPVersionString(int version)
|
||||||
|
{
|
||||||
|
static char buffer[20];
|
||||||
|
|
||||||
|
switch (version) {
|
||||||
|
case BSP2VERSION:
|
||||||
|
return "BSP2";
|
||||||
|
default:
|
||||||
|
snprintf(buffer, sizeof(buffer), "%d", version);
|
||||||
|
return buffer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static qboolean
|
||||||
|
BSPVersionSupported(int version)
|
||||||
|
{
|
||||||
|
switch (version) {
|
||||||
|
case BSPVERSION:
|
||||||
|
case BSP2VERSION:
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* =============
|
* =============
|
||||||
* LoadBSPFile
|
* LoadBSPFile
|
||||||
|
|
@ -217,10 +243,10 @@ LoadBSPFile(const char *filename, bspdata_t *bsp)
|
||||||
LoadFile(filename, &header);
|
LoadFile(filename, &header);
|
||||||
|
|
||||||
/* check the file version */
|
/* check the file version */
|
||||||
bsp->version = header->version = LittleLong(header->version);
|
header->version = LittleLong(header->version);
|
||||||
logprint("BSP is version %i\n", header->version);
|
logprint("BSP is version %s\n", BSPVersionString(header->version));
|
||||||
if (header->version != BSPVERSION)
|
if (!BSPVersionSupported(header->version))
|
||||||
Error("Sorry, only bsp version %d supported.", BSPVERSION);
|
Error("Sorry, this bsp version is not supported.");
|
||||||
|
|
||||||
/* swap the lump headers */
|
/* swap the lump headers */
|
||||||
for (i = 0; i < BSP_LUMPS; i++) {
|
for (i = 0; i < BSP_LUMPS; i++) {
|
||||||
|
|
@ -230,6 +256,7 @@ LoadBSPFile(const char *filename, bspdata_t *bsp)
|
||||||
|
|
||||||
/* copy the data */
|
/* copy the data */
|
||||||
memset(bsp, 0, sizeof(*bsp));
|
memset(bsp, 0, sizeof(*bsp));
|
||||||
|
bsp->version = header->version;
|
||||||
bsp->nummodels = CopyLump(header, LUMP_MODELS, &bsp->dmodels);
|
bsp->nummodels = CopyLump(header, LUMP_MODELS, &bsp->dmodels);
|
||||||
bsp->numvertexes = CopyLump(header, LUMP_VERTEXES, &bsp->dvertexes);
|
bsp->numvertexes = CopyLump(header, LUMP_VERTEXES, &bsp->dvertexes);
|
||||||
bsp->numplanes = CopyLump(header, LUMP_PLANES, &bsp->dplanes);
|
bsp->numplanes = CopyLump(header, LUMP_PLANES, &bsp->dplanes);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue