MCM rework in progress
This commit is contained in:
1 parent
b85af9790c
commit
d073192e86
1 file changed
+70
-324
+70
-324
@@ -35,7 +35,7 @@ local function renderDummyDesc(reload)
|
|||||||
demoDescObj.Name = EID:getDescriptionEntry("MCM","DemoObjectName")
|
demoDescObj.Name = EID:getDescriptionEntry("MCM","DemoObjectName")
|
||||||
demoDescObj.Transformation = EID:getDescriptionEntry("MCM","DemoObjectTransformation")
|
demoDescObj.Transformation = EID:getDescriptionEntry("MCM","DemoObjectTransformation")
|
||||||
demoDescObj.Description = EID:getDescriptionEntry("MCM","DemoObjectText")
|
demoDescObj.Description = EID:getDescriptionEntry("MCM","DemoObjectText")
|
||||||
EID:displayPermanentText(demoDescObj)
|
EID:displayPermanentText(demoDescObj, "MCM", "DemoObjectName")
|
||||||
end
|
end
|
||||||
|
|
||||||
-- get list of all defined fonts per language file
|
-- get list of all defined fonts per language file
|
||||||
@@ -143,6 +143,32 @@ function EID:AddBooleanSetting(category, optionName, displayText, params)
|
|||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function EID:AddNumberSetting(category, optionName, displayText, minimum, maximum, params)
|
||||||
|
if type(params) ~= "table" then params = {} end
|
||||||
|
if params.repOnly and not REPENTANCE then return end
|
||||||
|
MCM.AddSetting(
|
||||||
|
"EID", category,
|
||||||
|
{
|
||||||
|
Type = ModConfigMenu.OptionType.NUMBER,
|
||||||
|
CurrentSetting = params.currentSettingFunc or function()
|
||||||
|
return (params.indexOf and AnIndexOf(params.indexOf, EID.Config[optionName])) or EID.Config[optionName]
|
||||||
|
end,
|
||||||
|
Minimum = minimum,
|
||||||
|
Maximum = maximum,
|
||||||
|
ModifyBy = params.modifyBy or 1,
|
||||||
|
Display = params.displayFunc or function()
|
||||||
|
if params.displayingTab then EID.MCMCompat_isDisplayingEIDTab = params.displayingTab end
|
||||||
|
return displayText .. ": " .. ((params.displayTable and params.displayTable[EID.Config[optionName]]) or EID.Config[optionName])
|
||||||
|
end,
|
||||||
|
OnChange = params.onChangeFunc or function(currentNum)
|
||||||
|
EID.Config[optionName] = (params.indexOf and params.indexOf[currentNum]) or currentNum
|
||||||
|
EID.MCM_OptionChanged = true
|
||||||
|
end,
|
||||||
|
Info = params.infoText or {}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
function EID:AddHotkeySetting(category, optionName, displayText, infoText, isController)
|
function EID:AddHotkeySetting(category, optionName, displayText, infoText, isController)
|
||||||
if (type(infoText) == "string") then infoText = {infoText} end
|
if (type(infoText) == "string") then infoText = {infoText} end
|
||||||
local optionType = ModConfigMenu.OptionType.KEYBIND_KEYBOARD
|
local optionType = ModConfigMenu.OptionType.KEYBIND_KEYBOARD
|
||||||
@@ -211,8 +237,15 @@ if MCMLoaded then
|
|||||||
MCM.AddSpace("EID", "Info")
|
MCM.AddSpace("EID", "Info")
|
||||||
MCM.AddText("EID", "Info", function() return EID.isHidden and"~~~~~~~~~~~~~~~~~~~~~~~~~~~" or "" end)
|
MCM.AddText("EID", "Info", function() return EID.isHidden and"~~~~~~~~~~~~~~~~~~~~~~~~~~~" or "" end)
|
||||||
MCM.AddText("EID", "Info", function() return EID.isHidden and"~~~~~ CURRENTLY HIDDEN! ~~~~~" or "" end)
|
MCM.AddText("EID", "Info", function() return EID.isHidden and"~~~~~ CURRENTLY HIDDEN! ~~~~~" or "" end)
|
||||||
MCM.AddText("EID", "Info", function() return EID.isHidden and"~~~~~~~~ F2 to show ~~~~~~~~~" or "" end)
|
MCM.AddText("EID", "Info", function()
|
||||||
|
if EID.Config["HideKey"] ~= -1 or EID.Config["HideButton"] ~= -1 then
|
||||||
|
local hotkeyString = InputHelper.KeyboardToString[EID.Config["HideKey"]] or InputHelper.ControllerToString[EID.Config["HideButton"]]
|
||||||
|
return EID.isHidden and ("~~~~~~~ " .. hotkeyString .." to show ~~~~~~~~") or ""
|
||||||
|
else
|
||||||
|
return EID.isHidden and"~~ bind a key/button in the General tab to show ~~" or ""
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
---------------------------------General-----------------------------------
|
---------------------------------General-----------------------------------
|
||||||
-- Language
|
-- Language
|
||||||
@@ -245,306 +278,41 @@ if MCMLoaded then
|
|||||||
)
|
)
|
||||||
-- Item Name Language
|
-- Item Name Language
|
||||||
local translateStates = {"English", "Current Language", "Current + English"}
|
local translateStates = {"English", "Current Language", "Current + English"}
|
||||||
MCM.AddSetting(
|
EID:AddNumberSetting("General", "TranslateItemName", "Name Language", 1, 3, {displayTable = translateStates,
|
||||||
"EID",
|
infoText = {"If translated names are available,","this changes how item names are displayed."}})
|
||||||
"General",
|
|
||||||
{
|
|
||||||
Type = ModConfigMenu.OptionType.NUMBER,
|
|
||||||
CurrentSetting = function()
|
|
||||||
return EID.Config["TranslateItemName"]
|
|
||||||
end,
|
|
||||||
Minimum = 1,
|
|
||||||
Maximum = 3,
|
|
||||||
Display = function()
|
|
||||||
return "Name Language: " .. translateStates[EID.Config["TranslateItemName"]]
|
|
||||||
end,
|
|
||||||
OnChange = function(currentNum)
|
|
||||||
EID.Config["TranslateItemName"] = currentNum
|
|
||||||
end,
|
|
||||||
Info = {"If translated names are available,","this changes how item names are displayed."}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
-- Hide Key
|
-- Hide Keys
|
||||||
EID:AddHotkeySetting("General",
|
EID:AddHotkeySetting("General", "HideKey", "Toggle (Keyboard)",
|
||||||
"HideKey", "Toggle (Keyboard)",
|
|
||||||
"Press this key to toggle the description display", false)
|
"Press this key to toggle the description display", false)
|
||||||
EID:AddHotkeySetting("General",
|
EID:AddHotkeySetting("General", "HideButton", "Toggle (Controller)",
|
||||||
"HideButton", "Toggle (Controller)",
|
|
||||||
"Press this button to toggle the description display (Left Stick or Right Stick recommended; most other buttons will not work)", true)
|
"Press this button to toggle the description display (Left Stick or Right Stick recommended; most other buttons will not work)", true)
|
||||||
|
|
||||||
MCM.AddSpace("EID", "General")
|
MCM.AddSpace("EID", "General")
|
||||||
|
|
||||||
-- Position X
|
EID:AddNumberSetting("General", "XPosition", "Position X", 0, 500, {modifyBy = 5, infoText = "Default = 60"})
|
||||||
MCM.AddSetting(
|
EID:AddNumberSetting("General", "YPosition", "Position Y", 0, 500, {modifyBy = 5, infoText = "Default = 45"})
|
||||||
"EID",
|
EID:AddNumberSetting("General", "LineHeight", "Line Height", 1, 30, {infoText = "Default = 11 (varies per language)"})
|
||||||
"General",
|
EID:AddNumberSetting("General", "TextboxWidth", "Textbox Width", 1, 500, {modifyBy = 5, infoText = "Default = 130 (varies per language)"})
|
||||||
{
|
|
||||||
Type = ModConfigMenu.OptionType.NUMBER,
|
|
||||||
CurrentSetting = function()
|
|
||||||
return EID.Config["XPosition"]
|
|
||||||
end,
|
|
||||||
Minimum = 0,
|
|
||||||
Maximum = 500,
|
|
||||||
ModifyBy = 5,
|
|
||||||
Display = function()
|
|
||||||
return "Position X: " .. EID.Config["XPosition"]
|
|
||||||
end,
|
|
||||||
OnChange = function(currentNum)
|
|
||||||
EID.Config["XPosition"] = currentNum
|
|
||||||
EID.UsedPosition = Vector(EID.Config["XPosition"], EID.Config["YPosition"])
|
|
||||||
end,
|
|
||||||
Info = {"Default = 60"}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
-- Position Y
|
|
||||||
MCM.AddSetting(
|
|
||||||
"EID",
|
|
||||||
"General",
|
|
||||||
{
|
|
||||||
Type = ModConfigMenu.OptionType.NUMBER,
|
|
||||||
CurrentSetting = function()
|
|
||||||
return EID.Config["YPosition"]
|
|
||||||
end,
|
|
||||||
Minimum = 0,
|
|
||||||
Maximum = 500,
|
|
||||||
ModifyBy = 5,
|
|
||||||
Display = function()
|
|
||||||
return "Position Y: " .. EID.Config["YPosition"]
|
|
||||||
end,
|
|
||||||
OnChange = function(currentNum)
|
|
||||||
EID.Config["YPosition"] = currentNum
|
|
||||||
EID.UsedPosition = Vector(EID.Config["XPosition"], EID.Config["YPosition"])
|
|
||||||
end,
|
|
||||||
Info = {"Default = 45"}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
-- Line Height
|
|
||||||
MCM.AddSetting(
|
|
||||||
"EID",
|
|
||||||
"General",
|
|
||||||
{
|
|
||||||
Type = ModConfigMenu.OptionType.NUMBER,
|
|
||||||
CurrentSetting = function()
|
|
||||||
return EID.Config["LineHeight"]
|
|
||||||
end,
|
|
||||||
Minimum = 1,
|
|
||||||
Maximum = 100,
|
|
||||||
Display = function()
|
|
||||||
return "Line Height: " .. EID.Config["LineHeight"]
|
|
||||||
end,
|
|
||||||
OnChange = function(currentNum)
|
|
||||||
EID.Config["LineHeight"] = currentNum
|
|
||||||
EID.MCM_OptionChanged = true
|
|
||||||
end,
|
|
||||||
Info = {"Default = 11","Line height will automatically change when changing a font/language"}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
-- Textbox Width
|
|
||||||
MCM.AddSetting(
|
|
||||||
"EID",
|
|
||||||
"General",
|
|
||||||
{
|
|
||||||
Type = ModConfigMenu.OptionType.NUMBER,
|
|
||||||
CurrentSetting = function()
|
|
||||||
return EID.Config["TextboxWidth"]
|
|
||||||
end,
|
|
||||||
Minimum = 1,
|
|
||||||
Maximum = 500,
|
|
||||||
ModifyBy = 5,
|
|
||||||
Display = function()
|
|
||||||
return "Textbox Width: " .. EID.Config["TextboxWidth"]
|
|
||||||
end,
|
|
||||||
OnChange = function(currentNum)
|
|
||||||
EID.Config["TextboxWidth"] = currentNum
|
|
||||||
EID.MCM_OptionChanged = true
|
|
||||||
end,
|
|
||||||
Info = {"Default = 130, varies per language","Width of the EID textbox, in pixels"}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
MCM.AddSpace("EID", "General")
|
MCM.AddSpace("EID", "General")
|
||||||
|
|
||||||
-- Initial hiding
|
EID:AddBooleanSetting("General", "InitiallyHidden", "Is Initially Hidden")
|
||||||
MCM.AddSetting(
|
EID:AddBooleanSetting("General", "DisableStartOfRunWarnings", "Start of Run Warnings", {offText = "Enabled", onText = "Disabled",
|
||||||
"EID",
|
repOnly = true, infoText = "Toggle the achievement, outdated game version, and modded crafting recipes warnings"})
|
||||||
"General",
|
|
||||||
{
|
|
||||||
Type = ModConfigMenu.OptionType.BOOLEAN,
|
|
||||||
CurrentSetting = function()
|
|
||||||
return EID.Config["InitiallyHidden"]
|
|
||||||
end,
|
|
||||||
Display = function()
|
|
||||||
local onOff = "False"
|
|
||||||
if EID.Config["InitiallyHidden"] then
|
|
||||||
onOff = "True"
|
|
||||||
end
|
|
||||||
return 'Is initially Hidden: ' .. onOff
|
|
||||||
end,
|
|
||||||
OnChange = function(currentBool)
|
|
||||||
EID.Config["InitiallyHidden"] = currentBool
|
|
||||||
end
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
if REPENTANCE then
|
EID:AddBooleanSetting("General", "DisableOnCurse", 'Show on "Curse of the Blind"', {offText = "True", onText = "False"})
|
||||||
-- disable the warnings that display at the start of new runs
|
EID:AddBooleanSetting("General", "DisableOnAprilFoolsChallenge", "Show on April Fools Challenge", {offText = "True", onText = "False"})
|
||||||
MCM.AddSetting(
|
EID:AddBooleanSetting("General", "DisableOnAltPath", "Show Hidden Alt-Path Item", {offText = "True", onText = "False",
|
||||||
"EID",
|
repOnly = true, infoText = "Show the description for the blind item in Downpour/Mines/etc."})
|
||||||
"General",
|
|
||||||
{
|
|
||||||
Type = ModConfigMenu.OptionType.BOOLEAN,
|
|
||||||
CurrentSetting = function()
|
|
||||||
return EID.Config["DisableAchievementCheck"]
|
|
||||||
end,
|
|
||||||
Display = function()
|
|
||||||
local onOff = "Enabled"
|
|
||||||
if EID.Config["DisableAchievementCheck"] then
|
|
||||||
onOff = "Disabled"
|
|
||||||
end
|
|
||||||
return "Start of Run Warnings: " .. onOff
|
|
||||||
end,
|
|
||||||
OnChange = function(currentBool)
|
|
||||||
EID.Config["DisableAchievementCheck"] = currentBool
|
|
||||||
end,
|
|
||||||
Info = {"Toggle the achievement, outdated game version, and modded crafting recipes warnings"}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Disable on Curse
|
EID:AddBooleanSetting("General", "ShowUnidentifiedPillDescriptions", "Show Unidentified Pill Effects")
|
||||||
MCM.AddSetting(
|
EID:AddBooleanSetting("General", "HideInBattle", "Hide in Battle", {infoText = "Hides the descriptions when in a fight"})
|
||||||
"EID",
|
|
||||||
"General",
|
|
||||||
{
|
|
||||||
Type = ModConfigMenu.OptionType.BOOLEAN,
|
|
||||||
CurrentSetting = function()
|
|
||||||
return EID.Config["DisableOnCurse"]
|
|
||||||
end,
|
|
||||||
Display = function()
|
|
||||||
local onOff = "True"
|
|
||||||
if EID.Config["DisableOnCurse"] then
|
|
||||||
onOff = "False"
|
|
||||||
end
|
|
||||||
return 'Show on "Curse of Blind": ' .. onOff
|
|
||||||
end,
|
|
||||||
OnChange = function(currentBool)
|
|
||||||
EID.Config["DisableOnCurse"] = currentBool
|
|
||||||
end
|
|
||||||
}
|
|
||||||
)
|
|
||||||
-- Disable April Fools
|
|
||||||
MCM.AddSetting(
|
|
||||||
"EID",
|
|
||||||
"General",
|
|
||||||
{
|
|
||||||
Type = ModConfigMenu.OptionType.BOOLEAN,
|
|
||||||
CurrentSetting = function()
|
|
||||||
return EID.Config["DisableOnAprilFoolsChallenge"]
|
|
||||||
end,
|
|
||||||
Display = function()
|
|
||||||
local onOff = "True"
|
|
||||||
if EID.Config["DisableOnAprilFoolsChallenge"] then
|
|
||||||
onOff = "False"
|
|
||||||
end
|
|
||||||
return 'Show on April Fools Challenge: ' .. onOff
|
|
||||||
end,
|
|
||||||
OnChange = function(currentBool)
|
|
||||||
EID.Config["DisableOnAprilFoolsChallenge"] = currentBool
|
|
||||||
end
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
if REPENTANCE then
|
|
||||||
-- Disable Alt Item option
|
|
||||||
MCM.AddSetting(
|
|
||||||
"EID",
|
|
||||||
"General",
|
|
||||||
{
|
|
||||||
Type = ModConfigMenu.OptionType.BOOLEAN,
|
|
||||||
CurrentSetting = function()
|
|
||||||
return EID.Config["DisableOnAltPath"]
|
|
||||||
end,
|
|
||||||
Display = function()
|
|
||||||
local onOff = "True"
|
|
||||||
if EID.Config["DisableOnAltPath"] then
|
|
||||||
onOff = "False"
|
|
||||||
end
|
|
||||||
return 'Show hidden alt-Path Item: ' .. onOff
|
|
||||||
end,
|
|
||||||
OnChange = function(currentBool)
|
|
||||||
EID.Config["DisableOnAltPath"] = currentBool
|
|
||||||
end
|
|
||||||
}
|
|
||||||
)
|
|
||||||
end
|
|
||||||
|
|
||||||
--------ShowUnidentifiedPillDescriptions---------
|
|
||||||
MCM.AddSetting(
|
|
||||||
"EID",
|
|
||||||
"General",
|
|
||||||
{
|
|
||||||
Type = ModConfigMenu.OptionType.BOOLEAN,
|
|
||||||
CurrentSetting = function()
|
|
||||||
return EID.Config["ShowUnidentifiedPillDescriptions"]
|
|
||||||
end,
|
|
||||||
Display = function()
|
|
||||||
local onOff = "False"
|
|
||||||
if EID.Config["ShowUnidentifiedPillDescriptions"] then
|
|
||||||
onOff = "True"
|
|
||||||
end
|
|
||||||
return "Show Unidentified Pill Effects: " .. onOff
|
|
||||||
end,
|
|
||||||
OnChange = function(currentBool)
|
|
||||||
EID.Config["ShowUnidentifiedPillDescriptions"] = currentBool
|
|
||||||
end
|
|
||||||
}
|
|
||||||
)
|
|
||||||
MCM.AddSetting(
|
|
||||||
"EID",
|
|
||||||
"General",
|
|
||||||
{
|
|
||||||
Type = ModConfigMenu.OptionType.BOOLEAN,
|
|
||||||
CurrentSetting = function()
|
|
||||||
return EID.Config["HideInBattle"]
|
|
||||||
end,
|
|
||||||
Display = function()
|
|
||||||
local onOff = "False"
|
|
||||||
if EID.Config["HideInBattle"] then
|
|
||||||
onOff = "True"
|
|
||||||
end
|
|
||||||
return "Hide in Battle: " .. onOff
|
|
||||||
end,
|
|
||||||
OnChange = function(currentBool)
|
|
||||||
EID.Config["HideInBattle"] = currentBool
|
|
||||||
end,
|
|
||||||
Info = {"Hides the descriptions when in a fight"}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
MCM.AddSpace("EID", "General")
|
MCM.AddSpace("EID", "General")
|
||||||
--indicator
|
--indicator
|
||||||
local indicators = {"arrow", "blink", "border", "highlight", "none"}
|
local indicators = {"arrow", "blink", "border", "highlight", "none"}
|
||||||
MCM.AddSetting(
|
EID:AddNumberSetting("General", "Indicator", "Indicator", 1, 5, {indexOf = indicators,
|
||||||
"EID",
|
infoText = {"Change how the currently described item is marked"}})
|
||||||
"General",
|
|
||||||
{
|
|
||||||
Type = ModConfigMenu.OptionType.NUMBER,
|
|
||||||
CurrentSetting = function()
|
|
||||||
return AnIndexOf(indicators, EID.Config["Indicator"])
|
|
||||||
end,
|
|
||||||
Minimum = 1,
|
|
||||||
Maximum = 5,
|
|
||||||
Display = function()
|
|
||||||
return "Indicator: " .. EID.Config["Indicator"]
|
|
||||||
end,
|
|
||||||
OnChange = function(currentNum)
|
|
||||||
EID.Config["Indicator"] = indicators[currentNum]
|
|
||||||
end,
|
|
||||||
Info = {"Highlights the currently described item"}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
MCM.AddSpace("EID", "General")
|
MCM.AddSpace("EID", "General")
|
||||||
|
|
||||||
@@ -894,45 +662,23 @@ if MCMLoaded then
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
-- SCALE
|
-- SCALE
|
||||||
local textScales = {0.5, 0.75, 1, 1.25, 1.5, 2}
|
EID:AddNumberSetting("Visuals", "Size", "Text Size", 0.5, 2, {modifyBy = 0.25, onChangeFunc =
|
||||||
MCM.AddSetting(
|
function(currentNum)
|
||||||
"EID",
|
EID.MCM_OptionChanged = true
|
||||||
"Visuals",
|
currentNum = currentNum - (currentNum % 0.25)
|
||||||
{
|
EID.Config["Size"] = currentNum
|
||||||
Type = ModConfigMenu.OptionType.NUMBER,
|
end})
|
||||||
CurrentSetting = function()
|
EID:AddNumberSetting("Visuals", "LocalModeSize", "Text Size (Local Mode)", 0.5, 2, {modifyBy = 0.25, onChangeFunc =
|
||||||
if EID.Config["DisplayMode"] == "local" then
|
function(currentNum)
|
||||||
return AnIndexOf(textScales, EID.Config["LocalModeSize"])
|
EID.MCM_OptionChanged = true
|
||||||
else
|
currentNum = currentNum - (currentNum % 0.25)
|
||||||
return AnIndexOf(textScales, EID.Config["Size"])
|
EID.Config["LocalModeSize"] = currentNum
|
||||||
end
|
end})
|
||||||
end,
|
|
||||||
Minimum = 1,
|
|
||||||
Maximum = 6,
|
|
||||||
Display = function()
|
|
||||||
if EID.Config["DisplayMode"] == "local" then
|
|
||||||
return "Text Size (Local mode): " .. EID.Config["LocalModeSize"]
|
|
||||||
else
|
|
||||||
return "Text Size: " .. EID.Config["Size"]
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
OnChange = function(currentNum)
|
|
||||||
EID.MCM_OptionChanged = true
|
|
||||||
if EID.Config["DisplayMode"] == "local" then
|
|
||||||
EID.Config["LocalModeSize"] = textScales[currentNum]
|
|
||||||
else
|
|
||||||
EID.Config["Size"] = textScales[currentNum]
|
|
||||||
end
|
|
||||||
EID.Scale = textScales[currentNum]
|
|
||||||
end,
|
|
||||||
Info = {"Change text size","CAN BE HARD TO READ IN SOME SETTINGS!"}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
-- SCALE Hotkey
|
-- SCALE Hotkey
|
||||||
EID:AddHotkeySetting("Visuals",
|
EID:AddHotkeySetting("Visuals",
|
||||||
"SizeHotkey", "Toggle Size (Keyboard)",
|
"SizeHotkey", "Toggle Size (Keyboard)",
|
||||||
{"Press this key to change the text size.", "Hold this key to smoothly change the text size"}, false)
|
{"Press this key to change the text size.", "Hold this key to smoothly change the text size."}, false)
|
||||||
|
|
||||||
-- Local Mode Centered or not
|
-- Local Mode Centered or not
|
||||||
MCM.AddSetting(
|
MCM.AddSetting(
|
||||||
|
|||||||
Reference in new issue
Block a user