mirror of
https://github.com/nzp-team/fteqw.git
synced 2024-11-29 15:12:19 +00:00
Strip .crh support. Noone ever used it, and -wrbrushes is superior anyway and actually has toolchain support.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6018 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
6d72f7487f
commit
6f86bf0118
1 changed files with 4 additions and 135 deletions
|
@ -4543,79 +4543,6 @@ static qboolean Mod_LoadLeafs (model_t *loadmodel, qbyte *mod_base, lump_t *l, i
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//these are used to boost other info sizes
|
|
||||||
static int numsuplementryplanes;
|
|
||||||
static int numsuplementryclipnodes;
|
|
||||||
static void *suplementryclipnodes;
|
|
||||||
static void *suplementryplanes;
|
|
||||||
static void *crouchhullfile;
|
|
||||||
|
|
||||||
static void Mod_LoadCrouchHull(model_t *loadmodel)
|
|
||||||
{
|
|
||||||
int i, h;
|
|
||||||
int numsm;
|
|
||||||
char crouchhullname[MAX_QPATH];
|
|
||||||
int *data;
|
|
||||||
int hulls;
|
|
||||||
|
|
||||||
// dclipnode_t *cn;
|
|
||||||
|
|
||||||
memset(loadmodel->hulls, 0, sizeof(loadmodel->hulls)); //ensure all the sizes are 0 (this is how we check for the existance of a hull
|
|
||||||
|
|
||||||
numsuplementryplanes = numsuplementryclipnodes = 0;
|
|
||||||
|
|
||||||
//find a name for a ccn and try to load it.
|
|
||||||
strcpy(crouchhullname, loadmodel->name);
|
|
||||||
COM_StripExtension(loadmodel->name, crouchhullname, sizeof(crouchhullname));
|
|
||||||
COM_DefaultExtension(crouchhullname, ".crh",sizeof(crouchhullname)); //crouch hull
|
|
||||||
|
|
||||||
FS_LoadFile(crouchhullname, &crouchhullfile);
|
|
||||||
if (!crouchhullfile)
|
|
||||||
return;
|
|
||||||
|
|
||||||
data = crouchhullfile;
|
|
||||||
|
|
||||||
if (LittleLong(*data++) != ('S') + ('C'<<8) + ('N'<<16) + ('P'<<24)) //make sure it's the right version
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (LittleLong(*data) == 2)
|
|
||||||
{
|
|
||||||
data++;
|
|
||||||
hulls = LittleLong(*data++);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (hulls > MAX_MAP_HULLSM - MAX_MAP_HULLSDQ1)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
numsm = LittleLong(*data++);
|
|
||||||
if (numsm != loadmodel->numsubmodels) //not compatible
|
|
||||||
return;
|
|
||||||
|
|
||||||
numsuplementryplanes = LittleLong(*data++);
|
|
||||||
numsuplementryclipnodes = LittleLong(*data++);
|
|
||||||
|
|
||||||
for (h = 0; h < hulls; h++)
|
|
||||||
{
|
|
||||||
for (i = 0; i < 3; i++)
|
|
||||||
loadmodel->hulls[3+h].clip_mins[i] = LittleLong(*data++);
|
|
||||||
for (i = 0; i < 3; i++)
|
|
||||||
loadmodel->hulls[3+h].clip_maxs[i] = LittleLong(*data++);
|
|
||||||
|
|
||||||
for (i = 0; i < numsm; i++) //load headnode references
|
|
||||||
{
|
|
||||||
loadmodel->submodels[i].headnode[3+h] = LittleLong(*data)+1;
|
|
||||||
data++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
suplementryplanes = data;
|
|
||||||
suplementryclipnodes = (qbyte*)data + sizeof(dplane_t)*numsuplementryplanes;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
=================
|
=================
|
||||||
Mod_LoadClipnodes
|
Mod_LoadClipnodes
|
||||||
|
@ -4651,10 +4578,10 @@ static qboolean Mod_LoadClipnodes (model_t *loadmodel, qbyte *mod_base, lump_t *
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
out = ZG_Malloc(&loadmodel->memgroup, (count+numsuplementryclipnodes)*sizeof(*out));//space for both
|
out = ZG_Malloc(&loadmodel->memgroup, count*sizeof(*out));//space for both
|
||||||
|
|
||||||
loadmodel->clipnodes = out;
|
loadmodel->clipnodes = out;
|
||||||
loadmodel->numclipnodes = count+numsuplementryclipnodes;
|
loadmodel->numclipnodes = count;
|
||||||
|
|
||||||
|
|
||||||
if (hexen2map)
|
if (hexen2map)
|
||||||
|
@ -4842,31 +4769,6 @@ static qboolean Mod_LoadClipnodes (model_t *loadmodel, qbyte *mod_base, lump_t *
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (numsuplementryclipnodes) //now load the crouch ones.
|
|
||||||
{
|
|
||||||
/*This looks buggy*/
|
|
||||||
for (i = 3; i < MAX_MAP_HULLSM; i++)
|
|
||||||
{
|
|
||||||
hull = &loadmodel->hulls[i];
|
|
||||||
hull->planes = suplementryplanes;
|
|
||||||
hull->clipnodes = out-1;
|
|
||||||
hull->firstclipnode = 0;
|
|
||||||
hull->lastclipnode = numsuplementryclipnodes;
|
|
||||||
hull->available = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
ins = suplementryclipnodes;
|
|
||||||
|
|
||||||
for (i=0 ; i<numsuplementryclipnodes ; i++, out++, ins++)
|
|
||||||
{
|
|
||||||
out->planenum = LittleLong(ins->planenum);
|
|
||||||
out->children[0] = LittleShort(ins->children[0]);
|
|
||||||
out->children[0] += out->children[0]>=0?1:0;
|
|
||||||
out->children[1] = LittleShort(ins->children[1]);
|
|
||||||
out->children[1] += out->children[1]>=0?1:0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4929,10 +4831,10 @@ static qboolean Mod_LoadPlanes (model_t *loadmodel, qbyte *mod_base, lump_t *l)
|
||||||
Con_Printf (CON_ERROR "MOD_LoadBmodel: funny lump size in %s\n",loadmodel->name);
|
Con_Printf (CON_ERROR "MOD_LoadBmodel: funny lump size in %s\n",loadmodel->name);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
out = ZG_Malloc(&loadmodel->memgroup, (count+numsuplementryplanes)*2*sizeof(*out));
|
out = ZG_Malloc(&loadmodel->memgroup, count*2*sizeof(*out));
|
||||||
|
|
||||||
loadmodel->planes = out;
|
loadmodel->planes = out;
|
||||||
loadmodel->numplanes = count+numsuplementryplanes;
|
loadmodel->numplanes = count;
|
||||||
|
|
||||||
for ( i=0 ; i<count ; i++, in++, out++)
|
for ( i=0 ; i<count ; i++, in++, out++)
|
||||||
{
|
{
|
||||||
|
@ -4949,26 +4851,6 @@ static qboolean Mod_LoadPlanes (model_t *loadmodel, qbyte *mod_base, lump_t *l)
|
||||||
out->signbits = bits;
|
out->signbits = bits;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (numsuplementryplanes)
|
|
||||||
{
|
|
||||||
in = suplementryplanes;
|
|
||||||
suplementryplanes = out;
|
|
||||||
for ( i=0 ; i<numsuplementryplanes ; i++, in++, out++)
|
|
||||||
{
|
|
||||||
bits = 0;
|
|
||||||
for (j=0 ; j<3 ; j++)
|
|
||||||
{
|
|
||||||
out->normal[j] = LittleFloat (in->normal[j]);
|
|
||||||
if (out->normal[j] < 0)
|
|
||||||
bits |= 1<<j;
|
|
||||||
}
|
|
||||||
|
|
||||||
out->dist = LittleFloat (in->dist);
|
|
||||||
out->type = LittleLong (in->type);
|
|
||||||
out->signbits = bits;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5400,8 +5282,6 @@ static qboolean QDECL Mod_LoadBrushModel (model_t *mod, void *buffer, size_t fsi
|
||||||
|
|
||||||
noerrors = true;
|
noerrors = true;
|
||||||
|
|
||||||
crouchhullfile = NULL;
|
|
||||||
|
|
||||||
Mod_FindVisPatch(&vispatch, mod, header.lumps[LUMP_LEAFS].filelen);
|
Mod_FindVisPatch(&vispatch, mod, header.lumps[LUMP_LEAFS].filelen);
|
||||||
|
|
||||||
// load into heap
|
// load into heap
|
||||||
|
@ -5421,11 +5301,6 @@ static qboolean QDECL Mod_LoadBrushModel (model_t *mod, void *buffer, size_t fsi
|
||||||
}
|
}
|
||||||
TRACE(("Loading Submodels\n"));
|
TRACE(("Loading Submodels\n"));
|
||||||
noerrors = noerrors && Mod_LoadSubmodels (mod, mod_base, &header.lumps[LUMP_MODELS], &hexen2map);
|
noerrors = noerrors && Mod_LoadSubmodels (mod, mod_base, &header.lumps[LUMP_MODELS], &hexen2map);
|
||||||
if (noerrors)
|
|
||||||
{
|
|
||||||
TRACE(("Loading CH\n"));
|
|
||||||
Mod_LoadCrouchHull(mod);
|
|
||||||
}
|
|
||||||
TRACE(("Loading Planes\n"));
|
TRACE(("Loading Planes\n"));
|
||||||
noerrors = noerrors && Mod_LoadPlanes (mod, mod_base, &header.lumps[LUMP_PLANES]);
|
noerrors = noerrors && Mod_LoadPlanes (mod, mod_base, &header.lumps[LUMP_PLANES]);
|
||||||
TRACE(("Loading Entities\n"));
|
TRACE(("Loading Entities\n"));
|
||||||
|
@ -5462,12 +5337,6 @@ static qboolean QDECL Mod_LoadBrushModel (model_t *mod, void *buffer, size_t fsi
|
||||||
if (!isDedicated && noerrors)
|
if (!isDedicated && noerrors)
|
||||||
Mod_SortShaders(mod);
|
Mod_SortShaders(mod);
|
||||||
|
|
||||||
if (crouchhullfile)
|
|
||||||
{
|
|
||||||
FS_FreeFile(crouchhullfile);
|
|
||||||
crouchhullfile=NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
BZ_Free(vispatch.fileptr);
|
BZ_Free(vispatch.fileptr);
|
||||||
|
|
||||||
if (!noerrors)
|
if (!noerrors)
|
||||||
|
|
Loading…
Reference in a new issue