Merge branch 'next' into slope-fixes

This commit is contained in:
Monster Iestyn 2016-04-05 17:19:28 +01:00
commit 93a1e46f1c
6 changed files with 12 additions and 37 deletions

View file

@ -3293,23 +3293,6 @@ HW3SOUND for 3D hardware sound support
<Option target="Debug Mingw64/DirectX" /> <Option target="Debug Mingw64/DirectX" />
<Option target="Release Mingw64/DirectX" /> <Option target="Release Mingw64/DirectX" />
</Unit> </Unit>
<Unit filename="src/p_fab.c">
<Option compilerVar="CC" />
<Option target="Debug Native/SDL" />
<Option target="Release Native/SDL" />
<Option target="Debug Mingw/SDL" />
<Option target="Release Mingw/SDL" />
<Option target="Debug Mingw/DirectX" />
<Option target="Release Mingw/DirectX" />
<Option target="Debug Any/Dummy" />
<Option target="Release Any/Dummy" />
<Option target="Debug Linux/SDL" />
<Option target="Release Linux/SDL" />
<Option target="Debug Mingw64/SDL" />
<Option target="Release Mingw64/SDL" />
<Option target="Debug Mingw64/DirectX" />
<Option target="Release Mingw64/DirectX" />
</Unit>
<Unit filename="src/p_floor.c"> <Unit filename="src/p_floor.c">
<Option compilerVar="CC" /> <Option compilerVar="CC" />
<Option target="Debug Native/SDL" /> <Option target="Debug Native/SDL" />

View file

@ -101,6 +101,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#define _USE_MATH_DEFINES // fixes M_PI errors in r_plane.c for Visual Studio
#include <math.h> #include <math.h>
#ifdef GETTEXT #ifdef GETTEXT
@ -427,10 +428,6 @@ extern const char *compdate, *comptime, *comprevision, *compbranch;
// None of these that are disabled in the normal build are guaranteed to work perfectly // None of these that are disabled in the normal build are guaranteed to work perfectly
// Compile them at your own risk! // Compile them at your own risk!
/// Max recursive portal renders
/// \note obsoleted by cv_maxportals
//#define PORTAL_LIMIT 8
/// Kalaron/Eternity Engine slope code (SRB2CB ported) /// Kalaron/Eternity Engine slope code (SRB2CB ported)
#define ESLOPE #define ESLOPE

View file

