winport:
- fixed search after load savestate and reset game; - fixed grayed 'OK' button in GBAslot dialog;
This commit is contained in:
parent
728db76bde
commit
3ed0604e12
|
@ -543,6 +543,7 @@ void NDS_DeInit(void) {
|
||||||
#ifdef EXPERIMENTAL_WIFI
|
#ifdef EXPERIMENTAL_WIFI
|
||||||
WIFI_SoftAP_Shutdown(&wifiMac);
|
WIFI_SoftAP_Shutdown(&wifiMac);
|
||||||
#endif
|
#endif
|
||||||
|
cheatsSearchClose();
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL NDS_SetROM(u8 * rom, u32 mask)
|
BOOL NDS_SetROM(u8 * rom, u32 mask)
|
||||||
|
@ -828,6 +829,7 @@ int NDS_LoadROM( const char *filename,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
cheatsSearchClose();
|
||||||
MMU_unsetRom();
|
MMU_unsetRom();
|
||||||
NDS_SetROM(data, mask);
|
NDS_SetROM(data, mask);
|
||||||
NDS_Reset();
|
NDS_Reset();
|
||||||
|
@ -868,7 +870,7 @@ void NDS_FreeROM(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
bool _HACK_DONT_STOPMOVIE = false;
|
bool _HACK_DONT_STOPMOVIE = false;
|
||||||
void NDS_Reset(BOOL resetBySavestate)
|
void NDS_Reset()
|
||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
u32 src;
|
u32 src;
|
||||||
|
@ -1054,8 +1056,6 @@ void NDS_Reset(BOOL resetBySavestate)
|
||||||
gfx3d_reset();
|
gfx3d_reset();
|
||||||
gpu3D->NDS_3D_Reset();
|
gpu3D->NDS_3D_Reset();
|
||||||
SPU_Reset();
|
SPU_Reset();
|
||||||
if (!resetBySavestate)
|
|
||||||
cheatsSearchClose();
|
|
||||||
|
|
||||||
#ifdef EXPERIMENTAL_WIFI
|
#ifdef EXPERIMENTAL_WIFI
|
||||||
WIFI_Init(&wifiMac);
|
WIFI_Init(&wifiMac);
|
||||||
|
|
|
@ -290,7 +290,7 @@ int NDS_LoadROM(const char *filename,
|
||||||
const char *cflash_disk_image_file);
|
const char *cflash_disk_image_file);
|
||||||
#endif
|
#endif
|
||||||
void NDS_FreeROM(void);
|
void NDS_FreeROM(void);
|
||||||
void NDS_Reset(BOOL resetBySaveState = FALSE);
|
void NDS_Reset();
|
||||||
int NDS_ImportSave(const char *filename);
|
int NDS_ImportSave(const char *filename);
|
||||||
bool NDS_ExportSave(const char *filename);
|
bool NDS_ExportSave(const char *filename);
|
||||||
|
|
||||||
|
|
|
@ -792,10 +792,6 @@ void cheatsSearchInit(u8 type, u8 size, u8 sign)
|
||||||
|
|
||||||
void cheatsSearchClose()
|
void cheatsSearchClose()
|
||||||
{
|
{
|
||||||
#ifdef _MSC_VER
|
|
||||||
void CheatsSearchReset();
|
|
||||||
CheatsSearchReset();
|
|
||||||
#endif
|
|
||||||
if (searchStatMem) delete [] searchStatMem;
|
if (searchStatMem) delete [] searchStatMem;
|
||||||
searchStatMem = NULL;
|
searchStatMem = NULL;
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,7 @@ char tmp_gbagame_filename[MAX_PATH];
|
||||||
u8 tmp_CFlashUsePath;
|
u8 tmp_CFlashUsePath;
|
||||||
u8 tmp_CFlashUseRomPath;
|
u8 tmp_CFlashUseRomPath;
|
||||||
HWND OKbutton = NULL;
|
HWND OKbutton = NULL;
|
||||||
|
bool _OKbutton = false;
|
||||||
|
|
||||||
BOOL CALLBACK GbaSlotNone(HWND dialog, UINT msg,WPARAM wparam,LPARAM lparam)
|
BOOL CALLBACK GbaSlotNone(HWND dialog, UINT msg,WPARAM wparam,LPARAM lparam)
|
||||||
{
|
{
|
||||||
|
@ -46,7 +47,7 @@ BOOL CALLBACK GbaSlotNone(HWND dialog, UINT msg,WPARAM wparam,LPARAM lparam)
|
||||||
{
|
{
|
||||||
case WM_INITDIALOG:
|
case WM_INITDIALOG:
|
||||||
{
|
{
|
||||||
EnableWindow(OKbutton, TRUE);
|
_OKbutton = TRUE;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -68,14 +69,13 @@ BOOL CALLBACK GbaSlotCFlash(HWND dialog, UINT msg,WPARAM wparam,LPARAM lparam)
|
||||||
CheckDlgButton(dialog, IDC_PATHDESMUME, BST_CHECKED);
|
CheckDlgButton(dialog, IDC_PATHDESMUME, BST_CHECKED);
|
||||||
EnableWindow(GetDlgItem(dialog, IDC_PATH), FALSE);
|
EnableWindow(GetDlgItem(dialog, IDC_PATH), FALSE);
|
||||||
EnableWindow(GetDlgItem(dialog, IDC_BBROWSE2), FALSE);
|
EnableWindow(GetDlgItem(dialog, IDC_BBROWSE2), FALSE);
|
||||||
EnableWindow(OKbutton, TRUE);
|
_OKbutton = TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
EnableWindow(GetDlgItem(dialog, IDC_PATH), TRUE);
|
EnableWindow(GetDlgItem(dialog, IDC_PATH), TRUE);
|
||||||
EnableWindow(GetDlgItem(dialog, IDC_BBROWSE2), TRUE);
|
EnableWindow(GetDlgItem(dialog, IDC_BBROWSE2), TRUE);
|
||||||
if (strlen(tmp_cflash_path))
|
if (strlen(tmp_cflash_path)) _OKbutton = TRUE;
|
||||||
EnableWindow(OKbutton, TRUE);
|
|
||||||
}
|
}
|
||||||
EnableWindow(GetDlgItem(dialog, IDC_PATHIMG), FALSE);
|
EnableWindow(GetDlgItem(dialog, IDC_PATHIMG), FALSE);
|
||||||
EnableWindow(GetDlgItem(dialog, IDC_BBROWSE), FALSE);
|
EnableWindow(GetDlgItem(dialog, IDC_BBROWSE), FALSE);
|
||||||
|
@ -86,8 +86,7 @@ BOOL CALLBACK GbaSlotCFlash(HWND dialog, UINT msg,WPARAM wparam,LPARAM lparam)
|
||||||
EnableWindow(GetDlgItem(dialog, IDC_BBROWSE2), FALSE);
|
EnableWindow(GetDlgItem(dialog, IDC_BBROWSE2), FALSE);
|
||||||
EnableWindow(GetDlgItem(dialog, IDC_PATHDESMUME), FALSE);
|
EnableWindow(GetDlgItem(dialog, IDC_PATHDESMUME), FALSE);
|
||||||
EnableWindow(GetDlgItem(dialog, IDC_PATH), FALSE);
|
EnableWindow(GetDlgItem(dialog, IDC_PATH), FALSE);
|
||||||
if (strlen(tmp_cflash_filename))
|
if (strlen(tmp_cflash_filename)) _OKbutton = TRUE;
|
||||||
EnableWindow(OKbutton, TRUE);
|
|
||||||
CheckDlgButton(dialog, IDC_RFILE, BST_CHECKED);
|
CheckDlgButton(dialog, IDC_RFILE, BST_CHECKED);
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -161,40 +160,46 @@ BOOL CALLBACK GbaSlotCFlash(HWND dialog, UINT msg,WPARAM wparam,LPARAM lparam)
|
||||||
|
|
||||||
case IDC_RFILE:
|
case IDC_RFILE:
|
||||||
{
|
{
|
||||||
tmp_CFlashUsePath = FALSE;
|
if (HIWORD(wparam) == BN_CLICKED)
|
||||||
EnableWindow(GetDlgItem(dialog, IDC_PATHIMG), TRUE);
|
{
|
||||||
EnableWindow(GetDlgItem(dialog, IDC_BBROWSE), TRUE);
|
tmp_CFlashUsePath = FALSE;
|
||||||
|
EnableWindow(GetDlgItem(dialog, IDC_PATHIMG), TRUE);
|
||||||
|
EnableWindow(GetDlgItem(dialog, IDC_BBROWSE), TRUE);
|
||||||
|
|
||||||
EnableWindow(GetDlgItem(dialog, IDC_BBROWSE2), FALSE);
|
EnableWindow(GetDlgItem(dialog, IDC_BBROWSE2), FALSE);
|
||||||
EnableWindow(GetDlgItem(dialog, IDC_PATHDESMUME), FALSE);
|
EnableWindow(GetDlgItem(dialog, IDC_PATHDESMUME), FALSE);
|
||||||
EnableWindow(GetDlgItem(dialog, IDC_PATH), FALSE);
|
EnableWindow(GetDlgItem(dialog, IDC_PATH), FALSE);
|
||||||
|
|
||||||
if (!strlen(tmp_cflash_filename))
|
if (!strlen(tmp_cflash_filename))
|
||||||
EnableWindow(OKbutton, FALSE);
|
EnableWindow(OKbutton, FALSE);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case IDC_RFOLDER:
|
case IDC_RFOLDER:
|
||||||
{
|
{
|
||||||
tmp_CFlashUsePath = TRUE;
|
if (HIWORD(wparam) == BN_CLICKED)
|
||||||
EnableWindow(GetDlgItem(dialog, IDC_PATHIMG), FALSE);
|
|
||||||
EnableWindow(GetDlgItem(dialog, IDC_BBROWSE), FALSE);
|
|
||||||
|
|
||||||
if (IsDlgButtonChecked(dialog, IDC_PATHDESMUME))
|
|
||||||
{
|
{
|
||||||
tmp_CFlashUseRomPath = TRUE;
|
tmp_CFlashUsePath = TRUE;
|
||||||
EnableWindow(GetDlgItem(dialog, IDC_BBROWSE2), FALSE);
|
EnableWindow(GetDlgItem(dialog, IDC_PATHIMG), FALSE);
|
||||||
EnableWindow(GetDlgItem(dialog, IDC_PATH), FALSE);
|
EnableWindow(GetDlgItem(dialog, IDC_BBROWSE), FALSE);
|
||||||
EnableWindow(OKbutton, TRUE);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
tmp_CFlashUseRomPath = FALSE;
|
|
||||||
EnableWindow(GetDlgItem(dialog, IDC_BBROWSE2), TRUE);
|
|
||||||
EnableWindow(GetDlgItem(dialog, IDC_PATH), TRUE);
|
|
||||||
}
|
|
||||||
|
|
||||||
EnableWindow(GetDlgItem(dialog, IDC_PATHDESMUME), TRUE);
|
if (IsDlgButtonChecked(dialog, IDC_PATHDESMUME))
|
||||||
|
{
|
||||||
|
tmp_CFlashUseRomPath = TRUE;
|
||||||
|
EnableWindow(GetDlgItem(dialog, IDC_BBROWSE2), FALSE);
|
||||||
|
EnableWindow(GetDlgItem(dialog, IDC_PATH), FALSE);
|
||||||
|
EnableWindow(OKbutton, TRUE);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
tmp_CFlashUseRomPath = FALSE;
|
||||||
|
EnableWindow(GetDlgItem(dialog, IDC_BBROWSE2), TRUE);
|
||||||
|
EnableWindow(GetDlgItem(dialog, IDC_PATH), TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
EnableWindow(GetDlgItem(dialog, IDC_PATHDESMUME), TRUE);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -232,7 +237,7 @@ BOOL CALLBACK GbaSlotRumblePak(HWND dialog, UINT msg,WPARAM wparam,LPARAM lparam
|
||||||
{
|
{
|
||||||
case WM_INITDIALOG:
|
case WM_INITDIALOG:
|
||||||
{
|
{
|
||||||
EnableWindow(OKbutton, TRUE);
|
_OKbutton = TRUE;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -246,8 +251,7 @@ BOOL CALLBACK GbaSlotGBAgame(HWND dialog, UINT msg,WPARAM wparam,LPARAM lparam)
|
||||||
case WM_INITDIALOG:
|
case WM_INITDIALOG:
|
||||||
{
|
{
|
||||||
SetWindowText(GetDlgItem(dialog, IDC_PATHGAME), tmp_gbagame_filename);
|
SetWindowText(GetDlgItem(dialog, IDC_PATHGAME), tmp_gbagame_filename);
|
||||||
if (!strlen(tmp_gbagame_filename))
|
if (strlen(tmp_gbagame_filename) > 0) _OKbutton = true;
|
||||||
EnableWindow(OKbutton, FALSE);
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
case WM_COMMAND:
|
case WM_COMMAND:
|
||||||
|
@ -326,10 +330,13 @@ BOOL CALLBACK GbaSlotBox_Proc(HWND dialog, UINT msg,WPARAM wparam,LPARAM lparam)
|
||||||
addonList[temp_type].info((char *)tmp_info);
|
addonList[temp_type].info((char *)tmp_info);
|
||||||
SetWindowText(GetDlgItem(dialog, IDC_ADDONS_INFO), (char *)tmp_info);
|
SetWindowText(GetDlgItem(dialog, IDC_ADDONS_INFO), (char *)tmp_info);
|
||||||
|
|
||||||
|
_OKbutton = false;
|
||||||
wndConfig=CreateDialog(hAppInst, MAKEINTRESOURCE(GBAslot_IDDs[temp_type]),
|
wndConfig=CreateDialog(hAppInst, MAKEINTRESOURCE(GBAslot_IDDs[temp_type]),
|
||||||
dialog, (DLGPROC)GBAslot_Procs[temp_type]);
|
dialog, (DLGPROC)GBAslot_Procs[temp_type]);
|
||||||
if (temp_type == 0)
|
if ( (temp_type == 0) || (_OKbutton) )
|
||||||
EnableWindow(OKbutton, TRUE);
|
EnableWindow(OKbutton, TRUE);
|
||||||
|
else
|
||||||
|
EnableWindow(OKbutton, FALSE);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -365,9 +372,14 @@ BOOL CALLBACK GbaSlotBox_Proc(HWND dialog, UINT msg,WPARAM wparam,LPARAM lparam)
|
||||||
if (temp_type != last_type)
|
if (temp_type != last_type)
|
||||||
{
|
{
|
||||||
if (wndConfig) DestroyWindow(wndConfig);
|
if (wndConfig) DestroyWindow(wndConfig);
|
||||||
|
_OKbutton = false;
|
||||||
wndConfig=CreateDialog(hAppInst,
|
wndConfig=CreateDialog(hAppInst,
|
||||||
MAKEINTRESOURCE(GBAslot_IDDs[temp_type]), dialog,
|
MAKEINTRESOURCE(GBAslot_IDDs[temp_type]), dialog,
|
||||||
(DLGPROC)GBAslot_Procs[temp_type]);
|
(DLGPROC)GBAslot_Procs[temp_type]);
|
||||||
|
if ( (temp_type == 0) || (_OKbutton) )
|
||||||
|
EnableWindow(OKbutton, TRUE);
|
||||||
|
else
|
||||||
|
EnableWindow(OKbutton, FALSE);
|
||||||
u8 tmp_info[512];
|
u8 tmp_info[512];
|
||||||
addonList[temp_type].info((char *)tmp_info);
|
addonList[temp_type].info((char *)tmp_info);
|
||||||
SetWindowText(GetDlgItem(dialog, IDC_ADDONS_INFO), (char *)tmp_info);
|
SetWindowText(GetDlgItem(dialog, IDC_ADDONS_INFO), (char *)tmp_info);
|
||||||
|
@ -391,6 +403,7 @@ void GBAslotDialog(HWND hwnd)
|
||||||
strcpy(tmp_gbagame_filename, GBAgameName);
|
strcpy(tmp_gbagame_filename, GBAgameName);
|
||||||
tmp_CFlashUseRomPath = CFlashUseRomPath;
|
tmp_CFlashUseRomPath = CFlashUseRomPath;
|
||||||
tmp_CFlashUsePath = CFlashUsePath;
|
tmp_CFlashUsePath = CFlashUsePath;
|
||||||
|
_OKbutton = false;
|
||||||
u32 res=DialogBox(hAppInst, MAKEINTRESOURCE(IDD_GBASLOT), hwnd, (DLGPROC) GbaSlotBox_Proc);
|
u32 res=DialogBox(hAppInst, MAKEINTRESOURCE(IDD_GBASLOT), hwnd, (DLGPROC) GbaSlotBox_Proc);
|
||||||
if (res)
|
if (res)
|
||||||
{
|
{
|
||||||
|
|
|
@ -2419,8 +2419,8 @@ LRESULT OpenFile()
|
||||||
{
|
{
|
||||||
if (romloaded)
|
if (romloaded)
|
||||||
{
|
{
|
||||||
|
CheatsSearchReset();
|
||||||
NDS_UnPause(); //Restart emulation if no new rom chosen
|
NDS_UnPause(); //Restart emulation if no new rom chosen
|
||||||
|
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue