Noita Save Manager

 avatar
unknown
autohotkey
5 months ago
44 kB
73
No Index
;Noita Save Manager is forked from Save and Load Slots by yamanato https://modworkshop.net/mod/33603 which was forked from Noita Quick Save by Snippy (2) https://modworkshop.net/mod/26537
;Whats new: 50 Save Slots instead of 5, Record Save Dates and Time, Rename Save Slots, Delete Save Slots, Customizable Hotkeys, Enable Noita's Replay Recorder, Open Saves & Replay Directories, Regenerate World Terrain, Clear Bones Folder, Reset Daily Run
;Note: This will create a NoitaSaveManager.ini file in the same directory as Noita Save Manager
;Created 26 April, 2024 by Toveri | Updated 26 September, 2024

#SingleInstance Force

#IfWinActive, ahk_exe noita.exe

global currentslot = ""

global Slot1 = "Slot 1 (No Save)"
global Slot2 = "Slot 2 (No Save)"
global Slot3 = "Slot 3 (No Save)"
global Slot4 = "Slot 4 (No Save)"
global Slot5 = "Slot 5 (No Save)"
global Slot6 = "Slot 6 (No Save)"
global Slot7 = "Slot 7 (No Save)"
global Slot8 = "Slot 8 (No Save)"
global Slot9 = "Slot 9 (No Save)"
global Slot10 = "Slot 10 (No Save)"
global Slot11 = "Slot 11 (No Save)"
global Slot12 = "Slot 12 (No Save)"
global Slot13 = "Slot 13 (No Save)"
global Slot14 = "Slot 14 (No Save)"
global Slot15 = "Slot 15 (No Save)"
global Slot16 = "Slot 16 (No Save)"
global Slot17 = "Slot 17 (No Save)"
global Slot18 = "Slot 18 (No Save)"
global Slot19 = "Slot 19 (No Save)"
global Slot20 = "Slot 20 (No Save)"
global Slot21 = "Slot 21 (No Save)"
global Slot22 = "Slot 22 (No Save)"
global Slot23 = "Slot 23 (No Save)"
global Slot24 = "Slot 24 (No Save)"
global Slot25 = "Slot 25 (No Save)"
global Slot26 = "Slot 26 (No Save)"
global Slot27 = "Slot 27 (No Save)"
global Slot28 = "Slot 28 (No Save)"
global Slot29 = "Slot 29 (No Save)"
global Slot30 = "Slot 30 (No Save)"
global Slot31 = "Slot 31 (No Save)"
global Slot32 = "Slot 32 (No Save)"
global Slot33 = "Slot 33 (No Save)"
global Slot34 = "Slot 34 (No Save)"
global Slot35 = "Slot 35 (No Save)"
global Slot36 = "Slot 36 (No Save)"
global Slot37 = "Slot 37 (No Save)"
global Slot38 = "Slot 38 (No Save)"
global Slot39 = "Slot 39 (No Save)"
global Slot40 = "Slot 40 (No Save)"
global Slot41 = "Slot 41 (No Save)"
global Slot42 = "Slot 42 (No Save)"
global Slot43 = "Slot 43 (No Save)"
global Slot44 = "Slot 44 (No Save)"
global Slot45 = "Slot 45 (No Save)"
global Slot46 = "Slot 46 (No Save)"
global Slot47 = "Slot 47 (No Save)"
global Slot48 = "Slot 48 (No Save)"
global Slot49 = "Slot 49 (No Save)"
global Slot50 = "Slot 50 (No Save)"

global Slot1Name = "Slot 1"
global Slot2Name = "Slot 2"
global Slot3Name = "Slot 3"
global Slot4Name = "Slot 4"
global Slot5Name = "Slot 5"
global Slot6Name = "Slot 6"
global Slot7Name = "Slot 7"
global Slot8Name = "Slot 8"
global Slot9Name = "Slot 9"
global Slot10Name = "Slot 10"
global Slot11Name = "Slot 11"
global Slot12Name = "Slot 12"
global Slot13Name = "Slot 13"
global Slot14Name = "Slot 14"
global Slot15Name = "Slot 15"
global Slot16Name = "Slot 16"
global Slot17Name = "Slot 17"
global Slot18Name = "Slot 18"
global Slot19Name = "Slot 19"
global Slot20Name = "Slot 20"
global Slot21Name = "Slot 21"
global Slot22Name = "Slot 22"
global Slot23Name = "Slot 23"
global Slot24Name = "Slot 24"
global Slot25Name = "Slot 25"
global Slot26Name = "Slot 26"
global Slot27Name = "Slot 27"
global Slot28Name = "Slot 28"
global Slot29Name = "Slot 29"
global Slot30Name = "Slot 30"
global Slot31Name = "Slot 31"
global Slot32Name = "Slot 32"
global Slot33Name = "Slot 33"
global Slot34Name = "Slot 34"
global Slot35Name = "Slot 35"
global Slot36Name = "Slot 36"
global Slot37Name = "Slot 37"
global Slot38Name = "Slot 38"
global Slot39Name = "Slot 39"
global Slot40Name = "Slot 40"
global Slot41Name = "Slot 41"
global Slot42Name = "Slot 42"
global Slot43Name = "Slot 43"
global Slot44Name = "Slot 44"
global Slot45Name = "Slot 45"
global Slot46Name = "Slot 46"
global Slot47Name = "Slot 47"
global Slot48Name = "Slot 48"
global Slot49Name = "Slot 49"
global Slot50Name = "Slot 50"

global CUSTOM_SAVELOAD_HOTKEY = F5
global CUSTOM_EXIT_HOTKEY = ESC

global ihasEnabledReplayRecorder = 0

LoadData()
SaveData()
LoadData()
CreateGUI()

return

SaveGame:
	CurrentDate = % A_DD . " " . A_MMMM . " " . A_YYYY
	FormatTime, CurrentTime,, Time
	global DateTime = CurrentDate " @ " CurrentTime
    slot_number :=
    Gui SaveLoadGui:Submit, slot_number
	currentslot = %slot_number%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	Msgbox, 4,Noita Save Manager, This will overwrite the save in Slot %currentslot% - Continue?
		IfMsgBox No
		SkipSave = 1
		else
	SaveData()
    Process, WaitClose, noita.exe
	if(SkipSave = 0){
    EnvGet, saveDir, AppData
    saveDir := StrReplace(saveDir, "Roaming", "LocalLow\Nolla_Games_Noita\save00")
    FileCopyDir, %saveDir%, %saveDir%\..\save_backup_%slot_number% , true
	}SkipSave = 0
    Run, %executablePath%, %executableDir%
    return

LoadGame:
    slot_number :=
    Gui SaveLoadGui:Submit, slot_number
	LoadData()
    Process, Close, noita.exe
    EnvGet, saveDir, AppData
    saveDir := StrReplace(saveDir, "Roaming", "LocalLow\Nolla_Games_Noita\save00")
    IfExist , %saveDir%\..\save_backup_%slot_number%
        FileCopyDir, %saveDir%\..\save_backup_%slot_number%, %saveDir%, true
    Else
        Msgbox, 0,Noita Save Manager, Save slot is empty, The game will resume last session.
    Run, %executablePath%, %executableDir%
    return
	
RenameSlot:
    slot_number :=
    Gui SaveLoadGui:Submit, slot_number
	currentslot = %slot_number%
	RenameSlot()
	Run, %executablePath%, %executableDir%
return
	
ChangeHotkeys:
	Run, %A_ScriptDir%\NoitaSaveManager.ini
return

