cheats:
- fixed search lists (and 3 byte size work correct now); - fixed search after load savestate; (will next step - add Action Replay parser)
This commit is contained in:
parent
df99182300
commit
2684c683a8
|
@ -854,7 +854,7 @@ void NDS_FreeROM(void)
|
||||||
MMU.bupmem.fp = NULL;
|
MMU.bupmem.fp = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void NDS_Reset( void)
|
void NDS_Reset(BOOL resetBySavestate)
|
||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
u32 src;
|
u32 src;
|
||||||
|
@ -1034,7 +1034,8 @@ void NDS_Reset( void)
|
||||||
gfx3d_reset();
|
gfx3d_reset();
|
||||||
gpu3D->NDS_3D_Reset();
|
gpu3D->NDS_3D_Reset();
|
||||||
SPU_Reset();
|
SPU_Reset();
|
||||||
cheatsSearchClose();
|
if (!resetBySavestate)
|
||||||
|
cheatsSearchClose();
|
||||||
|
|
||||||
#ifdef EXPERIMENTAL_WIFI
|
#ifdef EXPERIMENTAL_WIFI
|
||||||
WIFI_Init(&wifiMac);
|
WIFI_Init(&wifiMac);
|
||||||
|
|
|
@ -274,7 +274,7 @@ int NDS_LoadROM(const char *filename, int bmtype, u32 bmsize,
|
||||||
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(void);
|
void NDS_Reset(BOOL resetBySaveState = FALSE);
|
||||||
int NDS_ImportSave(const char *filename);
|
int NDS_ImportSave(const char *filename);
|
||||||
|
|
||||||
int NDS_WriteBMP(const char *filename);
|
int NDS_WriteBMP(const char *filename);
|
||||||
|
|
|
@ -566,14 +566,23 @@ u32 cheatSearchNumber()
|
||||||
|
|
||||||
BOOL cheatSearchGetList(u32 *address, u32 *curVal)
|
BOOL cheatSearchGetList(u32 *address, u32 *curVal)
|
||||||
{
|
{
|
||||||
for (u32 i = searchLastRecord; i < (4 * 1024 * 1024); i++)
|
u8 step = (searchSize+1);
|
||||||
|
u8 stepMem = 1;
|
||||||
|
switch (searchSize)
|
||||||
|
{
|
||||||
|
case 1: stepMem = 0x3; break;
|
||||||
|
case 2: stepMem = 0x7; break;
|
||||||
|
case 3: stepMem = 0xF; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (u32 i = searchLastRecord; i < (4 * 1024 * 1024); i+=step)
|
||||||
{
|
{
|
||||||
u32 addr = (i >> 3);
|
u32 addr = (i >> 3);
|
||||||
u32 offs = (i % 8);
|
u32 offs = (i % 8);
|
||||||
if (searchStatMem[addr] & (1<<offs))
|
if (searchStatMem[addr] & (stepMem<<offs))
|
||||||
{
|
{
|
||||||
*address = i;
|
*address = i;
|
||||||
searchLastRecord = i+1;
|
searchLastRecord = i+step;
|
||||||
|
|
||||||
switch (searchSize)
|
switch (searchSize)
|
||||||
{
|
{
|
||||||
|
|
|
@ -828,7 +828,7 @@ static bool savestate_load(std::istream* is)
|
||||||
//while the series of resets below should work,
|
//while the series of resets below should work,
|
||||||
//we are testing the robustness of the savestate system with this full reset.
|
//we are testing the robustness of the savestate system with this full reset.
|
||||||
//the full reset wipes more things, so we can make sure that they are being restored correctly
|
//the full reset wipes more things, so we can make sure that they are being restored correctly
|
||||||
NDS_Reset();
|
NDS_Reset(TRUE);
|
||||||
|
|
||||||
//reset some options to their old defaults which werent saved
|
//reset some options to their old defaults which werent saved
|
||||||
nds.debugConsole = FALSE;
|
nds.debugConsole = FALSE;
|
||||||
|
|
Loading…
Reference in New Issue