Minor bug fixes
This commit is contained in:
parent
03cbab2f85
commit
88198e64f4
@ -69,7 +69,7 @@ void GB_add_cheat(GB_gameboy_t *gb, const char *description, uint16_t address, u
|
|||||||
cheat->enabled = enabled;
|
cheat->enabled = enabled;
|
||||||
strncpy(cheat->description, description, sizeof(cheat->description));
|
strncpy(cheat->description, description, sizeof(cheat->description));
|
||||||
cheat->description[sizeof(cheat->description) - 1] = 0;
|
cheat->description[sizeof(cheat->description) - 1] = 0;
|
||||||
gb->cheats = realloc(gb->cheats, (++gb->cheat_count) * sizeof(*cheat));
|
gb->cheats = realloc(gb->cheats, (++gb->cheat_count) * sizeof(gb->cheats[0]));
|
||||||
gb->cheats[gb->cheat_count - 1] = cheat;
|
gb->cheats[gb->cheat_count - 1] = cheat;
|
||||||
|
|
||||||
GB_cheat_hash_t **hash = &gb->cheat_hash[hash_addr(address)];
|
GB_cheat_hash_t **hash = &gb->cheat_hash[hash_addr(address)];
|
||||||
@ -100,7 +100,7 @@ void GB_remove_cheat(GB_gameboy_t *gb, const GB_cheat_t *cheat)
|
|||||||
gb->cheats = NULL;
|
gb->cheats = NULL;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
gb->cheats = realloc(gb->cheats, gb->cheat_count * sizeof(*cheat));
|
gb->cheats = realloc(gb->cheats, gb->cheat_count * sizeof(gb->cheats[0]));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -222,7 +222,7 @@ void GB_update_cheat(GB_gameboy_t *gb, const GB_cheat_t *_cheat, const char *des
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
(*hash)->size++;
|
(*hash)->size++;
|
||||||
*hash = malloc(sizeof(GB_cheat_hash_t) + sizeof(cheat) * (*hash)->size);
|
*hash = realloc(*hash, sizeof(GB_cheat_hash_t) + sizeof(cheat) * (*hash)->size);
|
||||||
(*hash)->cheats[(*hash)->size - 1] = cheat;
|
(*hash)->cheats[(*hash)->size - 1] = cheat;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -473,7 +473,7 @@ value_t debugger_evaluate(GB_gameboy_t *gb, const char *string,
|
|||||||
size_t length, bool *error,
|
size_t length, bool *error,
|
||||||
uint16_t *watchpoint_address, uint8_t *watchpoint_new_value)
|
uint16_t *watchpoint_address, uint8_t *watchpoint_new_value)
|
||||||
{
|
{
|
||||||
/* Disable watchpoints while evaulating expressions */
|
/* Disable watchpoints while evaluating expressions */
|
||||||
uint16_t n_watchpoints = gb->n_watchpoints;
|
uint16_t n_watchpoints = gb->n_watchpoints;
|
||||||
gb->n_watchpoints = 0;
|
gb->n_watchpoints = 0;
|
||||||
|
|
||||||
|
@ -150,7 +150,7 @@ static bool verify_and_update_state_compatibility(GB_gameboy_t *gb, GB_gameboy_t
|
|||||||
{
|
{
|
||||||
if (save->ram_size == 0 && (&save->ram_size)[-1] == gb->ram_size) {
|
if (save->ram_size == 0 && (&save->ram_size)[-1] == gb->ram_size) {
|
||||||
/* This is a save state with a bad printer struct from a 32-bit OS */
|
/* This is a save state with a bad printer struct from a 32-bit OS */
|
||||||
memcpy(save->extra_oam + 4, save->extra_oam, (uintptr_t)&save->ram_size - (uintptr_t)&save->extra_oam);
|
memmove(save->extra_oam + 4, save->extra_oam, (uintptr_t)&save->ram_size - (uintptr_t)&save->extra_oam);
|
||||||
}
|
}
|
||||||
if (save->ram_size == 0) {
|
if (save->ram_size == 0) {
|
||||||
/* Save doesn't have ram size specified, it's a pre 0.12 save state with potentially
|
/* Save doesn't have ram size specified, it's a pre 0.12 save state with potentially
|
||||||
|
Loading…
Reference in New Issue
Block a user