summaryrefslogtreecommitdiff
path: root/Plugin.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Plugin.cs')
-rwxr-xr-xPlugin.cs13
1 files changed, 6 insertions, 7 deletions
diff --git a/Plugin.cs b/Plugin.cs
index c2ee00d..2070add 100755
--- a/Plugin.cs
+++ b/Plugin.cs
@@ -146,7 +146,7 @@ namespace NewCamera
public static bool InitFromLoadedInstance()
{
#if QUARANTINED_FEATURES
- Instance = IPlugin.GetInstance(PluginName);
+ //Instance = IPlugin.GetInstance(PluginName);
#endif
return Instance != null;
}
@@ -620,8 +620,6 @@ namespace NewCamera
private NativeAction<nint, int> setZoneState;
private NativeAction<nint> setPlayerController1;
private NativeAction<nint> setPlayerController5;
- private delegate void ZoneStateDelegate(nint player, int flags);
- private Hook<ZoneStateDelegate>? setZoneStateHook;
private bool zoneStateManualInvoke = false;
private bool forcePassiveInCombatZone = false;
private Patch zoneStateForcePassive1;
@@ -630,6 +628,8 @@ namespace NewCamera
private Patch zoneStateForceCombat1;
private Patch zoneStateForceCombat2;
#endif
+ private delegate void ZoneStateDelegate(nint player, int flags);
+ private Hook<ZoneStateDelegate>? setZoneStateHook;
private bool allowHotSpringsAnywhere = false;
private Patch jmpOverHotSpringsEval;
@@ -744,18 +744,17 @@ namespace NewCamera
getViewParamOffset = new NativeFunction<nint, int, int, nint>(0x14136E6C0);
- // @TODO: This doesn't preserve wetness if QUARANTINED_FEATURES is off.
#if QUARANTINED_FEATURES
// MonsterHunterWorld.exe+20354F7 - call MonsterHunterWorld.exe+1F73850
setZoneState = new NativeAction<nint, int>(0x142035020);
setPlayerController1 = new NativeAction<nint>(0x141F73850);
setPlayerController5 = new NativeAction<nint>(0x14118DDC0);
- setZoneStateHook = Hook.Create<ZoneStateDelegate>(0x142035020, SetZoneStateHook); // nint, int
zoneStateForcePassive1 = new Patch(lton(0x140256A3F) + 0x6, [0x1]);
zoneStateForcePassive2 = new Patch(lton(0x141AC2865) + 0x6, [0x1]);
zoneStateForceCombat1 = new Patch(lton(0x141AC2938) + 0x6, [0x0]);
zoneStateForceCombat2 = new Patch(lton(0x141AC28EC) + 0x6, [0x0]);
#endif
+ setZoneStateHook = Hook.Create<ZoneStateDelegate>(0x142035020, SetZoneStateHook); // nint, int
procEnvironmentCollision = new NativeAction<nint, nint>(0x141F737D0);
psuedoObject1 = (nint)NativeMemory.AllocZeroed(0x7C);
@@ -2525,7 +2524,6 @@ namespace NewCamera
collisionCheckHook!.Original(unknownPtr, unknownPtr2);
}
-#if QUARANTINED_FEATURES
private void SetZoneStateHook(nint player, int flags)
{
if (disableMod)
@@ -2538,6 +2536,7 @@ namespace NewCamera
debugLog($"SetZoneStateHook(0x{player:X}, 0x{flags:X}) @ {frameTick}");
#endif
+#if QUARANTINED_FEATURES
nint zoneStateAddr = MemoryUtil.Read<nint>(0x1451C42B8);
ref byte zoneState = ref MemoryUtil.GetRef<byte>(zoneStateAddr + 0xD2EA);
if (!zoneStateManualInvoke)
@@ -2554,6 +2553,7 @@ namespace NewCamera
{
zoneState = ByteFlag(overrideZoneState == ZoneState.Hub);
}
+#endif
float headWet = 0.0f, bodyWet = 0.0f, waistWet = 0.0f, legsWet = 0.0f;
nint wetnessAddr = player + 0x13BD0;
@@ -2575,7 +2575,6 @@ namespace NewCamera
MemoryUtil.GetRef<float>(wetnessAddr + 0x78) = legsWet;
}
}
-#endif
private void RefreshEntityParamsHook(nint entity, nint unknownPtr2)
{