@ -8620,6 +8620,9 @@ void P_SpawnMapThing(mapthing_t *mthing)
return; return;
} }
else if (mthing->type == 750) // Slope vertex point (formerly chaos spawn)
return;
else if (mthing->type == 300 // Ring else if (mthing->type == 300 // Ring
|| mthing->type == 308 || mthing->type == 309 // Team Rings || mthing->type == 308 || mthing->type == 309 // Team Rings
|| mthing->type == 1706 // Nights Wing || mthing->type == 1706 // Nights Wing
@ -8653,8 +8656,7 @@ void P_SpawnMapThing(mapthing_t *mthing)
if (i == NUMMOBJTYPES) if (i == NUMMOBJTYPES)
{ {
if (mthing->type == 3328 // 3D Mode start Thing if (mthing->type == 3328) // 3D Mode start Thing
|| mthing->type == 750) // Chaos mode spawn
return; return;
CONS_Alert(CONS_WARNING, M_GetText("Unknown thing type %d placed at (%d, %d)\n"), mthing->type, mthing->x, mthing->y); CONS_Alert(CONS_WARNING, M_GetText("Unknown thing type %d placed at (%d, %d)\n"), mthing->type, mthing->x, mthing->y);
i = MT_UNKNOWN; i = MT_UNKNOWN;
@ -8962,6 +8964,7 @@ void P_SpawnMapThing(mapthing_t *mthing)
const size_t mthingi = (size_t)(mthing - mapthings); const size_t mthingi = (size_t)(mthing - mapthings);
// Why does P_FindSpecialLineFromTag not work here?!? // Why does P_FindSpecialLineFromTag not work here?!?
// Monster Iestyn: tag lists haven't been initialised yet for the map, that's why
for (line = 0; line < numlines; line++) for (line = 0; line < numlines; line++)
{ {
if (lines[line].special == 9 && lines[line].tag == mthing->angle) if (lines[line].special == 9 && lines[line].tag == mthing->angle)
@ -9111,10 +9114,6 @@ ML_NOCLIMB : Direction not controllable
{ {
if (mthing->options & MTF_OBJECTSPECIAL) // No egg trap for this boss if (mthing->options & MTF_OBJECTSPECIAL) // No egg trap for this boss
mobj->flags2 |= MF2_BOSSNOTRAP; mobj->flags2 |= MF2_BOSSNOTRAP;
z = ss->sector->floorheight + ((mthing->options >> (ZSHIFT)) << FRACBITS);
mthing->z = (INT16)(z>>FRACBITS);
} }
if (i == MT_AXIS || i == MT_AXISTRANSFER || i == MT_AXISTRANSFERLINE) // Axis Points if (i == MT_AXIS || i == MT_AXISTRANSFER || i == MT_AXISTRANSFERLINE) // Axis Points

View file

@ -1888,7 +1888,7 @@ static boolean P_LoadBlockMap(lumpnum_t lumpnum)
// //
static void P_GroupLines(void) static void P_GroupLines(void)
{ {
size_t i, j, total = 0; size_t i, j;
line_t *li; line_t *li;
sector_t *sector; sector_t *sector;
subsector_t *ss = subsectors; subsector_t *ss = subsectors;
@ -1922,14 +1922,10 @@ static void P_GroupLines(void)
// count number of lines in each sector // count number of lines in each sector
for (i = 0, li = lines; i < numlines; i++, li++) for (i = 0, li = lines; i < numlines; i++, li++)
{ {
total++;
li->frontsector->linecount++; li->frontsector->linecount++;
if (li->backsector && li->backsector != li->frontsector) if (li->backsector && li->backsector != li->frontsector)
{
li->backsector->linecount++; li->backsector->linecount++;
total++;
}
} }
// allocate linebuffers for each sector // allocate linebuffers for each sector

View file

@ -198,7 +198,7 @@ static void R_DrawWallSplats(void)
// draw the columns // draw the columns
for (dc_x = x1; dc_x <= x2; dc_x++, spryscale += rw_scalestep) for (dc_x = x1; dc_x <= x2; dc_x++, spryscale += rw_scalestep)
{ {
pindex = spryscale>>LIGHTSCALESHIFT; pindex = FixedMul(spryscale, FixedDiv(640, vid.width))>>LIGHTSCALESHIFT;
if (pindex >= MAXLIGHTSCALE) if (pindex >= MAXLIGHTSCALE)
pindex = MAXLIGHTSCALE - 1; pindex = MAXLIGHTSCALE - 1;
dc_colormap = walllights[pindex]; dc_colormap = walllights[pindex];
@ -1024,7 +1024,7 @@ void R_RenderThickSideRange(drawseg_t *ds, INT32 x1, INT32 x2, ffloor_t *pfloor)
else else
xwalllights = scalelight[lightnum]; xwalllights = scalelight[lightnum];
pindex = spryscale>>LIGHTSCALESHIFT; pindex = FixedMul(spryscale, FixedDiv(640, vid.width))>>LIGHTSCALESHIFT;
if (pindex >= MAXLIGHTSCALE) if (pindex >= MAXLIGHTSCALE)
pindex = MAXLIGHTSCALE-1; pindex = MAXLIGHTSCALE-1;
@ -1112,7 +1112,7 @@ void R_RenderThickSideRange(drawseg_t *ds, INT32 x1, INT32 x2, ffloor_t *pfloor)
} }
// calculate lighting // calculate lighting
pindex = spryscale>>LIGHTSCALESHIFT; pindex = FixedMul(spryscale, FixedDiv(640, vid.width))>>LIGHTSCALESHIFT;
if (pindex >= MAXLIGHTSCALE) if (pindex >= MAXLIGHTSCALE)
pindex = MAXLIGHTSCALE - 1; pindex = MAXLIGHTSCALE - 1;

View file

@ -1013,7 +1013,7 @@ static void R_SplitSprite(vissprite_t *sprite, mobj_t *thing)
if (!((thing->frame & (FF_FULLBRIGHT|FF_TRANSMASK) || thing->flags2 & MF2_SHADOW) if (!((thing->frame & (FF_FULLBRIGHT|FF_TRANSMASK) || thing->flags2 & MF2_SHADOW)
&& (!newsprite->extra_colormap || !newsprite->extra_colormap->fog))) && (!newsprite->extra_colormap || !newsprite->extra_colormap->fog)))
{ {
lindex = sprite->xscale>>(LIGHTSCALESHIFT); lindex = FixedMul(sprite->xscale, FixedDiv(640, vid.width))>>(LIGHTSCALESHIFT);
if (lindex >= MAXLIGHTSCALE) if (lindex >= MAXLIGHTSCALE)
lindex = MAXLIGHTSCALE-1; lindex = MAXLIGHTSCALE-1;
@ -1329,7 +1329,7 @@ static void R_ProjectSprite(mobj_t *thing)
else else
{ {
// diminished light // diminished light
lindex = xscale>>(LIGHTSCALESHIFT); lindex = FixedMul(xscale, FixedDiv(640, vid.width))>>(LIGHTSCALESHIFT);
if (lindex >= MAXLIGHTSCALE) if (lindex >= MAXLIGHTSCALE)
lindex = MAXLIGHTSCALE-1; lindex = MAXLIGHTSCALE-1;