diff --git a/Common/Log/LogManager.cpp b/Common/Log/LogManager.cpp index d84f47c2b2..38f4745bd7 100644 --- a/Common/Log/LogManager.cpp +++ b/Common/Log/LogManager.cpp @@ -206,10 +206,11 @@ void LogManager::SetFileLogPath(const Path &filename) { if (!filename.empty()) { logFilename_ = Path(filename); + File::CreateFullPath(logFilename_.NavigateUp()); fp_ = File::OpenCFile(logFilename_, "at"); logFileOpenFailed_ = fp_ == nullptr; if (logFileOpenFailed_) { - printf("Failed to open log file %s", filename.c_str()); + printf("Failed to open log file %s\n", filename.c_str()); } } } @@ -233,7 +234,7 @@ void LogManager::LoadConfig(const Section *section, bool debugDefaults) { } void LogManager::SetOutputsEnabled(LogOutput outputs) { - outputs_ = outputs; + outputs_ = outputs; if (outputs & LogOutput::File) { SetFileLogPath(logFilename_); } diff --git a/Core/HLE/sceDisplay.cpp b/Core/HLE/sceDisplay.cpp index 87de2f4f36..bfe6268a9d 100644 --- a/Core/HLE/sceDisplay.cpp +++ b/Core/HLE/sceDisplay.cpp @@ -858,7 +858,7 @@ int sceDisplaySetFramebuf(u32 topaddr, int linesize, int pixelformat, int sync) return hleLogError(Log::sceDisplay, SCE_KERNEL_ERROR_INVALID_POINTER, "misaligned address"); } if ((linesize & 0x3F) != 0 || (linesize == 0 && topaddr != 0)) { - return hleLogError(Log::sceDisplay, SCE_KERNEL_ERROR_INVALID_SIZE, "invalid stride"); + return hleLogWarning(Log::sceDisplay, SCE_KERNEL_ERROR_INVALID_SIZE, "invalid stride"); } if (pixelformat < 0 || pixelformat > GE_FORMAT_8888) { return hleLogError(Log::sceDisplay, SCE_KERNEL_ERROR_INVALID_FORMAT, "invalid format"); @@ -866,7 +866,7 @@ int sceDisplaySetFramebuf(u32 topaddr, int linesize, int pixelformat, int sync) if (sync == PSP_DISPLAY_SETBUF_IMMEDIATE) { if ((GEBufferFormat)pixelformat != latchedFramebuf.fmt || linesize != latchedFramebuf.stride) { - return hleReportError(Log::sceDisplay, SCE_KERNEL_ERROR_INVALID_MODE, "must change latched framebuf first"); + return hleReportWarning(Log::sceDisplay, SCE_KERNEL_ERROR_INVALID_MODE, "must change latched framebuf first"); } } diff --git a/Core/HLE/sceUtility.cpp b/Core/HLE/sceUtility.cpp index 3222774d96..f3cd4bcee1 100644 --- a/Core/HLE/sceUtility.cpp +++ b/Core/HLE/sceUtility.cpp @@ -624,7 +624,7 @@ static int sceUtilityMsgDialogInitStart(u32 paramAddr) { if (currentDialogActive && currentDialogType != UtilityDialogType::MSG) { return hleLogWarning(Log::sceUtility, SCE_ERROR_UTILITY_WRONG_TYPE, "wrong dialog type"); } - + ActivateDialog(UtilityDialogType::MSG); return hleLogInfo(Log::sceUtility, msgDialog->Init(paramAddr)); } @@ -633,7 +633,7 @@ static int sceUtilityMsgDialogShutdownStart() { if (currentDialogType != UtilityDialogType::MSG) { return hleLogWarning(Log::sceUtility, SCE_ERROR_UTILITY_WRONG_TYPE, "wrong dialog type"); } - + DeactivateDialog(); return hleLogDebug(Log::sceUtility, msgDialog->Shutdown()); } @@ -642,7 +642,7 @@ static int sceUtilityMsgDialogUpdate(int animSpeed) { if (currentDialogType != UtilityDialogType::MSG) { return hleLogWarning(Log::sceUtility, SCE_ERROR_UTILITY_WRONG_TYPE, "wrong dialog type"); } - + int ret = msgDialog->Update(animSpeed); if (ret >= 0) return hleDelayResult(hleLogDebug(Log::sceUtility, ret), "msgdialog update", 800); @@ -668,7 +668,7 @@ static int sceUtilityMsgDialogAbort() { if (currentDialogType != UtilityDialogType::MSG) { return hleLogWarning(Log::sceUtility, SCE_ERROR_UTILITY_WRONG_TYPE, "wrong dialog type"); } - + return hleLogDebug(Log::sceUtility, msgDialog->Abort()); } @@ -678,7 +678,7 @@ static int sceUtilityOskInitStart(u32 oskPtr) { if (currentDialogActive && currentDialogType != UtilityDialogType::OSK) { return hleLogWarning(Log::sceUtility, SCE_ERROR_UTILITY_WRONG_TYPE, "wrong dialog type"); } - + ActivateDialog(UtilityDialogType::OSK); return hleLogInfo(Log::sceUtility, oskDialog->Init(oskPtr)); } @@ -687,7 +687,7 @@ static int sceUtilityOskShutdownStart() { if (currentDialogType != UtilityDialogType::OSK) { return hleLogWarning(Log::sceUtility, SCE_ERROR_UTILITY_WRONG_TYPE, "wrong dialog type"); } - + DeactivateDialog(); return hleLogDebug(Log::sceUtility, oskDialog->Shutdown()); } @@ -696,7 +696,7 @@ static int sceUtilityOskUpdate(int animSpeed) { if (currentDialogType != UtilityDialogType::OSK) { return hleLogWarning(Log::sceUtility, SCE_ERROR_UTILITY_WRONG_TYPE, "wrong dialog type"); } - + // This is the vblank period, plus a little slack. Needed to fix timing bug in Ghost Recon: Predator. // See issue #12044. hleEatCycles(msToCycles(0.7315 + 0.1)); @@ -722,7 +722,7 @@ static int sceUtilityNetconfInitStart(u32 paramsAddr) { if (currentDialogActive && currentDialogType != UtilityDialogType::NET) { return hleLogWarning(Log::sceUtility, SCE_ERROR_UTILITY_WRONG_TYPE, "wrong dialog type"); } - + ActivateDialog(UtilityDialogType::NET); return hleLogInfo(Log::sceUtility, netDialog->Init(paramsAddr)); } @@ -731,7 +731,7 @@ static int sceUtilityNetconfShutdownStart() { if (currentDialogType != UtilityDialogType::NET) { return hleLogWarning(Log::sceUtility, SCE_ERROR_UTILITY_WRONG_TYPE, "wrong dialog type"); } - + DeactivateDialog(); return hleLogDebug(Log::sceUtility, netDialog->Shutdown()); } @@ -764,7 +764,7 @@ static int sceUtilityNetconfGetStatus() { * * @param id - id of net Configuration (1 to n) * @return 0 on success -* +* * Note: some homebrew may only support a limited number of entries (ie. 10 entries) */ static int sceUtilityCheckNetParam(int id) @@ -1016,7 +1016,7 @@ static int sceUtilityScreenshotInitStart(u32 paramAddr) { if (currentDialogActive && currentDialogType != UtilityDialogType::SCREENSHOT) { return hleLogWarning(Log::sceUtility, SCE_ERROR_UTILITY_WRONG_TYPE, "wrong dialog type"); } - + ActivateDialog(UtilityDialogType::SCREENSHOT); return hleReportWarning(Log::sceUtility, screenshotDialog->Init(paramAddr)); } @@ -1025,7 +1025,7 @@ static int sceUtilityScreenshotShutdownStart() { if (currentDialogType != UtilityDialogType::SCREENSHOT) { return hleLogWarning(Log::sceUtility, SCE_ERROR_UTILITY_WRONG_TYPE, "wrong dialog type"); } - + DeactivateDialog(); return hleLogWarning(Log::sceUtility, screenshotDialog->Shutdown()); } @@ -1034,7 +1034,7 @@ static int sceUtilityScreenshotUpdate(u32 animSpeed) { if (currentDialogType != UtilityDialogType::SCREENSHOT) { return hleLogWarning(Log::sceUtility, SCE_ERROR_UTILITY_WRONG_TYPE, "wrong dialog type"); } - + return hleLogWarning(Log::sceUtility, screenshotDialog->Update(animSpeed)); } @@ -1056,7 +1056,7 @@ static int sceUtilityScreenshotContStart(u32 paramAddr) { if (currentDialogType != UtilityDialogType::SCREENSHOT) { return hleLogWarning(Log::sceUtility, SCE_ERROR_UTILITY_WRONG_TYPE, "wrong dialog type"); } - + return hleLogWarning(Log::sceUtility, screenshotDialog->ContStart()); } @@ -1076,7 +1076,7 @@ static int sceUtilityGamedataInstallShutdownStart() { if (!currentDialogActive || currentDialogType != UtilityDialogType::GAMEDATAINSTALL) { return hleLogWarning(Log::sceUtility, SCE_ERROR_UTILITY_WRONG_TYPE, "wrong dialog type"); } - + DeactivateDialog(); return hleLogDebug(Log::sceUtility, gamedataInstallDialog->Shutdown()); } @@ -1085,7 +1085,7 @@ static int sceUtilityGamedataInstallUpdate(int animSpeed) { if (!currentDialogActive || currentDialogType != UtilityDialogType::GAMEDATAINSTALL) { return hleLogWarning(Log::sceUtility, SCE_ERROR_UTILITY_WRONG_TYPE, "wrong dialog type"); } - + return hleLogDebug(Log::sceUtility, gamedataInstallDialog->Update(animSpeed)); } @@ -1105,7 +1105,7 @@ static int sceUtilityGamedataInstallAbort() { if (!currentDialogActive || currentDialogType != UtilityDialogType::GAMEDATAINSTALL) { return hleLogWarning(Log::sceUtility, SCE_ERROR_UTILITY_WRONG_TYPE, "wrong dialog type"); } - + DeactivateDialog(); return hleLogDebug(Log::sceUtility, gamedataInstallDialog->Abort()); } @@ -1163,10 +1163,10 @@ static u32 sceUtilityGetSystemParamInt(u32 id, u32 destaddr) { case PSP_SYSTEMPARAM_ID_INT_ADHOC_CHANNEL: param = g_Config.iWlanAdhocChannel; if (param == PSP_SYSTEMPARAM_ADHOC_CHANNEL_AUTOMATIC) { - // FIXME: Actually.. it's always returning 0x800ADF4 regardless using Auto channel or Not, and regardless the connection state either, + // FIXME: Actually.. it's always returning 0x800ADF4 regardless using Auto channel or Not, and regardless the connection state either, // Not sure whether this error code only returned after Adhocctl Initialized (ie. netAdhocctlInited) or also before initialized. - // FIXME: Outputted channel (might be unchanged?) either 0 when not connected to a group yet (ie. adhocctlState == ADHOCCTL_STATE_DISCONNECTED), - // or -1 (0xFFFFFFFF) when a scan is in progress (ie. adhocctlState == ADHOCCTL_STATE_SCANNING), + // FIXME: Outputted channel (might be unchanged?) either 0 when not connected to a group yet (ie. adhocctlState == ADHOCCTL_STATE_DISCONNECTED), + // or -1 (0xFFFFFFFF) when a scan is in progress (ie. adhocctlState == ADHOCCTL_STATE_SCANNING), // or 0x60 early when in connected state (ie. adhocctlState == ADHOCCTL_STATE_CONNECTED) right after Creating a group, regardless the channel settings. Memory::Write_U32(param, destaddr); return 0x800ADF4; @@ -1285,7 +1285,7 @@ static int sceUtilityGameSharingShutdownStart() { if (currentDialogType != UtilityDialogType::GAMESHARING) { return hleLogWarning(Log::sceUtility, SCE_ERROR_UTILITY_WRONG_TYPE, "wrong dialog type"); } - + DeactivateDialog(); return hleLogError(Log::sceUtility, 0, "UNIMPL"); } @@ -1339,7 +1339,7 @@ static u32 sceUtilityUnloadUsbModule(u32 module) return hleNoLog(0); } -const HLEFunction sceUtility[] = +const HLEFunction sceUtility[] = { {0X1579A159, &WrapU_U, "sceUtilityLoadNetModule", 'x', "x" }, {0X64D50C56, &WrapU_U, "sceUtilityUnloadNetModule", 'x', "x" }, diff --git a/SDL/SDLMain.cpp b/SDL/SDLMain.cpp index 203b9e26a3..9753d51777 100644 --- a/SDL/SDLMain.cpp +++ b/SDL/SDLMain.cpp @@ -693,7 +693,7 @@ bool System_GetPropertyBool(SystemProperty prop) { #ifdef GOLD return true; #else - return true; + return false; #endif case SYSPROP_CAN_JIT: return true; @@ -1047,7 +1047,7 @@ static void ProcessSDLEvent(SDL_Window *window, const SDL_Event &event, InputSta { int w, h; SDL_GetWindowSize(window, &w, &h); - TouchInput input; + TouchInput input{}; input.id = event.tfinger.fingerId; input.x = event.tfinger.x * w * g_DesktopDPI * g_display.dpi_scale_x; input.y = event.tfinger.y * h * g_DesktopDPI * g_display.dpi_scale_x; @@ -1060,7 +1060,7 @@ static void ProcessSDLEvent(SDL_Window *window, const SDL_Event &event, InputSta { int w, h; SDL_GetWindowSize(window, &w, &h); - TouchInput input; + TouchInput input{}; input.id = event.tfinger.fingerId; input.x = event.tfinger.x * w * g_DesktopDPI * g_display.dpi_scale_x; input.y = event.tfinger.y * h * g_DesktopDPI * g_display.dpi_scale_x; @@ -1068,7 +1068,7 @@ static void ProcessSDLEvent(SDL_Window *window, const SDL_Event &event, InputSta input.timestamp = event.tfinger.timestamp; NativeTouch(input); - KeyInput key; + KeyInput key{}; key.deviceId = DEVICE_ID_MOUSE; key.keyCode = NKCODE_EXT_MOUSEBUTTON_1; key.flags = KEY_DOWN; @@ -1079,7 +1079,7 @@ static void ProcessSDLEvent(SDL_Window *window, const SDL_Event &event, InputSta { int w, h; SDL_GetWindowSize(window, &w, &h); - TouchInput input; + TouchInput input{}; input.id = event.tfinger.fingerId; input.x = event.tfinger.x * w * g_DesktopDPI * g_display.dpi_scale_x; input.y = event.tfinger.y * h * g_DesktopDPI * g_display.dpi_scale_x; @@ -1147,7 +1147,7 @@ static void ProcessSDLEvent(SDL_Window *window, const SDL_Event &event, InputSta break; case SDL_MOUSEWHEEL: { - KeyInput key; + KeyInput key{}; key.deviceId = DEVICE_ID_MOUSE; key.flags = KEY_DOWN; #if SDL_VERSION_ATLEAST(2, 0, 18) diff --git a/SDL/valgrind-wsl2.supp b/SDL/valgrind-wsl2.supp index ed8e7a7a7b..c52b0ae0ab 100644 --- a/SDL/valgrind-wsl2.supp +++ b/SDL/valgrind-wsl2.supp @@ -102,16 +102,21 @@ obj:/usr/lib/x86_64-linux-gnu/libvulkan.so.* } { - - Memcheck:Cond + + Memcheck:Addr4 ... - obj:/usr/lib/wsl/drivers/nvmdig.inf_amd64_e08347d07a4d61e2/libnvwgf2umx.so + obj:/usr/lib/wsl/lib/libd3d12.so } { - + Memcheck:Addr8 - fun:memmove ... - obj:/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so + obj:/usr/lib/wsl/lib/libd3d12.so +} +{ + + Memcheck:Free + ... + obj:/usr/lib/wsl/drivers/nvmdi.inf_amd64_845fc316023c1865/libnvwgf2umx.so ... } \ No newline at end of file