Correct > 8 args for HLE logging again.

This time for real?  Arg, stupid mistake.
This commit is contained in:
Unknown W. Brackets 2015-04-08 12:44:32 -07:00
parent 050a7c1a85
commit 9dc7f7c3a2

View File

@ -581,32 +581,33 @@ size_t hleFormatLogArgs(char *message, size_t sz, const char *argmask) {
} else {
u32 sp = currentMIPS->r[MIPS_REG_SP];
// Goes upward on stack.
// NOTE: Currently we only support > 8 for 32-bit integer args.
regval = Memory::Read_U32(sp + (reg - 8) * 4);
}
switch (argmask[i]) {
case 'p':
if (Memory::IsValidAddress(PARAM(reg))) {
APPEND_FMT("%08x[%08x]", PARAM(reg), Memory::Read_U32(PARAM(reg)));
if (Memory::IsValidAddress(regval)) {
APPEND_FMT("%08x[%08x]", regval, Memory::Read_U32(regval));
} else {
APPEND_FMT("%08x[invalid]", PARAM(reg));
APPEND_FMT("%08x[invalid]", regval);
}
break;
case 's':
if (Memory::IsValidAddress(PARAM(reg))) {
APPEND_FMT("%s", Memory::GetCharPointer(PARAM(reg)));
if (Memory::IsValidAddress(regval)) {
APPEND_FMT("%s", Memory::GetCharPointer(regval));
} else {
APPEND_FMT("(invalid)");
}
break;
case 'x':
APPEND_FMT("%08x", PARAM(reg));
APPEND_FMT("%08x", regval);
break;
case 'i':
APPEND_FMT("%d", PARAM(reg));
APPEND_FMT("%d", regval);
break;
case 'X':
@ -628,7 +629,7 @@ size_t hleFormatLogArgs(char *message, size_t sz, const char *argmask) {
default:
_assert_msg_(HLE, false, "Invalid argmask character: %c", argmask[i]);
APPEND_FMT(" -- invalid arg format: %c -- %08x", argmask[i], PARAM(reg));
APPEND_FMT(" -- invalid arg format: %c -- %08x", argmask[i], regval);
break;
}
if (i + 1 < n) {