- added GZDoom's 3D floor physics code. This is not active yet so anything compiled from this code won't have any support for it!

SVN r1351 (trunk)
This commit is contained in:
Christoph Oelckers 2009-01-04 15:00:29 +00:00
commit 78933df10d
21 changed files with 1892 additions and 122 deletions

View file

@ -1242,6 +1242,7 @@ void P_LoadSectors (MapData * map)
// killough 8/28/98: initialize all sectors to normal friction
ss->friction = ORIG_FRICTION;
ss->movefactor = ORIG_FRICTION_FACTOR;
ss->sectornum = i;
}
delete[] msp;
}
@ -2131,6 +2132,28 @@ void P_ProcessSideTextures(bool checktranmap, side_t *sd, sector_t *sec, mapside
}
break;
#ifdef _3DFLOORS
case Sector_Set3DFloor:
if (msd->toptexture[0]=='#')
{
strncpy (name, msd->toptexture, 8);
sd->SetTexture(side_t::top, FNullTextureID() +(-strtol(name+1, NULL, 10))); // store the alpha as a negative texture index
// This will be sorted out by the 3D-floor code later.
}
else
{
strncpy (name, msd->toptexture, 8);
sd->SetTexture(side_t::top, TexMan.GetTexture (name, FTexture::TEX_Wall, FTextureManager::TEXMAN_Overridable));
}
strncpy (name, msd->midtexture, 8);
sd->SetTexture(side_t::mid, TexMan.GetTexture (name, FTexture::TEX_Wall, FTextureManager::TEXMAN_Overridable));
strncpy (name, msd->bottomtexture, 8);
sd->SetTexture(side_t::bottom, TexMan.GetTexture (name, FTexture::TEX_Wall, FTextureManager::TEXMAN_Overridable));
break;
#endif
case TranslucentLine: // killough 4/11/98: apply translucency to 2s normal texture
if (checktranmap)
{
@ -3483,6 +3506,9 @@ void P_SetupLevel (char *lumpname, int position)
deathmatchstarts.Clear ();
// Spawn 3d floors - must be done before spawning things so it can't be done in P_SpawnSpecials
P_Spawn3DFloors();
if (!buildmap)
{
times[14].Clock();