mirror of
https://github.com/Dadido3/noita-mapcap.git
synced 2024-11-22 21:17:33 +00:00
Make compatible with Jun 19 2023 builds
Also change how the matching works, as offsets may not change between builds. fixes #22
This commit is contained in:
parent
2b0f6a25f6
commit
a6a0cc14e1
@ -98,7 +98,7 @@ function Modification.SetMemoryOptions(memory)
|
|||||||
local lookup = {
|
local lookup = {
|
||||||
[true] = {
|
[true] = {
|
||||||
Windows = {
|
Windows = {
|
||||||
[0x00F77B0C] = { _BuildString = "Build Apr 23 2021 18:36:55", -- GOG dev build.
|
{_Offset = 0x00F77B0C, _BuildString = "Build Apr 23 2021 18:36:55", -- GOG dev build.
|
||||||
mPostFxDisabled = function(value) ffi.cast("char*", 0x010E3B6C)[0] = value end,
|
mPostFxDisabled = function(value) ffi.cast("char*", 0x010E3B6C)[0] = value end,
|
||||||
mGuiDisabled = function(value) ffi.cast("char*", 0x010E3B6D)[0] = value end,
|
mGuiDisabled = function(value) ffi.cast("char*", 0x010E3B6D)[0] = value end,
|
||||||
mGuiHalfSize = function(value) ffi.cast("char*", 0x010E3B6E)[0] = value end,
|
mGuiHalfSize = function(value) ffi.cast("char*", 0x010E3B6E)[0] = value end,
|
||||||
@ -108,7 +108,7 @@ function Modification.SetMemoryOptions(memory)
|
|||||||
mPlayerNeverDies = function(value) ffi.cast("char*", 0x010E3B72)[0] = value end,
|
mPlayerNeverDies = function(value) ffi.cast("char*", 0x010E3B72)[0] = value end,
|
||||||
mFreezeAI = function(value) ffi.cast("char*", 0x010E3B73)[0] = value end,
|
mFreezeAI = function(value) ffi.cast("char*", 0x010E3B73)[0] = value end,
|
||||||
},
|
},
|
||||||
[0x00F80384] = { _BuildString = "Build Apr 23 2021 18:40:40", -- Steam dev build.
|
{_Offset = 0x00F80384, _BuildString = "Build Apr 23 2021 18:40:40", -- Steam dev build.
|
||||||
mPostFxDisabled = function(value) ffi.cast("char*", 0x010EDEBC)[0] = value end,
|
mPostFxDisabled = function(value) ffi.cast("char*", 0x010EDEBC)[0] = value end,
|
||||||
mGuiDisabled = function(value) ffi.cast("char*", 0x010EDEBD)[0] = value end,
|
mGuiDisabled = function(value) ffi.cast("char*", 0x010EDEBD)[0] = value end,
|
||||||
mGuiHalfSize = function(value) ffi.cast("char*", 0x010EDEBE)[0] = value end,
|
mGuiHalfSize = function(value) ffi.cast("char*", 0x010EDEBE)[0] = value end,
|
||||||
@ -118,7 +118,7 @@ function Modification.SetMemoryOptions(memory)
|
|||||||
mPlayerNeverDies = function(value) ffi.cast("char*", 0x010EDEC2)[0] = value end,
|
mPlayerNeverDies = function(value) ffi.cast("char*", 0x010EDEC2)[0] = value end,
|
||||||
mFreezeAI = function(value) ffi.cast("char*", 0x010EDEC3)[0] = value end,
|
mFreezeAI = function(value) ffi.cast("char*", 0x010EDEC3)[0] = value end,
|
||||||
},
|
},
|
||||||
[0x00F8A7B4] = { _BuildString = "Build Mar 11 2023 14:05:19", -- Steam dev build.
|
{_Offset = 0x00F8A7B4, _BuildString = "Build Mar 11 2023 14:05:19", -- Steam dev build.
|
||||||
mPostFxDisabled = function(value) ffi.cast("char*", 0x010F80EC)[0] = value end,
|
mPostFxDisabled = function(value) ffi.cast("char*", 0x010F80EC)[0] = value end,
|
||||||
mGuiDisabled = function(value) ffi.cast("char*", 0x010F80ED)[0] = value end,
|
mGuiDisabled = function(value) ffi.cast("char*", 0x010F80ED)[0] = value end,
|
||||||
mGuiHalfSize = function(value) ffi.cast("char*", 0x010F80EE)[0] = value end,
|
mGuiHalfSize = function(value) ffi.cast("char*", 0x010F80EE)[0] = value end,
|
||||||
@ -128,18 +128,35 @@ function Modification.SetMemoryOptions(memory)
|
|||||||
mPlayerNeverDies = function(value) ffi.cast("char*", 0x010F80F2)[0] = value end,
|
mPlayerNeverDies = function(value) ffi.cast("char*", 0x010F80F2)[0] = value end,
|
||||||
mFreezeAI = function(value) ffi.cast("char*", 0x010F80F3)[0] = value end,
|
mFreezeAI = function(value) ffi.cast("char*", 0x010F80F3)[0] = value end,
|
||||||
},
|
},
|
||||||
|
{_Offset = 0x00F8A8A4, _BuildString = "Build Jun 19 2023 14:14:52", -- Steam dev build.
|
||||||
|
mPostFxDisabled = function(value) ffi.cast("char*", 0x010F810C)[0] = value end, -- Can be found by using Cheat Engine while toggling options in the F7 menu.
|
||||||
|
mGuiDisabled = function(value) ffi.cast("char*", 0x010F810D)[0] = value end,
|
||||||
|
mGuiHalfSize = function(value) ffi.cast("char*", 0x010F810E)[0] = value end,
|
||||||
|
mFogOfWarOpenEverywhere = function(value) ffi.cast("char*", 0x010F810F)[0] = value end,
|
||||||
|
mTrailerMode = function(value) ffi.cast("char*", 0x010F8110)[0] = value end,
|
||||||
|
mDayTimeRotationPause = function(value) ffi.cast("char*", 0x010F8111)[0] = value end,
|
||||||
|
mPlayerNeverDies = function(value) ffi.cast("char*", 0x010F8112)[0] = value end,
|
||||||
|
mFreezeAI = function(value) ffi.cast("char*", 0x010F8113)[0] = value end,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
[false] = {
|
[false] = {
|
||||||
Windows = {
|
Windows = {
|
||||||
[0x00E1C550] = { _BuildString = "Build Apr 23 2021 18:44:24", -- Steam build.
|
{_Offset = 0x00E1C550, _BuildString = "Build Apr 23 2021 18:44:24", -- Steam build.
|
||||||
enableModDetection = function(value)
|
enableModDetection = function(value)
|
||||||
local ptr = ffi.cast("char*", 0x0063D8AD)
|
local ptr = ffi.cast("char*", 0x0063D8AD)
|
||||||
Memory.VirtualProtect(ptr, 1, Memory.PAGE_EXECUTE_READWRITE)
|
Memory.VirtualProtect(ptr, 1, Memory.PAGE_EXECUTE_READWRITE)
|
||||||
ptr[0] = value -- This basically just changes the value that Noita forces to the "mods_have_been_active_during_this_run" member of the WorldStateComponent when any mod is enabled.
|
ptr[0] = value -- This basically just changes the value that Noita forces to the "mods_have_been_active_during_this_run" member of the WorldStateComponent when any mod is enabled.
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
[0x00E22E18] = { _BuildString = "Build Mar 11 2023 14:09:24", -- Steam build.
|
{_Offset = 0x00E22E18, _BuildString = "Build Mar 11 2023 14:09:24", -- Steam build.
|
||||||
|
enableModDetection = function(value)
|
||||||
|
local ptr = ffi.cast("char*", 0x006429ED) -- Can be found by searching for the pattern C6 80 20 01 00 00 >01< 8B CF E8 FB 1D. The pointer has to point to the highlighted byte.
|
||||||
|
Memory.VirtualProtect(ptr, 1, Memory.PAGE_EXECUTE_READWRITE)
|
||||||
|
ptr[0] = value -- This basically just changes the value that Noita forces to the "mods_have_been_active_during_this_run" member of the WorldStateComponent when any mod is enabled.
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{_Offset = 0x00E22E18, _BuildString = "Build Jun 19 2023 14:18:46", -- Steam build.
|
||||||
enableModDetection = function(value)
|
enableModDetection = function(value)
|
||||||
local ptr = ffi.cast("char*", 0x006429ED) -- Can be found by searching for the pattern C6 80 20 01 00 00 >01< 8B CF E8 FB 1D. The pointer has to point to the highlighted byte.
|
local ptr = ffi.cast("char*", 0x006429ED) -- Can be found by searching for the pattern C6 80 20 01 00 00 >01< 8B CF E8 FB 1D. The pointer has to point to the highlighted byte.
|
||||||
Memory.VirtualProtect(ptr, 1, Memory.PAGE_EXECUTE_READWRITE)
|
Memory.VirtualProtect(ptr, 1, Memory.PAGE_EXECUTE_READWRITE)
|
||||||
@ -159,8 +176,8 @@ function Modification.SetMemoryOptions(memory)
|
|||||||
level2 = level2 or {}
|
level2 = level2 or {}
|
||||||
|
|
||||||
local level3 = {}
|
local level3 = {}
|
||||||
for k, v in pairs(level2) do
|
for _, v in ipairs(level2) do
|
||||||
if ffi.string(ffi.cast("char*", k)) == v._BuildString then
|
if ffi.string(ffi.cast("char*", v._Offset)) == v._BuildString then
|
||||||
level3 = v
|
level3 = v
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user