mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-11 15:22:16 +00:00
Create files for clip, draw and portal segments
This commit is contained in:
parent
b2a0f02f68
commit
1b284ecf3b
15 changed files with 224 additions and 127 deletions
|
@ -820,6 +820,9 @@ set( FASTMATH_PCH_SOURCES
|
||||||
swrenderer/scene/r_things.cpp
|
swrenderer/scene/r_things.cpp
|
||||||
swrenderer/scene/r_voxel.cpp
|
swrenderer/scene/r_voxel.cpp
|
||||||
swrenderer/scene/r_walldraw.cpp
|
swrenderer/scene/r_walldraw.cpp
|
||||||
|
swrenderer/scene/r_clip_segment.cpp
|
||||||
|
swrenderer/scene/r_draw_segment.cpp
|
||||||
|
swrenderer/scene/r_portal_segment.cpp
|
||||||
polyrenderer/poly_renderer.cpp
|
polyrenderer/poly_renderer.cpp
|
||||||
polyrenderer/scene/poly_scene.cpp
|
polyrenderer/scene/poly_scene.cpp
|
||||||
polyrenderer/scene/poly_portal.cpp
|
polyrenderer/scene/poly_portal.cpp
|
||||||
|
|
|
@ -39,6 +39,9 @@
|
||||||
#include "drawers/r_draw.h"
|
#include "drawers/r_draw.h"
|
||||||
#include "scene/r_plane.h"
|
#include "scene/r_plane.h"
|
||||||
#include "scene/r_bsp.h"
|
#include "scene/r_bsp.h"
|
||||||
|
#include "scene/r_draw_segment.h"
|
||||||
|
#include "scene/r_portal_segment.h"
|
||||||
|
#include "scene/r_clip_segment.h"
|
||||||
#include "scene/r_segs.h"
|
#include "scene/r_segs.h"
|
||||||
#include "scene/r_3dfloors.h"
|
#include "scene/r_3dfloors.h"
|
||||||
#include "r_sky.h"
|
#include "r_sky.h"
|
||||||
|
|
|
@ -37,6 +37,8 @@
|
||||||
#include "swrenderer/drawers/r_draw.h"
|
#include "swrenderer/drawers/r_draw.h"
|
||||||
#include "r_things.h"
|
#include "r_things.h"
|
||||||
#include "r_3dfloors.h"
|
#include "r_3dfloors.h"
|
||||||
|
#include "r_clip_segment.h"
|
||||||
|
#include "r_portal_segment.h"
|
||||||
#include "a_sharedglobal.h"
|
#include "a_sharedglobal.h"
|
||||||
#include "g_level.h"
|
#include "g_level.h"
|
||||||
#include "p_effect.h"
|
#include "p_effect.h"
|
||||||
|
@ -83,15 +85,6 @@ double rw_backfz1, rw_backfz2;
|
||||||
double rw_frontcz1, rw_frontcz2;
|
double rw_frontcz1, rw_frontcz2;
|
||||||
double rw_frontfz1, rw_frontfz2;
|
double rw_frontfz1, rw_frontfz2;
|
||||||
|
|
||||||
|
|
||||||
size_t MaxDrawSegs;
|
|
||||||
drawseg_t *drawsegs;
|
|
||||||
drawseg_t* firstdrawseg;
|
|
||||||
drawseg_t* ds_p;
|
|
||||||
|
|
||||||
size_t FirstInterestingDrawseg;
|
|
||||||
TArray<size_t> InterestingDrawsegs;
|
|
||||||
|
|
||||||
FWallCoords WallC;
|
FWallCoords WallC;
|
||||||
FWallTmapVals WallT;
|
FWallTmapVals WallT;
|
||||||
|
|
||||||
|
@ -99,7 +92,6 @@ static BYTE FakeSide;
|
||||||
|
|
||||||
int WindowLeft, WindowRight;
|
int WindowLeft, WindowRight;
|
||||||
WORD MirrorFlags;
|
WORD MirrorFlags;
|
||||||
TArray<PortalDrawseg> WallPortals(1000); // note: this array needs to go away as reallocation can cause crashes.
|
|
||||||
|
|
||||||
|
|
||||||
subsector_t *InSubsector;
|
subsector_t *InSubsector;
|
||||||
|
@ -108,45 +100,6 @@ subsector_t *InSubsector;
|
||||||
|
|
||||||
void R_StoreWallRange (int start, int stop);
|
void R_StoreWallRange (int start, int stop);
|
||||||
|
|
||||||
//
|
|
||||||
// R_ClearDrawSegs
|
|
||||||
//
|
|
||||||
void R_ClearDrawSegs (void)
|
|
||||||
{
|
|
||||||
if (drawsegs == NULL)
|
|
||||||
{
|
|
||||||
MaxDrawSegs = 256; // [RH] Default. Increased as needed.
|
|
||||||
firstdrawseg = drawsegs = (drawseg_t *)M_Malloc (MaxDrawSegs * sizeof(drawseg_t));
|
|
||||||
}
|
|
||||||
FirstInterestingDrawseg = 0;
|
|
||||||
InterestingDrawsegs.Clear ();
|
|
||||||
ds_p = drawsegs;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//
|
|
||||||
// ClipWallSegment
|
|
||||||
// Clips the given range of columns
|
|
||||||
// and includes it in the new clip list.
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// 1/11/98 killough: Since a type "short" is sufficient, we
|
|
||||||
// should use it, since smaller arrays fit better in cache.
|
|
||||||
//
|
|
||||||
|
|
||||||
struct cliprange_t
|
|
||||||
{
|
|
||||||
short first, last; // killough
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// newend is one past the last valid seg
|
|
||||||
static cliprange_t *newend;
|
|
||||||
static cliprange_t solidsegs[MAXWIDTH/2+2];
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
//
|
//
|
||||||
// R_ClipWallSegment
|
// R_ClipWallSegment
|
||||||
|
@ -285,21 +238,6 @@ bool R_CheckClipWallSegment (int first, int last)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//
|
|
||||||
// R_ClearClipSegs
|
|
||||||
//
|
|
||||||
void R_ClearClipSegs (short left, short right)
|
|
||||||
{
|
|
||||||
solidsegs[0].first = -0x7fff; // new short limit -- killough
|
|
||||||
solidsegs[0].last = left;
|
|
||||||
solidsegs[1].first = right;
|
|
||||||
solidsegs[1].last = 0x7fff; // new short limit -- killough
|
|
||||||
newend = solidsegs+2;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// killough 3/7/98: Hack floor/ceiling heights for deep water etc.
|
// killough 3/7/98: Hack floor/ceiling heights for deep water etc.
|
||||||
//
|
//
|
||||||
|
|
|
@ -67,56 +67,17 @@ enum
|
||||||
FAKED_AboveCeiling
|
FAKED_AboveCeiling
|
||||||
};
|
};
|
||||||
|
|
||||||
struct drawseg_t
|
|
||||||
{
|
|
||||||
seg_t* curline;
|
|
||||||
float light, lightstep;
|
|
||||||
float iscale, iscalestep;
|
|
||||||
short x1, x2; // Same as sx1 and sx2, but clipped to the drawseg
|
|
||||||
short sx1, sx2; // left, right of parent seg on screen
|
|
||||||
float sz1, sz2; // z for left, right of parent seg on screen
|
|
||||||
float siz1, siz2; // 1/z for left, right of parent seg on screen
|
|
||||||
float cx, cy, cdx, cdy;
|
|
||||||
float yscale;
|
|
||||||
BYTE silhouette; // 0=none, 1=bottom, 2=top, 3=both
|
|
||||||
BYTE bFogBoundary;
|
|
||||||
BYTE bFakeBoundary; // for fake walls
|
|
||||||
int shade;
|
|
||||||
// Pointers to lists for sprite clipping,
|
|
||||||
// all three adjusted so [x1] is first value.
|
|
||||||
ptrdiff_t sprtopclip; // type short
|
|
||||||
ptrdiff_t sprbottomclip; // type short
|
|
||||||
ptrdiff_t maskedtexturecol; // type short
|
|
||||||
ptrdiff_t swall; // type float
|
|
||||||
int fake; // ident fake drawseg, don't draw and clip sprites
|
|
||||||
// backups
|
|
||||||
ptrdiff_t bkup; // sprtopclip backup, for mid and fake textures
|
|
||||||
FWallTmapVals tmapvals;
|
|
||||||
int CurrentPortalUniq; // [ZZ] to identify the portal that this drawseg is in. used for sprite clipping.
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
extern seg_t* curline;
|
extern seg_t* curline;
|
||||||
extern side_t* sidedef;
|
extern side_t* sidedef;
|
||||||
extern line_t* linedef;
|
extern line_t* linedef;
|
||||||
extern sector_t* frontsector;
|
extern sector_t* frontsector;
|
||||||
extern sector_t* backsector;
|
extern sector_t* backsector;
|
||||||
|
|
||||||
extern drawseg_t *drawsegs;
|
|
||||||
extern drawseg_t *firstdrawseg;
|
|
||||||
extern drawseg_t* ds_p;
|
|
||||||
|
|
||||||
extern TArray<size_t> InterestingDrawsegs; // drawsegs that have something drawn on them
|
|
||||||
extern size_t FirstInterestingDrawseg;
|
|
||||||
|
|
||||||
extern int WindowLeft, WindowRight;
|
extern int WindowLeft, WindowRight;
|
||||||
extern WORD MirrorFlags;
|
extern WORD MirrorFlags;
|
||||||
|
|
||||||
typedef void (*drawfunc_t) (int start, int stop);
|
typedef void (*drawfunc_t) (int start, int stop);
|
||||||
|
|
||||||
// BSP?
|
|
||||||
void R_ClearClipSegs (short left, short right);
|
|
||||||
void R_ClearDrawSegs ();
|
|
||||||
void R_RenderBSPNode (void *node);
|
void R_RenderBSPNode (void *node);
|
||||||
|
|
||||||
// killough 4/13/98: fake floors/ceilings for deep water / fake ceilings:
|
// killough 4/13/98: fake floors/ceilings for deep water / fake ceilings:
|
||||||
|
|
40
src/swrenderer/scene/r_clip_segment.cpp
Normal file
40
src/swrenderer/scene/r_clip_segment.cpp
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include "templates.h"
|
||||||
|
#include "doomdef.h"
|
||||||
|
#include "m_bbox.h"
|
||||||
|
#include "i_system.h"
|
||||||
|
#include "p_lnspec.h"
|
||||||
|
#include "p_setup.h"
|
||||||
|
#include "swrenderer/r_main.h"
|
||||||
|
#include "r_plane.h"
|
||||||
|
#include "swrenderer/drawers/r_draw.h"
|
||||||
|
#include "r_things.h"
|
||||||
|
#include "r_3dfloors.h"
|
||||||
|
#include "a_sharedglobal.h"
|
||||||
|
#include "g_level.h"
|
||||||
|
#include "p_effect.h"
|
||||||
|
#include "doomstat.h"
|
||||||
|
#include "r_state.h"
|
||||||
|
#include "r_bsp.h"
|
||||||
|
#include "r_segs.h"
|
||||||
|
#include "v_palette.h"
|
||||||
|
#include "r_sky.h"
|
||||||
|
#include "po_man.h"
|
||||||
|
#include "r_data/colormaps.h"
|
||||||
|
#include "r_clip_segment.h"
|
||||||
|
|
||||||
|
namespace swrenderer
|
||||||
|
{
|
||||||
|
cliprange_t *newend;
|
||||||
|
cliprange_t solidsegs[MAXWIDTH/2+2];
|
||||||
|
|
||||||
|
void R_ClearClipSegs(short left, short right)
|
||||||
|
{
|
||||||
|
solidsegs[0].first = -0x7fff;
|
||||||
|
solidsegs[0].last = left;
|
||||||
|
solidsegs[1].first = right;
|
||||||
|
solidsegs[1].last = 0x7fff;
|
||||||
|
newend = solidsegs+2;
|
||||||
|
}
|
||||||
|
}
|
16
src/swrenderer/scene/r_clip_segment.h
Normal file
16
src/swrenderer/scene/r_clip_segment.h
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
namespace swrenderer
|
||||||
|
{
|
||||||
|
struct cliprange_t
|
||||||
|
{
|
||||||
|
short first, last;
|
||||||
|
};
|
||||||
|
|
||||||
|
// newend is one past the last valid seg
|
||||||
|
extern cliprange_t *newend;
|
||||||
|
extern cliprange_t solidsegs[MAXWIDTH/2+2];
|
||||||
|
|
||||||
|
void R_ClearClipSegs(short left, short right);
|
||||||
|
}
|
49
src/swrenderer/scene/r_draw_segment.cpp
Normal file
49
src/swrenderer/scene/r_draw_segment.cpp
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include "templates.h"
|
||||||
|
#include "doomdef.h"
|
||||||
|
#include "m_bbox.h"
|
||||||
|
#include "i_system.h"
|
||||||
|
#include "p_lnspec.h"
|
||||||
|
#include "p_setup.h"
|
||||||
|
#include "swrenderer/r_main.h"
|
||||||
|
#include "r_plane.h"
|
||||||
|
#include "swrenderer/drawers/r_draw.h"
|
||||||
|
#include "r_things.h"
|
||||||
|
#include "r_3dfloors.h"
|
||||||
|
#include "a_sharedglobal.h"
|
||||||
|
#include "g_level.h"
|
||||||
|
#include "p_effect.h"
|
||||||
|
#include "doomstat.h"
|
||||||
|
#include "r_state.h"
|
||||||
|
#include "r_bsp.h"
|
||||||
|
#include "r_segs.h"
|
||||||
|
#include "v_palette.h"
|
||||||
|
#include "r_sky.h"
|
||||||
|
#include "po_man.h"
|
||||||
|
#include "r_data/colormaps.h"
|
||||||
|
#include "r_draw_segment.h"
|
||||||
|
|
||||||
|
namespace swrenderer
|
||||||
|
{
|
||||||
|
size_t MaxDrawSegs;
|
||||||
|
drawseg_t *drawsegs;
|
||||||
|
drawseg_t *firstdrawseg;
|
||||||
|
drawseg_t *ds_p;
|
||||||
|
|
||||||
|
size_t FirstInterestingDrawseg;
|
||||||
|
TArray<size_t> InterestingDrawsegs;
|
||||||
|
|
||||||
|
void R_ClearDrawSegs()
|
||||||
|
{
|
||||||
|
if (drawsegs == NULL)
|
||||||
|
{
|
||||||
|
MaxDrawSegs = 256; // [RH] Default. Increased as needed.
|
||||||
|
firstdrawseg = drawsegs = (drawseg_t *)M_Malloc (MaxDrawSegs * sizeof(drawseg_t));
|
||||||
|
}
|
||||||
|
FirstInterestingDrawseg = 0;
|
||||||
|
InterestingDrawsegs.Clear ();
|
||||||
|
ds_p = drawsegs;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
43
src/swrenderer/scene/r_draw_segment.h
Normal file
43
src/swrenderer/scene/r_draw_segment.h
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
namespace swrenderer
|
||||||
|
{
|
||||||
|
struct drawseg_t
|
||||||
|
{
|
||||||
|
seg_t *curline;
|
||||||
|
float light, lightstep;
|
||||||
|
float iscale, iscalestep;
|
||||||
|
short x1, x2; // Same as sx1 and sx2, but clipped to the drawseg
|
||||||
|
short sx1, sx2; // left, right of parent seg on screen
|
||||||
|
float sz1, sz2; // z for left, right of parent seg on screen
|
||||||
|
float siz1, siz2; // 1/z for left, right of parent seg on screen
|
||||||
|
float cx, cy, cdx, cdy;
|
||||||
|
float yscale;
|
||||||
|
uint8_t silhouette; // 0=none, 1=bottom, 2=top, 3=both
|
||||||
|
uint8_t bFogBoundary;
|
||||||
|
uint8_t bFakeBoundary; // for fake walls
|
||||||
|
int shade;
|
||||||
|
|
||||||
|
// Pointers to lists for sprite clipping, all three adjusted so [x1] is first value.
|
||||||
|
ptrdiff_t sprtopclip; // type short
|
||||||
|
ptrdiff_t sprbottomclip; // type short
|
||||||
|
ptrdiff_t maskedtexturecol; // type short
|
||||||
|
ptrdiff_t swall; // type float
|
||||||
|
ptrdiff_t bkup; // sprtopclip backup, for mid and fake textures
|
||||||
|
|
||||||
|
FWallTmapVals tmapvals;
|
||||||
|
|
||||||
|
int fake; // ident fake drawseg, don't draw and clip sprites backups
|
||||||
|
int CurrentPortalUniq; // [ZZ] to identify the portal that this drawseg is in. used for sprite clipping.
|
||||||
|
};
|
||||||
|
|
||||||
|
extern drawseg_t *drawsegs;
|
||||||
|
extern drawseg_t *firstdrawseg;
|
||||||
|
extern drawseg_t *ds_p;
|
||||||
|
|
||||||
|
extern TArray<size_t> InterestingDrawsegs; // drawsegs that have something drawn on them
|
||||||
|
extern size_t FirstInterestingDrawseg;
|
||||||
|
|
||||||
|
void R_ClearDrawSegs();
|
||||||
|
}
|
|
@ -62,6 +62,9 @@
|
||||||
#include "swrenderer/drawers/r_draw_rgba.h"
|
#include "swrenderer/drawers/r_draw_rgba.h"
|
||||||
#include "gl/dynlights/gl_dynlight.h"
|
#include "gl/dynlights/gl_dynlight.h"
|
||||||
#include "r_walldraw.h"
|
#include "r_walldraw.h"
|
||||||
|
#include "r_clip_segment.h"
|
||||||
|
#include "r_draw_segment.h"
|
||||||
|
#include "r_portal_segment.h"
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
#pragma warning(disable:4244)
|
#pragma warning(disable:4244)
|
||||||
|
|
34
src/swrenderer/scene/r_portal_segment.cpp
Normal file
34
src/swrenderer/scene/r_portal_segment.cpp
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include "templates.h"
|
||||||
|
#include "doomdef.h"
|
||||||
|
#include "m_bbox.h"
|
||||||
|
#include "i_system.h"
|
||||||
|
#include "p_lnspec.h"
|
||||||
|
#include "p_setup.h"
|
||||||
|
#include "swrenderer/r_main.h"
|
||||||
|
#include "r_plane.h"
|
||||||
|
#include "swrenderer/drawers/r_draw.h"
|
||||||
|
#include "r_things.h"
|
||||||
|
#include "r_3dfloors.h"
|
||||||
|
#include "a_sharedglobal.h"
|
||||||
|
#include "g_level.h"
|
||||||
|
#include "p_effect.h"
|
||||||
|
#include "doomstat.h"
|
||||||
|
#include "r_state.h"
|
||||||
|
#include "r_bsp.h"
|
||||||
|
#include "r_segs.h"
|
||||||
|
#include "v_palette.h"
|
||||||
|
#include "r_sky.h"
|
||||||
|
#include "po_man.h"
|
||||||
|
#include "r_data/colormaps.h"
|
||||||
|
#include "r_portal_segment.h"
|
||||||
|
|
||||||
|
namespace swrenderer
|
||||||
|
{
|
||||||
|
PortalDrawseg *CurrentPortal = nullptr;
|
||||||
|
int CurrentPortalUniq = 0;
|
||||||
|
bool CurrentPortalInSkybox = false;
|
||||||
|
|
||||||
|
TArray<PortalDrawseg> WallPortals(1000); // note: this array needs to go away as reallocation can cause crashes.
|
||||||
|
}
|
26
src/swrenderer/scene/r_portal_segment.h
Normal file
26
src/swrenderer/scene/r_portal_segment.h
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
namespace swrenderer
|
||||||
|
{
|
||||||
|
/* portal structure, this is used in r_ code in order to store drawsegs with portals (and mirrors) */
|
||||||
|
struct PortalDrawseg
|
||||||
|
{
|
||||||
|
line_t* src; // source line (the one drawn) this doesn't change over render loops
|
||||||
|
line_t* dst; // destination line (the one that the portal is linked with, equals 'src' for mirrors)
|
||||||
|
|
||||||
|
int x1; // drawseg x1
|
||||||
|
int x2; // drawseg x2
|
||||||
|
|
||||||
|
int len;
|
||||||
|
TArray<short> ceilingclip;
|
||||||
|
TArray<short> floorclip;
|
||||||
|
|
||||||
|
bool mirror; // true if this is a mirror (src should equal dst)
|
||||||
|
};
|
||||||
|
|
||||||
|
extern PortalDrawseg* CurrentPortal;
|
||||||
|
extern int CurrentPortalUniq;
|
||||||
|
extern bool CurrentPortalInSkybox;
|
||||||
|
extern TArray<PortalDrawseg> WallPortals;
|
||||||
|
}
|
|
@ -49,6 +49,8 @@
|
||||||
#include "v_palette.h"
|
#include "v_palette.h"
|
||||||
#include "r_data/colormaps.h"
|
#include "r_data/colormaps.h"
|
||||||
#include "r_walldraw.h"
|
#include "r_walldraw.h"
|
||||||
|
#include "r_draw_segment.h"
|
||||||
|
#include "r_portal_segment.h"
|
||||||
|
|
||||||
#define WALLYREPEAT 8
|
#define WALLYREPEAT 8
|
||||||
|
|
||||||
|
@ -69,9 +71,6 @@ namespace swrenderer
|
||||||
|
|
||||||
extern double globaluclip, globaldclip;
|
extern double globaluclip, globaldclip;
|
||||||
|
|
||||||
PortalDrawseg* CurrentPortal = NULL;
|
|
||||||
int CurrentPortalUniq = 0;
|
|
||||||
bool CurrentPortalInSkybox = false;
|
|
||||||
|
|
||||||
// OPTIMIZE: closed two sided lines as single sided
|
// OPTIMIZE: closed two sided lines as single sided
|
||||||
|
|
||||||
|
|
|
@ -57,27 +57,6 @@ extern float rw_lightstep;
|
||||||
extern float rw_lightleft;
|
extern float rw_lightleft;
|
||||||
extern fixed_t rw_offset;
|
extern fixed_t rw_offset;
|
||||||
|
|
||||||
/* portal structure, this is used in r_ code in order to store drawsegs with portals (and mirrors) */
|
|
||||||
struct PortalDrawseg
|
|
||||||
{
|
|
||||||
line_t* src; // source line (the one drawn) this doesn't change over render loops
|
|
||||||
line_t* dst; // destination line (the one that the portal is linked with, equals 'src' for mirrors)
|
|
||||||
|
|
||||||
int x1; // drawseg x1
|
|
||||||
int x2; // drawseg x2
|
|
||||||
|
|
||||||
int len;
|
|
||||||
TArray<short> ceilingclip;
|
|
||||||
TArray<short> floorclip;
|
|
||||||
|
|
||||||
bool mirror; // true if this is a mirror (src should equal dst)
|
|
||||||
};
|
|
||||||
|
|
||||||
extern PortalDrawseg* CurrentPortal;
|
|
||||||
extern int CurrentPortalUniq;
|
|
||||||
extern bool CurrentPortalInSkybox;
|
|
||||||
extern TArray<PortalDrawseg> WallPortals;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -68,6 +68,8 @@
|
||||||
#include "p_local.h"
|
#include "p_local.h"
|
||||||
#include "p_maputl.h"
|
#include "p_maputl.h"
|
||||||
#include "r_voxel.h"
|
#include "r_voxel.h"
|
||||||
|
#include "r_draw_segment.h"
|
||||||
|
#include "r_portal_segment.h"
|
||||||
|
|
||||||
EXTERN_CVAR(Bool, st_scale)
|
EXTERN_CVAR(Bool, st_scale)
|
||||||
EXTERN_CVAR(Bool, r_shadercolormaps)
|
EXTERN_CVAR(Bool, r_shadercolormaps)
|
||||||
|
|
|
@ -45,6 +45,7 @@
|
||||||
#include "gl/dynlights/gl_dynlight.h"
|
#include "gl/dynlights/gl_dynlight.h"
|
||||||
#include "swrenderer/drawers/r_drawers.h"
|
#include "swrenderer/drawers/r_drawers.h"
|
||||||
#include "r_walldraw.h"
|
#include "r_walldraw.h"
|
||||||
|
#include "r_draw_segment.h"
|
||||||
|
|
||||||
namespace swrenderer
|
namespace swrenderer
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue