mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-11 23:32:02 +00:00
Merge remote-tracking branch 'origin/master' into asmjit
This commit is contained in:
commit
c099b2d3c8
7 changed files with 110 additions and 28 deletions
|
@ -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"
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -451,7 +451,7 @@ vec3 AmbientOcclusionColor()
|
|||
//
|
||||
if (uFogEnabled == -1)
|
||||
{
|
||||
fogdist = pixelpos.w;
|
||||
fogdist = max(16.0, pixelpos.w);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -489,7 +489,7 @@ void main()
|
|||
{
|
||||
if (uFogEnabled == 1 || uFogEnabled == -1)
|
||||
{
|
||||
fogdist = pixelpos.w;
|
||||
fogdist = max(16.0, pixelpos.w);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
|
||||
// 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.bShootable)
|
||||
continue;
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
if (!targ.bShootable)
|
||||
continue;
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -606,6 +606,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
|
||||
{
|
||||
SetLineSectorRef(331, Line.front, 74);
|
||||
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue