Split OSREPORT logging type

The enumerated LOG_TYPE "OSREPORT" is currently used in both EXI_DeviceIPL.cpp and HLE_OS.cpp.  In many games, the multitude of game functions detected by HLE_OS.cpp for OSREPORT logging results in poor log readability.  This Pull Request remedies that by adding a new enumerated LOG_TYPE "OSREPORT_HLE" for log usage in HLE_OS.cpp.

In the future, further changing how logging in HLE_OS.cpp works may be desirable.  As it is, game functions are detected that send a single character to the log.  This is a major source of poor readability.
This commit is contained in:
Minty-Meeo 2020-12-24 23:38:59 -06:00
parent ac25256156
commit b430d66cdc
3 changed files with 11 additions and 9 deletions

View File

@ -52,6 +52,7 @@ enum LOG_TYPE
NETPLAY, NETPLAY,
OSHLE, OSHLE,
OSREPORT, OSREPORT,
OSREPORT_HLE,
PAD, PAD,
PIXELENGINE, PIXELENGINE,
PROCESSORINTERFACE, PROCESSORINTERFACE,

View File

@ -154,7 +154,8 @@ LogManager::LogManager()
m_log[MEMMAP] = {"MI", "Memory Interface & Memory Map"}; m_log[MEMMAP] = {"MI", "Memory Interface & Memory Map"};
m_log[NETPLAY] = {"NETPLAY", "Netplay"}; m_log[NETPLAY] = {"NETPLAY", "Netplay"};
m_log[OSHLE] = {"HLE", "OSHLE"}; m_log[OSHLE] = {"HLE", "OSHLE"};
m_log[OSREPORT] = {"OSREPORT", "OSReport"}; m_log[OSREPORT] = {"OSREPORT", "OSReport EXI"};
m_log[OSREPORT_HLE] = {"OSREPORT_HLE", "OSReport HLE"};
m_log[PAD] = {"PAD", "Pad"}; m_log[PAD] = {"PAD", "Pad"};
m_log[PIXELENGINE] = {"PE", "Pixel Engine"}; m_log[PIXELENGINE] = {"PE", "Pixel Engine"};
m_log[PROCESSORINTERFACE] = {"PI", "Processor Interface"}; m_log[PROCESSORINTERFACE] = {"PI", "Processor Interface"};

View File

@ -38,7 +38,7 @@ void HLE_OSPanic()
StringPopBackIf(&msg, '\n'); StringPopBackIf(&msg, '\n');
PanicAlertFmt("OSPanic: {}: {}", error, msg); PanicAlertFmt("OSPanic: {}: {}", error, msg);
ERROR_LOG_FMT(OSREPORT, "{:08x}->{:08x}| OSPanic: {}: {}", LR, PC, error, msg); ERROR_LOG_FMT(OSREPORT_HLE, "{:08x}->{:08x}| OSPanic: {}: {}", LR, PC, error, msg);
NPC = LR; NPC = LR;
} }
@ -82,7 +82,7 @@ void HLE_GeneralDebugPrint(ParameterType parameter_type)
NPC = LR; NPC = LR;
NOTICE_LOG_FMT(OSREPORT, "{:08x}->{:08x}| {}", LR, PC, SHIFTJISToUTF8(report_message)); NOTICE_LOG_FMT(OSREPORT_HLE, "{:08x}->{:08x}| {}", LR, PC, SHIFTJISToUTF8(report_message));
} }
// Generalized function for printing formatted string using parameter list. // Generalized function for printing formatted string using parameter list.
@ -105,22 +105,22 @@ void HLE_write_console()
{ {
const u32 size = PowerPC::Read_U32(GPR(5)); const u32 size = PowerPC::Read_U32(GPR(5));
if (size > report_message.size()) if (size > report_message.size())
WARN_LOG_FMT(OSREPORT, "__write_console uses an invalid size of {:#010x}", size); WARN_LOG_FMT(OSREPORT_HLE, "__write_console uses an invalid size of {:#010x}", size);
else if (size == 0) else if (size == 0)
WARN_LOG_FMT(OSREPORT, "__write_console uses a size of zero"); WARN_LOG_FMT(OSREPORT_HLE, "__write_console uses a size of zero");
else else
report_message = report_message.substr(0, size); report_message = report_message.substr(0, size);
} }
else else
{ {
ERROR_LOG_FMT(OSREPORT, "__write_console uses an unreachable size pointer"); ERROR_LOG_FMT(OSREPORT_HLE, "__write_console uses an unreachable size pointer");
} }
StringPopBackIf(&report_message, '\n'); StringPopBackIf(&report_message, '\n');
NPC = LR; NPC = LR;
NOTICE_LOG_FMT(OSREPORT, "{:08x}->{:08x}| {}", LR, PC, SHIFTJISToUTF8(report_message)); NOTICE_LOG_FMT(OSREPORT_HLE, "{:08x}->{:08x}| {}", LR, PC, SHIFTJISToUTF8(report_message));
} }
// Log (v)dprintf message if fd is 1 (stdout) or 2 (stderr) // Log (v)dprintf message if fd is 1 (stdout) or 2 (stderr)
@ -133,7 +133,7 @@ void HLE_LogDPrint(ParameterType parameter_type)
std::string report_message = GetStringVA(4, parameter_type); std::string report_message = GetStringVA(4, parameter_type);
StringPopBackIf(&report_message, '\n'); StringPopBackIf(&report_message, '\n');
NOTICE_LOG_FMT(OSREPORT, "{:08x}->{:08x}| {}", LR, PC, SHIFTJISToUTF8(report_message)); NOTICE_LOG_FMT(OSREPORT_HLE, "{:08x}->{:08x}| {}", LR, PC, SHIFTJISToUTF8(report_message));
} }
// Log dprintf message // Log dprintf message
@ -173,7 +173,7 @@ void HLE_LogFPrint(ParameterType parameter_type)
std::string report_message = GetStringVA(4, parameter_type); std::string report_message = GetStringVA(4, parameter_type);
StringPopBackIf(&report_message, '\n'); StringPopBackIf(&report_message, '\n');
NOTICE_LOG_FMT(OSREPORT, "{:08x}->{:08x}| {}", LR, PC, SHIFTJISToUTF8(report_message)); NOTICE_LOG_FMT(OSREPORT_HLE, "{:08x}->{:08x}| {}", LR, PC, SHIFTJISToUTF8(report_message));
} }
// Log fprintf message // Log fprintf message