mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2024-11-14 21:37:42 -07:00
misc things
This commit is contained in:
parent
8b4ba2d8b9
commit
6e1209dd32
@ -81,6 +81,8 @@ char ROMPath[1024];
|
||||
char SRAMPath[1024];
|
||||
char PrevSRAMPath[1024]; // for savestate 'undo load'
|
||||
|
||||
bool SavestateLoaded;
|
||||
|
||||
bool ScreenDrawInited = false;
|
||||
uiDrawBitmap* ScreenBitmap = NULL;
|
||||
u32 ScreenBuffer[256*384];
|
||||
@ -764,7 +766,11 @@ void Run()
|
||||
|
||||
uiMenuItemEnable(MenuItem_SaveState);
|
||||
uiMenuItemEnable(MenuItem_LoadState);
|
||||
uiMenuItemEnable(MenuItem_UndoStateLoad);
|
||||
|
||||
if (SavestateLoaded)
|
||||
uiMenuItemEnable(MenuItem_UndoStateLoad);
|
||||
else
|
||||
uiMenuItemDisable(MenuItem_UndoStateLoad);
|
||||
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
@ -821,6 +827,9 @@ void TryLoadROM(char* file, int prevstatus)
|
||||
|
||||
if (NDS::LoadROM(ROMPath, SRAMPath, Config::DirectBoot))
|
||||
{
|
||||
SavestateLoaded = false;
|
||||
uiMenuItemDisable(MenuItem_UndoStateLoad);
|
||||
|
||||
strncpy(PrevSRAMPath, SRAMPath, 1024); // safety
|
||||
Run();
|
||||
}
|
||||
@ -929,6 +938,9 @@ void LoadState(int slot)
|
||||
NDS::RelocateSave(SRAMPath, false);
|
||||
}
|
||||
|
||||
SavestateLoaded = true;
|
||||
uiMenuItemEnable(MenuItem_UndoStateLoad);
|
||||
|
||||
EmuRunning = prevstatus;
|
||||
}
|
||||
|
||||
@ -989,6 +1001,8 @@ void SaveState(int slot)
|
||||
|
||||
void UndoStateLoad()
|
||||
{
|
||||
if (!SavestateLoaded) return;
|
||||
|
||||
int prevstatus = EmuRunning;
|
||||
EmuRunning = 2;
|
||||
while (EmuStatus != 2);
|
||||
@ -1125,6 +1139,9 @@ void OnReset(uiMenuItem* item, uiWindow* window, void* blarg)
|
||||
EmuRunning = 2;
|
||||
while (EmuStatus != 2);
|
||||
|
||||
SavestateLoaded = false;
|
||||
uiMenuItemDisable(MenuItem_UndoStateLoad);
|
||||
|
||||
if (ROMPath[0] == '\0')
|
||||
NDS::LoadBIOS();
|
||||
else
|
||||
@ -1352,9 +1369,9 @@ int main(int argc, char** argv)
|
||||
{
|
||||
char name[32];
|
||||
if (i < 8)
|
||||
sprintf(name, "%d", kSavestateNum[i]);
|
||||
sprintf(name, "%d\tShift+F%d", kSavestateNum[i], kSavestateNum[i]);
|
||||
else
|
||||
strcpy(name, "File...");
|
||||
strcpy(name, "File...\tShift+F9");
|
||||
|
||||
uiMenuItem* ssitem = uiMenuAppendItem(submenu, name);
|
||||
uiMenuItemOnClicked(ssitem, OnSaveState, (void*)&kSavestateNum[i]);
|
||||
@ -1369,9 +1386,9 @@ int main(int argc, char** argv)
|
||||
{
|
||||
char name[32];
|
||||
if (i < 8)
|
||||
sprintf(name, "%d", kSavestateNum[i]);
|
||||
sprintf(name, "%d\tF%d", kSavestateNum[i], kSavestateNum[i]);
|
||||
else
|
||||
strcpy(name, "File...");
|
||||
strcpy(name, "File...\tF9");
|
||||
|
||||
uiMenuItem* ssitem = uiMenuAppendItem(submenu, name);
|
||||
uiMenuItemOnClicked(ssitem, OnLoadState, (void*)&kSavestateNum[i]);
|
||||
|
Loading…
Reference in New Issue
Block a user