OpenSaveDirectory:
	EnvGet, saveDir2, AppData
    saveDir2 := StrReplace(saveDir2, "Roaming", "LocalLow\Nolla_Games_Noita\")
	Run, %saveDir2%
return

OpenReplaysDirectory:
	EnvGet, saveDir2, AppData
    saveDir2 := StrReplace(saveDir2, "Roaming", "LocalLow\Nolla_Games_Noita\save_rec\screenshots_animated")
	Run, %saveDir2%
return

DeleteSelectedBackupSlot:
    slot_number :=
    Gui SaveLoadGui:Submit, slot_number
	currentslot = %slot_number%
	DeleteSlot()
	LoadData()
	Run, %executablePath%, %executableDir%
return

EnableReplayRecorder:
	if(ihasEnabledReplayRecorder == 0){
	Msgbox, 4,Noita Save Manager, This will enable Noita's built-in Replay Recorder - Continue?
		IfMsgBox No
		return
		else
	EnvGet, saveDir2, AppData
    saveDir2 := StrReplace(saveDir2, "Roaming", "LocalLow\Nolla_Games_Noita\save_shared\config.xml")
	FileRead, Var1, %saveDir2%
	StringReplace, Var2, Var1, replay_recorder_enabled="0", replay_recorder_enabled="1", All
	FileDelete, %saveDir2%
	FileAppend, %Var2%, %saveDir2%
    Gui SaveLoadGui:Cancel
	ihasEnabledReplayRecorder = 1
	IniRead, hasEnabledReplayRecorder, NoitaSaveManager.ini, Settings, hasEnabledReplayRecorder, 0
	Loop, 1
	{
     hasEnabledReplayRecorder = %ihasEnabledReplayRecorder%
	}
	IniWrite, %ihasEnabledReplayRecorder%, NoitaSaveManager.ini, Settings, hasEnabledReplayRecorder
	Run, %executablePath%, %executableDir%
	}else{
	return
	}
return

ResetWorldGeneration:
	Msgbox, 4,Noita Save Manager, This will clear all saved terrain chunks for your save - Continue?
		IfMsgBox No
		return
		else
	EnvGet, saveDir2, AppData
    saveDir2 := StrReplace(saveDir2, "Roaming", "LocalLow\Nolla_Games_Noita\save00\world")
	Loop, Files, %saveDir2%\*.*
	{
		FileDelete, %saveDir2%\*.bin
		FileDelete, %saveDir2%\*.png_petri
		FileDelete, %saveDir2%\*.autosave
		FileDelete, %saveDir2%\*.autosave_player
		FileDelete, %saveDir2%\*.autosave_world_state
		FileDelete, %saveDir2%\*.autosave_world_pixel_scenes
	}
    Gui SaveLoadGui:Cancel
	Run, %executablePath%, %executableDir%
return

ClearBonesFolder:
	Msgbox, 4,Noita Save Manager, This will clear the bones (player ghost) folder for your save - Continue?
		IfMsgBox No
		return
		else
	EnvGet, saveDir2, AppData
    saveDir2 := StrReplace(saveDir2, "Roaming", "LocalLow\Nolla_Games_Noita\save00\persistent\bones_new")
	Loop, Files, %saveDir2%\*.*
	{
		FileDelete, %saveDir2%\*.xml
	}
    Gui SaveLoadGui:Cancel
	Run, %executablePath%, %executableDir%
return

ResetDailyRun:
	EnvGet, saveDir2, AppData
    saveDir2 := StrReplace(saveDir2, "Roaming", "LocalLow\Nolla_Games_Noita\save00\stats\_last_daily_run_played.xml")
	IfExist , %saveDir2%
	FileDelete, %saveDir2%
    Gui SaveLoadGui:Cancel
	Run, %executablePath%, %executableDir%
return

Cancel:
    slot_number :=
    Gui SaveLoadGui:Cancel
	LoadData()
	Gui +LastFound +OwnDialogs +AlwaysOnTop
    Msgbox, 0,Noita Save Manager, Cancelled operation, The game will resume last session.
    Run, %executablePath%, %executableDir%
    return

ExitSaveManager:
	Msgbox, 4,Noita Save Manager, This will close Noita Save Manager - Continue?
		IfMsgBox No
		return
		else
		ExitApp

SAVELOAD_HOTKEY:
	global GUIstarted = 1
	SkipSave = 0
	LoadData()
    WinGet, executablePath, ProcessPath, ahk_exe noita.exe
    executableDir := RTrim(executablePath, "noita.exe")
    Send, !{F4}
	CreateGUI()
    Gui SaveLoadGui:Show
    Return
	
EXIT_HOTKEY:
	Msgbox, 4,Noita Save Manager, This will close Noita Save Manager - Continue?
		IfMsgBox No
		return
		else
		ExitApp
	
CreateGUI()
{
Gui, SaveLoadGUI:Destroy
Gui, SaveLoadGUI:Cancel
Gui, SaveLoadGui:Add, ListBox, w300 r20 vslot_number AltSubmit, %Slot1%|%Slot2%|%Slot3%|%Slot4%|%Slot5%|%Slot6%|%Slot7%|%Slot8%|%Slot9%|%Slot10%|%Slot11%|%Slot12%|%Slot13%|%Slot14%|%Slot15%|%Slot16%|%Slot17%|%Slot18%|%Slot19%|%Slot20%|%Slot21%|%Slot22%|%Slot23%|%Slot24%|%Slot25%|%Slot26%|%Slot27%|%Slot28%|%Slot29%|%Slot30%|%Slot31%|%Slot32%|%Slot33%|%Slot34%|%Slot35%|%Slot36%|%Slot37%|%Slot38%|%Slot39%|%Slot40%|%Slot41%|%Slot42%|%Slot43%|%Slot44%|%Slot45%|%Slot46%|%Slot47%|%Slot48%|%Slot49%|%Slot50%
Gui, SaveLoadGui:Add, Button, gSaveGame, Save Game
Gui, SaveLoadGui:Add, Button, gLoadGame, Load Game
Gui, SaveLoadGui:Add, Button, gRenameSlot, Rename Selected Slot
Gui, SaveLoadGui:Add, Button, gDeleteSelectedBackupSlot, Delete Selected Slot
Gui, SaveLoadGui:Add, Button, gChangeHotkeys, Change Hotkeys
Gui, SaveLoadGui:Add, Button, gOpenSaveDirectory, Open Save Directory
if(ihasEnabledReplayRecorder = 0){
Gui, SaveLoadGui:Add, Button, gEnableReplayRecorder, Enable Replay Recorder
}else{
Gui, SaveLoadGui:Add, Button, gOpenReplaysDirectory, Open Replays Directory
}
Gui, SaveLoadGui:Add, Button, gResetWorldGeneration, Reset World Generation
Gui, SaveLoadGui:Add, Button, gClearBonesFolder, Clear Bones Folder
Gui, SaveLoadGui:Add, Button, gResetDailyRun, Reset Daily Run
Gui, SaveLoadGui:Add, Button, gCancel, Cancel
Gui, SaveLoadGui:Add, Button, gExitSaveManager, Exit Save Manager
}	
	
RenameSlot()
{
global StoredName = ""

if(currentslot == 0 || currentslot == "")
{
	Gui +LastFound +OwnDialogs +AlwaysOnTop
    Msgbox, 0, Noita Save Manager, Save slot not selected, The game will resume last session.
	return
}	

if(currentslot == 1)
{
	StoredName = %Slot1Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot1Name, Noita Save Manager, Renaming Slot 1 - '%Slot1Name%', , 220, 130
	if ErrorLevel
	Slot1Name = %StoredName%
}	
	
if(currentslot == 2)
{
	StoredName = %Slot2Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot2Name, Noita Save Manager, Renaming Slot 2 - '%Slot2Name%', , 220, 130
	if ErrorLevel
	Slot2Name = %StoredName%
}	

if(currentslot == 3)
{
	StoredName = %Slot3Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot3Name, Noita Save Manager, Renaming Slot 3 - '%Slot3Name%', , 220, 130
	if ErrorLevel
	Slot3Name = %StoredName%
}	

if(currentslot == 4)
{
	StoredName = %Slot4Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot4Name, Noita Save Manager, Renaming Slot 4 - '%Slot4Name%', , 220, 130
	if ErrorLevel
	Slot4Name = %StoredName%
}	

if(currentslot == 5)
{
	StoredName = %Slot5Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot5Name, Noita Save Manager, Renaming Slot 5 - '%Slot5Name%', , 220, 130
	if ErrorLevel
	Slot5Name = %StoredName%
}	

if(currentslot == 6)
{
	StoredName = %Slot6Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot6Name, Noita Save Manager, Renaming Slot 6 - '%Slot6Name%', , 220, 130
	if ErrorLevel
	Slot6Name = %StoredName%
}	

if(currentslot == 7)
{
	StoredName = %Slot7Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot7Name, Noita Save Manager, Renaming Slot 7 - '%Slot7Name%', , 220, 130
	if ErrorLevel
	Slot7Name = %StoredName%
}	

if(currentslot == 8)
{
	StoredName = %Slot8Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot8Name, Noita Save Manager, Renaming Slot 8 - '%Slot8Name%', , 220, 130
	if ErrorLevel
	Slot8Name = %StoredName%
}	

if(currentslot == 9)
{
	StoredName = %Slot9Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot9Name, Noita Save Manager, Renaming Slot 9 - '%Slot9Name%', , 220, 130
	if ErrorLevel
	Slot9Name = %StoredName%
}	

if(currentslot == 10)
{
	StoredName = %Slot10Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot10Name, Noita Save Manager, Renaming Slot 10 - '%Slot10Name%', , 220, 130
	if ErrorLevel
	Slot10Name = %StoredName%
}	

if(currentslot == 11)
{
	StoredName = %Slot11Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot11Name, Noita Save Manager, Renaming Slot 11 - '%Slot11Name%', , 220, 130
	if ErrorLevel
	Slot11Name = %StoredName%
}	

if(currentslot == 12)
{
	StoredName = %Slot12Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot12Name, Noita Save Manager, Renaming Slot 12 - '%Slot12Name%', , 220, 130
	if ErrorLevel
	Slot12Name = %StoredName%
}	

if(currentslot == 13)
{
	StoredName = %Slot13Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot13Name, Noita Save Manager, Renaming Slot 13 - '%Slot13Name%', , 220, 130
	if ErrorLevel
	Slot13Name = %StoredName%
}	

if(currentslot == 14)
{
	StoredName = %Slot14Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot14Name, Noita Save Manager, Renaming Slot 14 - '%Slot14Name%', , 220, 130
	if ErrorLevel
	Slot14Name = %StoredName%
}	

if(currentslot == 15)
{
	StoredName = %Slot15Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot15Name, Noita Save Manager, Renaming Slot 15 - '%Slot15Name%', , 220, 130
	if ErrorLevel
	Slot15Name = %StoredName%
}	

if(currentslot == 16)
{
	StoredName = %Slot16Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot16Name, Noita Save Manager, Renaming Slot 16 - '%Slot16Name%', , 220, 130
	if ErrorLevel
	Slot16Name = %StoredName%
}	

if(currentslot == 17)
{
	StoredName = %Slot17Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot17Name, Noita Save Manager, Renaming Slot 17 - '%Slot17Name%', , 220, 130
	if ErrorLevel
	Slot17Name = %StoredName%
}	

if(currentslot == 18)
{
	StoredName = %Slot18Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot18Name, Noita Save Manager, Renaming Slot 18 - '%Slot18Name%', , 220, 130
	if ErrorLevel
	Slot18Name = %StoredName%
}	

if(currentslot == 19)
{
	StoredName = %Slot19Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot19Name, Noita Save Manager, Renaming Slot 19 - '%Slot19Name%', , 220, 130
	if ErrorLevel
	Slot19Name = %StoredName%
}	
	
if(currentslot == 20)
{
	StoredName = %Slot20Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot20Name, Noita Save Manager, Renaming Slot 20 - '%Slot20Name%', , 220, 130
	if ErrorLevel
	Slot20Name = %StoredName%
}	
if(currentslot == 21)
{
	StoredName = %Slot21Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot21Name, Noita Save Manager, Renaming Slot 21 - '%Slot21Name%', , 220, 130
	if ErrorLevel
	Slot21Name = %StoredName%
}	

if(currentslot == 22)
{
	StoredName = %Slot22Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot22Name, Noita Save Manager, Renaming Slot 22 - '%Slot22Name%', , 220, 130
	if ErrorLevel
	Slot22Name = %StoredName%
}	

if(currentslot == 23)
{
	StoredName = %Slot23Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot23Name, Noita Save Manager, Renaming Slot 23 - '%Slot23Name%', , 220, 130
	if ErrorLevel
	Slot23Name = %StoredName%
}	

if(currentslot == 24)
{
	StoredName = %Slot24Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot24Name, Noita Save Manager, Renaming Slot 24 - '%Slot24Name%', , 220, 130
	if ErrorLevel
	Slot24Name = %StoredName%
}	

if(currentslot == 25)
{
	StoredName = %Slot25Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot25Name, Noita Save Manager, Renaming Slot 25 - '%Slot25Name%', , 220, 130
	if ErrorLevel
	Slot25Name = %StoredName%
}	

if(currentslot == 26)
{
	StoredName = %Slot26Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot26Name, Noita Save Manager, Renaming Slot 26 - '%Slot26Name%', , 220, 130
	if ErrorLevel
	Slot26Name = %StoredName%
}	

if(currentslot == 27)
{
	StoredName = %Slot27Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot27Name, Noita Save Manager, Renaming Slot 27 - '%Slot27Name%', , 220, 130
	if ErrorLevel
	Slot27Name = %StoredName%
}	

if(currentslot == 28)
{
	StoredName = %Slot28Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot28Name, Noita Save Manager, Renaming Slot 28 - '%Slot28Name%', , 220, 130
	if ErrorLevel
	Slot28Name = %StoredName%
}	

if(currentslot == 29)
{
	StoredName = %Slot29Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot29Name, Noita Save Manager, Renaming Slot 29 - '%Slot29Name%', , 220, 130
	if ErrorLevel
	Slot29Name = %StoredName%
}	

if(currentslot == 30)
{
	StoredName = %Slot30Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot30Name, Noita Save Manager, Renaming Slot 30 - '%Slot30Name%', , 220, 130
	if ErrorLevel
	Slot30Name = %StoredName%
}	

if(currentslot == 31)
{
	StoredName = %Slot31Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot31Name, Noita Save Manager, Renaming Slot 31 - '%Slot31Name%', , 220, 130
	if ErrorLevel
	Slot31Name = %StoredName%
}	

if(currentslot == 32)
{
	StoredName = %Slot32Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot32Name, Noita Save Manager, Renaming Slot 32 - '%Slot32Name%', , 220, 130
	if ErrorLevel
	Slot32Name = %StoredName%
}	

if(currentslot == 33)
{
	StoredName = %Slot33Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot33Name, Noita Save Manager, Renaming Slot 33 - '%Slot33Name%', , 220, 130
	if ErrorLevel
	Slot33Name = %StoredName%
}	

if(currentslot == 34)
{
	StoredName = %Slot34Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot34Name, Noita Save Manager, Renaming Slot 34 - '%Slot34Name%', , 220, 130
	if ErrorLevel
	Slot34Name = %StoredName%
}	

if(currentslot == 35)
{
	StoredName = %Slot35Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot35Name, Noita Save Manager, Renaming Slot 35 - '%Slot35Name%', , 220, 130
	if ErrorLevel
	Slot35Name = %StoredName%
}	

if(currentslot == 36)
{
	StoredName = %Slot36Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot36Name, Noita Save Manager, Renaming Slot 36 - '%Slot36Name%', , 220, 130
	if ErrorLevel
	Slot36Name = %StoredName%
}	

if(currentslot == 37)
{
	StoredName = %Slot37Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot37Name, Noita Save Manager, Renaming Slot 37 - '%Slot37Name%', , 220, 130
	if ErrorLevel
	Slot37Name = %StoredName%
}	

if(currentslot == 38)
{
	StoredName = %Slot38Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot38Name, Noita Save Manager, Renaming Slot 38 - '%Slot38Name%', , 220, 130
	if ErrorLevel
	Slot38Name = %StoredName%
}	

if(currentslot == 39)
{
	StoredName = %Slot39Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot39Name, Noita Save Manager, Renaming Slot 39 - '%Slot39Name%', , 220, 130
	if ErrorLevel
	Slot39Name = %StoredName%
}	

if(currentslot == 40)
{
	StoredName = %Slot40Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot40Name, Noita Save Manager, Renaming Slot 40 - '%Slot40Name%', , 220, 130
	if ErrorLevel
	Slot40Name = %StoredName%
}	

if(currentslot == 41)
{
	StoredName = %Slot41Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot41Name, Noita Save Manager, Renaming Slot 41 - '%Slot41Name%', , 220, 130
	if ErrorLevel
	Slot41Name = %StoredName%
}	

if(currentslot == 42)
{
	StoredName = %Slot42Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot42Name, Noita Save Manager, Renaming Slot 42 - '%Slot42Name%', , 220, 130
	if ErrorLevel
	Slot42Name = %StoredName%
}	

if(currentslot == 43)
{
	StoredName = %Slot43Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot43Name, Noita Save Manager, Renaming Slot 43 - '%Slot43Name%', , 220, 130
	if ErrorLevel
	Slot43Name = %StoredName%
}	

if(currentslot == 44)
{
	StoredName = %Slot44Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot44Name, Noita Save Manager, Renaming Slot 44 - '%Slot44Name%', , 220, 130
	if ErrorLevel
	Slot44Name = %StoredName%
}	

if(currentslot == 45)
{
	StoredName = %Slot45Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot45Name, Noita Save Manager, Renaming Slot 45 - '%Slot45Name%', , 220, 130
	if ErrorLevel
	Slot45Name = %StoredName%
}	

if(currentslot == 46)
{
	StoredName = %Slot46Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot46Name, Noita Save Manager, Renaming Slot 46 - '%Slot46Name%', , 220, 130
	if ErrorLevel
	Slot46Name = %StoredName%
}	

if(currentslot == 47)
{
	StoredName = %Slot47Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot47Name, Noita Save Manager, Renaming Slot 47 - '%Slot47Name%', , 220, 130
	if ErrorLevel
	Slot47Name = %StoredName%
}	

if(currentslot == 48)
{
	StoredName = %Slot48Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot48Name, Noita Save Manager, Renaming Slot 48 - '%Slot48Name%', , 220, 130
	if ErrorLevel
	Slot48Name = %StoredName%
}	

if(currentslot == 49)
{
	StoredName = %Slot49Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot49Name, Noita Save Manager, Renaming Slot 49 - '%Slot49Name%', , 220, 130
	if ErrorLevel
	Slot49Name = %StoredName%
}	

if(currentslot == 50)
{
	StoredName = %Slot50Name%
	Gui +LastFound +OwnDialogs +AlwaysOnTop
	InputBox, Slot50Name, Noita Save Manager, Renaming Slot 50 - '%Slot50Name%', , 220, 130
	if ErrorLevel
	Slot50Name = %StoredName%
}	

SaveData()
LoadData()
}
	
DeleteSlot()
{
	EnvGet, saveDir3, AppData
    saveDir3 := StrReplace(saveDir3, "Roaming", "LocalLow\Nolla_Games_Noita\")
	
	IfExist , %saveDir3%\..\Nolla_Games_Noita\save_backup_%currentslot%
	Msgbox, 4,Noita Save Manager, !WARNING! !WARNING! !WARNING! !WARNING!`n`nThis will DELETE the save in Slot %currentslot% - Continue?
		IfMsgBox No
		return
		else
		
	IfExist , %saveDir3%\..\Nolla_Games_Noita\save_backup_%currentslot%
	Msgbox, 4,Noita Save Manager, !WARNING! !WARNING! !WARNING! !WARNING!`n`nThis will DELETE the save in Slot %currentslot% - Continue?`n`nAre you sure? (This action cannot be undone)
		IfMsgBox No
		return
		else
	
	IfExist , %saveDir3%\..\Nolla_Games_Noita\save_backup_%currentslot%
		Slot%currentslot%Name = Slot %currentslot%
		DateTime = No Save
	SaveData()
	LoadData()
	
	
	IfExist , %saveDir3%\..\Nolla_Games_Noita\save_backup_%currentslot%
        FileRemoveDir, %saveDir3%\..\Nolla_Games_Noita\save_backup_%currentslot%, true
}

SaveData()
{
SetWorkingDir %A_ScriptDir%	

IniRead, SAVELOAD_HOTKEY, NoitaSaveManager.ini, Hotkeys, SAVELOAD_HOTKEY, 0
Loop, 1
{
     CUSTOM_SAVELOAD_HOTKEY = %SAVELOAD_HOTKEY%
	 if(SAVELOAD_HOTKEY == 0){
	 SAVELOAD_HOTKEY = F5
	 }
}
IniWrite, %SAVELOAD_HOTKEY%, NoitaSaveManager.ini, Hotkeys, SAVELOAD_HOTKEY

IniRead, EXIT_HOTKEY, NoitaSaveManager.ini, Hotkeys, EXIT_HOTKEY, 0
Loop, 1
{
     CUSTOM_EXIT_HOTKEY = %EXIT_HOTKEY%
	 if(EXIT_HOTKEY == 0){
	 EXIT_HOTKEY = ESC
	 }
}
IniWrite, %EXIT_HOTKEY%, NoitaSaveManager.ini, Hotkeys, EXIT_HOTKEY

IniRead, hasEnabledReplayRecorder, NoitaSaveManager.ini, Settings, hasEnabledReplayRecorder, 0
Loop, 1
{
     hasEnabledReplayRecorder = %ihasEnabledReplayRecorder%
}
IniWrite, %ihasEnabledReplayRecorder%, NoitaSaveManager.ini, Settings, hasEnabledReplayRecorder

if(currentslot == 0 || currentslot == "" && GUIstarted == 1)
{
	Gui +LastFound +OwnDialogs +AlwaysOnTop
    Msgbox, 0, Noita Save Manager, Save slot not selected, The game will resume last session.
	global SkipSave = 1
	return
}	

if(currentslot == 1)
{
IniRead, SLOT_1, NoitaSaveManager.ini, Saves, SLOT_1, 0
Loop, 1
{
     SLOT_1 = "%Slot1Name% (%DateTime%)"
	 if(SLOT_1 == 0){
	 SLOT_1 = Slot 1 (No Save)
	 }
}
IniWrite, %SLOT_1%, NoitaSaveManager.ini, Saves, SLOT_1
}

if(currentslot == 2)
{
IniRead, SLOT_2, NoitaSaveManager.ini, Saves, SLOT_2, 0
Loop, 1
{
     SLOT_2 = "%Slot2Name% (%DateTime%)"
	 if(SLOT_2 == 0){
	 SLOT_2 = Slot 2 (No Save)
	 }
}
IniWrite, %SLOT_2%, NoitaSaveManager.ini, Saves, SLOT_2
}

if(currentslot == 3)
{
IniRead, SLOT_3, NoitaSaveManager.ini, Saves, SLOT_3, 0
Loop, 1
{
     SLOT_3 = "%Slot3Name% (%DateTime%)"
	 if(SLOT_3 == 0){
	 SLOT_3 = Slot 3 (No Save)
	 }
}
IniWrite, %SLOT_3%, NoitaSaveManager.ini, Saves, SLOT_3
}

if(currentslot == 4)
{
IniRead, SLOT_4, NoitaSaveManager.ini, Saves, SLOT_4, 0
Loop, 1
{
     SLOT_4 = "%Slot4Name% (%DateTime%)"
	 if(SLOT_4 == 0){
	 SLOT_4 = Slot 4 (No Save)
	 }
}
IniWrite, %SLOT_4%, NoitaSaveManager.ini, Saves, SLOT_4
}

if(currentslot == 5)
{
IniRead, SLOT_5, NoitaSaveManager.ini, Saves, SLOT_5, 0
Loop, 1
{
     SLOT_5 = "%Slot5Name% (%DateTime%)"
	 if(SLOT_5 == 0){
	 SLOT_5 = Slot 5 (No Save)
	 }
}
IniWrite, %SLOT_5%, NoitaSaveManager.ini, Saves, SLOT_5
}

if(currentslot == 6)
{
IniRead, SLOT_6, NoitaSaveManager.ini, Saves, SLOT_6, 0
Loop, 1
{
     SLOT_6 = "%Slot6Name% (%DateTime%)"
	 if(SLOT_6 == 0){
	 SLOT_6 = Slot 6 (No Save)
	 }
}
IniWrite, %SLOT_6%, NoitaSaveManager.ini, Saves, SLOT_6
}

if(currentslot == 7)
{
IniRead, SLOT_7, NoitaSaveManager.ini, Saves, SLOT_7, 0
Loop, 1
{
     SLOT_7 = "%Slot7Name% (%DateTime%)"
	 if(SLOT_7 == 0){
	 SLOT_7 = Slot 7 (No Save)
	 }
}
IniWrite, %SLOT_7%, NoitaSaveManager.ini, Saves, SLOT_7
}

if(currentslot == 8)
{
IniRead, SLOT_8, NoitaSaveManager.ini, Saves, SLOT_8, 0
Loop, 1
{
     SLOT_8 = "%Slot8Name% (%DateTime%)"
	 if(SLOT_8 == 0){
	 SLOT_8 = Slot 8 (No Save)
	 }
}
IniWrite, %SLOT_8%, NoitaSaveManager.ini, Saves, SLOT_8
}

if(currentslot == 9)
{
IniRead, SLOT_9, NoitaSaveManager.ini, Saves, SLOT_9, 0
Loop, 1
{
     SLOT_9 = "%Slot9Name% (%DateTime%)"
	 if(SLOT_9 == 0){
	 SLOT_9 = Slot 9 (No Save)
	 }
}
IniWrite, %SLOT_9%, NoitaSaveManager.ini, Saves, SLOT_9
}

if(currentslot == 10)
{
IniRead, SLOT_10, NoitaSaveManager.ini, Saves, SLOT_10, 0
Loop, 1
{
     SLOT_10 = "%Slot10Name% (%DateTime%)"
	 if(SLOT_10 == 0){
	 SLOT_10 = Slot 10 (No Save)
	 }
}
IniWrite, %SLOT_10%, NoitaSaveManager.ini, Saves, SLOT_10
}

if(currentslot == 11)
{
IniRead, SLOT_11, NoitaSaveManager.ini, Saves, SLOT_11, 0
Loop, 1
{
     SLOT_11 = "%Slot11Name% (%DateTime%)"
	 if(SLOT_11 == 0){
	 SLOT_11 = Slot 11 (No Save)
	 }
}
IniWrite, %SLOT_11%, NoitaSaveManager.ini, Saves, SLOT_11
}

if(currentslot == 12)
{
IniRead, SLOT_12, NoitaSaveManager.ini, Saves, SLOT_12, 0
Loop, 1
{
     SLOT_12 = "%Slot12Name% (%DateTime%)"
	 if(SLOT_12 == 0){
	 SLOT_12 = Slot 12 (No Save)
	 }
}
IniWrite, %SLOT_12%, NoitaSaveManager.ini, Saves, SLOT_12
}

if(currentslot == 13)
{
IniRead, SLOT_13, NoitaSaveManager.ini, Saves, SLOT_13, 0
Loop, 1
{
     SLOT_13 = "%Slot13Name% (%DateTime%)"
	 if(SLOT_13 == 0){
	 SLOT_13 = Slot 13 (No Save)
	 }
}
IniWrite, %SLOT_13%, NoitaSaveManager.ini, Saves, SLOT_13
}

if(currentslot == 14)
{
IniRead, SLOT_14, NoitaSaveManager.ini, Saves, SLOT_14, 0
Loop, 1
{
     SLOT_14 = "%Slot14Name% (%DateTime%)"
	 if(SLOT_14 == 0){
	 SLOT_14 = Slot 14 (No Save)
	 }
}
IniWrite, %SLOT_14%, NoitaSaveManager.ini, Saves, SLOT_14
}

if(currentslot == 15)
{
IniRead, SLOT_15, NoitaSaveManager.ini, Saves, SLOT_15, 0
Loop, 1
{
     SLOT_15 = "%Slot15Name% (%DateTime%)"
	 if(SLOT_15 == 0){
	 SLOT_15 = Slot 15 (No Save)
	 }
}
IniWrite, %SLOT_15%, NoitaSaveManager.ini, Saves, SLOT_15
}

if(currentslot == 16)
{
IniRead, SLOT_16, NoitaSaveManager.ini, Saves, SLOT_16, 0
Loop, 1
{
     SLOT_16 = "%Slot16Name% (%DateTime%)"
	 if(SLOT_16 == 0){
	 SLOT_16 = Slot 16 (No Save)
	 }
}
IniWrite, %SLOT_16%, NoitaSaveManager.ini, Saves, SLOT_16
}

if(currentslot == 17)
{
IniRead, SLOT_17, NoitaSaveManager.ini, Saves, SLOT_17, 0
Loop, 1
{
     SLOT_17 = "%Slot17Name% (%DateTime%)"
	 if(SLOT_17 == 0){
	 SLOT_17 = Slot 17 (No Save)
	 }
}
IniWrite, %SLOT_17%, NoitaSaveManager.ini, Saves, SLOT_17
}

if(currentslot == 18)
{
IniRead, SLOT_18, NoitaSaveManager.ini, Saves, SLOT_18, 0
Loop, 1
{
     SLOT_18 = "%Slot18Name% (%DateTime%)"
	 if(SLOT_18 == 0){
	 SLOT_18 = Slot 18 (No Save)
	 }
}
IniWrite, %SLOT_18%, NoitaSaveManager.ini, Saves, SLOT_18
}

if(currentslot == 19)
{
IniRead, SLOT_19, NoitaSaveManager.ini, Saves, SLOT_19, 0
Loop, 1
{
     SLOT_19 = "%Slot19Name% (%DateTime%)"
	 if(SLOT_19 == 0){
	 SLOT_19 = Slot 19 (No Save)
	 }
}
IniWrite, %SLOT_19%, NoitaSaveManager.ini, Saves, SLOT_19
}

if(currentslot == 20)
{
IniRead, SLOT_20, NoitaSaveManager.ini, Saves, SLOT_20, 0
Loop, 1
{
     SLOT_20 = "%Slot20Name% (%DateTime%)"
	 if(SLOT_20 == 0){
	 SLOT_20 = Slot 20 (No Save)
	 }
}
IniWrite, %SLOT_20%, NoitaSaveManager.ini, Saves, SLOT_20
}

if(currentslot == 21)
{
IniRead, SLOT_21, NoitaSaveManager.ini, Saves, SLOT_21, 0
Loop, 1
{
     SLOT_21 = "%Slot21Name% (%DateTime%)"
	 if(SLOT_21 == 0){
	 SLOT_21 = Slot 21 (No Save)
	 }
}
IniWrite, %SLOT_21%, NoitaSaveManager.ini, Saves, SLOT_21
}

if(currentslot == 22)
{
IniRead, SLOT_22, NoitaSaveManager.ini, Saves, SLOT_22, 0
Loop, 1
{
     SLOT_22 = "%Slot22Name% (%DateTime%)"
	 if(SLOT_22 == 0){
	 SLOT_22 = Slot 22 (No Save)
	 }
}
IniWrite, %SLOT_22%, NoitaSaveManager.ini, Saves, SLOT_22
}

if(currentslot == 23)
{
IniRead, SLOT_23, NoitaSaveManager.ini, Saves, SLOT_23, 0
Loop, 1
{
     SLOT_23 = "%Slot23Name% (%DateTime%)"
	 if(SLOT_23 == 0){
	 SLOT_23 = Slot 23 (No Save)
	 }
}
IniWrite, %SLOT_23%, NoitaSaveManager.ini, Saves, SLOT_23
}

if(currentslot == 24)
{
IniRead, SLOT_24, NoitaSaveManager.ini, Saves, SLOT_24, 0
Loop, 1
{
     SLOT_24 = "%Slot24Name% (%DateTime%)"
	 if(SLOT_24 == 0){
	 SLOT_24 = Slot 24 (No Save)
	 }
}
IniWrite, %SLOT_24%, NoitaSaveManager.ini, Saves, SLOT_24
}

if(currentslot == 25)
{
IniRead, SLOT_25, NoitaSaveManager.ini, Saves, SLOT_25, 0
Loop, 1
{
     SLOT_25 = "%Slot25Name% (%DateTime%)"
	 if(SLOT_25 == 0){
	 SLOT_25 = Slot 25 (No Save)
	 }
}
IniWrite, %SLOT_25%, NoitaSaveManager.ini, Saves, SLOT_25
}

if(currentslot == 26)
{
IniRead, SLOT_26, NoitaSaveManager.ini, Saves, SLOT_26, 0
Loop, 1
{
     SLOT_26 = "%Slot26Name% (%DateTime%)"
	 if(SLOT_26 == 0){
	 SLOT_26 = Slot 26 (No Save)
	 }
}
IniWrite, %SLOT_26%, NoitaSaveManager.ini, Saves, SLOT_26
}

if(currentslot == 27)
{
IniRead, SLOT_27, NoitaSaveManager.ini, Saves, SLOT_27, 0
Loop, 1
{
     SLOT_27 = "%Slot27Name% (%DateTime%)"
	 if(SLOT_27 == 0){
	 SLOT_27 = Slot 27 (No Save)
	 }
}
IniWrite, %SLOT_27%, NoitaSaveManager.ini, Saves, SLOT_27
}

if(currentslot == 28)
{
IniRead, SLOT_28, NoitaSaveManager.ini, Saves, SLOT_28, 0
Loop, 1
{
     SLOT_28 = "%Slot28Name% (%DateTime%)"
	 if(SLOT_28 == 0){
	 SLOT_28 = Slot 28 (No Save)
	 }
}
IniWrite, %SLOT_28%, NoitaSaveManager.ini, Saves, SLOT_28
}

if(currentslot == 29)
{
IniRead, SLOT_29, NoitaSaveManager.ini, Saves, SLOT_29, 0
Loop, 1
{
     SLOT_29 = "%Slot29Name% (%DateTime%)"
	 if(SLOT_29 == 0){
	 SLOT_29 = Slot 29 (No Save)
	 }
}
IniWrite, %SLOT_29%, NoitaSaveManager.ini, Saves, SLOT_29
}

if(currentslot == 30)
{
IniRead, SLOT_30, NoitaSaveManager.ini, Saves, SLOT_30, 0
Loop, 1
{
     SLOT_30 = "%Slot30Name% (%DateTime%)"
	 if(SLOT_30 == 0){
	 SLOT_30 = Slot 30 (No Save)
	 }
}
IniWrite, %SLOT_30%, NoitaSaveManager.ini, Saves, SLOT_30
}

if(currentslot == 31)
{
IniRead, SLOT_31, NoitaSaveManager.ini, Saves, SLOT_31, 0
Loop, 1
{
     SLOT_31 = "%Slot31Name% (%DateTime%)"
	 if(SLOT_31 == 0){
	 SLOT_31 = Slot 31 (No Save)
	 }
}
IniWrite, %SLOT_31%, NoitaSaveManager.ini, Saves, SLOT_31
}

if(currentslot == 32)
{
IniRead, SLOT_32, NoitaSaveManager.ini, Saves, SLOT_32, 0
Loop, 1
{
     SLOT_32 = "%Slot32Name% (%DateTime%)"
	 if(SLOT_32 == 0){
	 SLOT_32 = Slot 32 (No Save)
	 }
}
IniWrite, %SLOT_32%, NoitaSaveManager.ini, Saves, SLOT_32
}

if(currentslot == 33)
{
IniRead, SLOT_33, NoitaSaveManager.ini, Saves, SLOT_33, 0
Loop, 1
{
     SLOT_33 = "%Slot33Name% (%DateTime%)"
	 if(SLOT_33 == 0){
	 SLOT_33 = Slot 33 (No Save)
	 }
}
IniWrite, %SLOT_33%, NoitaSaveManager.ini, Saves, SLOT_33
}

if(currentslot == 34)
{
IniRead, SLOT_34, NoitaSaveManager.ini, Saves, SLOT_34, 0
Loop, 1
{
     SLOT_34 = "%Slot34Name% (%DateTime%)"
	 if(SLOT_34 == 0){
	 SLOT_34 = Slot 34 (No Save)
	 }
}
IniWrite, %SLOT_34%, NoitaSaveManager.ini, Saves, SLOT_34
}

if(currentslot == 35)
{
IniRead, SLOT_35, NoitaSaveManager.ini, Saves, SLOT_35, 0
Loop, 1
{
     SLOT_35 = "%Slot35Name% (%DateTime%)"
	 if(SLOT_35 == 0){
	 SLOT_35 = Slot 35 (No Save)
	 }
}
IniWrite, %SLOT_35%, NoitaSaveManager.ini, Saves, SLOT_35
}

if(currentslot == 36)
{
IniRead, SLOT_36, NoitaSaveManager.ini, Saves, SLOT_36, 0
Loop, 1
{
     SLOT_36 = "%Slot36Name% (%DateTime%)"
	 if(SLOT_36 == 0){
	 SLOT_36 = Slot 36 (No Save)
	 }
}
IniWrite, %SLOT_36%, NoitaSaveManager.ini, Saves, SLOT_36
}

if(currentslot == 37)
{
IniRead, SLOT_37, NoitaSaveManager.ini, Saves, SLOT_37, 0
Loop, 1
{
     SLOT_37 = "%Slot37Name% (%DateTime%)"
	 if(SLOT_37 == 0){
	 SLOT_37 = Slot 37 (No Save)
	 }
}
IniWrite, %SLOT_37%, NoitaSaveManager.ini, Saves, SLOT_37
}

if(currentslot == 38)
{
IniRead, SLOT_38, NoitaSaveManager.ini, Saves, SLOT_38, 0
Loop, 1
{
     SLOT_38 = "%Slot38Name% (%DateTime%)"
	 if(SLOT_38 == 0){
	 SLOT_38 = Slot 38 (No Save)
	 }
}
IniWrite, %SLOT_38%, NoitaSaveManager.ini, Saves, SLOT_38
}

if(currentslot == 39)
{
IniRead, SLOT_39, NoitaSaveManager.ini, Saves, SLOT_39, 0
Loop, 1
{
     SLOT_39 = "%Slot39Name% (%DateTime%)"
	 if(SLOT_39 == 0){
	 SLOT_39 = Slot 39 (No Save)
	 }
}
IniWrite, %SLOT_39%, NoitaSaveManager.ini, Saves, SLOT_39
}

if(currentslot == 40)
{
IniRead, SLOT_40, NoitaSaveManager.ini, Saves, SLOT_40, 0
Loop, 1
{
     SLOT_40 = "%Slot40Name% (%DateTime%)"
	 if(SLOT_40 == 0){
	 SLOT_40 = Slot 40 (No Save)
	 }
}
IniWrite, %SLOT_40%, NoitaSaveManager.ini, Saves, SLOT_40
}

if(currentslot == 41)
{
IniRead, SLOT_41, NoitaSaveManager.ini, Saves, SLOT_41, 0
Loop, 1
{
     SLOT_41 = "%Slot41Name% (%DateTime%)"
	 if(SLOT_41 == 0){
	 SLOT_41 = Slot 41 (No Save)
	 }
}
IniWrite, %SLOT_41%, NoitaSaveManager.ini, Saves, SLOT_41
}

if(currentslot == 42)
{
IniRead, SLOT_42, NoitaSaveManager.ini, Saves, SLOT_42, 0
Loop, 1
{
     SLOT_42 = "%Slot42Name% (%DateTime%)"
	 if(SLOT_42 == 0){
	 SLOT_42 = Slot 42 (No Save)
	 }
}
IniWrite, %SLOT_42%, NoitaSaveManager.ini, Saves, SLOT_42
}

if(currentslot == 43)
{
IniRead, SLOT_43, NoitaSaveManager.ini, Saves, SLOT_43, 0
Loop, 1
{
     SLOT_43 = "%Slot43Name% (%DateTime%)"
	 if(SLOT_43 == 0){
	 SLOT_43 = Slot 43 (No Save)
	 }
}
IniWrite, %SLOT_43%, NoitaSaveManager.ini, Saves, SLOT_43
}

if(currentslot == 44)
{
IniRead, SLOT_44, NoitaSaveManager.ini, Saves, SLOT_44, 0
Loop, 1
{
     SLOT_44 = "%Slot44Name% (%DateTime%)"
	 if(SLOT_44 == 0){
	 SLOT_44 = Slot 44 (No Save)
	 }
}
IniWrite, %SLOT_44%, NoitaSaveManager.ini, Saves, SLOT_44
}

if(currentslot == 45)
{
IniRead, SLOT_45, NoitaSaveManager.ini, Saves, SLOT_45, 0
Loop, 1
{
     SLOT_45 = "%Slot45Name% (%DateTime%)"
	 if(SLOT_45 == 0){
	 SLOT_45 = Slot 45 (No Save)
	 }
}
IniWrite, %SLOT_45%, NoitaSaveManager.ini, Saves, SLOT_45
}

if(currentslot == 46)
{
IniRead, SLOT_46, NoitaSaveManager.ini, Saves, SLOT_46, 0
Loop, 1
{
     SLOT_46 = "%Slot46Name% (%DateTime%)"
	 if(SLOT_46 == 0){
	 SLOT_46 = Slot 46 (No Save)
	 }
}
IniWrite, %SLOT_46%, NoitaSaveManager.ini, Saves, SLOT_46
}

if(currentslot == 47)
{
IniRead, SLOT_47, NoitaSaveManager.ini, Saves, SLOT_47, 0
Loop, 1
{
     SLOT_47 = "%Slot47Name% (%DateTime%)"
	 if(SLOT_47 == 0){
	 SLOT_47 = Slot 47 (No Save)
	 }
}
IniWrite, %SLOT_47%, NoitaSaveManager.ini, Saves, SLOT_47
}

if(currentslot == 48)
{
IniRead, SLOT_48, NoitaSaveManager.ini, Saves, SLOT_48, 0
Loop, 1
{
     SLOT_48 = "%Slot48Name% (%DateTime%)"
	 if(SLOT_48 == 0){
	 SLOT_48 = Slot 48 (No Save)
	 }
}
IniWrite, %SLOT_48%, NoitaSaveManager.ini, Saves, SLOT_48
}

if(currentslot == 49)
{
IniRead, SLOT_49, NoitaSaveManager.ini, Saves, SLOT_49, 0
Loop, 1
{
     SLOT_49 = "%Slot49Name% (%DateTime%)"
	 if(SLOT_49 == 0){
	 SLOT_49 = Slot 49 (No Save)
	 }
}
IniWrite, %SLOT_49%, NoitaSaveManager.ini, Saves, SLOT_49
}

if(currentslot == 50)
{
IniRead, SLOT_50, NoitaSaveManager.ini, Saves, SLOT_50, 0
Loop, 1
{
     SLOT_50 = "%Slot50Name% (%DateTime%)"
	 if(SLOT_50 == 0){
	 SLOT_50 = Slot 50 (No Save)
	 }
}
IniWrite, %SLOT_50%, NoitaSaveManager.ini, Saves, SLOT_50
}

}

LoadData()
{
SetWorkingDir %A_ScriptDir%

IniRead, SAVELOAD_HOTKEY, NoitaSaveManager.ini, Hotkeys, SAVELOAD_HOTKEY, 0
Loop, 1
{
    CUSTOM_SAVELOAD_HOTKEY = %SAVELOAD_HOTKEY%
	Hotkey, ~%CUSTOM_SAVELOAD_HOTKEY% , SAVELOAD_HOTKEY , On
}

IniRead, EXIT_HOTKEY, NoitaSaveManager.ini, Hotkeys, EXIT_HOTKEY, 0
Loop, 1
{
    CUSTOM_EXIT_HOTKEY = %EXIT_HOTKEY%
	Hotkey, ~%CUSTOM_EXIT_HOTKEY% , EXIT_HOTKEY , On
}

IniRead, hasEnabledReplayRecorder, NoitaSaveManager.ini, Settings, hasEnabledReplayRecorder, 0
Loop, 1
{
    ihasEnabledReplayRecorder = %hasEnabledReplayRecorder%
}

IniRead, SLOT_1, NoitaSaveManager.ini, Saves, SLOT_1, 0
Loop, 1
{
	 if(SLOT_1 == 0){
	 SLOT_1 = Slot 1 (No Save)
	 }
    Slot1 = %SLOT_1%
}

IniRead, SLOT_2, NoitaSaveManager.ini, Saves, SLOT_2, 0
Loop, 1
{
	 if(SLOT_2 == 0){
	 SLOT_2 = Slot 2 (No Save)
	 }
    Slot2 = %SLOT_2%
}

IniRead, SLOT_3, NoitaSaveManager.ini, Saves, SLOT_3, 0
Loop, 1
{
	 if(SLOT_3 == 0){
	 SLOT_3 = Slot 3 (No Save)
	 }
    Slot3 = %SLOT_3%
}

IniRead, SLOT_4, NoitaSaveManager.ini, Saves, SLOT_4, 0
Loop, 1
{
	 if(SLOT_4 == 0){
	 SLOT_4 = Slot 4 (No Save)
	 }
    Slot4 = %SLOT_4%
}

IniRead, SLOT_5, NoitaSaveManager.ini, Saves, SLOT_5, 0
Loop, 1
{
	 if(SLOT_5 == 0){
	 SLOT_5 = Slot 5 (No Save)
	 }
    Slot5 = %SLOT_5%
}

IniRead, SLOT_6, NoitaSaveManager.ini, Saves, SLOT_6, 0
Loop, 1
{
	 if(SLOT_6 == 0){
	 SLOT_6 = Slot 6 (No Save)
	 }
    Slot6 = %SLOT_6%
}

IniRead, SLOT_7, NoitaSaveManager.ini, Saves, SLOT_7, 0
Loop, 1
{
	 if(SLOT_7 == 0){
	 SLOT_7 = Slot 7 (No Save)
	 }
    Slot7 = %SLOT_7%
}

IniRead, SLOT_8, NoitaSaveManager.ini, Saves, SLOT_8, 0
Loop, 1
{
	 if(SLOT_8 == 0){
	 SLOT_8 = Slot 8 (No Save)
	 }
    Slot8 = %SLOT_8%
}

IniRead, SLOT_9, NoitaSaveManager.ini, Saves, SLOT_9, 0
Loop, 1
{
	 if(SLOT_9 == 0){
	 SLOT_9 = Slot 9 (No Save)
	 }
    Slot9 = %SLOT_9%
}

IniRead, SLOT_10, NoitaSaveManager.ini, Saves, SLOT_10, 0
Loop, 1
{
	 if(SLOT_10 == 0){
	 SLOT_10 = Slot 10 (No Save)
	 }
    Slot10 = %SLOT_10%
}

IniRead, SLOT_11, NoitaSaveManager.ini, Saves, SLOT_11, 0
Loop, 1
{
	 if(SLOT_11 == 0){
	 SLOT_11 = Slot 11 (No Save)
	 }
    Slot11 = %SLOT_11%
}

IniRead, SLOT_12, NoitaSaveManager.ini, Saves, SLOT_12, 0
Loop, 1
{
	 if(SLOT_12 == 0){
	 SLOT_12 = Slot 12 (No Save)
	 }
    Slot12 = %SLOT_12%
}

IniRead, SLOT_13, NoitaSaveManager.ini, Saves, SLOT_13, 0
Loop, 1
{
	 if(SLOT_13 == 0){
	 SLOT_13 = Slot 13 (No Save)
	 }
    Slot13 = %SLOT_13%
}

IniRead, SLOT_14, NoitaSaveManager.ini, Saves, SLOT_14, 0
Loop, 1
{
	 if(SLOT_14 == 0){
	 SLOT_14 = Slot 14 (No Save)
	 }
    Slot14 = %SLOT_14%
}

IniRead, SLOT_15, NoitaSaveManager.ini, Saves, SLOT_15, 0
Loop, 1
{
	 if(SLOT_15 == 0){
	 SLOT_15 = Slot 15 (No Save)
	 }
    Slot15 = %SLOT_15%
}

IniRead, SLOT_16, NoitaSaveManager.ini, Saves, SLOT_16, 0
Loop, 1
{
	 if(SLOT_16 == 0){
	 SLOT_16 = Slot 16 (No Save)
	 }
    Slot16 = %SLOT_16%
}

IniRead, SLOT_17, NoitaSaveManager.ini, Saves, SLOT_17, 0
Loop, 1
{
	 if(SLOT_17 == 0){
	 SLOT_17 = Slot 17 (No Save)
	 }
    Slot17 = %SLOT_17%
}

IniRead, SLOT_18, NoitaSaveManager.ini, Saves, SLOT_18, 0
Loop, 1
{
	 if(SLOT_18 == 0){
	 SLOT_18 = Slot 18 (No Save)
	 }
    Slot18 = %SLOT_18%
}

IniRead, SLOT_19, NoitaSaveManager.ini, Saves, SLOT_19, 0
Loop, 1
{
	 if(SLOT_19 == 0){
	 SLOT_19 = Slot 19 (No Save)
	 }
    Slot19 = %SLOT_19%
}

IniRead, SLOT_20, NoitaSaveManager.ini, Saves, SLOT_20, 0
Loop, 1
{
	 if(SLOT_20 == 0){
	 SLOT_20 = Slot 20 (No Save)
	 }
    Slot20 = %SLOT_20%
}

IniRead, SLOT_21, NoitaSaveManager.ini, Saves, SLOT_21, 0
Loop, 1
{
	 if(SLOT_21 == 0){
	 SLOT_21 = Slot 21 (No Save)
	 }
    Slot21 = %SLOT_21%
}

IniRead, SLOT_22, NoitaSaveManager.ini, Saves, SLOT_22, 0
Loop, 1
{
	 if(SLOT_22 == 0){
	 SLOT_22 = Slot 22 (No Save)
	 }
    Slot22 = %SLOT_22%
}

IniRead, SLOT_23, NoitaSaveManager.ini, Saves, SLOT_23, 0
Loop, 1
{
	 if(SLOT_23 == 0){
	 SLOT_23 = Slot 23 (No Save)
	 }
    Slot23 = %SLOT_23%
}

IniRead, SLOT_24, NoitaSaveManager.ini, Saves, SLOT_24, 0
Loop, 1
{
	 if(SLOT_24 == 0){
	 SLOT_24 = Slot 24 (No Save)
	 }
    Slot24 = %SLOT_24%
}

IniRead, SLOT_25, NoitaSaveManager.ini, Saves, SLOT_25, 0
Loop, 1
{
	 if(SLOT_25 == 0){
	 SLOT_25 = Slot 25 (No Save)
	 }
    Slot25 = %SLOT_25%
}

IniRead, SLOT_26, NoitaSaveManager.ini, Saves, SLOT_26, 0
Loop, 1
{
	 if(SLOT_26 == 0){
	 SLOT_26 = Slot 26 (No Save)
	 }
    Slot26 = %SLOT_26%
}

IniRead, SLOT_27, NoitaSaveManager.ini, Saves, SLOT_27, 0
Loop, 1
{
	 if(SLOT_27 == 0){
	 SLOT_27 = Slot 27 (No Save)
	 }
    Slot27 = %SLOT_27%
}

IniRead, SLOT_28, NoitaSaveManager.ini, Saves, SLOT_28, 0
Loop, 1
{
	 if(SLOT_28 == 0){
	 SLOT_28 = Slot 28 (No Save)
	 }
    Slot28 = %SLOT_28%
}

IniRead, SLOT_29, NoitaSaveManager.ini, Saves, SLOT_29, 0
Loop, 1
{
	 if(SLOT_29 == 0){
	 SLOT_29 = Slot 29 (No Save)
	 }
    Slot29 = %SLOT_29%
}

IniRead, SLOT_30, NoitaSaveManager.ini, Saves, SLOT_30, 0
Loop, 1
{
	 if(SLOT_30 == 0){
	 SLOT_30 = Slot 30 (No Save)
	 }
    Slot30 = %SLOT_30%
}

IniRead, SLOT_31, NoitaSaveManager.ini, Saves, SLOT_31, 0
Loop, 1
{
	 if(SLOT_31 == 0){
	 SLOT_31 = Slot 31 (No Save)
	 }
    Slot31 = %SLOT_31%
}

IniRead, SLOT_32, NoitaSaveManager.ini, Saves, SLOT_32, 0
Loop, 1
{
	 if(SLOT_32 == 0){
	 SLOT_32 = Slot 32 (No Save)
	 }
    Slot32 = %SLOT_32%
}

IniRead, SLOT_33, NoitaSaveManager.ini, Saves, SLOT_33, 0
Loop, 1
{
	 if(SLOT_33 == 0){
	 SLOT_33 = Slot 33 (No Save)
	 }
    Slot33 = %SLOT_33%
}

IniRead, SLOT_34, NoitaSaveManager.ini, Saves, SLOT_34, 0
Loop, 1
{
	 if(SLOT_34 == 0){
	 SLOT_34 = Slot 34 (No Save)
	 }
    Slot34 = %SLOT_34%
}

IniRead, SLOT_35, NoitaSaveManager.ini, Saves, SLOT_35, 0
Loop, 1
{
	 if(SLOT_35 == 0){
	 SLOT_35 = Slot 35 (No Save)
	 }
    Slot35 = %SLOT_35%
}

IniRead, SLOT_36, NoitaSaveManager.ini, Saves, SLOT_36, 0
Loop, 1
{
	 if(SLOT_36 == 0){
	 SLOT_36 = Slot 36 (No Save)
	 }
    Slot36 = %SLOT_36%
}

IniRead, SLOT_37, NoitaSaveManager.ini, Saves, SLOT_37, 0
Loop, 1
{
	 if(SLOT_37 == 0){
	 SLOT_37 = Slot 37 (No Save)
	 }
    Slot37 = %SLOT_37%
}

IniRead, SLOT_38, NoitaSaveManager.ini, Saves, SLOT_38, 0
Loop, 1
{
	 if(SLOT_38 == 0){
	 SLOT_38 = Slot 38 (No Save)
	 }
    Slot38 = %SLOT_38%
}

IniRead, SLOT_39, NoitaSaveManager.ini, Saves, SLOT_39, 0
Loop, 1
{
	 if(SLOT_39 == 0){
	 SLOT_39 = Slot 39 (No Save)
	 }
    Slot39 = %SLOT_39%
}

IniRead, SLOT_40, NoitaSaveManager.ini, Saves, SLOT_40, 0
Loop, 1
{
	 if(SLOT_40 == 0){
	 SLOT_40 = Slot 40 (No Save)
	 }
    Slot40 = %SLOT_40%
}

IniRead, SLOT_41, NoitaSaveManager.ini, Saves, SLOT_41, 0
Loop, 1
{
	 if(SLOT_41 == 0){
	 SLOT_41 = Slot 41 (No Save)
	 }
    Slot41 = %SLOT_41%
}

IniRead, SLOT_42, NoitaSaveManager.ini, Saves, SLOT_42, 0
Loop, 1
{
	 if(SLOT_42 == 0){
	 SLOT_42 = Slot 42 (No Save)
	 }
    Slot42 = %SLOT_42%
}

IniRead, SLOT_43, NoitaSaveManager.ini, Saves, SLOT_43, 0
Loop, 1
{
	 if(SLOT_43 == 0){
	 SLOT_43 = Slot 43 (No Save)
	 }
    Slot43 = %SLOT_43%
}

IniRead, SLOT_44, NoitaSaveManager.ini, Saves, SLOT_44, 0
Loop, 1
{
	 if(SLOT_44 == 0){
	 SLOT_44 = Slot 44 (No Save)
	 }
    Slot44 = %SLOT_44%
}

IniRead, SLOT_45, NoitaSaveManager.ini, Saves, SLOT_45, 0
Loop, 1
{
	 if(SLOT_45 == 0){
	 SLOT_45 = Slot 45 (No Save)
	 }
    Slot45 = %SLOT_45%
}

IniRead, SLOT_46, NoitaSaveManager.ini, Saves, SLOT_46, 0
Loop, 1
{
	 if(SLOT_46 == 0){
	 SLOT_46 = Slot 46 (No Save)
	 }
    Slot46 = %SLOT_46%
}

IniRead, SLOT_47, NoitaSaveManager.ini, Saves, SLOT_47, 0
Loop, 1
{
	 if(SLOT_47 == 0){
	 SLOT_47 = Slot 47 (No Save)
	 }
    Slot47 = %SLOT_47%
}

IniRead, SLOT_48, NoitaSaveManager.ini, Saves, SLOT_48, 0
Loop, 1
{
	 if(SLOT_48 == 0){
	 SLOT_48 = Slot 48 (No Save)
	 }
    Slot48 = %SLOT_48%
}

IniRead, SLOT_49, NoitaSaveManager.ini, Saves, SLOT_49, 0
Loop, 1
{
	 if(SLOT_49 == 0){
	 SLOT_49 = Slot 49 (No Save)
	 }
    Slot49 = %SLOT_49%
}

IniRead, SLOT_50, NoitaSaveManager.ini, Saves, SLOT_50, 0
Loop, 1
{
	 if(SLOT_50 == 0){
	 SLOT_50 = Slot 50 (No Save)
	 }
    Slot50 = %SLOT_50%
}

}
Editor is loading...
Leave a Comment