mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-27 12:31:54 +00:00
Convert r_bsp.c to r_bsp.cpp
This commit is contained in:
parent
86dd34d807
commit
ccd5f3bfc4
2 changed files with 15 additions and 14 deletions
|
|
@ -63,7 +63,7 @@ add_executable(SRB2SDL2 MACOSX_BUNDLE WIN32
|
||||||
p_user.c
|
p_user.c
|
||||||
p_slopes.c
|
p_slopes.c
|
||||||
tables.c
|
tables.c
|
||||||
r_bsp.c
|
r_bsp.cpp
|
||||||
r_data.c
|
r_data.c
|
||||||
r_debug.cpp
|
r_debug.cpp
|
||||||
r_debug_parser.cpp
|
r_debug_parser.cpp
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,8 @@
|
||||||
/// \file r_bsp.c
|
/// \file r_bsp.c
|
||||||
/// \brief BSP traversal, handling of LineSegs for rendering
|
/// \brief BSP traversal, handling of LineSegs for rendering
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
#include "doomdef.h"
|
#include "doomdef.h"
|
||||||
#include "g_game.h"
|
#include "g_game.h"
|
||||||
#include "r_local.h"
|
#include "r_local.h"
|
||||||
|
|
@ -271,11 +273,11 @@ sector_t *R_FakeFlat(sector_t *sec, sector_t *tempsec, INT32 *floorlightlevel,
|
||||||
{
|
{
|
||||||
if (floorlightlevel)
|
if (floorlightlevel)
|
||||||
*floorlightlevel = sec->floorlightsec == -1 ?
|
*floorlightlevel = sec->floorlightsec == -1 ?
|
||||||
(sec->floorlightabsolute ? sec->floorlightlevel : max(0, min(255, sec->lightlevel + sec->floorlightlevel))) : sectors[sec->floorlightsec].lightlevel;
|
(sec->floorlightabsolute ? sec->floorlightlevel : std::max(0, std::min(255, sec->lightlevel + sec->floorlightlevel))) : sectors[sec->floorlightsec].lightlevel;
|
||||||
|
|
||||||
if (ceilinglightlevel)
|
if (ceilinglightlevel)
|
||||||
*ceilinglightlevel = sec->ceilinglightsec == -1 ?
|
*ceilinglightlevel = sec->ceilinglightsec == -1 ?
|
||||||
(sec->ceilinglightabsolute ? sec->ceilinglightlevel : max(0, min(255, sec->lightlevel + sec->ceilinglightlevel))) : sectors[sec->ceilinglightsec].lightlevel;
|
(sec->ceilinglightabsolute ? sec->ceilinglightlevel : std::max(0, std::min(255, sec->lightlevel + sec->ceilinglightlevel))) : sectors[sec->ceilinglightsec].lightlevel;
|
||||||
|
|
||||||
// if (sec->midmap != -1)
|
// if (sec->midmap != -1)
|
||||||
// mapnum = sec->midmap;
|
// mapnum = sec->midmap;
|
||||||
|
|
@ -341,11 +343,11 @@ sector_t *R_FakeFlat(sector_t *sec, sector_t *tempsec, INT32 *floorlightlevel,
|
||||||
tempsec->lightlevel = s->lightlevel;
|
tempsec->lightlevel = s->lightlevel;
|
||||||
|
|
||||||
if (floorlightlevel)
|
if (floorlightlevel)
|
||||||
*floorlightlevel = s->floorlightsec == -1 ? (s->floorlightabsolute ? s->floorlightlevel : max(0, min(255, s->lightlevel + s->floorlightlevel)))
|
*floorlightlevel = s->floorlightsec == -1 ? (s->floorlightabsolute ? s->floorlightlevel : std::max(0, std::min(255, s->lightlevel + s->floorlightlevel)))
|
||||||
: sectors[s->floorlightsec].lightlevel;
|
: sectors[s->floorlightsec].lightlevel;
|
||||||
|
|
||||||
if (ceilinglightlevel)
|
if (ceilinglightlevel)
|
||||||
*ceilinglightlevel = s->ceilinglightsec == -1 ? (s->ceilinglightabsolute ? s->ceilinglightlevel : max(0, min(255, s->lightlevel + s->ceilinglightlevel)))
|
*ceilinglightlevel = s->ceilinglightsec == -1 ? (s->ceilinglightabsolute ? s->ceilinglightlevel : std::max(0, std::min(255, s->lightlevel + s->ceilinglightlevel)))
|
||||||
: sectors[s->ceilinglightsec].lightlevel;
|
: sectors[s->ceilinglightsec].lightlevel;
|
||||||
}
|
}
|
||||||
else if (heightsec != -1 && viewz >= sectors[heightsec].ceilingheight
|
else if (heightsec != -1 && viewz >= sectors[heightsec].ceilingheight
|
||||||
|
|
@ -379,11 +381,11 @@ sector_t *R_FakeFlat(sector_t *sec, sector_t *tempsec, INT32 *floorlightlevel,
|
||||||
tempsec->lightlevel = s->lightlevel;
|
tempsec->lightlevel = s->lightlevel;
|
||||||
|
|
||||||
if (floorlightlevel)
|
if (floorlightlevel)
|
||||||
*floorlightlevel = s->floorlightsec == -1 ? (s->floorlightabsolute ? s->floorlightlevel : max(0, min(255, s->lightlevel + s->floorlightlevel)))
|
*floorlightlevel = s->floorlightsec == -1 ? (s->floorlightabsolute ? s->floorlightlevel : std::max(0, std::min(255, s->lightlevel + s->floorlightlevel)))
|
||||||
: sectors[s->floorlightsec].lightlevel;
|
: sectors[s->floorlightsec].lightlevel;
|
||||||
|
|
||||||
if (ceilinglightlevel)
|
if (ceilinglightlevel)
|
||||||
*ceilinglightlevel = s->ceilinglightsec == -1 ? (s->ceilinglightabsolute ? s->ceilinglightlevel : max(0, min(255, s->lightlevel + s->ceilinglightlevel)))
|
*ceilinglightlevel = s->ceilinglightsec == -1 ? (s->ceilinglightabsolute ? s->ceilinglightlevel : std::max(0, std::min(255, s->lightlevel + s->ceilinglightlevel)))
|
||||||
: sectors[s->ceilinglightsec].lightlevel;
|
: sectors[s->ceilinglightsec].lightlevel;
|
||||||
}
|
}
|
||||||
sec = tempsec;
|
sec = tempsec;
|
||||||
|
|
@ -760,8 +762,7 @@ void R_SortPolyObjects(subsector_t *sub)
|
||||||
{
|
{
|
||||||
// use free instead realloc since faster (thanks Lee ^_^)
|
// use free instead realloc since faster (thanks Lee ^_^)
|
||||||
free(po_ptrs);
|
free(po_ptrs);
|
||||||
po_ptrs = malloc((num_po_ptrs = numpolys*2)
|
po_ptrs = static_cast<polyobj_t**>(malloc((num_po_ptrs = numpolys*2) * sizeof(*po_ptrs)));
|
||||||
* sizeof(*po_ptrs));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
po = sub->polyList;
|
po = sub->polyList;
|
||||||
|
|
@ -805,8 +806,8 @@ static int R_PolysegCompare(const void *p1, const void *p2)
|
||||||
dist2v1 = vxdist(seg2->v1);
|
dist2v1 = vxdist(seg2->v1);
|
||||||
dist2v2 = vxdist(seg2->v2);
|
dist2v2 = vxdist(seg2->v2);
|
||||||
|
|
||||||
if (min(dist1v1, dist1v2) != min(dist2v1, dist2v2))
|
if (std::min(dist1v1, dist1v2) != std::min(dist2v1, dist2v2))
|
||||||
return min(dist1v1, dist1v2) - min(dist2v1, dist2v2);
|
return std::min(dist1v1, dist1v2) - std::min(dist2v1, dist2v2);
|
||||||
|
|
||||||
{ // That didn't work, so now let's try this.......
|
{ // That didn't work, so now let's try this.......
|
||||||
fixed_t delta1, delta2, x1, y1, x2, y2;
|
fixed_t delta1, delta2, x1, y1, x2, y2;
|
||||||
|
|
@ -959,11 +960,11 @@ static void R_Subsector(size_t num)
|
||||||
|
|
||||||
light = R_GetPlaneLight(frontsector, floorcenterz, false);
|
light = R_GetPlaneLight(frontsector, floorcenterz, false);
|
||||||
if (frontsector->floorlightsec == -1 && !frontsector->floorlightabsolute)
|
if (frontsector->floorlightsec == -1 && !frontsector->floorlightabsolute)
|
||||||
floorlightlevel = max(0, min(255, *frontsector->lightlist[light].lightlevel + frontsector->floorlightlevel));
|
floorlightlevel = std::max(0, std::min(255, *frontsector->lightlist[light].lightlevel + frontsector->floorlightlevel));
|
||||||
floorcolormap = *frontsector->lightlist[light].extra_colormap;
|
floorcolormap = *frontsector->lightlist[light].extra_colormap;
|
||||||
light = R_GetPlaneLight(frontsector, ceilingcenterz, false);
|
light = R_GetPlaneLight(frontsector, ceilingcenterz, false);
|
||||||
if (frontsector->ceilinglightsec == -1 && !frontsector->ceilinglightabsolute)
|
if (frontsector->ceilinglightsec == -1 && !frontsector->ceilinglightabsolute)
|
||||||
ceilinglightlevel = max(0, min(255, *frontsector->lightlist[light].lightlevel + frontsector->ceilinglightlevel));
|
ceilinglightlevel = std::max(0, std::min(255, *frontsector->lightlist[light].lightlevel + frontsector->ceilinglightlevel));
|
||||||
ceilingcolormap = *frontsector->lightlist[light].extra_colormap;
|
ceilingcolormap = *frontsector->lightlist[light].extra_colormap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1232,7 +1233,7 @@ void R_Prep3DFloors(sector_t *sector)
|
||||||
if (count != sector->numlights)
|
if (count != sector->numlights)
|
||||||
{
|
{
|
||||||
Z_Free(sector->lightlist);
|
Z_Free(sector->lightlist);
|
||||||
sector->lightlist = Z_Calloc(sizeof (*sector->lightlist) * count, PU_LEVEL, NULL);
|
sector->lightlist = static_cast<lightlist_t*>(Z_Calloc(sizeof (*sector->lightlist) * count, PU_LEVEL, NULL));
|
||||||
sector->numlights = count;
|
sector->numlights = count;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Loading…
Add table
Reference in a new issue