mirror of
https://github.com/Dadido3/noita-mapcap.git
synced 2024-11-22 21:17:33 +00:00
More QOL updates
- Give user the option to reapply resolution settings on detected mismatch - Tell user to apply some modifications manually, if the mod can't do it automatically - Always set mTrailerMode when DEBUG_PAUSE_GRID_UPDATE is set to prevent chunks from not rendering
This commit is contained in:
parent
4f3f5c594d
commit
ace1ab145a
@ -12,6 +12,7 @@
|
|||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
local Coords = require("coordinates")
|
local Coords = require("coordinates")
|
||||||
|
local DebugAPI = require("noita-api.debug")
|
||||||
|
|
||||||
----------
|
----------
|
||||||
-- Code --
|
-- Code --
|
||||||
@ -127,11 +128,13 @@ function Message:ShowWrongResolution(callback, desc)
|
|||||||
"The resolution changed:",
|
"The resolution changed:",
|
||||||
desc or "",
|
desc or "",
|
||||||
" ",
|
" ",
|
||||||
"To fix:",
|
"Press the button at the bottom to set up and close Noita automatically.",
|
||||||
"- restart Noita or revert the resolution change."
|
" ",
|
||||||
|
"You can always reset any custom settings by right clicking the `start capture`",
|
||||||
|
"button at the top left.",
|
||||||
},
|
},
|
||||||
Actions = {
|
Actions = {
|
||||||
{ Name = "Query settings again", Hint = nil, HintDesc = nil, Callback = function() Coords:ReadResolutions() end },
|
{ Name = "Setup and close (May corrupt current save!)", Hint = nil, HintDesc = nil, Callback = callback },
|
||||||
},
|
},
|
||||||
AutoClose = true, -- This message will automatically close.
|
AutoClose = true, -- This message will automatically close.
|
||||||
}
|
}
|
||||||
@ -185,13 +188,42 @@ end
|
|||||||
function Message:ShowModificationUnsupported(realm, name, value)
|
function Message:ShowModificationUnsupported(realm, name, value)
|
||||||
self.List = self.List or {}
|
self.List = self.List or {}
|
||||||
|
|
||||||
self.List["ModificationFailed"] = {
|
self.List["ModificationFailed"] = self.List["ModificationFailed"] or {
|
||||||
Type = "warning",
|
Type = "warning",
|
||||||
Lines = {
|
|
||||||
string.format("Couldn't modify %q in %q realm.", name, realm),
|
|
||||||
" ",
|
|
||||||
"This simply means that this modification is not supported for the Noita version you are using.",
|
|
||||||
"Feel free to open an issue at https://github.com/Dadido3/noita-mapcap.",
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
self.List["ModificationFailed"].ModificationEntries = self.List["ModificationFailed"].ModificationEntries or {}
|
||||||
|
table.insert(self.List["ModificationFailed"].ModificationEntries, {realm = realm, name = name, value = value})
|
||||||
|
|
||||||
|
-- Build message lines.
|
||||||
|
self.List["ModificationFailed"].Lines = {"The mod couldn't apply the following changes:"}
|
||||||
|
table.insert(self.List["ModificationFailed"].Lines, " ")
|
||||||
|
for _, modEntry in ipairs(self.List["ModificationFailed"].ModificationEntries) do
|
||||||
|
table.insert(self.List["ModificationFailed"].Lines, string.format("- %q in %q realm", modEntry.name, modEntry.realm))
|
||||||
|
end
|
||||||
|
|
||||||
|
table.insert(self.List["ModificationFailed"].Lines, " ")
|
||||||
|
table.insert(self.List["ModificationFailed"].Lines, "This simply means that the mod can't automatically apply this change in the Noita version you are using.")
|
||||||
|
table.insert(self.List["ModificationFailed"].Lines, "If you are running a non-beta version of Noita, feel free to open an issue at https://github.com/Dadido3/noita-mapcap.")
|
||||||
|
|
||||||
|
-- Tell the user to change some settings manually, if possible.
|
||||||
|
local manuallyWithF7 = {}
|
||||||
|
local possibleManualWithF7 = {mPostFxDisabled = true, mGuiDisabled = true, mGuiHalfSize = true, mFogOfWarOpenEverywhere = true, mTrailerMode = true, mDayTimeRotationPause = true, mPlayerNeverDies = true, mFreezeAI = true}
|
||||||
|
for _, modEntry in ipairs(self.List["ModificationFailed"].ModificationEntries) do
|
||||||
|
if modEntry.realm == "processMemory" and possibleManualWithF7[modEntry.name] then
|
||||||
|
table.insert(manuallyWithF7, modEntry)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if #manuallyWithF7 > 0 then
|
||||||
|
table.insert(self.List["ModificationFailed"].Lines, " ")
|
||||||
|
table.insert(self.List["ModificationFailed"].Lines, "You can apply the setting manually:")
|
||||||
|
table.insert(self.List["ModificationFailed"].Lines, " ")
|
||||||
|
table.insert(self.List["ModificationFailed"].Lines, "- Press F7 to open the debug menu.")
|
||||||
|
for _, modEntry in ipairs(manuallyWithF7) do
|
||||||
|
table.insert(self.List["ModificationFailed"].Lines, string.format("- Change %q to %q.", modEntry.name, modEntry.value))
|
||||||
|
end
|
||||||
|
table.insert(self.List["ModificationFailed"].Lines, "- Press F7 again to close the menu.")
|
||||||
|
table.insert(self.List["ModificationFailed"].Lines, "- Close this warning when you are done.")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -254,7 +254,7 @@ function Modification.SetMemoryOptions(memory)
|
|||||||
|
|
||||||
-- Look up the tree and set options accordingly.
|
-- Look up the tree and set options accordingly.
|
||||||
|
|
||||||
local level1 = lookup[DebugGetIsDevBuild()]
|
local level1 = lookup[DebugAPI.IsDevBuild()]
|
||||||
level1 = level1 or {}
|
level1 = level1 or {}
|
||||||
|
|
||||||
local level2 = level1[ffi.os]
|
local level2 = level1[ffi.os]
|
||||||
@ -367,7 +367,10 @@ function Modification.RequiredChanges()
|
|||||||
memory["mPostFxDisabled"] = 1
|
memory["mPostFxDisabled"] = 1
|
||||||
memory["mGuiDisabled"] = 1
|
memory["mGuiDisabled"] = 1
|
||||||
memory["mFreezeAI"] = 1
|
memory["mFreezeAI"] = 1
|
||||||
memory["mTrailerMode"] = 1 -- Is necessary for chunks to correctly load when DEBUG_PAUSE_GRID_UPDATE is enabled.
|
end
|
||||||
|
|
||||||
|
if DebugAPI.IsDevBuild() and magic["DEBUG_PAUSE_GRID_UPDATE"] == "1" then
|
||||||
|
memory["mTrailerMode"] = 1 -- This is necessary for chunks to correctly load when DEBUG_PAUSE_GRID_UPDATE is enabled.
|
||||||
end
|
end
|
||||||
|
|
||||||
if ModSettingGet("noita-mapcap.disable-mod-detection") and not DebugAPI.IsDevBuild() then
|
if ModSettingGet("noita-mapcap.disable-mod-detection") and not DebugAPI.IsDevBuild() then
|
||||||
|
Loading…
Reference in New Issue
Block a user