diff options
| author | 2026-08-11 10:12:33 -0400 | |
|---|---|---|
| committer | 2026-08-11 10:12:33 -0400 | |
| commit | a2566fbb188c47a7a70874e95de757ca4a5f9a34 (patch) | |
| tree | c96d01de3c2445f39b5ae42fa287ec56d087c0e8 /Plugin.cs | |
| parent | b3cf4d9057c8ddf588f2a9543a11ed3b7d79ec42 (diff) | |
| download | NewCamera-a2566fbb188c47a7a70874e95de757ca4a5f9a34.tar.gz NewCamera-a2566fbb188c47a7a70874e95de757ca4a5f9a34.tar.bz2 NewCamera-a2566fbb188c47a7a70874e95de757ca4a5f9a34.zip | |
Always use SetZoneStateHook()
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'Plugin.cs')
| -rwxr-xr-x | Plugin.cs | 13 |
1 files changed, 6 insertions, 7 deletions
@@ -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)
{
|