From feafa3c75e7d7db9b2639f0a086c90e629e49937 Mon Sep 17 00:00:00 2001 From: olebeck <31539311+olebeck@users.noreply.github.com> Date: Mon, 7 Jul 2025 17:36:08 +0200 Subject: [PATCH] hopefully fix windows build --- CMakePresets.json | 15 +++- CONFIG/qt/CMakeLists.txt | 4 +- CONFIG/vita/src/app.cpp | 81 ++++++++++++--------- CONFIG/vita/src/main.cpp | 33 ++++----- miniwin/src/d3drm/backends/gxm/renderer.cpp | 4 +- miniwin/src/internal/d3drmdevice_impl.h | 4 +- 6 files changed, 80 insertions(+), 61 deletions(-) diff --git a/CMakePresets.json b/CMakePresets.json index 93051221..9c4c7426 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -26,12 +26,21 @@ "CMAKE_BUILD_TYPE": "Debug" } }, + + { + "name": "mingw64", + "inherits": ["release"], + "toolchainFile": "CMake/cmake-toolchain-mingw64-x86_64.cmake" + }, + { + "name": "mingw64-debug", + "inherits": ["mingw64", "debug"] + }, + { "name": "vita", "inherits": ["release"], - "cacheVariables": { - "CMAKE_TOOLCHAIN_FILE": "$env{VITASDK}/share/vita.toolchain.cmake" - } + "toolchainFile": "$env{VITASDK}/share/vita.toolchain.cmake" }, { "name": "vita-debug", diff --git a/CONFIG/qt/CMakeLists.txt b/CONFIG/qt/CMakeLists.txt index f6219432..8f117a8f 100644 --- a/CONFIG/qt/CMakeLists.txt +++ b/CONFIG/qt/CMakeLists.txt @@ -37,7 +37,7 @@ if(WIN32) install(CODE "message(STATUS \"Running windeployqt with minimal dependencies\") execute_process(COMMAND \"${WINDEPLOYQT_EXECUTABLE}\" \"$\" - --dir QTLibs + --dir ${CMAKE_CURRENT_BINARY_DIR}/QTLibs --no-compiler-runtime --no-opengl-sw --no-system-d3d-compiler @@ -45,7 +45,7 @@ if(WIN32) --no-quick-import )" ) - install(DIRECTORY "Build/QTLibs/" DESTINATION "${CMAKE_INSTALL_BINDIR}") + install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/QTLibs/" DESTINATION "${CMAKE_INSTALL_BINDIR}") else() message(STATUS "windeployqt not found: Qt binaries will not be installed") endif() diff --git a/CONFIG/vita/src/app.cpp b/CONFIG/vita/src/app.cpp index 69720394..5cea546c 100644 --- a/CONFIG/vita/src/app.cpp +++ b/CONFIG/vita/src/app.cpp @@ -1,57 +1,68 @@ +#include +#include #include #include -#include #include -#include +char sceUserMainThreadName[] = "paf_sample"; +int sceUserMainThreadPriority = 0x10000100; +int sceUserMainThreadCpuAffinityMask = 0x70000; +SceSize sceUserMainThreadStackSize = 0x4000; -char sceUserMainThreadName[] = "paf_sample"; -int sceUserMainThreadPriority = 0x10000100; -int sceUserMainThreadCpuAffinityMask = 0x70000; -SceSize sceUserMainThreadStackSize = 0x4000; - -void operator delete(void *ptr, unsigned int n) { +void operator delete(void* ptr, unsigned int n) +{ return sce_paf_free(ptr); } int paf_main(void); typedef struct _ScePafInit { // size is 0x18 - SceSize global_heap_size; - int a2; - int a3; - int cdlg_mode; - int heap_opt_param1; - int heap_opt_param2; + SceSize global_heap_size; + int a2; + int a3; + int cdlg_mode; + int heap_opt_param1; + int heap_opt_param2; } ScePafInit; -extern "C" int module_start(SceSize args, void *argp) { - int load_res; - ScePafInit init_param; - SceSysmoduleOpt sysmodule_opt; +extern "C" int module_start(SceSize args, void* argp) +{ + int load_res; + ScePafInit init_param; + SceSysmoduleOpt sysmodule_opt; - init_param.global_heap_size = 0x1000000; - init_param.a2 = 0xEA60; - init_param.a3 = 0x40000; - init_param.cdlg_mode = 0; - init_param.heap_opt_param1 = 0; - init_param.heap_opt_param2 = 0; + init_param.global_heap_size = 0x1000000; + init_param.a2 = 0xEA60; + init_param.a3 = 0x40000; + init_param.cdlg_mode = 0; + init_param.heap_opt_param1 = 0; + init_param.heap_opt_param2 = 0; - load_res = 0xDEADBEEF; - sysmodule_opt.flags = 0; - sysmodule_opt.result = &load_res; + load_res = 0xDEADBEEF; + sysmodule_opt.flags = 0; + sysmodule_opt.result = &load_res; - int res = sceSysmoduleLoadModuleInternalWithArg(SCE_SYSMODULE_INTERNAL_PAF, sizeof(init_param), &init_param, &sysmodule_opt); - if((res | load_res) != 0){ - sceClibPrintf("[PAF PRX Loader] Failed to load the PAF prx. (return value 0x%x, result code 0x%x )\n", res, load_res); - } + int res = sceSysmoduleLoadModuleInternalWithArg( + SCE_SYSMODULE_INTERNAL_PAF, + sizeof(init_param), + &init_param, + &sysmodule_opt + ); + if ((res | load_res) != 0) { + sceClibPrintf( + "[PAF PRX Loader] Failed to load the PAF prx. (return value 0x%x, result code 0x%x )\n", + res, + load_res + ); + } - paf_main(); + paf_main(); - return SCE_KERNEL_START_SUCCESS; + return SCE_KERNEL_START_SUCCESS; } -extern "C" void _start() { - module_start(0, nullptr); +extern "C" void _start() +{ + module_start(0, nullptr); } diff --git a/CONFIG/vita/src/main.cpp b/CONFIG/vita/src/main.cpp index 9790eaa3..f96522db 100644 --- a/CONFIG/vita/src/main.cpp +++ b/CONFIG/vita/src/main.cpp @@ -1,42 +1,41 @@ -#include - #include - +#include paf::Framework* g_fw; paf::ui::Scene* g_rootPage; - -void loadPluginCB(paf::Plugin *plugin){ +void loadPluginCB(paf::Plugin* plugin) +{ paf::Plugin::PageOpenParam pageOpenParam; pageOpenParam.option = paf::Plugin::PageOption_None; - paf::ui::Scene *pScene = plugin->PageOpen("page_main", pageOpenParam); + paf::ui::Scene* pScene = plugin->PageOpen("page_main", pageOpenParam); g_rootPage = pScene; - paf::ui::Widget *pText = (paf::ui::Text*)pScene->FindChild("test_strings_id"); + paf::ui::Widget* pText = (paf::ui::Text*) pScene->FindChild("test_strings_id"); pText->SetString(L"Test Text"); } -int paf_main(void){ +int paf_main(void) +{ paf::Framework::InitParam fwParam; fwParam.mode = paf::Framework::Mode_Normal; - paf::Framework *paf_fw = new paf::Framework(fwParam); - if(paf_fw != NULL){ + paf::Framework* paf_fw = new paf::Framework(fwParam); + if (paf_fw != NULL) { g_fw = paf_fw; paf_fw->LoadCommonResourceSync(); paf::Plugin::InitParam pluginParam; - pluginParam.name = "config_plugin"; - pluginParam.caller_name = "__main__"; + pluginParam.name = "config_plugin"; + pluginParam.caller_name = "__main__"; pluginParam.resource_file = "app0:/config_plugin.rco"; - pluginParam.init_func = NULL; - pluginParam.start_func = loadPluginCB; - pluginParam.stop_func = NULL; - pluginParam.exit_func = NULL; + pluginParam.init_func = NULL; + pluginParam.start_func = loadPluginCB; + pluginParam.stop_func = NULL; + pluginParam.exit_func = NULL; paf::Plugin::LoadSync(pluginParam); paf_fw->Run(); @@ -46,4 +45,4 @@ int paf_main(void){ exit(0); return 0; -} \ No newline at end of file +} diff --git a/miniwin/src/d3drm/backends/gxm/renderer.cpp b/miniwin/src/d3drm/backends/gxm/renderer.cpp index a9c77e24..66f92124 100644 --- a/miniwin/src/d3drm/backends/gxm/renderer.cpp +++ b/miniwin/src/d3drm/backends/gxm/renderer.cpp @@ -1581,8 +1581,8 @@ void GXMRenderer::Flip() void GXMRenderer::Draw2DImage(Uint32 textureId, const SDL_Rect& srcRect, const SDL_Rect& dstRect, FColor color) { this->StartScene(); - if(!this->cleared) { - gxm->clear(0,0,0, false); + if (!this->cleared) { + gxm->clear(0, 0, 0, false); this->cleared = true; } diff --git a/miniwin/src/internal/d3drmdevice_impl.h b/miniwin/src/internal/d3drmdevice_impl.h index 26a4c857..5679ce0d 100644 --- a/miniwin/src/internal/d3drmdevice_impl.h +++ b/miniwin/src/internal/d3drmdevice_impl.h @@ -40,8 +40,8 @@ struct Direct3DRMDevice2Impl : public Direct3DRMObjectBaseImpl