mirror of
https://github.com/nzp-team/fteqw.git
synced 2024-11-26 05:41:52 +00:00
Work around some BS issue.
This commit is contained in:
parent
7caee8b453
commit
774fb93721
1 changed files with 21 additions and 0 deletions
|
@ -5348,7 +5348,28 @@ static qboolean QDECL Mod_LoadBrushModel (model_t *mod, void *buffer, size_t fsi
|
||||||
else if (!memcmp(&header.version, BSPVERSION_LONG2))
|
else if (!memcmp(&header.version, BSPVERSION_LONG2))
|
||||||
mod->engineflags |= MDLF_NEEDOVERBRIGHT, subbsp = sb_long2;
|
mod->engineflags |= MDLF_NEEDOVERBRIGHT, subbsp = sb_long2;
|
||||||
else if (!memcmp(&header.version, BSPVERSIONHL))
|
else if (!memcmp(&header.version, BSPVERSIONHL))
|
||||||
|
{
|
||||||
|
char tmp[64];
|
||||||
mod->fromgame = fg_halflife;
|
mod->fromgame = fg_halflife;
|
||||||
|
|
||||||
|
//special hack to work around blueshit bugs - we need to swap LUMP_ENTITIES and LUMP_PLANES over
|
||||||
|
if (COM_ParseOut(mod_base + header.lumps[LUMP_PLANES].fileofs, tmp, sizeof(tmp)) && !strcmp(tmp, "{"))
|
||||||
|
{
|
||||||
|
COM_ParseOut(mod_base + header.lumps[LUMP_ENTITIES].fileofs, tmp, sizeof(tmp));
|
||||||
|
if (strcmp(tmp, "{"))
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < header.lumps[LUMP_ENTITIES].filelen && i < sizeof(dplane_t); i++)
|
||||||
|
if (mod_base[header.lumps[LUMP_ENTITIES].fileofs + i] == 0)
|
||||||
|
{ //yeah, looks screwy in the way we expect. swap em over.
|
||||||
|
lump_t tmp = header.lumps[LUMP_ENTITIES];
|
||||||
|
header.lumps[LUMP_ENTITIES] = header.lumps[LUMP_PLANES];
|
||||||
|
header.lumps[LUMP_PLANES] = tmp;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Con_Printf (CON_ERROR "Mod_LoadBrushModel: %s has wrong version number (%i)\n", mod->name, i);
|
Con_Printf (CON_ERROR "Mod_LoadBrushModel: %s has wrong version number (%i)\n", mod->name, i);
|
||||||
|
|
Loading…
Reference in a new issue