Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into asmjit
Browse files Browse the repository at this point in the history
  • Loading branch information
dpjudas committed Oct 12, 2018
2 parents ade6ae2 + ec7e855 commit c099b2d
Show file tree
Hide file tree
Showing 7 changed files with 108 additions and 26 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Expand Up @@ -16,7 +16,7 @@ matrix:
- CMAKE_OPTIONS="-DCMAKE_BUILD_TYPE=Debug -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9"

- os: osx
osx_image: xcode9.4
osx_image: xcode10
env:
- CMAKE_OPTIONS="-DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9"

Expand Down
7 changes: 5 additions & 2 deletions src/p_teleport.cpp
Expand Up @@ -523,18 +523,21 @@ bool EV_SilentLineTeleport (line_t *line, int side, AActor *thing, int id, INTBO

// Is this really still necessary with real math instead of imprecise trig tables?
#if 1
const double fudgeamount = 1. / 65536.;

int side = reverse || (player && stepdown);
int fudge = FUDGEFACTOR;

double dx = line->Delta().X;
double dy = line->Delta().Y;

// Make sure we are on correct side of exit linedef.
while (P_PointOnLineSidePrecise(p, l) != side && --fudge >= 0)
{
if (fabs(dx) > fabs(dy))
p.Y -= (dx < 0) != side ? -1 : 1;
p.Y -= (dx < 0) != side ? -fudgeamount : fudgeamount;
else
p.X += (dy < 0) != side ? -1 : 1;
p.X += (dy < 0) != side ? -fudgeamount : fudgeamount;
}
#endif

Expand Down
5 changes: 4 additions & 1 deletion src/r_data/models/models_md3.cpp
Expand Up @@ -363,7 +363,10 @@ void FMD3Model::RenderFrame(FModelRenderer *renderer, FTexture * skin, int frame
surfaceSkin = TexMan(surf->skins[0]);
}

if (!surfaceSkin) return;
if (!surfaceSkin)
{
continue;
}
}

renderer->SetMaterial(surfaceSkin, false, translation);
Expand Down
8 changes: 4 additions & 4 deletions src/version.h
Expand Up @@ -48,16 +48,16 @@ const char *GetVersionString();
#ifdef GIT_DESCRIPTION
#define VERSIONSTR GIT_DESCRIPTION
#else
#define VERSIONSTR "3.6pre"
#define VERSIONSTR "3.7pre"
#endif

// The version as seen in the Windows resource
#define RC_FILEVERSION 3,5,9999,0
#define RC_PRODUCTVERSION 3,5,9999,0
#define RC_FILEVERSION 3,6,9999,0
#define RC_PRODUCTVERSION 3,6,9999,0
#define RC_PRODUCTVERSION2 VERSIONSTR
// These are for content versioning.
#define VER_MAJOR 3
#define VER_MINOR 6
#define VER_MINOR 7
#define VER_REVISION 0

// Version identifier for network games.
Expand Down
4 changes: 2 additions & 2 deletions wadsrc/static/shaders/glsl/main.fp
Expand Up @@ -451,7 +451,7 @@ vec3 AmbientOcclusionColor()
//
if (uFogEnabled == -1)
{
fogdist = pixelpos.w;
fogdist = max(16.0, pixelpos.w);
}
else
{
Expand Down Expand Up @@ -489,7 +489,7 @@ void main()
{
if (uFogEnabled == 1 || uFogEnabled == -1)
{
fogdist = pixelpos.w;
fogdist = max(16.0, pixelpos.w);
}
else
{
Expand Down
33 changes: 18 additions & 15 deletions wadsrc/static/zscript/hexen/spike.txt
Expand Up @@ -179,26 +179,29 @@ class ThrustFloor : Actor
while (it.Next())
{
let targ = it.thing;
double blockdist = radius + it.thing.radius;
if (abs(targ.pos.x - it.Position.X) >= blockdist || abs(targ.pos.y - it.Position.Y) >= blockdist)
continue;

// Q: Make this z-aware for everything? It never was before.
if (targ.pos.z + targ.height < pos.z || targ.pos.z > pos.z + height)
if (targ != null)
{
if (CurSector.PortalGroup != targ.CurSector.PortalGroup)
double blockdist = radius + targ.radius;
if (abs(targ.pos.x - it.Position.X) >= blockdist || abs(targ.pos.y - it.Position.Y) >= blockdist)
continue;
}

if (!targ.bShootable)
continue;
// Q: Make this z-aware for everything? It never was before.
if (targ.pos.z + targ.height < pos.z || targ.pos.z > pos.z + height)
{
if (CurSector.PortalGroup != targ.CurSector.PortalGroup)
continue;
}

if (targ == self)
continue; // don't clip against self
if (!targ.bShootable)
continue;

int newdam = targ.DamageMobj (self, self, 10001, 'Crush');
targ.TraceBleed (newdam > 0 ? newdam : 10001, null);
args[1] = 1; // Mark thrust thing as bloody
if (targ == self)
continue; // don't clip against self

int newdam = targ.DamageMobj (self, self, 10001, 'Crush');
targ.TraceBleed (newdam > 0 ? newdam : 10001, null);
args[1] = 1; // Mark thrust thing as bloody
}
}
}
}
Expand Down
75 changes: 74 additions & 1 deletion wadsrc/static/zscript/level_compatibility.txt
Expand Up @@ -605,6 +605,28 @@ class LevelCompatibility play
}
break;
}

