Fixed walkthrough blocker in Sin City 2 via compatibility entry

It was impossible to complete Sin City 2 The Satan Complex without cheating since ZDoom 2.6.0
Change in applying of DeHackEd patches from 77a4b9a29b broke triggering of important linedef that pushes friendly marine to exit switch

https://www.doomworld.com/idgames/levels/doom2/Ports/s-u/satanx
This commit is contained in:
alexey.lysiuk 2018-04-28 16:52:55 +03:00 committed by Christoph Oelckers
parent 243e12bd8f
commit 6d308ca67e
2 changed files with 16 additions and 0 deletions

View File

@ -51,6 +51,7 @@
#include "textures.h" #include "textures.h"
#include "g_levellocals.h" #include "g_levellocals.h"
#include "vm.h" #include "vm.h"
#include "actor.h"
// MACROS ------------------------------------------------------------------ // MACROS ------------------------------------------------------------------
@ -449,6 +450,13 @@ DEFINE_ACTION_FUNCTION(DLevelCompatibility, SetLineSectorRef)
return 0; return 0;
} }
DEFINE_ACTION_FUNCTION(DLevelCompatibility, GetDefaultActor)
{
PARAM_PROLOGUE;
PARAM_NAME(actorclass);
ACTION_RETURN_OBJECT(GetDefaultByName(actorclass));
}
//========================================================================== //==========================================================================
// //

View File

@ -689,6 +689,13 @@ class LevelCompatibility play
SetThingSkills(115, 31); SetThingSkills(115, 31);
break; break;
} }
case 'CCF699953746087E46185B2A40D9F8AF': // satanx.wad map01
{
// Restore monster cross flag for DeHackEd friendly marine
GetDefaultActor('WolfensteinSS').bActivateMCross = true;
break;
}
} }
} }
@ -701,6 +708,7 @@ class LevelCompatibility play
private static native void SetThingFlags(int thing, int flags); private static native void SetThingFlags(int thing, int flags);
private static native void SetVertex(uint vertex, double x, double y); private static native void SetVertex(uint vertex, double x, double y);
private static native void SetLineSectorRef(uint line, uint side, uint sector); private static native void SetLineSectorRef(uint line, uint side, uint sector);
private static native Actor GetDefaultActor(Name actorclass);
private static void SetWallTexture(int line, int side, int texpart, String texture) private static void SetWallTexture(int line, int side, int texpart, String texture)
{ {