Skip to content

Commit a398817

Browse files
authored
Merge pull request #127 from MichaelRelaxen/mem-hook-work
Fix some memory hook bugs
2 parents d9bb7cc + 3e61178 commit a398817

3 files changed

Lines changed: 8 additions & 5 deletions

File tree

LibReplanetizer/Level Objects/Gameplay/Moby.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,9 +244,9 @@ public bool isSpawner
244244
public Bitmask mode { get; set; } = 0;
245245

246246
// This should probably get removed, not enough information are available to construct a moby like that
247-
public Moby()
247+
public Moby(GameType game)
248248
{
249-
this.game = GameType.RaC1;
249+
this.game = game;
250250
this.pVars = new byte[0];
251251
this.mobyID = MAX_ID++;
252252
}
@@ -852,6 +852,8 @@ public void UpdateRC23(byte[] memory, int offset)
852852

853853
oClass = ReadUshort(memory, offset + 0xAA);
854854

855+
UID = ReadUshort(memory, offset + 0xB2);
856+
855857
transformation = ReadMatrix3x4(memory, offset + 0xC0);
856858

857859
float rotX = ReadFloat(memory, offset + 0xF0);
@@ -902,6 +904,7 @@ public void UpdateFromMemory(byte[] mobyMemory, int offset, List<Model> models)
902904
if (memory.IsDead())
903905
{
904906
model = null;
907+
modelID = -1;
905908
return;
906909
}
907910

Replanetizer/Frames/LevelFrame.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -791,7 +791,7 @@ public void Tick(float deltaTime)
791791

792792
if (interactiveSession && hookLiveUpdate && hook != null)
793793
{
794-
hook.UpdateMobys(level.mobs, level.mobyModels, this);
794+
hook.UpdateMobys(level.mobs, level.mobyModels, this, level.game);
795795
if (hookUpdateCamera)
796796
{
797797
hook.UpdateCamera(camera);

Replanetizer/MemoryHook/MemoryHookHandle.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ public void UpdateCamera(Camera camera)
121121
#endif
122122
}
123123

124-
public void UpdateMobys(List<Moby> levelMobs, List<Model> models, LevelFrame frame)
124+
public void UpdateMobys(List<Moby> levelMobs, List<Model> models, LevelFrame frame, GameType game)
125125
{
126126
#if _WINDOWS
127127
if (!hookWorking) return;
@@ -143,7 +143,7 @@ public void UpdateMobys(List<Moby> levelMobs, List<Model> models, LevelFrame fra
143143

144144
while (levelMobs.Count < numMobs)
145145
{
146-
Moby mob = new Moby();
146+
Moby mob = new Moby(game);
147147
levelMobs.Add(mob);
148148
frame.levelRenderer?.Include(mob);
149149
}

0 commit comments

Comments
 (0)