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
(cherry picked from commit 6d308ca67e)
This commit is contained in:
alexey.lysiuk 2018-04-28 16:52:55 +03:00 committed by drfrag666
parent b1b45102ef
commit 56b0e9627c
2 changed files with 16 additions and 0 deletions

View file

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

View file

@ -691,6 +691,13 @@ class LevelCompatibility play
SetThingSkills(115, 31);
break;
}
case 'CCF699953746087E46185B2A40D9F8AF': // satanx.wad map01
{
// Restore monster cross flag for DeHackEd friendly marine
GetDefaultActor('WolfensteinSS').bActivateMCross = true;
break;
}
}
}
@ -703,6 +710,7 @@ class LevelCompatibility play
private static native void SetThingFlags(int thing, int flags);
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 Actor GetDefaultActor(Name actorclass);
private static void SetWallTexture(int line, int side, int texpart, String texture)
{