summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2026-08-11 10:12:33 -0400
committerAndrew Opalach <andrew@akon.city> 2026-08-11 10:12:33 -0400
commita2566fbb188c47a7a70874e95de757ca4a5f9a34 (patch)
treec96d01de3c2445f39b5ae42fa287ec56d087c0e8
parentb3cf4d9057c8ddf588f2a9543a11ed3b7d79ec42 (diff)
downloadNewCamera-a2566fbb188c47a7a70874e95de757ca4a5f9a34.tar.gz
NewCamera-a2566fbb188c47a7a70874e95de757ca4a5f9a34.tar.bz2
NewCamera-a2566fbb188c47a7a70874e95de757ca4a5f9a34.zip
Always use SetZoneStateHook()
Signed-off-by: Andrew Opalach <andrew@akon.city>
-rwxr-xr-xConfig.cs6
-rwxr-xr-xPlugin.cs13
2 files changed, 9 insertions, 10 deletions
diff --git a/Config.cs b/Config.cs
index 07e3cf4..28031b0 100755
--- a/Config.cs
+++ b/Config.cs
@@ -1,4 +1,4 @@
-#define SIMPLE_KEYBOARD_LAYER
+#define MOUSE_AND_KEYBOARD_LAYER
using SharpPluginLoader.Core.Configuration;
using SharpPluginLoader.Core.IO;
@@ -50,7 +50,7 @@ namespace NewCamera
EnableCombo = true;
FreeCameraCombo = "RStick,LT";
DisableComboButton1UnlessButton2Held = false;
-#if SIMPLE_KEYBOARD_LAYER
+#if MOUSE_AND_KEYBOARD_LAYER
EnableMouse = true;
MouseSensitivity = 0.0225f;
EnableKeyboard = true;
@@ -61,7 +61,7 @@ namespace NewCamera
public bool EnableCombo { get; set; }
public String FreeCameraCombo { get; set; }
public bool DisableComboButton1UnlessButton2Held { get; set; }
-#if SIMPLE_KEYBOARD_LAYER
+#if MOUSE_AND_KEYBOARD_LAYER
public bool EnableMouse { get; set; }
public float MouseSensitivity { get; set; }
public bool EnableKeyboard { get; set; }
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)
{