case '57386AEF275684BA06756359B08F4391': // Perdition's Gate MAP03
{
// Stairs where one sector is too thin to score.
SetSectorSpecial(227, 0);
break;
}

case 'F1A9938C4FC3906A582AB7D5088B5F87': // Perdition's Gate MAP12
{
// Sector unintentionally left as a secret near switch
SetSectorSpecial(112, 0);
break;
}

case '5C419E581D9570F44A24163A83032086': // Perdition's Gate MAP27
{
// Sectors unintentionally left as secrets and cannot be scored
SetSectorSpecial(338, 0);
SetSectorSpecial(459, 0);
break;
}

case 'FCCA97FC851F6473EAA069F74247B317': // pg-raw.wad map31
{
Expand All @@ -621,8 +643,59 @@ class LevelCompatibility play
break;
}

case '712BB4CFBD0753178CA0C6814BE4C288': // beta version of map12 BTSX_E1 - patch some rendering glitches that are problematic to detect
case '5379C080299EB961792B50AD96821543': // Hell to Pay MAP14
{
// Two secrets are unreachable without jumping and crouching.
SetSectorSpecial(82, 0);
SetSectorSpecial(83, 0);
break;
}

case '7837B5334A277F107515D649BCEFB682': // Hell to Pay MAP22
{
// Four enemies (six if multiplayer) never spawn in the map,
// so the lines closest to them should teleport them instead.
SetLineSpecial(1835, Teleport, 0, 40);
SetLineActivation(1835, SPAC_MCross);
SetLineFlags(1835, Line.ML_REPEAT_SPECIAL);

SetLineSpecial(1847, Teleport, 0, 40);
SetLineActivation(1847, SPAC_MCross);
SetLineFlags(1847, Line.ML_REPEAT_SPECIAL);
break;
}

case '1A1AB6415851B9F17715A0C36412752E': // Hell to Pay MAP24
{
// Remove Chaingunner far below the map, making 100% kills
// impractical.
SetThingFlags(70, 0);
break;
}

case 'A7ACB57A2CAF17434D0DFE0FAC0E0480': // Hell to Pay MAP28
{
// Three Lost Souls placed outside the map for some reason.
for(int i=0; i<3; i++)
{
SetThingFlags(217+i, 0);
}
break;
}

case '2F1A18633C30E938B50B6D928C730CB6': // Hell to Pay MAP29
{
// Three Lost Souls placed outside the map, again...
for(int i=0; i<3; i++)
{
SetThingFlags(239+i, 0);
}
break;
}

case '712BB4CFBD0753178CA0C6814BE4C288': // beta version of map12 BTSX_E1
{
// patch some rendering glitches that are problematic to detect
AddSectorTag(545, 32000);
AddSectorTag(1618, 32000);
SetLineSpecial(2853, Sector_Set3DFloor, 32000, 4);
Expand Down

0 comments on commit c099b2d

Please sign in to comment.