mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-23 04:22:34 +00:00
- Fixed: When P_Add3DFloor() adds the "inside" plane, it needs to copy the translucency flags
from the original plane. SVN r4006 (trunk)
This commit is contained in:
parent
efbaab3440
commit
4228386837
2 changed files with 9 additions and 5 deletions
|
@ -108,7 +108,7 @@ void F3DFloor::UpdateColormap(FDynamicColormap *&map)
|
|||
// Add one 3D floor to the sector
|
||||
//
|
||||
//==========================================================================
|
||||
static void P_Add3DFloor(sector_t* sec, sector_t* sec2, line_t* master, int flags,int transluc)
|
||||
static void P_Add3DFloor(sector_t* sec, sector_t* sec2, line_t* master, int flags, int alpha)
|
||||
{
|
||||
F3DFloor* ffloor;
|
||||
unsigned i;
|
||||
|
@ -179,7 +179,7 @@ static void P_Add3DFloor(sector_t* sec, sector_t* sec2, line_t* master, int flag
|
|||
|
||||
ffloor->flags = flags;
|
||||
ffloor->master = master;
|
||||
ffloor->alpha = transluc;
|
||||
ffloor->alpha = alpha;
|
||||
ffloor->top.vindex = ffloor->bottom.vindex = -1;
|
||||
|
||||
// The engine cannot handle sloped translucent floors. Sorry
|
||||
|
@ -200,7 +200,11 @@ static void P_Add3DFloor(sector_t* sec, sector_t* sec2, line_t* master, int flag
|
|||
|
||||
// kg3D - software renderer only hack
|
||||
// this is really required because of ceilingclip and floorclip
|
||||
if(flags & FF_BOTHPLANES) P_Add3DFloor(sec, sec2, master, FF_EXISTS | FF_THISINSIDE | FF_RENDERPLANES | FF_NOSHADE | FF_SEETHROUGH | FF_SHOOTTHROUGH | (flags & FF_INVERTSECTOR), transluc);
|
||||
if(flags & FF_BOTHPLANES)
|
||||
{
|
||||
P_Add3DFloor(sec, sec2, master, FF_EXISTS | FF_THISINSIDE | FF_RENDERPLANES | FF_NOSHADE | FF_SEETHROUGH | FF_SHOOTTHROUGH |
|
||||
(flags & (FF_INVERTSECTOR | FF_TRANSLUCENT | FF_ADDITIVETRANS)), alpha);
|
||||
}
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
|
@ -208,7 +212,7 @@ static void P_Add3DFloor(sector_t* sec, sector_t* sec2, line_t* master, int flag
|
|||
// Creates all 3D floors defined by one linedef
|
||||
//
|
||||
//==========================================================================
|
||||
static int P_Set3DFloor(line_t * line, int param,int param2, int alpha)
|
||||
static int P_Set3DFloor(line_t * line, int param, int param2, int alpha)
|
||||
{
|
||||
int s,i;
|
||||
int flags;
|
||||
|
|
|
@ -36,7 +36,7 @@ typedef enum
|
|||
FF_FADEWALLS = 0x8000000, // Applies real fog to walls and doesn't blend the view
|
||||
FF_ADDITIVETRANS = 0x10000000, // Render this floor with additive translucency
|
||||
FF_FLOOD = 0x20000000, // extends towards the next lowest flooding or solid 3D floor or the bottom of the sector
|
||||
FF_THISINSIDE = 0x40000000, // hack for software 3D with FF_BOTHPLANES
|
||||
FF_THISINSIDE = 0x40000000, // hack for software 3D with FF_BOTHPLANES
|
||||
} ffloortype_e;
|
||||
|
||||
// This is for the purpose of Sector_SetContents:
|
||||
|
|
Loading…
Reference in a new issue