From 1c12e8ab03720e16c11848aecd07b9fe0338f098 Mon Sep 17 00:00:00 2001 From: VoxelTek <53562267+VoxelTek@users.noreply.github.com> Date: Thu, 19 Jun 2025 14:53:02 +1000 Subject: [PATCH 01/42] Begin development --- 3rdparty/CMakeLists.txt | 10 +++++++++ CMakeLists.txt | 33 +++++++++++++++++++-------- LEGO1/tgl/d3drm/mesh.cpp | 40 ++++++++++++++++----------------- LEGO1/tgl/d3drm/meshbuilder.cpp | 14 ++++++------ 4 files changed, 61 insertions(+), 36 deletions(-) diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt index eea078ca..ce628349 100644 --- a/3rdparty/CMakeLists.txt +++ b/3rdparty/CMakeLists.txt @@ -29,6 +29,16 @@ target_compile_definitions(miniaudio PUBLIC MA_NO_THREADING ) + + +if(PSP) + target_compile_definitions(miniaudio PUBLIC + MA_NO_RUNTIME_LINKING + ) +endif() + + + if(DOWNLOAD_DEPENDENCIES) include(FetchContent) FetchContent_Declare( diff --git a/CMakeLists.txt b/CMakeLists.txt index 9f5308a3..17659223 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,7 +35,7 @@ option(ISLE_WERROR "Treat warnings as errors" OFF) option(ISLE_DEBUG "Enable imgui debug" ON) cmake_dependent_option(ISLE_USE_DX5 "Build with internal DirectX 5 SDK" "${NOT_MINGW}" "WIN32;CMAKE_SIZEOF_VOID_P EQUAL 4" OFF) cmake_dependent_option(ISLE_MINIWIN "Use miniwin" ON "NOT ISLE_USE_DX5" OFF) -cmake_dependent_option(ISLE_BUILD_CONFIG "Build CONFIG.EXE application" ON "MSVC OR ISLE_MINIWIN" OFF) +cmake_dependent_option(ISLE_BUILD_CONFIG "Build CONFIG.EXE application" ON "MSVC OR ISLE_MINIWIN AND (NOT PSP)" OFF) cmake_dependent_option(ISLE_COMPILE_SHADERS "Compile shaders" ON "SDL_SHADERCROSS_BIN;TARGET Python3::Interpreter" OFF) option(CMAKE_POSITION_INDEPENDENT_CODE "Build with -fPIC" ON) option(ENABLE_CLANG_TIDY "Enable clang-tidy") @@ -53,15 +53,19 @@ message(STATUS "Compile shaders: ${ISLE_COMPILE_SHADERS}") if (DOWNLOAD_DEPENDENCIES) # FetchContent downloads and configures dependencies - message(STATUS "Fetching SDL3 and iniparser. This might take a while...") include(FetchContent) - FetchContent_Declare( - SDL3 - GIT_REPOSITORY "https://github.com/libsdl-org/SDL.git" - GIT_TAG "main" - EXCLUDE_FROM_ALL - ) - FetchContent_MakeAvailable(SDL3) + if (NOT PSP) + message(STATUS "Fetching SDL3 and iniparser. This might take a while...") + FetchContent_Declare( + SDL3 + GIT_REPOSITORY "https://github.com/libsdl-org/SDL.git" + GIT_TAG "main" + EXCLUDE_FROM_ALL + ) + FetchContent_MakeAvailable(SDL3) + else() + find_package(SDL3 CONFIG REQUIRED) + endif() FetchContent_Declare( iniparser @@ -645,7 +649,18 @@ set(CPACK_PACKAGE_DIRECTORY "dist") set(CPACK_PACKAGE_FILE_NAME "isle-${PROJECT_VERSION}-${ISLE_PACKAGE_NAME}-${CMAKE_SYSTEM_PROCESSOR}") if(MSVC) set(CPACK_GENERATOR ZIP) +elseif(PSP) + # Create an EBOOT.PBP file + create_pbp_file( + TARGET ${PROJECT_NAME} + ICON_PATH NULL + BACKGROUND_PATH NULL + PREVIEW_PATH NULL + TITLE ${PROJECT_NAME} + VERSION 01.00 + ) else() set(CPACK_GENERATOR TGZ) endif() include(CPack) + diff --git a/LEGO1/tgl/d3drm/mesh.cpp b/LEGO1/tgl/d3drm/mesh.cpp index 68f765a7..52a633a4 100644 --- a/LEGO1/tgl/d3drm/mesh.cpp +++ b/LEGO1/tgl/d3drm/mesh.cpp @@ -17,7 +17,7 @@ void* MeshImpl::ImplementationDataPtr() } // FUNCTION: BETA10 0x10170590 -inline Result MeshSetColor(MeshImpl::MeshData* pMesh, float r, float g, float b, float a) +inline Tgl::Result MeshSetColor(MeshImpl::MeshData* pMesh, float r, float g, float b, float a) { if (a > 0) { D3DCOLOR color = D3DRMCreateColorRGBA(r, g, b, a); @@ -30,7 +30,7 @@ inline Result MeshSetColor(MeshImpl::MeshData* pMesh, float r, float g, float b, // FUNCTION: LEGO1 0x100a3ee0 // FUNCTION: BETA10 0x10170520 -Result MeshImpl::SetColor(float r, float g, float b, float a) +Tgl::Result MeshImpl::SetColor(float r, float g, float b, float a) { assert(m_data); @@ -38,14 +38,14 @@ Result MeshImpl::SetColor(float r, float g, float b, float a) } // FUNCTION: BETA10 0x10171320 -inline Result MeshSetTexture(MeshImpl::MeshData* pMesh, IDirect3DRMTexture* pD3DTexture) +inline Tgl::Result MeshSetTexture(MeshImpl::MeshData* pMesh, IDirect3DRMTexture* pD3DTexture) { - Result result = ResultVal(pMesh->groupMesh->SetGroupTexture(pMesh->groupIndex, pD3DTexture)); + Tgl::Result result = ResultVal(pMesh->groupMesh->SetGroupTexture(pMesh->groupIndex, pD3DTexture)); return result; } // FUNCTION: BETA10 0x10171260 -inline Result MeshImpl::SetTexture(const TextureImpl* pTexture) +inline Tgl::Result MeshImpl::SetTexture(const TextureImpl* pTexture) { assert(m_data); assert(!pTexture || pTexture->ImplementationData()); @@ -56,7 +56,7 @@ inline Result MeshImpl::SetTexture(const TextureImpl* pTexture) // FUNCTION: LEGO1 0x100a3f50 // FUNCTION: BETA10 0x10170630 -Result MeshImpl::SetTexture(const Texture* pTexture) +Tgl::Result MeshImpl::SetTexture(const Texture* pTexture) { assert(m_data); @@ -65,7 +65,7 @@ Result MeshImpl::SetTexture(const Texture* pTexture) // FUNCTION: LEGO1 0x100a3f80 // FUNCTION: BETA10 0x10170690 -Result MeshImpl::SetTextureMappingMode(TextureMappingMode mode) +Tgl::Result MeshImpl::SetTextureMappingMode(TextureMappingMode mode) { assert(m_data); @@ -73,7 +73,7 @@ Result MeshImpl::SetTextureMappingMode(TextureMappingMode mode) } // FUNCTION: BETA10 0x10170750 -inline Result MeshSetShadingModel(MeshImpl::MeshData* pMesh, ShadingModel model) +inline Tgl::Result MeshSetShadingModel(MeshImpl::MeshData* pMesh, ShadingModel model) { D3DRMRENDERQUALITY mode = Translate(model); return ResultVal(pMesh->groupMesh->SetGroupQuality(pMesh->groupIndex, mode)); @@ -81,14 +81,14 @@ inline Result MeshSetShadingModel(MeshImpl::MeshData* pMesh, ShadingModel model) // FUNCTION: LEGO1 0x100a3fc0 // FUNCTION: BETA10 0x101706f0 -Result MeshImpl::SetShadingModel(ShadingModel model) +Tgl::Result MeshImpl::SetShadingModel(ShadingModel model) { assert(m_data); return MeshSetShadingModel(m_data, model); } // FUNCTION: BETA10 0x101714e0 -inline Result MeshDeepClone(MeshImpl::MeshData* pSource, MeshImpl::MeshData*& rpTarget, IDirect3DRMMesh* pMesh) +inline Tgl::Result MeshDeepClone(MeshImpl::MeshData* pSource, MeshImpl::MeshData*& rpTarget, IDirect3DRMMesh* pMesh) { rpTarget = new MeshImpl::MeshData(); rpTarget->groupMesh = pMesh; @@ -97,13 +97,13 @@ inline Result MeshDeepClone(MeshImpl::MeshData* pSource, MeshImpl::MeshData*& rp DWORD dataSize; unsigned int vcount, fcount, vperface; - Result result = - ResultVal(pSource->groupMesh->GetGroup(pSource->groupIndex, &vcount, &fcount, &vperface, &dataSize, NULL)); + Tgl::Result result = + ResultVal(pSource->groupMesh->GetGroup(pSource->groupIndex, (long unsigned int*)&vcount, (long unsigned int*)&fcount, (long unsigned int*)&vperface, &dataSize, NULL)); assert(Succeeded(result)); unsigned int* faceBuffer = new unsigned int[dataSize]; result = - ResultVal(pSource->groupMesh->GetGroup(pSource->groupIndex, &vcount, &fcount, &vperface, &dataSize, faceBuffer) + ResultVal(pSource->groupMesh->GetGroup(pSource->groupIndex, (long unsigned int*)&vcount, (long unsigned int*)&fcount, (long unsigned int*)&vperface, &dataSize, (long unsigned int*)&faceBuffer) ); assert(Succeeded(result)); @@ -122,7 +122,7 @@ inline Result MeshDeepClone(MeshImpl::MeshData* pSource, MeshImpl::MeshData*& rp // Push information to new group D3DRMGROUPINDEX index; - result = ResultVal(pMesh->AddGroup(vcount, fcount, 3, faceBuffer, &index)); + result = ResultVal(pMesh->AddGroup(vcount, fcount, 3, (long unsigned int*)&faceBuffer, &index)); assert(Succeeded(result)); rpTarget->groupIndex = index; @@ -180,9 +180,9 @@ Mesh* MeshImpl::DeepClone(MeshBuilder* pMesh) return DeepClone(*static_cast(pMesh)); } -inline Result MeshShallowClone(MeshImpl::MeshData* pSource, MeshImpl::MeshData*& rpTarget, IDirect3DRMMesh* pMesh) +inline Tgl::Result MeshShallowClone(MeshImpl::MeshData* pSource, MeshImpl::MeshData*& rpTarget, IDirect3DRMMesh* pMesh) { - Result result = Error; + Tgl::Result result = Error; rpTarget = new MeshImpl::MeshData(); if (rpTarget) { @@ -220,13 +220,13 @@ Mesh* MeshImpl::ShallowClone(MeshBuilder* pMeshBuilder) } // FUNCTION: BETA10 0x10171ac0 -inline Result MeshGetTexture(MeshImpl::MeshData* pMesh, IDirect3DRMTexture** pD3DTexture) +inline Tgl::Result MeshGetTexture(MeshImpl::MeshData* pMesh, IDirect3DRMTexture** pD3DTexture) { return ResultVal(pMesh->groupMesh->GetGroupTexture(pMesh->groupIndex, pD3DTexture)); } // FUNCTION: BETA10 0x10171980 -inline Result MeshImpl::GetTexture(TextureImpl** ppTexture) +inline Tgl::Result MeshImpl::GetTexture(TextureImpl** ppTexture) { assert(m_data); assert(ppTexture); @@ -236,7 +236,7 @@ inline Result MeshImpl::GetTexture(TextureImpl** ppTexture) // TODO: This helps retail match, but it adds to the stack IDirect3DRMTexture* tex; - Result result = MeshGetTexture(m_data, &tex); + Tgl::Result result = MeshGetTexture(m_data, &tex); #ifndef BETA10 if (Succeeded(result)) { @@ -251,7 +251,7 @@ inline Result MeshImpl::GetTexture(TextureImpl** ppTexture) // FUNCTION: LEGO1 0x100a4330 // FUNCTION: BETA10 0x10170820 -Result MeshImpl::GetTexture(Texture*& rpTexture) +Tgl::Result MeshImpl::GetTexture(Texture*& rpTexture) { assert(m_data); diff --git a/LEGO1/tgl/d3drm/meshbuilder.cpp b/LEGO1/tgl/d3drm/meshbuilder.cpp index d7363fc8..18701001 100644 --- a/LEGO1/tgl/d3drm/meshbuilder.cpp +++ b/LEGO1/tgl/d3drm/meshbuilder.cpp @@ -45,7 +45,7 @@ Mesh* MeshBuilderImpl::CreateMesh( return pMeshImpl; } -inline Result CreateMesh( +inline Tgl::Result CreateMesh( IDirect3DRMMesh* pD3DRM, unsigned int faceCount, unsigned int vertexCount, @@ -96,8 +96,8 @@ inline Result CreateMesh( } } - Result result; - result = ResultVal(pD3DRM->AddGroup(vertexCount, faceCount, 3, fData, &groupIndex)); + Tgl::Result result; + result = ResultVal(pD3DRM->AddGroup(vertexCount, faceCount, 3, (long unsigned int*)fData, &groupIndex)); if (Succeeded(result)) { rpMesh->groupIndex = groupIndex; @@ -125,7 +125,7 @@ inline Result CreateMesh( return result; } -inline Result MeshBuilderImpl::CreateMeshImpl( +inline Tgl::Result MeshBuilderImpl::CreateMeshImpl( MeshImpl* pMeshImpl, unsigned int faceCount, unsigned int vertexCount, @@ -152,10 +152,10 @@ inline Result MeshBuilderImpl::CreateMeshImpl( } // FUNCTION: BETA10 0x1016e060 -inline Result MeshBuilderGetBoundingBox(IDirect3DRMMesh* pMesh, float min[3], float max[3]) +inline Tgl::Result MeshBuilderGetBoundingBox(IDirect3DRMMesh* pMesh, float min[3], float max[3]) { D3DRMBOX box; - Result result = ResultVal(pMesh->GetBox(&box)); + Tgl::Result result = ResultVal(pMesh->GetBox(&box)); if (Succeeded(result)) { min[0] = box.min.x; min[1] = box.min.y; @@ -169,7 +169,7 @@ inline Result MeshBuilderGetBoundingBox(IDirect3DRMMesh* pMesh, float min[3], fl // FUNCTION: LEGO1 0x100a3ae0 // FUNCTION: BETA10 0x1016ce00 -Result MeshBuilderImpl::GetBoundingBox(float min[3], float max[3]) const +Tgl::Result MeshBuilderImpl::GetBoundingBox(float min[3], float max[3]) const { assert(m_data); From 8e94bdbe67ecbb212d126d31e6281f928dde9dd9 Mon Sep 17 00:00:00 2001 From: VoxelTek <53562267+VoxelTek@users.noreply.github.com> Date: Fri, 20 Jun 2025 08:44:20 +1000 Subject: [PATCH 02/42] Fix data types in mesh.cpp --- LEGO1/tgl/d3drm/mesh.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LEGO1/tgl/d3drm/mesh.cpp b/LEGO1/tgl/d3drm/mesh.cpp index 52a633a4..1921d8ee 100644 --- a/LEGO1/tgl/d3drm/mesh.cpp +++ b/LEGO1/tgl/d3drm/mesh.cpp @@ -98,12 +98,12 @@ inline Tgl::Result MeshDeepClone(MeshImpl::MeshData* pSource, MeshImpl::MeshData unsigned int vcount, fcount, vperface; Tgl::Result result = - ResultVal(pSource->groupMesh->GetGroup(pSource->groupIndex, (long unsigned int*)&vcount, (long unsigned int*)&fcount, (long unsigned int*)&vperface, &dataSize, NULL)); + ResultVal(pSource->groupMesh->GetGroup(pSource->groupIndex, (unsigned int*)&vcount, (unsigned int*)&fcount, (unsigned int*)&vperface, &dataSize, NULL)); assert(Succeeded(result)); unsigned int* faceBuffer = new unsigned int[dataSize]; result = - ResultVal(pSource->groupMesh->GetGroup(pSource->groupIndex, (long unsigned int*)&vcount, (long unsigned int*)&fcount, (long unsigned int*)&vperface, &dataSize, (long unsigned int*)&faceBuffer) + ResultVal(pSource->groupMesh->GetGroup(pSource->groupIndex, (unsigned int*)&vcount, (unsigned int*)&fcount, (unsigned int*)&vperface, &dataSize, (unsigned int*)&faceBuffer) ); assert(Succeeded(result)); From 1a26af602cef98028fd960a24cc1f7b72d5f0e75 Mon Sep 17 00:00:00 2001 From: VoxelTek <53562267+VoxelTek@users.noreply.github.com> Date: Fri, 20 Jun 2025 10:05:38 +1000 Subject: [PATCH 03/42] Revert "Merge branch 'isledecomp:master' into psp" This reverts commit e4f760f91ef7c08bef666257cc1652b2dd0bd7cd, reversing changes made to 1c12e8ab03720e16c11848aecd07b9fe0338f098. --- miniwin/include/miniwin/d3drm.h | 8 ++++---- miniwin/src/d3drm/d3drmmesh.cpp | 8 ++++---- miniwin/src/internal/d3drmmesh_impl.h | 9 ++------- 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/miniwin/include/miniwin/d3drm.h b/miniwin/include/miniwin/d3drm.h index dea6e0f7..365046a5 100644 --- a/miniwin/include/miniwin/d3drm.h +++ b/miniwin/include/miniwin/d3drm.h @@ -181,10 +181,10 @@ struct IDirect3DRMMesh : public IDirect3DRMVisual { virtual HRESULT Clone(int flags, GUID iid, void** object) = 0; virtual HRESULT GetBox(D3DRMBOX* box) = 0; virtual HRESULT AddGroup( - unsigned int vertexCount, - unsigned int faceCount, - unsigned int vertexPerFace, - unsigned int* faceBuffer, + int vertexCount, + int faceCount, + int vertexPerFace, + DWORD* faceBuffer, D3DRMGROUPINDEX* groupIndex ) = 0; virtual HRESULT GetGroup( diff --git a/miniwin/src/d3drm/d3drmmesh.cpp b/miniwin/src/d3drm/d3drmmesh.cpp index 5d96ac86..dc8c8686 100644 --- a/miniwin/src/d3drm/d3drmmesh.cpp +++ b/miniwin/src/d3drm/d3drmmesh.cpp @@ -40,10 +40,10 @@ HRESULT Direct3DRMMeshImpl::Clone(int flags, GUID iid, void** object) } HRESULT Direct3DRMMeshImpl::AddGroup( - unsigned int vertexCount, - unsigned int faceCount, - unsigned int vertexPerFace, - unsigned int* faceBuffer, + int vertexCount, + int faceCount, + int vertexPerFace, + DWORD* faceBuffer, D3DRMGROUPINDEX* groupIndex ) { diff --git a/miniwin/src/internal/d3drmmesh_impl.h b/miniwin/src/internal/d3drmmesh_impl.h index e06192e4..ca72dbc6 100644 --- a/miniwin/src/internal/d3drmmesh_impl.h +++ b/miniwin/src/internal/d3drmmesh_impl.h @@ -67,13 +67,8 @@ struct MeshGroup { struct Direct3DRMMeshImpl : public Direct3DRMObjectBaseImpl { HRESULT QueryInterface(const GUID& riid, void** ppvObject) override; HRESULT Clone(int flags, GUID iid, void** object) override; - HRESULT AddGroup( - unsigned int vertexCount, - unsigned int faceCount, - unsigned int vertexPerFace, - unsigned int* faceBuffer, - D3DRMGROUPINDEX* groupIndex - ) override; + HRESULT AddGroup(int vertexCount, int faceCount, int vertexPerFace, DWORD* faceBuffer, D3DRMGROUPINDEX* groupIndex) + override; HRESULT GetGroup( D3DRMGROUPINDEX groupIndex, unsigned int* vertexCount, From cacf31f498f6d1fda30ed093f2177bf17f60c798 Mon Sep 17 00:00:00 2001 From: VoxelTek <53562267+VoxelTek@users.noreply.github.com> Date: Sun, 22 Jun 2025 19:47:32 +1000 Subject: [PATCH 04/42] MILESTONE: It compiles!!! --- CMakeLists.txt | 14 +++++++++++--- ISLE/isledebug.cpp | 4 ++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 17659223..22666088 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,14 +35,14 @@ option(ISLE_WERROR "Treat warnings as errors" OFF) option(ISLE_DEBUG "Enable imgui debug" ON) cmake_dependent_option(ISLE_USE_DX5 "Build with internal DirectX 5 SDK" "${NOT_MINGW}" "WIN32;CMAKE_SIZEOF_VOID_P EQUAL 4" OFF) cmake_dependent_option(ISLE_MINIWIN "Use miniwin" ON "NOT ISLE_USE_DX5" OFF) -cmake_dependent_option(ISLE_BUILD_CONFIG "Build CONFIG.EXE application" ON "MSVC OR ISLE_MINIWIN AND (NOT PSP)" OFF) +cmake_dependent_option(ISLE_BUILD_CONFIG "Build CONFIG.EXE application" ON "(MSVC OR ISLE_MINIWIN) AND (NOT PSP)" OFF) cmake_dependent_option(ISLE_COMPILE_SHADERS "Compile shaders" ON "SDL_SHADERCROSS_BIN;TARGET Python3::Interpreter" OFF) -option(CMAKE_POSITION_INDEPENDENT_CODE "Build with -fPIC" ON) +cmake_dependent_option(CMAKE_POSITION_INDEPENDENT_CODE "Build with -fPIC" ON "NOT PSP" OFF) option(ENABLE_CLANG_TIDY "Enable clang-tidy") option(DOWNLOAD_DEPENDENCIES "Download dependencies" ON) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" CACHE PATH "Directory where to put executables and dll") set(ISLE_EMSCRIPTEN_HOST "" CACHE STRING "Host URL for Emscripten streaming (e.g., https://test.com)") -cmake_dependent_option(BUILD_SHARED_LIBS "Build lego1 as a shared library" ON "NOT EMSCRIPTEN" OFF) +cmake_dependent_option(BUILD_SHARED_LIBS "Build lego1 as a shared library" ON "NOT EMSCRIPTEN AND NOT PSP" OFF) message(STATUS "Isle app: ${ISLE_BUILD_APP}") message(STATUS "Config app: ${ISLE_BUILD_CONFIG}") @@ -348,6 +348,11 @@ if (WIN32) target_link_libraries(lego1 INTERFACE winmm) endif() target_link_libraries(lego1 PRIVATE libsmacker miniaudio) + +if (PSP) + target_link_libraries(lego1 PRIVATE atomic) +endif() + target_include_directories(lego1 PUBLIC $>) # lego1_impl sources @@ -504,6 +509,9 @@ if (ISLE_BUILD_APP) ) target_compile_definitions(isle PRIVATE ISLE_DEBUG) target_link_libraries(isle PRIVATE imgui) + if(PSP) + target_compile_definitions(imgui PRIVATE IMGUI_DISABLE_DEFAULT_SHELL_FUNCTIONS) + endif() find_path(valgrind_INCLUDE_PATH NAMES valgrind/callgrind.h) if(valgrind_INCLUDE_PATH) # Run isle under valgrind to create a profile. Use e.g. kcachegrind to view the profile. diff --git a/ISLE/isledebug.cpp b/ISLE/isledebug.cpp index 79db85b9..c89ed3fa 100644 --- a/ISLE/isledebug.cpp +++ b/ISLE/isledebug.cpp @@ -183,7 +183,7 @@ void IsleDebug_Init() } g_videoPalette = SDL_CreateTexture(g_debugRenderer, SDL_PIXELFORMAT_RGBX32, SDL_TEXTUREACCESS_STREAMING, 16, 16); - SDL_SetTextureScaleMode(g_videoPalette, SDL_SCALEMODE_PIXELART); + SDL_SetTextureScaleMode(g_videoPalette, SDL_SCALEMODE_LINEAR); if (!ImGui_ImplSDLRenderer3_Init(g_debugRenderer)) { g_debugEnabled = false; break; @@ -305,7 +305,7 @@ void IsleDebug_Render() if (ImGui::TreeNode("Sound Manager")) { LegoSoundManager* soundManager = lego->GetSoundManager(); Sint32 oldVolume = soundManager->GetVolume(); - Sint32 volume = oldVolume; + int volume = oldVolume; ImGui::SliderInt("volume", &volume, 0, 100); if (volume != oldVolume) { soundManager->SetVolume(volume); From c83ae8b843cc7417bbe0b68a940b2bf6426aea87 Mon Sep 17 00:00:00 2001 From: Sonen10 <43537777+Sonen10@users.noreply.github.com> Date: Tue, 24 Jun 2025 09:49:58 +1000 Subject: [PATCH 05/42] Create dummy.txt --- XMB/Game/dummy.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 XMB/Game/dummy.txt diff --git a/XMB/Game/dummy.txt b/XMB/Game/dummy.txt new file mode 100644 index 00000000..4ba45a06 --- /dev/null +++ b/XMB/Game/dummy.txt @@ -0,0 +1 @@ +we'll miss you! - the infomaniac From 3fd0615e970b1aa5f0aac4d4df9acddeaed36c50 Mon Sep 17 00:00:00 2001 From: Sonen10 <43537777+Sonen10@users.noreply.github.com> Date: Tue, 24 Jun 2025 09:51:03 +1000 Subject: [PATCH 06/42] Create dummy.txt --- XMB/Save/dummy.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 XMB/Save/dummy.txt diff --git a/XMB/Save/dummy.txt b/XMB/Save/dummy.txt new file mode 100644 index 00000000..dbbf7c7b --- /dev/null +++ b/XMB/Save/dummy.txt @@ -0,0 +1 @@ +merry hedgehog sonic the birthday... wait what the fu From ff83e19a1200f575ee9326bff92d74b621e8671e Mon Sep 17 00:00:00 2001 From: Sonen10 <43537777+Sonen10@users.noreply.github.com> Date: Tue, 24 Jun 2025 16:12:15 +1000 Subject: [PATCH 07/42] Added save data XMB media files Whoops! You have to put your Memory Stick in your PSP! --- XMB/Save/ICON0.png | Bin 0 -> 13017 bytes XMB/Save/ICON1.pmf | Bin 0 -> 51200 bytes XMB/Save/Memory Stick Model Source.txt | 1 + XMB/Save/PIC1.png | Bin 0 -> 102183 bytes XMB/Save/SND0.AT3 | Bin 0 -> 434664 bytes 5 files changed, 1 insertion(+) create mode 100644 XMB/Save/ICON0.png create mode 100644 XMB/Save/ICON1.pmf create mode 100644 XMB/Save/Memory Stick Model Source.txt create mode 100644 XMB/Save/PIC1.png create mode 100644 XMB/Save/SND0.AT3 diff --git a/XMB/Save/ICON0.png b/XMB/Save/ICON0.png new file mode 100644 index 0000000000000000000000000000000000000000..d16c278b4d71946aeb74864d4fe38b8bb79ef205 GIT binary patch literal 13017 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 literal 0 HcmV?d00001 diff --git a/XMB/Save/ICON1.pmf b/XMB/Save/ICON1.pmf new file mode 100644 index 0000000000000000000000000000000000000000..faf5a77d36bd9af82ae4737c0cd8da89da5e940e GIT binary patch literal 51200 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%0DKo$uYA>LIM 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 literal 0 HcmV?d00001 diff --git a/XMB/Save/Memory Stick Model Source.txt b/XMB/Save/Memory Stick Model Source.txt new file mode 100644 index 00000000..2a465251 --- /dev/null +++ b/XMB/Save/Memory Stick Model Source.txt @@ -0,0 +1 @@ +The model was sourced from https://3dwarehouse.sketchup.com/model/c300a598e63cb2f593dcf5e22ecc3f5e/Memory-Stick-Pro-Duo. It was further modified by Sonen10 to get the results seen in the animation. \ No newline at end of file diff --git a/XMB/Save/PIC1.png b/XMB/Save/PIC1.png new file mode 100644 index 0000000000000000000000000000000000000000..7a0a7c4dbc1090ca11a325d547ed9eda12c15287 GIT binary patch literal 102183 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 literal 0 HcmV?d00001 diff --git a/XMB/Save/SND0.AT3 b/XMB/Save/SND0.AT3 new file mode 100644 index 0000000000000000000000000000000000000000..6f19ec8ef5db77c5481fffe67c5738599aaa2204 GIT binary patch literal 434664 zcmYhh18^nZ7p{GhoEQ_^wrx*r+qP$7+qN^Yt%+^hoLCd*-1+_Q{i?oIUEO={X6<_V z?bT~76=_Myy+SB}rig}wg}oawI{*Oq0)YX*+k8~`8%0ARrWjsLDBJJ*_Y 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

@$n2s=EQ0}VZ*CRf7<2K*g_YEJ}$l6Fw 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 literal 0 HcmV?d00001 From feaa48a606b5ab23d78761f10eaed401e882e17c Mon Sep 17 00:00:00 2001 From: Sonen10 <43537777+Sonen10@users.noreply.github.com> Date: Tue, 24 Jun 2025 16:13:24 +1000 Subject: [PATCH 08/42] Delete XMB/Save/dummy.txt --- XMB/Save/dummy.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 XMB/Save/dummy.txt diff --git a/XMB/Save/dummy.txt b/XMB/Save/dummy.txt deleted file mode 100644 index dbbf7c7b..00000000 --- a/XMB/Save/dummy.txt +++ /dev/null @@ -1 +0,0 @@ -merry hedgehog sonic the birthday... wait what the fu From d5af692e0990f7d7d71df3924b2ff4eab272eb79 Mon Sep 17 00:00:00 2001 From: Sonen10 <43537777+Sonen10@users.noreply.github.com> Date: Tue, 24 Jun 2025 16:14:03 +1000 Subject: [PATCH 09/42] Delete XMB/Game/dummy.txt --- XMB/Game/dummy.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 XMB/Game/dummy.txt diff --git a/XMB/Game/dummy.txt b/XMB/Game/dummy.txt deleted file mode 100644 index 4ba45a06..00000000 --- a/XMB/Game/dummy.txt +++ /dev/null @@ -1 +0,0 @@ -we'll miss you! - the infomaniac From c0715fabec3f22b150667484cf70616dc4479dd8 Mon Sep 17 00:00:00 2001 From: Sonen10 <43537777+Sonen10@users.noreply.github.com> Date: Tue, 24 Jun 2025 16:17:32 +1000 Subject: [PATCH 10/42] Added game XMB media assets why are there two pairs of infomaniacs leap frogging over each other on a green plate again --- XMB/Game/ICON0.png | Bin 0 -> 13017 bytes XMB/Game/ICON1.pmf | Bin 0 -> 284672 bytes XMB/Game/PIC1.png | Bin 0 -> 38644 bytes XMB/Game/SND0.at3 | Bin 0 -> 177984 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 XMB/Game/ICON0.png create mode 100644 XMB/Game/ICON1.pmf create mode 100644 XMB/Game/PIC1.png create mode 100644 XMB/Game/SND0.at3 diff --git a/XMB/Game/ICON0.png b/XMB/Game/ICON0.png new file mode 100644 index 0000000000000000000000000000000000000000..d16c278b4d71946aeb74864d4fe38b8bb79ef205 GIT binary patch literal 13017 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 literal 0 HcmV?d00001 diff --git a/XMB/Game/ICON1.pmf b/XMB/Game/ICON1.pmf new file mode 100644 index 0000000000000000000000000000000000000000..bac01979b10c9d173cdb2c41bf4ecfe3bd68cf85 GIT binary patch literal 284672 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

OI!CucfX)m?kkssgJa244TYqAoM#?*_ ze78fZk=cniedT-KYB!*`_5{n-Mm|7F9C~nm#mG&WbDLz+LDBFhPdR0T^H42&Ys#`~ zJ%lt6xJy;Wt7mWlGpvCq)_yeKU)V}UBl@9NK%@PA1i`Z2TW+~D0yOuE`f)8zJV5|= zBV`qr*O+=JtBfgUje^Jt5r>AjU${9r{b=|z{$lvawP7;_B^-2-TG87ffPt1jidRXsyv%Mf9N1*0(wDZPKS zM|DhK;y;?(=sjX%(y4X}H%xiMYjCunL5{+Mfp8z$GQM@K(?sCIui}Nh)q)y?FPukC z1KsAqs0lNhw z1zgQ%uGn81=71V^m^(D`3z66YF05M|ov!cU;H4uh8a$v)F^k~+C;^?OGy1lGlyOtM#TA3Eok^jq z)j+KkN*#_3;N9X;C%BoHPUMifyzB;5byeq^PSWcb`}F~lc3|4du4EH{bX=92gKjbp zt3v_?NLj&qd&aN;Z8OBbNnU?r*FF{po{7X*E-q$yBf=~0GR*TX<8WZe{K(=n0QZ&C zLqHt)`flC~RGQGI%i7eXF(fAbNZXhw%x>O*5HV}x{=zK2SS8IsZQF`9GGr01X%h$I zs-TAOYM0psuE+}#zI3q5{Z7t@spRp79qjYeWT``mmB&42`CAs`sYA2Es&j(2ANTSm zW#aPh=FN#09YSyCEr3O$-k`~jdvjXu>+ro4ZndPQr^gO~30$`AhWNHBT4RM}+9Dz5 z#ZI#u+QnnlEhDAWjPeJ`%Xgz?OR4Xc#x38igJBLa?Dw7COIOl~ga73}DpicYKm32e z*70~K%SkDin(A`y;h$Sm9lTBMP)vK*>?zV1yPgnVkCA=(JAQ!o?g0qmCNwpUqwI#wmnY|73+);fIf^YNg|C$^j z$F`T+U8x-Ow4p(W zAD7(vF2iGe3Zfx)rn$KQgG>B`V@6F5Yc6q4l}O%u%(&yi+QHU^QSwqX-DX7Y6!4I$ ziBIN-J(E57!^4vSOC!e+F89ab6AyziNB3I7)39D*M0i|fC``=+A3E51S~9F4@J7eH z!;fYtwKzj4?NN`yV`Rb^K*$w~P&Y(8qW|o-LJgxTrDHegWX1nT_S)EY;Agq4q@)2Y*~w z&vBq3^^*JF@#F7+L{cHKCqcQBBP*4pG5eo!(RHXU3j4&{WA%+ATcjbOFnN5hth`{i z7`d2>!Kb8SS0VhYa2@G89yiDaW3AZg)e@v(;h_17B#`RyGSTfbkZ9HjfT)ak5f8G3 zk(T?#xKH76j%U-xA1i6EURP4v!^->}o%#Q^Rnh;;{=Waiep5oK4*|xAU#o+JlQzkO zr&jvB(}&|aH|vyNe#^CdzE5*9#gelvr|Tc6fYlVkm;EZEmIksWN>V2D{7PCkNS z;c-Gc8W_#wRCOkew|jMuvy;P{D|;hG1^PZQTAnu(0<`M&(-kHtZjf|oK;byBhfMQx zW=OD~oQy@iqR{_03C4eu82f*d;GaG8v`5JSn%h+aatpkkhc{F1jH4Hu*T0frL?kE} zU?;_NS8o$A_9b-LOOD@DBDMKApjTV`nXJ4m@I%4()&Fl5=6|cq{jCD@sozUII*h6& z#|WO>r_I*!?MP_kAbp-m&t~RdUJ1`S+g|w$JNOA(s}z=&+W1*aOSQ2xwhdWd)^*uY znaA2?AWWsOtc*P!xx#;G^9%&gO)lP?w4D0SYS+5WTys>Q6 zP1?tD5B@c+{cMT8s$8c0=Qo{(PBNyTSAm;5;!Cgoi(iE;8~9FcVMc>JNFh-aW(38ofZyHgh4lM6^ujdth49n`A*@SP^~qEK)eF@Gru~`G<@$gc8<7Q}V zrU0HM#6hN6-lem2QU(p}`HYYg-Q{xyVftwi8$tjaN{w~Z_X1KNKV>mL4@-qx-KIkY z9!`E-lMo;X_GN6CGK0XjK`|q-N`=)$QW!1@K*n*vMso{!HsnMnexaT}dgcO_B(d7^ zplhgp*JpEQ-y2F)dzrb_A+@3-aW5yJxsVCGwL?_7@!^bgb|~uPX;M`#ank{dwa(v- zEWbcJZmI&8ny-=#3wKR{LYNK$sb{aR7LLMAXcRB3HPCWLW~-uo^n0A2_#LAGRHWmO zYm0X=WTH!O@3c~LAYSDheE!VzH#Z*%b|AjOZYw|>ntp7MCkogOo?oJ}%GJ+~UdXRG zVO2Kr^z^0IGH?QvTb|<{78h6yFV$6NssmhP!E4mO$?ndN5=Cl!!0X;Uggb`LmH;|} z5ddwQ0jcFJb)Z$$3A5zpCAM^GV$L0G){JulBaJ$U*-273~QM&B)3X3C)RH131e^M@B0@b3h!PVgL?UQQ7 z<>_`S$rr;5(KnmRkIqv2n-dN|+nMRPWJp(ueA-nPr0oCl|I9n;AO3%##mR_NC=zjg zQN8vfyywBH#H$b)ITs%(aGf)u(AcxvsQ0MIa3IAc+6~x5-wNp*&>%6aWJH=~6SqTI zRUJze_5<-k2I7j;;Dw-v&@;@Y;vSumLWqQh-|~I^%4di8V0svnstg{tZ|V5e@f+Wm zHEA=d+xyHWjW@L*b?ibts5b?cze^rr8a~5HG%yqG0F8$lmRrg7 zs%GwP4pOmsW&iEvlk;cL+M0=~jRt!v%W zWzf{(&aoQ)e;~T(ZOp9tn%{a4zV1{K$AVl_D&1 z%rRR<(D1-T?y(2%bK*evgbAp(`89j8+lWlS9m5qg zoo9*0-X>Kp*YyT@;S->lSBMfvMRu*c-7{Me~l-jX*95j)6FA-MlM%8s2HO+t$=mb)vhAojtqvNo@)oajwKW8Tg! z6vY@gi}dr5_QfwxsS!gKnL=eGUMp+oFKq3TEwjo(YUv04<1`35W&Bz^w)_DcCgR0~ z<<7g6gRP*0>aWuTwT7(_pVf!gNGM;QWdJRE*dp8ZMwP38VAy*#FjG8rSp}KsvMIjI z;llUBz1-AIReAK)3G32K=I0w4#x!!?U=P3jHbs}UVYB2Z*4j3@9q_P!gRyyn=JlfQ zAssv@zMxi-|DJnN!LBmBH+5Zqn_PciG<%!owOjFfJpPv`4`A=en>7D8(9{U6zotK> zoGr{j3h7gg8~MEL@91*kali|($Uvq71Jqm~RBJGOohK$6F@mp?EbLb71qhheU|_6S zF}0&k9u*9-L483#wOs-ZKUl23bwc()bPTijFlzD_Y`I#|8M63d$6|<*f#*TvoBv88 z>%Wq?_E!?ar}5Cp8KGwrTuLiQKbK%dC;TxLSd)a0Giy8anSYYakS+58ucSVxuVAu_ zzs^GnO?lGqWlMl3e3tk$!!}hDAiw)x4!J26@FgakC=S%;L87$zoCEjlJHc#SNS6_3U+~H~UhEWx za3u1Nt#Cw@2^_TE$+*%{Oy)InO!1`ht8ZpvENkcgVv~W0Wy0xbx&I*KDA9{9pc~2^TN^!++SH^Tq>8 zI4Ixvu@HRx|5oSxxB6LN%h$V~G!SMtgrw?>|GXkDD5o!Z@I?wG)mi27rSouwjng=t zID$tTzN49UXj`e&)mPwrI{GB`A1UdcCn#D&8gA6DrlQ#`;@?C!YPg&%aOHZ8e3eIB z0G`n{uE+7oVWdq>f+}3)bx;`GH$nOVU_q zs0_U8X%fioC2lG)!bI61f{WpN)OOCE(9!K*0&49ZinYKwU?d5t3(SzMeIP3zhaR7mQ;=IRdp=4KBZlv4Zj_XBA zRIJ7Lof9DSZHqg|CRiW9=B`uP_ir~{7J++xY_lV7sWmCIT{m|QwUe2-{kbtqSOBjq zH!{!htK*b_OJ8?Hyz3LHJ0t_47%_A z07CLY=$d^8qEi?0<_qtMhujuD6lGMpo-Xz@w@F^Velv@h5M>BpD$N*+z3kSFBW~Wj z5vX;}DX}f5u_a>j4$ZwgN4WEklg~2-eEl)rvoNRrvCQPqc`w8Cb0vZSN0CCp&-!kO zE9-pFvY=*eVPJcqqEPsNc} z5i;8jpADhKeXL*Ozy!&}sl2yi6bh+}DEyvUb9Z3;WPn@&N2FxsEIxllFZxOLMJy{g zZYpW+RyrH_oCM#WJ!?M%Vv4Zos%mys?v}i14y-W8g9$kNfv}_fELTYfbq>~_2BD6F?!8DKtrVQY>=vFB!;U;GqCD{pf zp4P%}uhdA~>#&zIbX*X(F_ zp$6uV@}z`1^SYvXWtXt$n~k!i$cn_WJDvltBQP54t#%YBlLozP>*7suG$VXBrO~nf z)@mXb(&Q=NNPXdlB;+vRfc`v|=2p51c~6+Z9kEIMK_}N23^ien%o1>kDpm(NwJ|%j zlTjQhcC^c%M`zxA=Ys1B3J$u+i0G(~#Xfw5sx+NSpCFu|la$Bsny+xCPL6_J(RWsuU`G?Yjrn6)>+rd> z3SHvvc)N;~aJyEGz+1D{-@vNUUaR?nLrW+vniqusROq!DDUV@#?- z`tr)6`my`j4FgQ=!S%O1A$g{LgPczj!o_+v*{0x`)6g)0ekOG^Q-(Sp^d&JS;7~MyzN%=m509L5$-MGbtj$H(J?YvCFPJIqCa~# z{eyzw{TnRFLU{l=4-wZ7@HpzNuL}9;nXy8i)qXNc9Oixs-0>WMz2b0K*dNf|%raP# z$i1De!T3%nQF@yt!A&bV4Etfhu?eNY^gAzQ_F|eZ<4)h-A&us20yKQJIRP-SN~PLy zKoHu>G-|Q-{1Sj8nA$fcQF!*Ew9EI?HKedb#<`S64?nnlT0H*5KXG_pXoqeIrQ%l@ zCf*CsgAw-zEVo-s_C<zYuC651i?kFHw!@6y_f=Ne@iFh9%`A9yQ!J{gBD_DlDST z0>0X=2Ao4^u`d zz4twf-;eFHalNjKvS-nlchC~w2oLT!DyDZrrRhH zVZWe@@H>HbFk4tmg#67?bmOpWm1wIUy^R1#O8w-s|fj5Sq(=Pf7$= zQaGWwGLQLw-Q05Ewd_(>!!+t)7wdJ}m~Ydl@o`Z-NbySnS=wCYAVO9;S7~DA{;^d3X9$K3EjQ%?rjf>Lrul-XY8HnqGn;HnTf)ML%FR~5?)MtDT9txVXSYL?%6mw)QKNeq9=Tx-FGEhfPntuejlsrI=)9h z0qXqBn-x=z8Z18pq{ROP)X$LpR0VEluC(@+uQT&^iuIe_v@#YRU+mJG*}Oocqrm;Y zbFRGq-rwv0+#j>|)J)RG^yR4g*~P`B5f5YHytQ*QFfk(IbdBRid16CRimIpxw} z@PAw7|L0O!0Dsl_%~@!~;Nm)izubX$9MIrx2yByCB$1k1$cjd(>d2RhegT=DMAc#` zq3(^0MDz$UCXB+lMY)>)Ish^&k77SaQl#2llL^O~D?3AN)V!A*+95dd20Hi9R0unF zGL${HWG1%%x_~&*=(V=!e(xF@x5Cmun&Y=369;6S&cSXM ziemSa{_5Yo_sWEa(WSW|V4?v5TLXrFzuqyoUgAWe1^tU#M3rCI3{v=mdMC^^zZ|yG zslo8Uxa2C2m&{Hz>rx(S3|trcYFJpJ+T@tLuDG+j$*gw_RIYT3{J@GLJOM0{Lzr9l z2NfB^EKuT5lkbdex?WWXd9}w_E?Tm_o!53~J}d5Prf)41QUhkW?}ga@W^Elh-gOMA zvUtH|k`*a^60-AC!cFn8J}esoB_}v5f@gKo-T_KwRq9R(DhExh6RWR|{HP!qym4#B z{f-ceB(tTl$k}(oHgX0a&G~4q0m|iaF;WZgE_{M_&benJKkH~N`4BA&Z-tn6k&8Ta z=WDd3+ZmlT#c(m&3{E8%qZvZ1ON`AEa9czaL37ddR)Vy}S+^X_UT^y&!#`7w4mSRn zUPns*M2>b;)b#pw{|B&ARw1IEBn092`VQ?ltDc!HCd)#s=RkRf+GG1~??9wqdsKe& zT8Xx7Q8K;@w59?EjpzAs!!J`EsY$wL0k7UI1PV%dg|7B3t;6>;XCQ9+g#Zb zA89Y~WHvFnMq~UOwm<~aUY6Snnn?(iXYjc4<+5cA&s)kO)nI(v=5uRIxW)A#Zmiv= zMcul*Jk!k97sL^V)G~Y9*B0cl3Qmd&-vf0>GrhrTI(U5Th~Ik*PtwYL(=#NN0B}6| zCW(xWd-out(!y;fd?k1(tO>QYtnmPVG!}|EQ<1RZ;Ru^TUC@&q3C@UWxy@;xzI5ZoZNPfGBeR=Ykth_8jScpCY>QY%^786kHzp=x)O!w z>2Szu99+#8m6^SK%|1tM0z;y3L-c|FFaLkJ&dB|T|NnFT4|-S)5dgYoKZeN>%<^ML zwkg9c$Wg26b0t_Gj>IIoc!l{`Kv+g0SIe2?vT+b(Q6Pu{xl$>eUO1~;Q}7s0O|LXP zy;c;OU;+0)oJL>RElx)khfJnxW-0*!e&Dd%&9*NSd;0c@IT};(aqb8cjmii$k9qXh z^{XuQQrC0p9Tv<+Pjp3;fCQ*UC@$u{0}+EuemD)+LrA!ynLx385U~KmM1}n_j0g6| zweqqu@A25co)JvD@qZjFu99vQFpTBFRm9 zxZ#MX(m5+Dz;k@%O?No?CKZ)j_ZCa&NOx0z{wx%J$aw_RSK`G!WT&hHNaVJj$rY9L z&&-B=23evi&729%aZHtNZi%z``@)LI@r})ek^~p4O%&4ld7F-I691e|Z4s2Nnk$E* z>9bGM#{w;6!aO$xtb2Tw$^ypj7IbpK+O8^lw-m_$N%GtA(u_yG5dG2ntoj=<*2dWO zSPAp&jlk}A+={`spsU6rhk&4_Q)JYaRCblGQ%^_C1M#8N770x6LL{@>`$x_PAk$Ub z+xV^at)<^tEACh<4dkUqY?qjY*mr*zZNmt^Rm6GeH|f&lD@*TMjTzaCY?&yRILpVT zkFKdT7c9e5b>7}wGq*5FU5MH3$enEMyU67+015kqapi+bc8%i6do|(F+vD|x)|8S; zoZP;50ORK)_Ybg#<8i`o~W@~t^tesX8VegU;^eLm%`wu(6RF2Ar@A~yeU zIQ-5zJ1;}Aq_%zht+h}$m;%ngSOZP)9Xd!K zV(F0zDJUKtk^`DUW-_%QBFn6i%$a1L*h$tX&T>$; z=59(E<@P)}?6dF1&>QJ>w=IE1yI~UV)E$_xR2P-L>b_z1GBP1RniSBTmC>FG`o@-; zzsph3dbEbW-APiy>+l;|%h(N{`P`9^6ym~RgU7;9F&Mnn_T(Rxf9yzS(uWQ3G_`Cr zxtPAnKgiSmKokl9=Nf-^EqX#htx@6c`lDLUjXsFLDXYGD5vO!p3cKe1+5g!p!Mf9^ zDUkj0g@N+LFnorp7M?P!!1h_P>_01~my{}!er!+q9=zI7K5HR7(KptTEbN;)pqAsR z-g-lSrCqAi2G{rGw51Y)O#le$3!uK*kx)sZ39C=+8fnwO!yW?DJIB&6kS(H&UWV;T3s;k3ImoWNLO4f|Lv49RR}Sx_ zs~(K1?PHy@^DF83-a!B!dT%Zb+SP~JP4PDpW%`C9i>fMMSp34^&4WvIP~SKfpu_@* zTw1wo>`soTUiSy~=RPV)vuTiS_?oUIy8;u%U4H*l1GK`LRL$~TM~;!wb?UI7ZSZCt z1XqXJiH3$-|I)jd9J#*MJllX@HW=aykgB}ujkj>=lsGD6&8aWH!31Ges2aiy(C-zxr-+y&f@LwH;_-nS{m9ku1=(Lesj)IZVOmh7| z8MwLE1y3O*XG`@vpH*HnV0$vd-6|8QP+;KlUlz(bXy#m|;TsVxTOW{vEMF|th8AXp z9{P^=8^`w3c1qOz(KA=Gjr@>}tA>}YoL;9 zG#F!YY6RHiqR%6bLg)R1zbTip3AKtRN#;s&HN3+`{ZxFq7EqU~?CZU1$k4S<7|9nc zQ*#>arZsi)jcSaUoZC;yq7d)hxWqQ~q$XT0CKmdQpk3zw0QcM+(I7jNwB&V*y|L{MSdt}kgEJ7u5Gm{ty=?7 z?J~C)St{<69By@E0*Y=$S)I(o>l$go3At#X33rT{7vi6|GPEo(Xkpa0C{mDA%3|Ck zctxp&ffSwBC3hUY@@wW)~7z z7IJ)gY)s69BQGc*>OX))#WCf5CT+g8#Y2LIngpe|B%a-a6-Rt{MBmX)Pw*{d72x|NOR*X_6qqf>`shC^jrkaRo_u1+Ipgx-3o~r6dOYJ!BK~&Z2zHxzDHepFb|AiVq94cWMkDMKx zF1-9aXcvjI1D_fP!TEKyqsQ{71Cgb_D3v<9tOrX#x8~U_l%~XKcj+@rZF>wVW;R0 z3U!En6Kcv;rD-&+jLG1hMIW-1%8%fCQYtz#p=mV8#T|)I#YhtCUh9X;VuXVX{u{y% zD2^!?QF=fbMaaOCAs?_(zdR2ajvm-WV?MWagB+`NmG>y76^FKXkH}gN<^z*Ceii$j zj8lu_a<}vt7l$YFjddl}W;~7cZ%nQi6iIUKA9(!_*Pu|rBxvOQ=~lG;r>`Xs*hg$s z_>h8;9)5=(O^I@$r<}de?BF21PW)>n@{K}ngRB)2N&)CdlgX|cqfXhq{?~^Ekz%vZ zx}tH2``BNqjl=leh@kip9MUy>#Snp6MqP|@rs=F&s<49;L2|e@x(T>!#JR-ulWVNb zV8u?B2!;7t=cME7(6AZ2--mgoN24|-)AYViAn*tI!1`F|c$ltr-vGtRD$~(hx*hlp zaIC$QxJVz7G2iuwWxBj&I$o@SKpd72W)>sohic1tLUwb}Mxudr?#@Y{+(2ODeS-RW z8MI*TOGv^|c!3Mw@~s>v@U}q4izT^2u7V=HO7{yss!TD3!p>?F>7V`!RcLZ-@j;>% zq)jiL(BBfLGoPR4r5|SCU_Vl;gcTffc=gR?N(vpQ`hWkZ#&;Nd85s|nSDdo;+2Z;; zFb^NrtZHx00%u-u@?LG}L)D5}G#P2SSqF`%03C=l##yyqMb_jSp7%JK6(s*E*gQ@N z+9fLyRF&&5)e~{4&}ew9oE__xX1bFRrJY3e`|Oa0aePdik=#K~quOk{4u4HJ#1?cn z0B+^ko`=1S7o-{FgHV#2FJ1nDIuASuLqr*Z(22g5?mn(GrF)NPXW})y?BVkY64Q)k z&-k*5#d8o*Y19gioq4#&3gilpsPh@ zwLZZ_kI@BB-q4B+zQAuL*_|akp%s4c=Bx5|F$RP%C{W;I9Fos< z=FmM)oi~09j!S8GL$Wr&H^p*X(V@uwW)0-V9avR0myEJ6{l8j+tzl#qucm0XaBHbECG_JaxG z(|di1n0wGJwI3FNmokQFpC*%w3rkUuvt9=E$L30QEla!_y^DY~2~HYOG?(_)B|l6I zi!>j+;2%+TWLOH}GC$b!%W?lL$7OavZ$~M46h;4y& zj2m9Wfy!gRg%+QIL!tIQ&pefF{@DtCs+ZS|AoTN)Ta8V$F6g&~vFX&r`;Q!pu%~N& zSgF;#_4nG?TQNHZttb!DDZR!0Ahh!iA}(-0i6`Q(if3Fkw{uv}boNnEM4qdpP59P9 zz#TWCV;_pPYM~jE3Ed$rVv!z8OBwE&_)6Wz`A?L)7N1Uq$8-e;49h=@^mV2BF>X?z zuukNNoY?RHvd7;(rDH6w_VO*RByL7+Q43HJbkuW)A_aC@)RAKHGbROxgsI?1f+0hZ ztzY~RRE_bzFS5Vdpkw2qT8D#{qb8G`UA>%_hnAdof0n8sv8khE39kV`J;rpBk zSD3qs#xVSU>y^jtH-PoB@-J+BW@&bV_J?Mv{I-q|e8Cw;{k(kZGU^_f^)GUxZS@El z^+m#M3%qdDDO;FR)R4njcd$d8yt?Jsp0Vg}h{D-Ce?Z*ak;;{D!QB|YnAPpd+{Dbb zvjKOapqF#L3sUUVsYmOsI8<*z5m!dlqX|Nkj=SK{qKG^n+&!iV`#hpDJ^O#CdZ#Es zmMvPlY}$h6xp6IikO~{Ic>INjCiK~$>wtCz+oHw|M-ua6qNoi{*(HDwlfZ?;!33t zk4aSh8F*KI3oBP zvbf?0y$!y{#sBhXFibx?<$VFQOxruP>oE^KnIF{6pUT1Cep=1xygX%= zEiPzZ0S5=VGHC&T=mh`Nlm53J{a-y9p>xDP8~LQjFhTfs!64RcT;y=_b%Xu{*eAq( z$^>EpJtq(KXIXkKBo{s4+5@-{GY9J7Y)PSQRQo8gH+OEWv1Y7d)PhLHcnsJbEL`@9 zv0DnhXO)>kOY35H9>KLw7{(GnRv}66GRU&H)xxHs?Qq#aodr@z?$1@wH4|OwwVeo0 zqT6M^0a<>E8H|Ow<8IEoFX_j6lBhZ_Q87Bs%bBed&lDj3gz0+hTwtNXPflWPqQ`wz zY!=+6@rgRihH_qjUl=|-b|^F&ektV!Oa6K)>3KYKGeK)qem)HB&N0(yW^^c=jjZa~ z+<1BzBQmLoUh?}g6{P56ac4dSg-3@>l_aQ4<0r=`DNp@&SbxzG?epgu3G0Q`+>MRt z!mRQ6?YAEkXI7#hoq|zy7S|eq<7ZuC5KUR88&r0p;Co9U#j9>7RBIjPMk8--NM$Ny z@gYjSb@IpqnV%G9vb|y8WWfhH={f>h-Rx?;Wfpa>o=K}LbDgj13%`%yBI=+JCaA`) zUcDaHL36;B>^Uzd9@7Kb#NxUfR3v8|={j?Jd1*Yv&$S{z2-48g7O#NIA-bj3LJJjW z6%C(1Kmd^aMEZUzcREHhRzw>!)&Z-&r(9==}8b{gZ zjD`oV!il|&my+oZk#@`XHeAzg&3wCctp*4Tpozr}{YUI?=U5D2SGk6*z%f1pf44G8 z`2rHlkp}c;LnsTCrAv2Dpw^VEsw-x--Sn&^bTqYI=OG!F(0P9iPpLEWH>WXN0T1E@ zIEM`GLF-G2L!RefNHC6pBl0c!5LO;-DmM{mT%I6mG6a91_dWp~M$Z6E(e zdB?Mlpsyc2Irw*vtCF=iEXcu2Nmh%sNJ*q6dm?y`8db;kt=yp}b>?7#B-2sWMKG#W z&)cU5SCVc@F zPo{>ox2r2Zu73qn`U#v;c40e^N0x-imVKAZq+1Q1X2lg-*kd5%k=x&`!7;k%IK~zu zgzq8bxAa^e`OUJ=fa)U{X+0-gh}X&gsUuldxViH-xGv(z3=ztS2cZPm+~hoyrbI9U zG(VzV4a*q4gN0|YFNQGo58Q;$w6&O6k_H?V{;fnqHr5$0MY|8+{(|i1gNpjQ2g-bh z=WELj3G8b5txR$&Qsepf6Dz;D-O+4&d&{Ej9#HF$I&9L76b!Cb4`Q`I`=YTln1yW; zcQtW~GRy{5moBwML|M3;W-aA?Ziic=FCOUCs5oK4RTJ&ZVM%H?*}Vf zU6sH%BSh`%2tJapRQXgLi0pgRFLfU)E?V?;jLAC#m!} zBqT}>p-llr<`?P4$a%&%JAkTM)x3QTExv;OvFex@JYiXYhvhCOOL-Gvgl+?yrkmnU z$j&{akoF^SG0Z~3AJ#Di+O~Qy0ubKOTQzIG)FYm32g)wg;|Cy0H2b{F;pojFOxqIi zckYdn$Pgr|T5R3tM`b_ZdBsx=4E3Us5a_>WDpSwj0%n!JB^-%+Q70CkcUuO%`zRZW zYy?r-yoY{j+=~5^DFeJ41y5IH1sP_qd@?`4L(j1YQ%xZ=w6}SvwhJA37aclaH56Rq z%BiL-!NKQ7*b7$#YO^wmB#Y1AF-0FLB)naAh}L`P$2z123$#m1aB5#@sf=K1N^sJH#kjJu@qco z?kUmdnsi(kUBq!ao!!tuvId$qaOpz)&0Slj&JG3Bf$o8PQYXe{%p9~ePWoddXBuH% zc>#QiFB&o4XCW&;rBh%9YZ4VAS>w8}(SitgBf5#P-=7Q3Dh&T_cfxcEne-IbF^!@> zY%3>W<*+Gh^eK5MS7(}V(pWbHU>k0S)LbAX9TnCwSORDfIGKRHY(Wh*gU1|!6^fJ$i8jB2tDvo64Il>7conbNAR$NX%pbJVH|5)3k+K;J=yxOEmy#n9MG3$vjs64Fc!P#5uhrlKa-sgtSey$eW6~*O@!+s*buCy1V^mvl{dGG)H>@>ouPv-2rcJ_+DnR za0hny>Wi=UPp3iUpeD*(pbvGXf6E3kb^pSp&T|~{qi5`WiJ%66Db&{^J#e2gqxie| zE-hwB$i(X|4Bpc1mbrJZ94qe}mnyR4JzPUH?kzZiL!=Fgl0e=pWgcvdqvHg#EoFcR z9KFNTazpn$Ls$yGsfQM}M<12w6kyrGC_2B*Yc3&^_iQlV_O1RD*cyXx0)Ede(wPtt zesmT5`=HS?D_-kf(vJ5>c=kwnU54R#;xH@Cant6U(up}zR-{bywDq}N2|#q-Xo+8q zZdoErt=-V=&&dLrwS6W*^?|Y**=BG{fpkW-g1l7XnEFYujrNV6dsORccMRd{KOL6) zx5NDZahQR>H-?kW5#9g{#+$)zJf!~Rx98kDnLMfnvZ~Dw>>0qfR8LrFEn)l;6eG`a za@-$k$@QP#G#LNXRrt5A_+MRB&7F_4GCAEB{J{z2E72P5fkRvjdpCN9zh4eM0QF60 z+auwN6;0`3IKh+E@xH38ODF3{Lgud}CBp`SPV|ml%u}Ikz-}+_h}M7R&*q3TNFO z+lnNujmNlmIG_>(mcm5SoO_CP*zpie^~+Smb-2)rGXCskKYxn$_qi`7BGb)IveiyMu=EphahMh3i>XXlTuflwk? zuD6C{f0jzI^LAZTN=|}w9ukMM3o5rkls1{ zvz)ZyvL9Zp(CmD8Ea>o(qjJ=pZy&a8Ezz98VWgex*>PCkwqFr~_)=H$5}7RbL_q&t z?&x~OG$vy@R`#N{G6&hrF+~Z16jS4sz9#xMy4M4JNiiBI!wiW-Q%BrqhokbV(^HyZ z(IxdG%uCNiDuIe!CdDr~Ey%Z8XmF@$<7@5$=~BkM?*(JOAII|3lG*2>?cgZ_WgO~E zbLn$Y8~`Cd5!c8tJ)n0fd05WLH#^#|?dPvHPBwllUObG z`K{3(M96*KOSX;?Q5O83PL%KV*T)j0)-ZJUl6PxJ7H!D=et|mtWedu1<3YXP7o4&} zB<$O(6ShkRY%Qd8#MpDGT!)VRiOa3$s(_^c$s-M@?h-{=?xwyD2pJL9qz~Q*fcBj; zu9odX9(OG7EBS~7zDlx7Q?c0=*#fPsaN}x3oeC39X^&Sc$K~rh^!Y}*^>=M4P$@o& zt4!sW*rQYR@vE^*uql{l+^B2uGD4`Oeb)KJk3_NWmdQmU4NFvlPuI&^02<)=^RvS! zc=~sbwFQ?6&to$$Xk$yL&UV?25Iv8=|6BhTf4BzqU;HNo0DS*pZ&VbY&go#Ggk1%7 zAA{ux10n)_ZV=+=fTJQZA?V$u)VBQlE*yE>bZ;5X719+i<0kPM)N%=+lm*0eZ8AUa zJJqMgpQpm6YDEz?Tqfm`@UxB9ES`|uJe2m!fK2K+=kaTo!FW;bvRqx}M!_6iy>5@AbJnoM zXNx@k{aCb#Q^6Pu1bbllO zhNRov`vj@|cd;)EF^U_`@2mGpB0E;PA_LT9hu{VeAfzE-sp%(GL@nN%o8xP8!onJwrIw5NtNPo#I*J62%u;e*@#_g`)@G zPvQ;VFlCNIi81J%XmsQ^_=*bSn)$6Q#2(TbStH13JZ<@{imvu+-I^PpO0gp*r2aG) zoxIa$`}X2XEmQBtP@bch7jTyFVQSq`)NQPBBdFm7jfi1(m?@;ya9{)C!1;NPpi zL>{;pPhVqoF%Cu?b1arL$Z|e{MlE(H4xi&B#hCeuqdceJk7FyWK@CX_y?l6_Ur1%9 za59w`45uUVT?K%>XjWRo3+ks7tfP89mW5{Wx-6Vn3Nq5tC=axSV`9DEalt;Jct$SooG(_`BAmk^?vM_)E*I6HWU3n zXt{H{_X2}F7OX)T*YW18B3r^cHWFJZx83!$UBFjj z^^F4%Su9kb7W2o~A0dB)y>PofD!Hq7$9B(?cI2&C_WcF&N@w#Z=UZ^@=gw(SNmRX* z*sv?72_N@{+ls~PQwj4;kF2&ZYLlA*2pts zU|v2^a5a6mQCZ__<_%y&9yWr|^L34F{Rtoe9qGqD3hN@cPNs(>-1U{_glc$6vvgI1 zYkZtM8E0GK?vMT>;GgUR8R$?}3<2kKmS-qq`HVbcMdf6Pdl5FMQyKP%P;Isf2_e{Q z@+N9jY7lrWrD?>l#+u)4lK$Pp1^Ox8t~SofbPD-^YkQ@TH&-wVXShL?%^BYh%a3w= zYfRjq#le&wGg#Im5caD_ywr2q*IOd#z5nz?<=>vD{l^okObljSs(_j)!{I)H1|Tof zM|Dp7tChllU~|KGCXFxh+S*wuV4qm~i_CPZK$($EZ*uBuvkAX{>Z<))SMNW%Y$8al zKWoQnEwv!e?7hr9)8$Q1ch4h4)1BZ}@`0`X^D@f}GGm)L>v_PoI7UAHv(4eVyI=+! zlu4(WFt$Hw5Pt$z-QivnY@K>Fn=vk0fPX2w$Y~=86p}j!8;J5cM_os?c)4;v+g&;o zyC+^YiQEd=b1w$wfMs!C2?^?I}r&4e=5QriIO(_jI+)z=A$e^1Y_ zeQ`ojem*2Y_p}};sokBsws;rAdhZ~cC~<_WSle?Asg7brnxm3^o?KRp z7G8jn*`cBs5(Pt60<9hV_?4oqT<_fhKs2Uf9-hE#=AGB%J62xOl7b7K&}@EURz7*b zS&DZe+gwno&b9u|rf30d+fdaK@)V4|hm?vY(@oLbY8ppvP$SqcEKt6+;mt=nDS%V5 zK0a&{@}-=Ona{QnNaQbn$pM`tHxOcKDuVFiN%wT}VV9RAOO4&RHHhb9lO=mL@;nqx z3Y6BGP%P9Vim1&VWu4Z%=rylAz$6QowajkW4Vsm8?=%ITiQ{1?u5OEqTM$i z%8S~t1A}V|XG>hay7gHDJzF!eWt`@yNCq!v5`RF@FGi&zM2i!o@oH4H|14I`oc zVGO@3dk*Q2zZ}m&(;c2;EsMM3!*!JUq8D>PmD*h9(EAot*&ypZ{`j4{;SV+-``dDm z#-^5siz2hwCETtI&G3xB0*2OXoIoUh$N$&bTXK(fQ}K{^Uyu1&G@uKBG+Eq4P^+88 zRn%ES0M&v!7-tdm)tIK|DOPBx?|v917zaawsz@M`V}U&yA84{!T8SY5P(9h`1xS@c zl9|J0`qsA;o){0#^rHJ96L8HZzDWcFt-(^mPusWy)5G{~qCz_>{7uITX`U{x=P$F7 z>w>S^@Wa#&njabmE~iU2od!<-^kX#&o=++M9U#M=I@-N5CmSBLRJsZway=El^2o(? zKWWoZ&7X=FAwA6>A*L}S+;UScfS(iH_UfELVSOYJVsz(U5-(ZH;3TI|UNk&6_x3~g zl)o`Uk9rt)2ZH<(8= zOnWYBI9=sPnq{E(Du2v9`1l;c+sAYqsH$zE^*AGY)Zo+*X96w(^8Htr$TVcb7EsH; zt`N&lIH8n2=^+bSJigjmxnUACHVhRP0BI{u6m#*lr}o8>*1kd3Z3c8^)D5%gh4DGgVz7UA5#PdKQ*uW_!;bMZ!XYtLT z30%ks(Tv`}acj!Wte1aW503Lb97db19xD>4QE6};lLV>bH9{mnW4#1XvIff_Jf7?x z#)^cOBd)U_72R2eJ7AtN1+kZ@;v+uzoqUhJGaf@3u%hKXJyH2J;*? z6jOLdr#&C#n0xZ?g>K&u&)*#=?OL$1RPI)L&cF%KK5$Z<70m2TB4NJ74ODs#lZfb@ zt$=;$0H1jsmepYvkP~lmyLHDCoE4sZ+#K9mMfF#ku*+ot?%)0r)X7So!|B4en%aZ2 zqQEAUdRK#KZ)*+)r|FzG8sN6k>9;Aty-R_^PmtJVfnd{6Y`PzKg&5|M-mMi(^p5p; zBhlC1pqf{~)3-Bv{j%z)BFLuCKQXTHZ;YG$7vp9nlEA^jg5SEZ7V0770@kJcQNJ(~ z1@y{#v~k978B^v>eN{gJba1j~`h47SikL5y%kj=X4S#`c2OuXjninARtN#joGBx^^ z?}U|dN8_YZZk2me-p8HQXfC1ttVrXNfn$`mXY}omnM6rjO`o5JtjC@Sy2kQsJ7uGF zMl`M}*4puvd-f4n_}wsz3S#ww)z|WkflD9ah!5v}B_7r*HC+Pc$S>*2eA8GDWFXZT zeYvDYxyBqshq>ItevG%ueC}OR_-Bxae)f(v0y9Zh)~JThwSN2dqLKi#j^D}n)%*I8(KbT8m3t3fP#~>(&!<(676jk65L?BGMVG?% zMXY}@C@cm3>eBC9Q!ymRraUJaFyvpvk26*yY^W|Qd=XKXX67BRY>K>=us)>bEt%Vk zUTzx}L`iGxIXNFbptPx3O630|Z3>LD7LdN*k(N7xXOyd|y z2U*cA`wtQiW-sLH7340L@1_sIg6I+6?Q>;{ZHDfuoMsTTWFt<2jCIgYLyfARl7+3T zfLwr?4VYm7ZfD!!>jt8OiuWTCy4#~;sy>USAMNa{1O4>*>A;m zm8yk&GI!6sFA2{4keh=+>4C;U+BCq1EebR(9+DE*S*5{j*+G`6q=omBQu1u`W)w6% z%G`)cuQ1d)!s)iT4&(&%OsRA}FCoBKnAm|fhC)ehAvU!&%nwD5a7ljP2nT?O|`)m}1=ljbBnJ`^!fC zJ?opnqOu}%>Iy#yDc@>&YKv7Xv!D0ucG`%a4KB5rBQ_Ap0Uc#_JlJA>^F|n(&RR}3 z%DI@{#L0=f3c9XTGzzHpq|UKf z0HIC>Mfg~T{K*?H;Vyoj5U$ba*!mctrhvty-MiEU+g_?91Vr_X(<5P!9@8^bUgTZuz2T( z>zZFmGQHGHdJGD8w<_`)L%l$!Z!;yXp5XOgg zn03JgeB=A%)`6Ed)A5Ch99Fi=4B}L4XTZCdvH5YwZ2TB+@vjL(ss#@%P8i6-;YyHD zjCYRN39vSC%OqY;^v^xm;d)TwfSe)O(e6m@ADlsq+dSWjer{k*UWMkaSkM|j*z|R zuHODIrjILZmD7!Xd7U*{ut&S$i$8ZJPvSk_f-r(m?Tzn2(>Yz_W&>q>LZs^S>2wmD z?nzT;F?ril{ed}ylirG^;xbKWZq5&HSGOL=|t`ay5(9a zJ-`i7s1uQP$K=O8ACK>xrPMEs%__3z;5#9O(@+nNl$qmlvWv8fwA^D~kgrI;r=Zn9 zF!Q&ERI_@r`BzTe#pdf*t@DNJ#jXHsTi=5lFP|(Wl>l;Kb&?xExF{Zos6jaLUg3&T zb_)8r5baasI(GRIV2zDPya&wh`SROP61as;;IzF9*XNutpqTy%T>6iL$yD1lg+xQI zCMdmuMkxT!jX38?Z<#kk^W^$`K!RtN!PJWiAYMs|TiKYk-9;InLxUx`nE*WEMhJ_1 zx@^Rz);*xjOLj*bls!sk>T^o>&ZFsH0qI`|80UVxUq8cgvS^N4506qDmsD{{_!o<+e#%Z_X2KlK}1c>w?84#jgAzhd+EO2maq~rO4 zbFiJ)EX7D^NX)j$pS79=fcz-yz^{}$&Xk3S3c`@9Ze@PFAs|K_pLvJ@6%w8PI&1mo zh`|+TICD-19+gIVHZ$~MXxU7k8nOCTC;s$`#bcB;j7u?>oUf1#Ahk+Ss69cc8|HBEzR1 zyH~XK=KGKMnXfNk*!1;eb5_NvI+e)LcVCAcqbth;Q-7jfVAdFwOw9he`%xDbLps@H z%93@Q#?^83=~=cUi9f@(&hWwsXP>H~uDj;(oQ>#qj9Nx7eI^~=b*ud!R8mb;mWD+@ z_c%sBQEB{rflWwGeMIf=14q!O+ThKAkCAB}*|2m`E$e0uTfa!*ttdw0!?+;^!QEZo zgZkU6A1HUL?|fnGr{6rzuaA8eCH$6T(aHd9_Ug~Z}%6k z6w5@4tAHK=1_N6UBwGWD*^;q{%E21lZ(f+$Hq7P-5CT()ZBYHuN7s z47PLLxM4r`KMfGkGYUz3mc;i2C6XV{yAUsE5sF#;W0gj zE3L7&RWRC2RP17p(aHBHI7YPEO)?Q5ePKM%ouJ@Xn0u3%tET1+mq6%z) zzEzOe5RctUDp&=7Ia9A*3KJQNVM306iyP6X-4tNJpwg0~si?&xrJ$L;&jd*+OE|YQ zrQI6{sgj=|nA>eT9FhI>?Cr9;LOPP-S9bn|~OE!m9?LXHAH0k4l8s5)L(umX!RAoDKsHBsP~f3R zU|r|6_wUHql$fAQ?b1l5@>YPemrxOl-qmihi+)My?A>P0=Fol2HV`jFMhMIAK<;%V z=)#hP;Xv3)B~ztfv|K`0X~DKAnb*vRM=W67RScH;h2zy{Hhzwx(I+My-7 z@+)j9fIkU9@DGh_89(vzJgY{3W1S;RTU4$tmN{XhjuFh@ub%e!Ar@+ z%~1*GZGxEB{i&d)*R;&V<=GFfZFlFkpxnz|_dT=6{qrP0<|p7xxLm-ek$XEA9;CHs z-Oxe02c_KkJ_&`W_qi~TkLuYJW=Ox^G=*y(TjR+aIU)Jvo$b{NIUfoS$C#Y~y|MT% z3VoyiD9d%0D`*tRzoo5%L9icU*ZqV^(#i;EjAij@u5_%4Hcs_n^ z+t9J@-0_FW5mlE#p_0t7{G+1{Sajc3+#)iLQ*+Sts7j+xkNwvQ9yI{Rab3e$!0OYF z-~`b7D)X3uz+(cZwt%8NM(=Ie-SJd7G>ly%oxRRJF~n&~j34 zlZk>iwkYXXUUayO9zieVY>fbrm*G$rz7QkXTRSoggq2F`&@TW|tJ8z`TmE+16wy&Q z)4WLD0w6L8Iyq1#wvK0`i5i%c9Ru^WS{sDU|Ap$ z>TRu=#OK;9acjg5D|4((CGb7E=1(k&jyN@sxSN~W-Q$i7AvTz>>nlqz^Sp1!vt|{< zzAk+9bBHK9Q-E!h@C-lrIM=B?f2JTBU)1sV%jRTBQgov!CB^~BPxc|(IP%(ynDEVX zNM>3TmC;QleCLjw-cblN8+8AiHYL=R9DEq%AaOG277b}yM8qur+m?WUTo-wu+{DD$ z-jxgpLW5CCO(8wWVWD`^t*zZyf9%*ml>#hYCE{yy(}1Gkm`3n zDE-%g zkUj+|?W8e|dg4w{acRMjL??~FrOT7s}Fcj$ND~Mb& z`5U<_a5!rdxqfbBoE1e7gt9V`1m`!%mB6Ybpy7YK6y@DcJC z5G$McZ?sa##M5m}_oU2KUQ>o>*f60}^FSWKIhd8FF7v`iHgy3$1I&a!VALFJ@&?f5DUPB2DimsdLa%aQoY^bt}gbd85y^ zXrsa{#|>{5E|{T5i<m62-pcvSFOqp(3!AIe5YukXnm?d#no&cA`cj&)0zeBv7wOxErzQ6aL9wU4UNCZ-=SQbe)TwQlM_E?@DxJ;wa%pzXtG?&w z1vwZy%zS!S9#C)&^=E^{eAY`eF|RHpwj5_<{4p2UgI2NoI!;n>Y zO+S)>FiS7xxICYvWIFQLXHRQtKY+;I(!j_(UF$~9~X!a!}Fq1vu2mmSxO9#l za@u=?ls;20j(d6#(AjOHcH&|a#aUQn*VuYupkKWg=j&nRTgjTq$A165)g-I(){2cR3~>l6ap}L3#Z!&d=%yGZ!~RIB15D&kv64=G`E(yC zTB~&_{4b%$cz*7NcJcH}5qs2rHyTP0Nr7}UOVh4ue%1^gX1rD%4>hT9&?Qw8wmRX{ zyp`51yiMicCy5BRIaVdJ? zadX!+jC-m4bASI&)7&)3))!~frhvUDhv-l|7MT5ms*=Dez&zn*Qzber35Q-z3_)Lg zuqH*-MZ?&^z((oENw*2Zs6Q`heTl!=vUo}tjt;Ae*zmUmAZat2!}qvh{H!yFg^>z6 zp&mh80*;$v@xy+qy6x3nqUx#Lfx0`(J<^7u?=t-+K*TDWWIovZOr;J@lf(1bk z-I6?8RZM{)0P4y{oLlR1|AUP+)Gs{;ctkH*?WnuV^s?nN51OzN{+UxiCCt!vLA)9E z%N(I(-&(o1wd!B^Y~qH}4!_YWEQT3rle4+Q$^wnw1hKw<7n74YBy=`H18jN2SGE9v z0~#T*K??-XBfZE!`-w({ul>?twlcoLce0+a4K)9;uYW%i=A%9bt@*?OxYQPKYb~tH zFjS2R{1P3d5q!~Alj!FAxGN+V?JQH?&( z1joCw1^RHyYQsnFot0@Jyl*ku{ljAI&)>_J24;a~!}pEZ%wkX}ROa?R$jniktnvHo zdG(1IT`#P2pMsY4DS$7iL_Z+1lljw;D~e{=I@1zG(?I#t9;-)a z*gobiDpn*p75kE^r728vWgD9sMe51tendM`a32Zmcn6~C4d))rn1Ajy65^{-#n6NP zkLCP$c+&WllVv&XvE=fYghFF(tA>%&a@G*K(H~2H$%JazD}-6NB{-{>?r+hT@1kI! zp}lc9E7K_KMeH>!31c;u@>>p>hpo6Y54~u>x8R{A{SBQ{3LwIC8ef0Le4ISKqkCw% z8cZsdI@(By#T4}h1IIZJN--!Ae|+N*5JqDl>ze#J(x0+P9R}DutHpB*v}h#AeHF)B z99gN%9*;@k3A=|OCOiA>zvTJ5|Nn~`M)P0%ml<2-DTZ~7hTI%;f_*B*|8?uNtJPP( zWfR|ZUk58}=1ulZl$0JPuLB-PUAT$DNlqsX%8?>U+LO&fbfoPU^(_PN&L*Hssu{&~ z0*Kf0qw>_V{vlOBKl!s;+`{SPCUG2DAd>52c^f7{1{KKWPROZ;-w!)gn&$*#qc@J2 zcmGpP2g@f-Nen`yrQK9|fKc@gd8fM%V6WKN3%!56C?pM0Jz2iydWip0h z4p=Jncft36X`JE_76*q|*)+4Mn?9uV&i3u;`N=SMnAkt;lSFa3XK0mz__TgpbtM2; zYvULHOhU+ftcWSbzy-mo!Bj0q7nTN=BsBtGwu(5rKj@$8WBc)T4T}NtM#esLCEkj5 zaR+HS0ix~vBY<*%6p|^ILlx^F7`1w?XwtTaCrr|6&l}f%bq>tf3YTn?$+3?6r}3yz zkSUGj9Li^C@vtlx3IWPi=~G;Fh9)~nUZ4M;dBN)6d7H}?CfdIyFBM|#~s z^pY9!>#M*X#5hb?o&lP0AJi^5QtyO#!(kX>dM>I3)e3Ef!vJ7ukF8XZGOIkpJ}15n9r*6SUWJ;)01<cRKc{W;?`gOG zXWCS)S)wTyP)ncB8xP zghDwWjW4iQuht;jfDGx@ot(6jMb5y`Rk7IuX5A;7bFzZ4m4(N0KARVB|1A{0Y-~dY zn4b;mIlt}>QiiXnaSynR2ky+|0#^1yL*@va#WQF`c-X2=KEE; zVCJxxSciV}#N^YA%!uCYFbU36Y_AC>c zk(7j=ue`8jiFxU>%U$Va!`z9vn{k4}TsyO+CTk(SRS@Wzg zss*F$n|U`%;9i~7Tc)xaMv)s7=A30^2+tw#Yo3@7q2SJuy~3d#0<-m0^jtR=HHz|~ zH3+#2Fs^8Spyni$*RZz@J!bCJT~@27)x5Y~-Y4hy`x7_;tEM$Y8?ri&Y8fk)hIADA zTVoUJDXx-2kwSaKfP#-7=67`H4ZevZ^LQln-=dvj_)noCoT3Z3Yx92X_^@3UnGv&G zhb4X-^a0j?S19qQ>aW2B9V1PCj?uL-lTML*~MT#OaCs7yJSP7yODJGaJLVmjf2>*m#2zL~2n^f*H3h42ctiD;+o|HkU@c zFfe*sH2YGq)vAMm*nmaugcqsN9a)sjmWatqj=CUPXln^EV>CP^=V;%9*GN~kB*3FkijCT}? zQ#{Un+>yd#CTL6T+Q3Z`z*LgWhY-vd=6T*&@Q`@6F?yt01*-sTqZA**%0oeHeLT!# z&bT+JM6p2(qRP&?%N=gWYe5SgX!_v{5ef$C%?Wurvh;N3{vFtwdmI3`mTL$UR0 zO61%~PW_zU@I5a%LD-vLtl8?sZHHL0eehEX zG2M-Dxkp@*o#A&s!i4edeKDEY0MoZTHS$=_r>ig|%bc#IZ$kFd(8lZ<6iuRCzp$X? z(P<5HiG95~FHt?bqF?(h=XYCPXdhMl z`RX_tvgTDy#)@Y7AOC5D@kIVV{)5=~0|2NCRx5&!yIdZL4>Z5nupc?iF*`tKLKl7s zTUkoSL5Cf0@3c}nCK&gsMi)SR@#;u9rDI&1Q@rV$XIU;q$H5YP^EQ*zd{Ys>M(7~6=* z2{!_TVA~<+TAAo_IR9;+I-h4)3|nN4dWaf&2#~!bdCPC#hO2BDkE(vvogyCQa98=h z-&JQ2@M5$vZ6I_zTK0YzE6i#3yP)Qw4iEw@3PGA^VLmfp^kWsQ)@K-Sxakd^^T?j# zDQg683;{$XSrd;^S`bHX(6_Cf?4dYMh)I7-iu2-hoZddQuF_CO)=)8DY^@vfi1GEpp{%BZ&{iESp;f zEK&EkX=*mH%}NnscKvXbTXrjdX^pf)*jssn znxo#}Xvptch;K9897^i3`xv!0du;A!%hR>al*F>K`^F3L7C9q=9a~877J}vXLrYM$ z7gwJOFM7pF2)dF*F%P4!xShIl;;Fz8j6{_ZaWey2`pgc54SJQtN=b=gTeGqTEZcFz zg@Wyn+If~FCwAwh-Fae72+!;owawdiTk?s{vFj`*tpi#I9)+ki@tD%&q%6V-y6#n& zJe`^hQ$y$NcLvl{$v;^9tA}SS3G4tX2aA9$CD(rnxXHshy%{qvaSN=Pr6r2dp4tV( z{LP%mkD?i`aJX*%HflkT}$A=*dJCR4b1kwaz{nR1W57q!NhFsWB8 z;a8#tovgv*`a#nQDv1W(`+1i`yZA890X(@=<0;o_QW)QGQ9}9rd7hTh)LUB;=!_VK zgi#wTQ`uH2C;qgK@w89OT?=A%isd&Y3e+K@-ImU7&t41P*Q%7g{|ZIkr4FYPny zOj3@j=#ZDJr(27Cz2i`(E}zGyZc!M_wP7p^P6$X^U!a+vbmNpVabTV@>taQZq-8i) z)W+TH(%7$QzR2!xN6hhWXJX_(j+l9gKf}37?Pe+{O|WjCdtcbFHezoXFa>}b1{|YY zpp>724x{`u{}|jk31!;IN+U|!QbwpPJ(qNBzOrwG-L4;nP1mxVLl}-Y?y0%(RSd5x+{uzNmh=K(LXm9wAvP*uhIF2|YMXQ8bv6vR{bM zCx<-sUD5{{ilj72rJ5q~dQ`_>2fs6R@L&%LHTFQLqOhTwXaYi7#U+_1u`>8U0E+`A zB%SA#I?wHm{-AmNA{ZI8BsT(W6hLd5kNVE#mx}T_lNsOpZ-31B@7d4%k3XiYu&?gs z^~aH>Jb}fl(qFEoJFL>ne>uj%fGViDx9(dDU^lS)*ZjC(IHGgBUZ!8Gl2SNUg|2an)zz=fvyPf(LYXCp!%E-{#zx=m$hSy+>+k(;FTO?fTmSc10K?xR^o_su0vvqHKjV6T zp9}Gg|LGI_jak3(_xoTc-x%#1f1d~L`HfM&vB;}4_Z_e; z|2|ko07P;nL;ytiO+5X#@A(5le(#$E03??YKy40?V!)Qy*Ea?L;EMx*D*+Do1D=Tk z@Idk(j}idDZS({9`6$n6pZ8CHiYq{0g6|d#0CM>N008v`006}ApVxp8uK)h|1Oo#c z_~$rjm|w)_)397`$=TA`c(y1nAw$H(29g%vFdy z>kCYo<$7$GIxM>7ip_Uy$K>-7lkzNje}b(r5!&; z%Es@^02x{HrLnmJI!(J;rwD7bn0EE_LQ;ATBrA@kvy^I^F#wSc)$xQwHuMntmHFTRf{X%d=O5eeX$!Om4trk^>C_B`af%y+;XTIWj|2`5Wg&UN+A zY6s~WJ6%kx3vE*a6j359m}}QPiUeMeN4E2=xz-e^!l>-LTrA%ya>k~=4zVkj-ucs) zdyGX!x{|d+QA+_FF@y&GSml68(7QY>g3HV9y9F!I8Z9QNJJ0bD5>Let@7#Pa@tx@e?s9o38?};s;8SmE+8x**Ccn zrr;1lUk|VE%Tp*;F34~QLuxICsRT71rlV!>h@*UPw%wz~nRzn~IHUfNizi+*KR8yU z^1UC!Pokh3yb@izq;`XBPP}=|-vYnZ@~1}6PcLh&1geU}#F7(F?mDxYq>g{}Gz{-W z)fS36V=I9qfm_SxQ+BSq@C%nQCGzu^BGg+(NvneMk2l@JunP*Y25$k=i|g{`?n=u; z{&DR0VH6YLoft*2x4%N;gB-#|)$;>r)2jS%Yk0x+qg4zZW$S5tzH3WA(K|iCSks|Q zSt*S6BKR@{&b}a*?-fU2G24aV1jOY_s4RS=yj;m9RSxoSws~D%r%bC04=vK zaVtnqGHY32AE}*8HkgJFOOU7N4hNxi6VIyx-+QzBVcKX5-*1Zuv*}kh#wVy{1(X*b zIJs8A^u@YYvl$v^?ya>}YjU^3GNsH=z{!Oq{x~3N z*UyR3cug_jf% zT8?!JKC~~j)u@MV1H}-G6bl8Yy!z;^cTmxThICVU(RzP{Cpml@i75(XtA%n25uAXE zQ^GIZZJqM$itt0NznPrR+Oe8)&<+YBkRIpDqe}tslw4F3+R;aSHkoMCG#u)OEaMgm z4k;)3L#~ijmvrB20B+>bj2)>AgxZLpwmnv$W&yw3u=YcgL+)CL#u_;f%&lvc*@$=; z)r!Zh>!jR5kw(p<5mdE?lrXXk_@ehK6Ac5~VOm~`-N54;>|J?@iklD^0)4z>xONoL$cGEK}1b@3HD%bWz zR@Oe)Sb7_N77$^9tqF__{uzcb|%a9S~!7ijW4!q8qg zmPH$BZ_TCk__vXbZoBCs`KS<~#mRr^CAZ|E>SQFTU6R3O+d$ zD4!MARv^pqI)mn2OG5M`HPkE|9Z>Z$d??!P>_fxJ0QW#w1KBZw?cRI18t~-g=r{xF z{Z|yf&1MMp88M&CQSA-eE3OT)QZahD^}0}uWVkPFE7w*DOjNsMGft>-jFJ-m7=rV{ zgd5dA%&^+|=4Glv%DHz9A;5Sn4#}Rj%iky>aLk*^dE*!hS~netn@JQ5_MqxH&Pud| zJWz$ib`JQy31;X)dOMDv(5=^8ntm#XHZ;PD*tQf;P^rF`mt`3UM1@WtfbA4)HFc9J zQ;NdQh}+4U{DfaaNm-jrN21v7nTN9Unkp=oDJRe;R^vnY6}BLhB>J4LSIO@tl>)d9 z(~ej-;3el!PMkHc*E6T%0B9jm%+Cv8sLhD!B4*j(`{>U;jpgmP$CQx3N<$+|mHMOo zE`HX$s6@U|dScK0AY?SWM6&T_(n;`ofyPuj>xn<9-IN0|0>21k(*a!i#?FFmzj%w3 zt|Qa5QsOq-jGm(VN+mHN*!?VkO46t-Wfhuk)Y(H{phnnvKd^>*K4D}RQoiwQX=}>G z^@{GYwZC}IP?qAN^aX_*eeRa?Hm>A6QJaiUO*c0n^8HSo)NTS0{;>a6CtVF57?>4T zuB63T2TK!)E%-dhAUgnLQQ|bv|8`*YlDv&KQ+Xus^W(d^+B~J!E=OAI!Fs;Xb>QG5 z@4fe+wy9zP3~QcMtZI2GM%4>6kh0v_IrP(8^0RbkT98h zBFa+6vitaR7x+pi%W5r$wE9~nL0r%q5P^ha5_*vo`IWbm2rGD=4J3QbsD z)fUsC!j}&;r134Q2zfPs%EYEj1D7zJWV}<`tEjgS?x4DzQ0qG`Pi&fq>s!Q_1B&|7 z{vHTdpLzXFoa6iA2;f=i<5b6XmF^gyTsLhD_3yQk3V~aX`|rK=mM9H^FS-sA!7OcT#u{U2Ysdb7%FFJ- zwZR8hZGKs930~eQfv)7gAaLA8jLWiovE@Z9!BcwjWgib{>+iy7O!{yaO*Qw~mFH{$ ze!9qWD1EdDhDAhTIF=b<@~cwU#ZpRVt^&un->b@M3>M2gV?jGd8PGbvsaYz?C^C~2 zqH@W3@cEB*oM?~rRS5;1tk$TXh@~EjEx})G#&juTy(t9=c54cr(2YpoN;+bA1d)?& zPr%ycvAi3A3bdo+sRhxZ?A5#B;sgs^tWOtYWAyHQiqJbOCrVJVDB}c*WY%+1kj4FS z-}l_8gF6T&$9nSSwzlq2f|yMCAPJo7cL;^#UMa2!E4}`NtZLOZUx>;nF^x;%lnWEB zBbQcc&L}|^t>Of@MIRS*z4O*bu(DFQx;FCfu1{1@9)#xC@w=`Nb&bl9#{|k+p(*7c zGF3LN1FGM)^HcXlMPNk1Q_59+9{z>X!^z{gfLJrYJe7tOe8&aCmz?G;bF7H}i7r>? z5o_3JHLe+GPbyY#9fgN|(SMngl}dS4kiH-=q+y-e?K2Mq7w|&{Z*t#+*6fxQTo$S5 zDPIdVJOZ%jdW5{_CkgjwWbv{>RnG# zK=jtTN5nd+`t)Je?Q?L~wI^2AjI;mcgPvPZWIC5^LaB!0#-6@c6_lkbF!W7)_@B^N+_r-U$Rc(0zfS|Lz->a6>{!|KP-SeCC)iIO~B7!YtEj{Dc z^{(9alCDtRvdSn%C2$aBan(x#?-s^;x{g7fI@hwMSApEPr|ld^m1@e zgG9C72Hs|hql!yk0?16>iy^R47a}wdfU~vM5!?%l?j90Am;F=>saV_y8>?@X2VLM- zy}3Hw1-e29Uo$+!v*8s!gkVk|cB_!yQi6`VU=Q)MR+o-|-sjx=6Ul_Q)oD9OhVGw( zjpJyn*Ov#@NDL9z_7QiD&biR@lg?|(Maq?^f1Nj;EuQW$<_~HF$2mMfsxBlj3=Q+k zUFTQf%uZcHtV}?;m+0UxrrW$mv?Mvaq#!s-%G~0(C*x66nSD|c_gHlFX1hYS=_7m7 zu}m&kj9XzgHhr@76zv0hHG?`Cr0=pS{__{eGHJbZ9@hosFk)`3!)j3WFiNw)7&M}( z!KI%fj12@>XAB+~`k4Z!$LEXa+9yDJE9szXf(1n&k_%cni!jY_#P=^>vim8YCp6^X zvNSV>Fhldqm}{L#r}zySLRS_1CdKd`J^msxhfwy^4|R>SjC7H4$#(q{3DSF)dcH2v zJgfKxPW#){>lxEcrws)BD7^kPQ)`BS-Se^=fAD@XY*pr+IgY$c^wnCNGi>aR{_Y$z zBYiO|tW(o%R>DB>r1i10>1$0esFT7!O10~uOHj0eBH(P$KUa+5+$wy%HqgD}-@ehZ%Wvb`BR93xA-r3*^{{%=i zq?ITp8N-_Q*0}S;U|ERAv5JX`&$g%J>o;Mtfb^p7qx(sOrqjs)Zy1Bo6o*_EKfW{u z$D*Rtul&`ozqsC17cy`vYI<^nAEdz_&bc~hw~I;a?J^0!iGJ@?yrS;`TzV3d6uM%M z_nq;KBSiyh`?|d#8QRWiwd!N@WW#&g4Zb5kH3#_-jReSeMY4L-irxz{?1fCUiSq@G z^!df;0M6(9S=$25Ju@^O-p`YnevyNF%)-=@lYM5Sln{`RuXp8Ve7AyYrJzh^lC(L% z0|4~~69rKLAqLOGtQxoh_hFsb&inD_qPfz1%Au5UR0{w zkw>Z#27qOmVo;uEN&q4cS{+16>FOtdR;02|v1TWOkHvYR<091 z1>}R#iVReNCuj6zHiQq8N?W#8Zu%niJD7l&E-z&cYyN7#9^=81w>@Cltj66V!3J4tYoKYFkz+w@+ z5xNogknKY}p8LyB2h=T{5=w9cXCDwp@(s84_UZOFOUwM!P-vK_nw|6$2IH;bld8M% zeE+yT8Hmry3Q&qJ5e(Q5?rTA654Z)RoKIiA+=Py_i=dU9#*0b;=D|NF0FnN+JC)Fm zJAcxo=g(~(S=PZ4%xds~>uGQ94sAR_(bm{Yppw}V@N21K;bL&nLVYIMup#7X#dgs& z{>{D+e={q=f0)&jm=NVbBtiERx9ih@0$yq~p9P%ux66m{xL*H`5X%xEb1l%LD}TbL zih29yB4N888Wwb*V%m31ET(b^;X_igyY`I1@=P zk34)IEp~DZ7}+uREUW19R6?k58avuHv4WcuCZtm3p5C;ELSB>%J&p9(CwQ?hc`8t*Y3m{Lf35%NU1co(;{Ojlj4LclVp>3`;QLv{-yYe3 zTMld>af|Pkx$8&y@CHo>JTXn z54zWcd7UA8XMMyX%3&RHsnU(tnzx|17i0fO1xop)T1Co?C-Zx%nQK{5--6nkB{YoL zh`{tYx#0z`-vkcFZr(_Zek+q|F*fyRPb8ysG9TKnMOGIVb0rtMKi~8)_AdUxVtlM| zW;Xikyz>1GIee`$1Xng^7=4l7s$C+V#dxp21n!4|$cb!WjE zP|m45-s>8Tz}ltdn)VAUPCh-?7l&Yf5$$Wi1mA_zd$ion$6=WkhzcZLI530f_92nD z=HeDs2foD9fb9}4%8_E-Iy%PO+pZDVq@1|46>Y16lRCA|=8@;VMt7unPg+MxWTtiR z>V?A~s9RP6`ja!~m+wfY9V-BN>0XnG&g`;zNl?3`gA)|}wPy1bwba)h`eAbLN?*e(TCh!wW_~R}jOD2Ezte zX@F5_bG<5m8<08i?+en#iY5u(K)g?cKQtvbAL<2k)R(jK+@F4AB*UEE_N;giUocVi z0$XSFr$Uj@JY(OTklc*Ju}yp#fENEWWN7NlOqv~KE6cj%I~q5lA6L7BSkaa7428!I`GMxhMW&W`?#lG0O>3|We-7X^Dw1NAk-O;)~Fqh|Bv=|*h z2clBklM()65=J~@p-hSTnwFwr$TAxVav@wmE;n*sJ#wH)-vj`6pqcVJ35K^RyoU3c zRQ_5V0XAHR$!c-SLu>4(IGT2R0n2ARHESt=*yU+N0goDr#SX8!ps!8CYK>{x;S0ZL z`!I^bP{7fumwOmnnG@DqvJgApb}GT?^i$F%o~rR=t~$buzaHGrN1=wq#Ne{^A)dpt z5*9yLZasjYu}Z5p(8ivwp9taNezMk6VXlaz;RN1qAc`UKAxJ*4<4@7V+7<8BBW5%d z**shrm)WhRIr{87VjXAM!S&o@tvSZs##cqB8e)#iyoAg%Wok{ujbx5AMTR(k5WEIG z8#~xYM{{kn%c6Sw#{@{rLh=(cx2o*7S_oZ|YWQf+g-VvE^!egeD8y@pfv?F;meF~0 zl~~ZD-`XYd!TJ=)0I)cHVptC-k!|y&OMj%uLBSZ9si8xhbe=9C^ql*zY5elpCbK!k zYqDpO&f#B0dt8bA{!bBe#c1awJUP@h%9+*BM>+T|g>|rG+_|*d6%#5pI?u$pC;INs zpupX{cLv1FTNKjs?AWvw*m+Rzw`p>2JK8^cYoBqmlbS^HHwlK>WyzQjMr8V$IG z{t6y5c(obfdH_X9L8(Z8D04ge3qb%ZbG;(+Ar7GpB939Xu~9+TcCoW^y8W>22)2>j zLNRh;E$ItbR_-eh5JOHV8*D!?y`AD2MJD4TW**=)GO^%bFKGS*K&Jh zezTo^K$KFldvzyiyYWkackQYXoNx`pb$!YV%%FUr1XiWqL5oDk%BA%4{P+5wCGivb zFaFP;vC4hG0cwEyH`BuX&9ofT@Gu~W~F3R~E z_@YqL9_uAe3t>Gq9Jca34_B9mLvbC)G98ebf@4bAlsZU5#@>4oW=8)mgwkwbhrlk# zl-y2k*YVa+o@U|~5uMRH$3hgb9f%v{$1BC)!_h<;NyKx)D^lnj%MUFerWb2quYXls z2?<6a?AE^~-B@Y_h*7Mq_q0RMLl7pbT6Pblse2|cbHRa0goBfT-d>KnDjm4_SzFSoa!YPg-RTSvNtb*qlo4^>EEAVZhcj(WmMLV>{=u zYyX&jYQFAvmi>n`jOHWo<-};oQlz7a=Zr^ZV z+G={CE&H`g5C3is6{32fs3JNRi2F)P=i-@)Vf8%LY))PeGK+hmXeDE@`pm;fVWBz2 zZFE8xO-XK?&}1I9>VQ07wFJ3&5@O&sx|z2_tYIIhoSwT76JUI|NpiY*_bymyXUEZH zP~{l6^^S;ga)_&9y5v=~2%QX=1<6Xe3E@y6 zhHvI*xZ}l7(oH^dnHch^gFaHT%sG80cTOKrQ}4a};t9z6g3?U^x0RBYf2$PTucHWq zPo0}hP03jKu98gqG=vf8LxW3Wk5TbmPCj+cJ=ZTlUz%o=8Lhl!N(ok7GwUcKYuxfU z0#2@%+5J5QJ8D`uOnB!rCW z*2#;JvFeH=Vu)jYvq8|Awsxnk6=rX5aivSwHi4LjG(ia}Nep|aRj-qrsRt8Y5TsQ{ zlQI-ta)XWR`}&x;MCUuQ;W^C5x=2C-Va1wsJVUBJpYEhis?;f|)LwCH7KMkjCYFnA zBZ|;H;L;>j2JqV7GFg3+9iNBM8+9j&hsPB#Gb9V0G+5Zz&0fCZRmivG(kyjvqZIjK ztcih%#u0`AZiao_O&Xfb_flt8bL`=kvs(l`pLxbMjV0+u;9Nwmq;T{ZzYrfM@}y7D zq=@UsoP19bMa*lT+iac}|1gR&yn)grt{|(uw3#7E(#oOP4$4YjXIt5PS7D?uMEb6- z1V8hmTBEjNisGgQMj$k@XVabC9yrnAE!M8Ind5Q>qQbSAt%^IgUXu8P(B$1Y*(59m z6CpKo(;kjgc%Mu&ZoZ7ogPQgcA}wNCi#?aLI_EQ4*|d?FD>JJ_9Het zW*X}~9|2*Tu5%%>)JIititnnC! z;8R5mbkI3qiNGlD3tn6+9Z=7c!VJBS8NKt@i9VcP&Q% z(zNODbOIv>304fYM&9LzJlGJV3U(HSutqe6QyYPAG77iIr7uo8Y6&&p^1R=HfAt3# zp?j2QCL-`a{2Ofj;j9^>9Sv2OyGuTl4)8|Ph3@>hf17S;Y&&3?eaxyJ?EBO;FPaaU zLi(cfhDUwpTcxkbjSv)&(|O`EwV%%}1opJ>&8O8RdS)ar5qRjJaSN86UFbkjV%;Mq zcUw%?rccfvkqAn2Fq^%g@K5EZx!~B`EjIGhwSY)puldgodvXt&M-m#aSEe^PFI))H zeZjHT5>5y!Dr#wP=b=mg)fff)qpb4Q+)tS4djj|w=h^)*SE-F(^D~1#ZF`7LYpM|6 zLxYb(&wPB=E8HBN!VyW=Q|S%bbc1(>-+}F)Zo3hyp=Jy5kd~8iHAA_!VL;rkEm#<@ zy<-TdlRNb&hhgSyQz$}4I+;j0Y`!vo>z@^8aco+FYfqTVq2aHI@|AR?ODuYc*>2U;K}KLL2g_ z)jZVnMG+jCpFd{=M46e;_W@EY%CQ^D`Dy;^90194gTr_CF0=3+&8FGMidS@Vs}xZC zLjn$w(>25IbMCS`3d>R1}!?Aismlf^CGoWDL6P&!FvcmARGM^DZ~ z8pU%}(Ti)hlr_1jaw6~x_Pv}sFqX5j@zf~un}J0oT-bcw7Z?e727$vG^2f*b;#mrm zkg<)szArKW7S>xbD>fBP#)SKzqY(wPyQ<)WmW`9d$g^Tgu>utP{eYn6Hl5hzhx5et zZ!4hvZ3XrJcnq0v0+quwLbMFr(fd%(OcgtiIZI5sYYXkE=P zQ+(CxLBX#ov5(4`$CW~BgAH$?e!%|L zvtNEN1gQEGam@3EcV~bE4o(JOm`kN=Oh9PyF+9|vgzF%a@Q2}{V=ohU$QCB00I+%m zpPxOuW+%ZUqYFoI=J<{*CoM&c1t?5FKvW-|q`>jIYmXM?QPKwwpjCRzbImh507 z86)0pRVRw`U@tL`eHdlj8b~%K(nvhhYOBlU*HDvUw|Px{eZ8%!0Gc_yy!DxosR09d zp!y@9aSHC0)dWP&8ElJWSzghz6@QNQZN%!TsvbKie|jFwBXKTmWBCKLq+?{NX=d(a zy5#z*gqJ?}k$ui98ewZVCw+~)=kikSN(&&stAO6RXHS7jKn-jxk-bZyG+|}1c>W>ek-I2n9wtXsDhNM58*9_`eT=G zHoAdG+{+`EP?HJt(^eHQ5#ExBu>zIJT8_8AxS_KrJx-ZFv2O)-ukEXzt7W9Pcbs8l zo<}9$8M~t?cG$){;w>|)4_0ctCT;pv80YfxQ_T^*cNp4|N)Oh=>xnjPe4%66!9QHC z6g#stlZ1JRCz=>TcYtcgB>+LI4vaJfJg1=P=nK=4yxpZ1n&KwhK!aA!USuTmo`K9NO(SNMTW#edh6P|%d@z$htZwe>C<@Q zG4b?ZHXPS(L+COO&8!|`2JuKIy%D?aI@LIBdBT}?jx z!prM^MoNrpxl2jP7ls4|W=#zDA|FA9;zp{amqoxGx@=D~XFq&(*9>@w;sqNllkYx* zFf3}jdP`5zVJvyx!s}Db2(DwuNEEUpuRfI6M8GBaCcf3TIH3PRGxsOLlIW5oD&CEL zLEBlIs<_bZA%6=3wwlfOChb%6`Au@AA{S26_>yaWo85Yt_!P_SU{^_ z@|?FAiF7}qM@)d#>u|ZjT2wK~j35)+4YG z_LSv;ynw&9L2xM*IgV5}3ME#iZ~EF2U2<3|#gXRbDblQ3-M!G&G2e&pddbsqc2O2nv9m&GOl_v2xSgmj7na!)7Z0(UF?6Ra#2uyP1&LzCQOIb?I)O5arvwjb)T;t~Y?w4k2~ z6GnTu(E}oLgfz>MJlAx%a>MylI6t_@j*Ne9T6p;0w*JrlKei!S`oH*J)4z4e0Ib48 zEWQ~(B)3~>;$}5qauFUF8#|n2OG}WQ-2y_@xfe7V88G z10BXshX-Ha(t@*d(l!Hf5ixCkZ1jG|ZVk~2Qv)l((Bdpy6L{O(FNEQJ&?ubYliaK9 zUMuSkhz*D4b3*|T0|SoAb^|OC9P#$TT!!tj6(i{~ImxA9PWUCd&<201z25cifjw2W zOoY~YipJ6B9|y^(xp+;3AjGHuQwk9e)`SWdDGfW@-Q}$_PnAqR8!k82K}6f*8+0|F zq^m_e9D;p%0H<{&?3`xO3M*YT@03)Q)Z)c)qnLz{u^X-wSYd(^31IBLQxw%X)w9eo!T0!!-dQO>7z0V#Ph%c@dN7KQgDm-X(}i~sh1wGm3y2FzHce!vb4R(s z0pZwL&?S0*M%J_>4FE#qRb8JK|F90DsNB3nO2S>Am=8$!&&fAXa41qol&&fY=YtVj zhb0_!d82NIPumi+c<(r5w3#ACxV8S;_ZN?xTG#=0I{Z?Exqb;bsJgw(9~zQhLE$Xl zKRtJI(3)Lq5H*(~d`oe@2Li)_+VoFQ^(S}~44%YmQQ*Ns@%uq}|27NG-)6D@k6C`6 zhAL6AcQl+K`Y}F>aX_2`m#!&w$K5mlGQXqQAC=m=x|R@iAF2+FLBUL{GJSCTop2NH zZ=LS(z8{x8K<#31#}je@uNi9_-38APE&;J-fZ6FnR=Cm6!fuHbfgmi!+pw)(E|lp3 zh%LpRGKdrD^+j~;*DYyp>V={q?d*x~l0v~-A(1VS#^i7=6MKS1Va_Aeekey1e$$QHqLo7CefkT?x9^ zclMC0K169A_UF7%xjYDg(xXgT{z2!p0wbQ5BVjYZ@AAld1ktOd9E9;+1*z*d;RW2G z1jH27hi5AH*G{MWzeesw^$#T47c^_U2$%(mPu_E<*}j;QN~p4@^n#h1?p7uZt5K}< zEjtw@ZgUJ`lVHAS2R~U3|mx3r1z@{n?M%tS@_@&7}$~Vra^<|n*kfOa zcUC)qsP6yt5!YyxP7qe7k)B!8b9vmmw0Fg^XFNLIe>S;nxG$}!skiWO)^QdOVjUh< zp#;!Zp4Rq=vQ)`!Snj=QJLaZV&f6jSOG>s19^cZ?HqRWKDiV(nD!JmDBxv`2p5j`LX`W13lNrq2LGQ zTg*NEH8#gE`s(*=>g%MlBvC2(wmr_hC?&YpwYSI=)G<9`#=)~Vi8l{SFVNRNcSZvr zXy?>~7g=^-_1@F=RXlHerZ-3+mF*=UTy!Y6rRTN~DPQgQU!FJ8W*2q26l1;DZ|qs; z`vkMe_jZ@k*7W5OW2|k}mHHow2sYfH)XPzTgHiNB)xsjH#wZO+`)NT1f-|^C0=|>2 z{XtoJ#R?kX3^LEG@NG-j(8KcvfBs5wiU*4A7i=Bsqiw4GgKyTWFQObSg9tlk}5cv^=2aWCPah28>M)9?^nh6yxD16{OEnb z*=piOC1@stD8-oZ%59#RTx;n(Ue9Y1JVGyjSUPR{_-SedSISHv+ZTYfd?1KCjd)sO z?FHrFs2Md}N`@+$NL!pZz;R$o`>q$JPBqRMQ|f>5Kl`>w-@o|(pZvebISq&a$f3OE zB4{o+u!a%1d9UXE!4B(f7>;6#bJ1JF(?-ZqIPW}+7{iDTzDd>RQZ2EmDIw)CH7^;_ zwKVL1>{zlf#Yra*c3q*>+7>C^A47H^4l^E++4_Fx$ULUM6eYxQ{aK$l5XI9Yh)+_~ zO9^OfJ^&BRt*e14`2m)>xyGzjx}7b3F`{a+dRJ9$@oeJ)Nvek|Mg+HX+c*4Ah5SbTW-pP~yB(gn83u+Ip)_ z?bDTN-UWb#Qye6{BJCmYX_3An3q)ip^S1o!c}sl1zujix6Hv-@h-be;tvCR6D5hzKA5 zXIZUrZb1sqwstaTZ;utJd^?19ikK7B_zZ|T+yVB6Ia8pER_fp)t$k(>do|gH%25A= zrxl;=xucKO|9sQV%9Yn`iB#}&ePbUz1JSBp6BAIDN8;&2KAi(iMNw?6U_(Sn>WoRn;2}~^exYYR%u|=bGlyGUf`g%4zFXXid8!QZ-V~w1da3g_LZK9S(oeX)G zWOVL9KOIp*EEhrMfH1tn%^!ReK;JII>!HH|kxjU`cw+V35!`g;F(^$l^@~sDM>1Yh z?q4j3FRv{8DEg+EUHYW#hB9ngX2eW9;(9^-Fk?rm$6apJn=8&EFJ?n`sPG zwCQnnsAI0hwP3hCP1OPoQ69tOWIKO>%3!4|Z54c~69e@}rEh0{;rO3cJaW&qxKLhUoM;{X951uFqaUM{@Y_6wb1V$Zmjv^hLt>53UN3Jw z7R?OIz7euk0l?C4@L?j!F8I{p?%2A)J2N6%z%v(4F+q+L#S$D1rY>n=o}y-U&vzhX z3oW#Pf#)@PNkaGfgU)~}*7(E_CTs~fwxFRY*=(pgUvcMi2Sq^Jd$EQ!_3*2IIc#Lj zcP*gBvUG2RAU2u{u0j=QbUn$ZVQP-MZ&*Fpm5n=Ax4hj21_GDPOAdcjO>jGVKHtk| zM2clm;hGxh4hWd`JQ+iH8uBM2Kfegm1D~X?II75axDr* z{buYtS!T(-y8A1Cv21?E%2}qV{5pFsW}*$3JY6Ea6#M6uEcH-)SF@e{7v~4iWPG?6 zkM$)*C1W+<8pxH{vWn83oF(DEy-0$;JwCs0FA_q46DAOtz#f zbcw=RWQKf;yx8a0ac&zuwq8(o?JBgo1bhxIMw|TRFd0qt_$8^Q-^3MN}NwqbLCo$LJzBZUa+gJSzZjF*s07Rv=(L#3CM6;8@3Bb!9xLv9EM=Wg_lF zh3trzuk<-;9)*E=K_Qm*=QiFG>8Iu(EriL_a`I?n7rTmiv%2qZe=_+*$d9z&sBg&k z?iQC;F!Zvm>-~$DoFJf#Bo;LF$%9yzxzj@D>w)@(} zGjxAN5*}~iB}nQT0u6wDppBGBr++{`SK4hyYsdl&{opvw1^=XZ=_QHgmMhbMJEaUl zQMB+?WHfXxW4~R>8s6WtI?N?t+Ty++2*F~}pqFT~`LW=npww`l26n*Sx(9;H@uQhncD6o)wVj4z4C7F1_L^d+Wh`;56ZW}a ziBK(<%C8aQN+p~9>{3&=q92e8{fqq>l8lT`IbTM9R_~hnn7@J?zp zLOuOq^q}7bY=(_clNVqozRcmdhTEa-Di0^8Gnpyqz?@`LtjYY>k1!aaxl#419G$q5g=TEJqbTj$!Dpt}lE)9vQtj@K8+sQ~2471eb3bg%|f3f@Qk zL0S#KlnK(ZuGx+TqCC$+H|%FNaMb==5L8&r9}krU`3fZy5S@tuBBi8c7XK=bQjlWW zVEqZ`h=*kcf1{B)#X)-|`I*lsn^5Fd7E^=7OZEej=LeKu6jaTCo*t>MFxk9UDN5Hx zbDc%mzE~Az(vG4Wg*cxfb+yr^DpHh$Qe%)Gp)E`U$Mdw*@cQ21JFy9mPZ3l1FfbUw zWj+DTDSYF;1l&9dzKp1fcE4-N{^)^@(+^=eh;hwTmI4_G4UE}wr~&5UaE}GhvCMrt z8fW8#Ss?ZXd={HAKH4cw?c5s5jztK?zN5n+-rx9B>nalZ4lR%p@Pr3LL(Uh!WuG=z z0Bcdrnx3KG^{H=r!1YXYQYXob#_(wefP5a+36xhi$>|W-rgHMmX85~7?fPt}+jWBn z*FXCkxJR^Ib1R*vpGp6S`zEf4h018Nj@b0$m9Hcq=}6qt>d$DusLsSE@)g&qTqZc8 zyswwEzcD(ySzlNG+Q7}3m)0sEWS3{Lgn*pAWbffGP5?k7tIQ|oBgm(I^A{Yu&F3wn;c zScF3FS9Yw#npOY5PmBMtXwF{vAn#{DkhTQQPEkt&` z4to$Q5wdp$<9F~=l6<+i;zxs~K{-qNelA^{<3&j3jbn*tomFxQkMP75vW6!!&=fNi z1(H?!ob-6j59g>V{m8nAP5j{{10a0OyyrYoG)Ux}?*Ya0x_Q&#;Hh0GZiJ4?)6-q0 zniPO02U`Cqc&}_Xm7>*1&NQdo+N$23TZ zdFNgKz7EL}idH&3XZV1!g5m{bMG9PSVjcOb-<;ddPq&vtvqZ%M0LFrj5?SYKZ2Le) zwOYbj&JbQw?5iT2`B%s}EB{n{7RDay?cEaQX{fz^mmdf+^O>1H;Ri3odY5S4Z`(FI zfIuE0sdd#|eHS&RUoMydYVAlD?Y3sH&zIdJ&D|qsd%h5MXaHp0g0?-Ia5dgI1&c*m^4KF}mAnQ!-9wKK zpTNL(tX-Z;Cf(GvLGVzBGGi;z#d+u(b`1X+5I^Mf_ILGI?*@lNP zKY^-_)XrV8jvRSV?oVJ<>&;6+cuf{H1OTpFVb7HCBiP=44Ds$%ek50{v|D{;AXWRb z&Cvo!0LV3e!6gHJVWUabu{G-WC~aF4)5v#rTN#6-LFl_neD&!Aw`a}#2qveWW;Gfy z3`#@mY2d->zPOIs(IA5Jd|pK00jH?#nPW3iYo+KacEXtEeYH}FoSc{$z$iQ9=KUi) ze_r#_!_SdAtj0F6T1lQsE3&PJyB43N;>hBiL?e?xG%DchP#49&Qymk;7^8hSmXtqP z@EC;y6!^QD&-}xCrFf_FU)BWOnm~uZZSS{UGw+!7e6W6=D@-Y(rLcIpSe zNgSd?ZU^Loawr;qDa}vlpLei(m2mpVf8F>36AFC+>cR}x1L@@z^*!#^=zWhM{p5=F zmP!v;A-ju|4pqd?KCNH9u4{HPNS#&C3w@G9>TXz1?iY~yo>MN^;fdA=fBGN)xnDHp z|KWcpze0A&m0%jHmw|f;kg_qoFeEN%u!GQwvcUv=23@_OSL02$gIu^~@1hAaXzdj_ zG_7idVqbC4VTsn1H=t-(FN+kJjyF`BD6({26A`;#QTbW$1_HM_(!@lG;p_5?{RTeL z+Gf%gRJ~02#07s0ukV>nJeJx!w`j9gBv=6yD!b15dtMSDf654I^1)Gp;()ORdGW^( z7j2lr0)m!@*zB0yN&$}`lMR_Nf*1OFw>CaZekmb$rsU9R+ye`hcwU;NNpcoJsjELT`#=)_Mg)6(cVGp^G zfOX@uM-(g1FL+-q>6O#{_xJM^lVf}u1Xj}{gv-u{ymPiLN77&Ob|RZK6|5c^$90^@ z{H<^EXx&LN5S&{aFS5FMGou)0ImFEbgH1Rc#j;#5XNP5mz#)fqZCH%h2$n`Pe=f<# z;b_E0!gMFse+FrB5Z{hR$29TG&qpgLT967c>xjkr2(TgjCzrb=gfiBk%(VyGL z5&M6I*=N^-Xy#RNG#zb8^blr&x`ecKLRme(09y5kcH5~vM1g_C0D^`jk$o1!lf5!7!QJ|0N-Yv{LZkly(@ z5sC=yAGKISJ60ziYAhB`Q%B(zcIIwe)d35Fa%eu^m3_Kvk3t)=Tml!S?#9-loWBxM zlZH9CDEra|T+f)_c+MJd$k+eSteX4dN#Oagb}`+^yYD zs|N)=Ul$ndlgnKSuH8&LOh<5Jq*p>$e7go1$o3JDg~&bUQfZrugO#KgdWhxkMNcGs zT#*@VB9*PjjYjNCcGn1Rza?P(ldo0zHtbousb}CaJ47TPca7$g7##j7;%CeE) z+5|2fjY@wC%)Y+D_I4106!-7(DJ__OxXw4X>?+d> zzwSHO1f9qEs9KsxK%r07mj=o%J|CHIu;Uv`J8<8+@)ip4 zL4+;ZbPm}uh~A3gJ>)v|TSJV9>~G_&cf*!X%+PZK@CnA_aN`JQ{-!x{Bc{&0N%bKd z+41YzxnB}BB0mYY#tP7D(jVGdycZRpQN&pr&pDtdfi*TE5bDJU$znC_Tz8J&zpt1N z0dPL0i?kT3aU643`Ov4<5fx2sm0UyBmK5RVFCa<>6L1`YVu@CV14&1d=<219DuIoj zfxX${kM|57i#>N2*=V>ZWrQ%atfcqD^>G+6&7NcUR z^E;D4HivqpgYSJ-F4$)9_0`M1)E`O!@_P6gn+Qq*pbIdzb!{1*Q!zjVNaoaVtcNK; zeHoE^o#}K+o@q#*KRc_U0BgkPdK3okTFUN%#k74o_hTjKI%r_B0cZ?}>*l(kc)Gi; zEqV|C$A4Z#Yp#Fz?^aoa__&ihK&h=a#9Uv7CH)SBgf}AREs&h|Oa49Z3wVd{b(x?9 zA{;H^i3UeWG{zSZb~j z&@lr__}%zQS_?U38$2Pz^qHb%Bej_tKP@*`{BJ!xp4cmRwiVthj_=LWP; zGo~S@<~+;BrDP=1sR6KgV+Ali1?jd5GWUr;oslO4TQ-GDq(U>uH%f)qZ@+y#t*Dp_ z(?bD%bB7@`IqI&uLfaMK3pk-7~9x73hSHn+=U_#3vI zyq<}X#3(-xtzdV1(!e<7qY`$fB^lb5w8`GO9#=v+F60##Aw5Ct2QryCEdj5KH&jj; z2Bgw%9$~~RU1~tBelF@3iae3mk$`u2%p1_9-a4@(d~)|NciW{kU*N>Uq>ov_IG(nX z%_hRJ;3t0|`bygiW{6X|^l1K=!z1QQl6K4k&wQa}6%N3-reiSk6)?O1t-|`A#wP8Cn)+HWRdnV(s7p>pGNCg4`H%URQ8PO!dXSRrU}(SNLlC! z{Z?lSjj54D81~RoOKU`Aznue-UhpFVnwn6=wHo7KXH}0|5xzmZMv@iajS$dNKaHRn z;`}x!uTx@C9ONRntM|?Nsv~?Iehw5Is{4s&bQ`VpBfKEh^a0AimUB(QvtIQZdcy(3 z_fV;fOgP`oI{OI=ZEATbO~i_7mkm=s|52@KVt z$$E(aX$V!}I8)@_c~cboA~Kd>ub3-TInTnqHM<*qYeKfSWM zutV%!gk%;ixGsG6x1|JVd;Q~a8^MgZz zXZe)vbGU-rh^;d_!Ev_c#<_;klb9uRGBa)tzJ(kB!0%S79*StXT!KF1Rj1^{Z?*Fi z34l-oml85bSPT$r=+g7jnsht_D7z2jn-~ZKtB5Sx)lAw zs`QW$a5Xy@5av+);DWfTBZ*2S*V!Q@R^@n{2HL|ut3Ks4iAQHj=J&;qxGy}2~sZqW# z0*~CKz9-}j6&J?4(p-21gfVYj!tJfk%v>WA+*DsH9rqL%l6D*KlrRMZb5B~nNF0>R zi3^-nlF|xKi9pW0YvLf1rx3vgsgV0>g#SQMdfKxMfo0ki1XcYsI(qSG0Y!QUScM8=~P(Nz-2Hp3|z_I(WmnEzWvQ_a3 z@IbES+u6wJApvG=T5^{@F%>Iw;^qL|Iz_L@!ZI_eq#dW$`lg%=;Lu7g1tXb;YxK#7 z5#Ah*-k3#OL?M55K@GyWM781=(;#;F0dog9J{ zcLVdGRs1TB+C%rHX9LPUcPd~x2oEnS zKRE+-VX*BY-Fdrw4c|YPkyMwRM+Hv7zIrU>BY?M%@^X%xKo?Guu{0b&IuZB4 zdQ7=KN1K?iAN3F&^;SS(!_~cNwWIUTAh?3}ru!(iAaD#sJUG`v-aqValq*NrgPgRO zsmO(vHA*BX9VHihBD{Oefd_zTMO>aC|v@p0uDEe>el%}?guG^>=bbI8NskU8@nHlKl&oX;}vTC0ap z$)`6LWUh^zTT;devTe2g;yr?02e@@71r~(Q9Xxhx%O&SjJ6&iv`OE55H|7)|!*CYd zjhdE7FWU4J5A0Ci?E^V-=2`a__Ip2DUpK>qz@0HeCPh6{KOmA`&K98R7byh|I)#^) z6L{p~vg319h)-(odbse#Z`$n{p3x{2AKZ{$*j$83lG~`pZ8t!jAMY|zhZM~6gNTpD z$MP*?EEMB|!NV8{>fWn73x3k+1)L9y*jN2n%6j$Rn?y;(jxQxy9V$GSF|u%xG+wb7 zY{;z$rNx!B?-}Kdmpz?(Y~2H|crd9| zBCLsf#s}nhv*zpAwWMX^>DxI#nXbpMeBhJD7!13o~u4zy%F#i2HedX z%YMK~=Wp?Wcl>Thy@8` ztk>ZTh*d=Fl{&7ulehal*J2%F!SP1YKW-#Pa*c^5r@eFBbu71v;Zb`ssQ`Xl zlX^{(#di+bu^IwB`%V7jwIgp1dTn|cEc2_CwYg4Jm=iZJpWjm^BlPenJW2ynO$V}p zh@yjE^|0sS(*gB_U?HtT91xTEInDV!63jpzX_!!$-Ud2)o)r93$w!!Ow|zxbdgUWp zlc&~Lx+GYfb};Sd9g21Q&fkZ}{O{q-{3pdx#ycAF3yOElRd&WJ;fAvfc1IbJIe|tx z^1jtOZd)K=UnO#Hws9-q#v$%hJqCAvR5ShZ9#GPG^?lkHMEF~s^ODB=Teci_+%>$;)g;Uk-Ye!kfP{arcw;`LReU}X@6xL)USIV(O><2eAAcTxX` z|8&G5|L`Ajk2vXZ4wB(BRGXvkqegw@hdZ;oP+de>liQRdeDrE#a1Ioen8D*vTDGM& zPK@A05b>xY@R_)bHeM!1ZtrTSpIjKkFHh&LqGAkN0g<%cj^6bYv(-Jge2rMVPKTNA zbaLYwpsSf;6@B(LrJkYRkzc1*>_5Lx5qwzDOVaUf0(BP+1STJLO}NA5VjBxi`X4me z_8ql0NJ&d@|5O90+WCH%l%c8VR&VNx-xM{cb; zb;-$U%sv8U60s4wU;15D8qs@FYoPETo+EdF4QI0}!#F;2U8_+R*9M2Zp5w36 zB5GgW<`$7g9ZXhuG7tNjJ6)h}daTR&nrdsq^Xxd1NUG73g&yH~#rDb^Uh?;1?=_YJ z5ifG?vZsn!2ejO{%_t|x(#s;`gc5=+*H?p->}p(M?K!c-p?**fw3|lvS1!P`P5tsi z&%=wtGwx;!8a=7Q=9qK{N2O>?*k6m*pO|K8l|E`+M?*%T6+Se9hAjen3+}cps?ph< zX(x(>iMaGC_q4OgoOj0%mE|3X&1MCla&?&xWd#D>ua;`U4*GZxO$f9B7qzfenl15X zhs%a(6qUzeeZueHTxJ1w>^n8nop-Y4*ZWT4+!h+ij|{WQupNw03sv0?f}}Q4dkNx9Jd_QZDPwX)r~5A$wn^5*SKa?(^BY$=$z zHPl{B052O+_>;s}@)3HuQ;S@a;Ai_3&j^blu0x z(mG^? zKt~ic+3~}4=q!2C8dY@gdE2;M$4G~H49x~TE-7Mk5cxPfbt&#<;^$^K?aGN`6R+=c zQB4eWUpO&i#>>~XLx@&+1)>bM!`_hZy$Vi%~1YO(-JIK?!qm%Ztr-s zp$BXTTlkKGdDXQilVj7Yh zIZ+9`PooCYRw^guh2eCiljiGwEhlaIV)Ly?RC>yY@I#7d)j#jp`^ued^3A4oF!Vhr zU_59-=pbIzxHZof%A2{B2QPcQ6SU-hlOMq5=IgcvA?#_W(lt?53^vsC6=33sFSC#n z_o-+G|D?K8!6>HbP!vO{Zaj%aYdDAd{hMDzJD-T>Ko zxg)Pd6xyKdX3KEa69)V`6*owYI3=Js1V+cGKofA9?4st_ph41O5zyuLpjK#LE4lD@ z9t+TQs7hE9>0IFG6KqgbuxtjRaST|VLWp|LHy=7dV^PWqtOi|Zk3um%R<8MYJYGcs<9$6n^aX9|x<-k6-&#AA0T&YmpgwM)^Tq>5Cw_%yd&MLT_bwa$g zz{k0(QC1Ggig77DRxGeA80HKy&N$1@incQZQ`DIM-u-!yVjvr@Z)`M&6F}9H=G@LO zTu7Kf2atz3Bi@4#P`&V#_*cbCc77RIR0Jkc1gUG z@8(d@N%RcVV%?ODrc)iWK~+n^W1p+JwGPCD5uaDv1p&8T3)aU!-sj#}lan@MqkuFv zOyJD}Q8{ajoRhQ#A}@O0G-l0b)p5y0%L0&gn5`=y86yZY?kgvAnkQ#73ZXnri#Y|% z9Y(Yi+e!Y%e_^3aoqzbh24g>VA8Oi>gBc}V+Gq8=e_*@#Zft^PS1=?k`|#nlgP8Mo zAYuPEknH?-XeEf(N=Nc70kwFhEgYSjB32=@dj|G~s|d7=9%eO#pj&$G*epnDj%XBT z5;Ks^7lixB{=;Gi*a+pP)ZvxmF{08tag%r-{RrMFd99d!e- zU&?KN9W!suOh6aaJeMJE_JL*%-JXWw%mK&$DAOuNYwat&GuKV5Of6T@G@W0{KEWSY zoP&*$ry0U9fG`G&JDaGZ&>N0Yt^S_Y(2MWwBp-h@ zJInr1{HfnFdc9%GRXp?F#lLIK|F;zPzfw2V)(bg%}#cUm_cowZAl<3d5leqjJ4xje45O=a`y7fH`kAj@S zGS0GWgH|`#X8wnBifA*qE+9{hFJcL$mavap1xTmOU@*94;9H zuI}v#;i6bFTBumFz#v}~1Q3Xb>HS zTFNwLwK;Nb<5Z6_g!TZu!?LXYaF8<5K%KaCARrf8%)tW$e27C&dMa4Z7CuB`JOI|{ zjXrH0Pi!K|O}NZ(ckd9H9XPe|OYvNCZ|iFj2u_r1viC8DhE+&ap`C=MXl`If--z=_ zXASt(&_f5tOLSJmfZR3(tGyqIfaMC}BN>qxz&twZ?^IuXnMN+eYZ>Zda{=96&P0C@ zPvTeXIT-c2ub9pTR?5=@B$E^+#@qda77w|*hcXM9_Tpw;J&!xI1)MwYm8u*;2NKbP zpq>n^VJxQ&%?!XCxpFF|LbOzpyRIu8*ZmYis>&FX`5HNVY;3=Jv?OUDoO;VNKN^nt zkfR)sJ<4wLHS8wl5mS$}hDmRIxr(8OU6XB`txJ`!kOkK802VDhCYl|YOn-^mglNS! zA#W?21-qVT?zxEEpg9H5#NZTis`{6Gg+iV#@)EJ^2dUDwBJ+4Jy|V;Db)Be6Cy04- zx4gu?P)Ya!a|eIBj6kE}Yla@r2(1G9ooygm(DMgCTtMAi7%_HTktSv)V2%>yo-JZj zK1ke2Zh8R-2uv^$F1KS(C2_Dvlv^;Do)0v!q@5~WnROy8?#T7t(vHl%_EV+L%_FH9 zO4c@S#nA&#kkRC2E?onlp7g4t!3m`!^JWoSEy zNAiQ}!=MfFb^bLIzH6f~_r8h5LXAFiWNwxH2194vse?KO#2csX&Gsm~Cm4`JDWn&+ zndTQ3(WVgAC;{gCSGClm3Eny#_bL}F04Fr#&bD$$`I|p2Kq^Zn82(D%be{twl->AY z=V%p>izICT^(Acj32maqe+u1KCqq+`hlHvG9D>sZ%R&^ddz#0%{mTX)_~-`{ zrlj29KvxAl+rNxWNZuPLrY(Z}YK=~<3WG5sL&1^AKYEC=_AZFBmTKPM$Y>kq9BohK z7?iVqje$<}ABi$D8MBdy+ zRDPHe8W*#*R50^z)C=L)p7W=iHLQ9c!M={v?S?d#0_O?;KDA55AJcZkwdAFH1*&}I z&IuNR3U`}=P)?!`;AkE# zS_ip~{O&G$4rwjw7|*&SOj;2ZI(3-3tH$2tO>*;aP8ZNEf-qnI{k5S18xC4YvCqOwNrJY@vxT?;6UTF+BTfI_B zrA+@Yn<{b%B|ZS{s*G{GHM$dH*aL_Zo(P5=YU7wbAFm9c?;I7rqkMSN9cq3x#IngGb$9W@-Fpnafy&6N= zQEVNH3+~PvXKJAqKm^Wk#iALFunRb!eMW~>wfnQ1JdG44K;jVWv!Gb{j$M9l?CmG= z|M)MW*>L+0|HpbBV3F9+BUU*9@|`l&@rh`s#MBp7N5HI0Q{NBOiEE&vFe|bwpJOVe zQ7WlM1-o6fFb~N+C@Ep5Gwbd=lJH4imqyUqMkV8T{)Yd=b(wmay76 zvsS;Zoe}Jbb@X3f^m$mlUu1-ym8tY93*pMI5~2{gEnPun1VV0unFGFMk$96g_}-Ce zRa*RpXDr4p?Pw`kT66Y|zdvB_{;Y`ZQYriW3RL|u(1*uMf|Iyn(d?ooxJi->4X*i? z=o1ECmTMP*OLd&z9)MtE&eCgkM{Q*Vv(Mq1yMC876v`F!LX>Fu# z{|vpq_u9L}8zv!b-ySG>8rJS_tn>bh^_Tx(oz0TZ><1UAsL3J>V@Y!M&nBHOWWoa2 zbjUw%g-8_&*3lN=NhL4#4}56E+4?HZ;CxN^L4y|^>P6G=+83Xz7K&0$-B=Z0tOeZT z82fm?@m(hHXm=yllxspX9IFPH=bKSQ0&NGh41q>gJdpg}>BWNjO!>Sv9&S=)zixF* z0#Z@i`krdcIUM34e#O<#6umcKofc;1NGAE=)VJvSToCn9i?-O>^CNgNP;~)#Weiq| zLjKw!&tJ5!Vx2_jaUa)3uQ4%?SpP=Bssu2G-7!{it{JH6j zVK{Y@EOI2;QJ6Rvh1Yw2eZQysZnL#hphE>qTpe_}5X1Nt`W;s8qMX0drYNtEE>Z)I zc8bHinSR1UmwhR%;Lg`qgt0~l(G7V@N$c_66sU59kns5;1wXx}B4*~GbnB_}Fm_&O zfgcL|WLOKujmxis#qoG#n{^+Ncr>NOyUq&$j1!mR1lUfE1#aYYaO^&{%JiBlJMhXt z_LGM5jjEQx33YMNglqiPeYx-QbHO`x2eZniYioYVXY#o{+`gRZ^+TbTQ{qVtPp9AV z6v>D$MF7Ja8*y~qb&s$51}~XIm5|bVu_x~ZsVhgm4rNY%c{IvQ?9XOO+paBu6+kG7 zM9w5xLsV?9+yw|`Upn&nHVMz7tZUFg?!#`>Ss*&XMYW>M&6`~UawxIeP77wV7OO+e zzD@B1Bit5M+=os$&fMQ1#nNzD1cHp;FQSzNHE9NPP;6F#)9L^s$_UUe%x0;~A(Pe7IPGy!!U-OnZ_cl64o??5nkJl$>ooC1MzUn2fbMp00P1A z-l-(-PXZMRFaG3lScyHZMZM(VD=8sde^Qt{`Nw^k83sprS|6D~>hEZC2*R17AJ};1 z$qr6DIa=>3myRU{?_4IWy$!Vdd&f-HV@g0- zSoG^m`M9dwyyQE~*)u{7H&Ml?nd6tIwBFA|UM+focU#Uxb*yW<3FjI?aG4qLG`X$v~5Ul7NQ5QX;&~OMvRMjEQJd#1-RhH<4f7Pl7+ZKzu2o6Mt4A zuYVXD9(cupY}fw4Mr$OQERJRIAL3Ivo+qagHPXW3B84m;B=N1se&r+bF#~IaSoQ}F zlM6tD`wp%B^UD1zH2F&E7d(&FE{CiCSmrQvuV%H+r1?n-1wZ4KdZ&N|Ybu&=xu!mB z@$_DC9R@E#>Lrb`5~7B2nv?Daam$qC(d`hAuJ}{CoEL#}Y&OMp!`uJ(|I=y0?=SxU z=l(ys@HZj=I?eC0{NN<;G^d}9G+T-ZBJlP0lM_S(6TnXJxkV?hKXXu7*~-f!NZaTE zOU(H$=0kf%W+7+k>;g@I(Nl+D8s1niGY?w4#M9kR2tK{xf-E&8F*kv05mz!F-D)TS zxgfPs?58545$ek%6D57Y%8uO%yZ&^CVug;nNW+{9Vra5Vn@q5c(lH1^6>i;P5)T?zpYBb|1t;R zztlGK<3PMOxm8~=cl>DKhKeu9BlnZ@@G}dl4@ICj{p}m^j;(qjXNFjzL9G>pnp*YQ z)%55Fw zTp9U0e=CUntAPI>1<`QY!G46rLP zFF!Lu);(9(fQ+yzX>fbV--|h$e{=lV2>kus9pzPG|2}~CxNlB(QTp3_&?o&oC_0cp ztfH$+>nE!I$8&B0zn71>@UWMvqDk?#Dmem3%zft5dB1Y* zCWD^tjj&a&)~77Z?HfPhS_;~_?dr9fy*E+7r6fp`8=pc_sO9#H-y03T1}QWi0qHM- z+DgE;rpncPvER{-u^|mP%3#kAV-Y$)7MjLz3snSUw&o?z(LDgvGq!c>m1!4`O@=En zU&~wLivIVKVmXvB9ZbkONmPkp_Ubfp4e+)V44>}cl4;yGWbGq|aQtck%n~7d=I)3T z04QnbRIm}_dC+Lz5?fTd2Qf^E4!Rc`vEtBZ?V)Ze&jVJj2++GJ5rS}@)rjJC+lmp( zF6k;AAC8YI8S8PGP+%hMuo8c zvqr*sM2q0*v&f8u8ccI#$#dzvbeG06TNQ*cYnvf^y32Q(MF6QrwdIr4Ujqhq78nK2 zQ&svX$fjW#%=tz&F~K*bQg$&vbfcfkZl3rF%=|fp@dAVXOt6KxJvjnz^x$Ja2;FWq zjta)=O;5P{a)w1mVrtetqZB(W|%c^iq_L6~7IRd7N*4H+av~q{~swN!~4ZY}ZYp|LV06L5< zh;^Yjw^Zg_Uo&~zcb##y+i5$0nE6c4;*U}5ug*5i&0hL$zJp>4WDp>9)AgI(Cu|~i zab2%$p!yZkujh0_O6ZIDV8cslAkKey($EHd8;iAN+3?E+=}uURtHK*5*~B--TWgO> zJI-q!WAv3&?{vFn_Ais6D5e;Iuhta@*eMnRY`6OCFHdMbmGWM{&VSD#s8nm}*q!~P zSSp#QOK|j7rSKp->`Inqd|5kfp57Dmow`h6)~dJVO6y73Zm(gBVH8m!3x5%0O_5yK zO`b7yz}$RaNdUq1DW9?pGss?mM)?szZ=18qhZ>iqy-j)v4gd{P+&CNs{ljMbGsuRv z0YpdfD#9biuhdkri>csjOk9RzGQbLbBP4p-a;{gAcfI6?~6bMxJeu<)nYKXWU z+(~HVDJ2A!EN=P`pWw}@xH6}i9S>$usS9-vXlYp;&uPI(kGeC|77B|hZ%$Vp`V0u~ zxU*1}g)o#oMhXvA;wZNCBWG6wl)II(R6ZgFr;_QM4mbR=?A~@{^dTo|vxyw8{0WPn z!Wdx;$^^v&3CAQXt>evJ;S%Za_4ud?BWbLV_gfVv9+#;QfU&GYInZEt^6}z@Kk5jh z#!S5)(5MF8CUu-u+W{-wA5x>ZnCh{ai>|g6cQ|>21a4`drS)~b#%Sncs3uOdqqI_om8OOGT+z***s|HpsPr~~A`_zwWk zuve`7!`&>=ZKyHKR-He>7bT*PfxJOEccu3j^`2I!q7zbgEiP|-Qw>(zCw8FI_61R| zuzcWe)JXh`8uI@#*O+wWLpzllUPnivDkFJ_befq`Tnv2MBD&QGEx#93Hl&yc*%%U(<$h=a$O8lPIwZr0WL&dx?z>(Y%kXK+lq5RVD-eDd79s zWG_;y`)a>jpey6rlwzhxBBdJklnn8S!IKPF>E19E^3RR@AW>$-q)-v^L1T;lX04)T zvuEE1PP2shXILCcO3_=PwwMKcJf(`Et8-WC74Fo9cQG(&T)q1abSnUa0TM9^5HT6H zzdcI*>yiHdcsxG5G-wDI(zyJyE0cWd+Of(Po^w3_wZX17+|LtealW`kSq^wT;bPF^ z&+ILQV%XS+_Y=D2DgVt*@t^NJWd4cb+d%Cj@3DC zp4Cqf68)P#U8El9(q2rn!xak=rj6 z;_dJ6XN_j?bBCf1=`yn7;Wb>Z9uEP`T;M$Vu+U;B=60gmDLsz^3*)ESG3i&PmwS&2 z`KuVe-_R^!?fw=Tgr_e%I-K7FLC3R?p&#(1w_6MIbI9*sN5}lvRjd^ymp8fpPa(Kb6!qocy2^f;IDs;6QJ4_HR$sD z#{M9CSl5@$Oy-9#+7W(^iskM>BwXJ$9zP{fY?fo)o=pk&3Uc0|dcuC(lRkuejN~VR zrr~h#()qH%d%ctV3Rwm{3laD&iY$Zdq!B_dXU^$@|8#Oa$E#^4)N~8^!~FBB04Ld7 zA>5Am-SZ9#dy*(^1%L|J5O*9fJoV{J^{dDBR=7-VzlNJoGIv;mfc?%WU=<&YXcfE; zq1pJCefj*FK4Xjf5s;K*DV&1wrAbyn8g}1#6%d&2hwi6nO#Tvpxf`@B5aRL)QV8DP5bN@=gPJ|m-+OHt$nhf@zAo$Y>~P)x8G zT7AT$$(7M7QkcVk&a@*Pf?TJKwW>Zs=Hpsl+ohp_Z`noE%l2*DT+A|YI_EUMC`zM0 zSE8riQhjUl+*SF`fq!uUo1LKRg+}9f#f{n#^Q=ce*l%*m`ZYADdEl~?2zdC+PK&UJ z^O<0QPJmCt!xo)AE83jzl+U~Xc{a|uDExf3Z&2UbA?b@_S?02C{h6Bc=BH(%;rrW{ zOm!@JJ@BPF{fv$WZ&^JAcvi&<-N0gVJW(E)Ar_PXcJk_<_tB9k=ZyjwZ|lBX-S+C- zG(D$r-BL1SnGequJc!_Ekwb*EvL9Sf60ccLXOz2GuW3&qN~hovS0-3rQNq7SYLUkx z)NDR7q?gp2-9as1pN%LZF)UoA@wzxmcsyOQcoa$~SsRE76NR#qW(vv=YTou+uam$g z#*fvgZ&=p3V_Yu}Z@kF}u@lH=uo(_CD{i=qZviE%Opjterc1eW#~yv=9Hg+ay!tM! zXa;#miTf5+{UUNvK`mzJfep?;KyP*Sb$r6Bf@j?$>`{R}L4fxk!c~IzmqqcDOc<^# z=IgsoH=W`%OzS{EiJWY!hfaxu2wgN`%`L)Vint19CIiz}2;=n*W}dk$8nM~^_L)Kzx@j}E zAU&ZEU%_^>)myEhZ_XVBSyEy%Yakej2YK%qc0PrlFq82v9HH{9yv@xI>89#rUHMAi z<*N(PoaXmpE%bk`Jc&r_PF}4XFf8L+=)8wI*@kAPN4!?F!bR`^IhQC&W4WWB zK@fRr>@Yv!kii-^9nObQq2lMEkVFoBOuDt+!y_ZZ!Y!q#6|i!Sl!&u0Zr?@~4BTF< zPqj#xjp@{>NyUvpnoV_s{{wPu7peFBz>4WQ{lbS7u`Rt(bp^>5YjrepP7 z{V3?Lr-Lg*9BP4JwZ&JGO}igoIjJsd<9bZ$zbS`4Qz?#obJkR>fXjCXO<+h9*?TF8 zg&l=46WwLW(5b(|?TU0qF$6$c{j}uJe1pAfyZuwr2FD!AlUJuyKmGz*8*h zb+>cd&dLUj*OS+Ez9c=@i!kq_#5R5;P`7SKzH^lMVE81cJWzY%A1cKDSO29e5}N+f ze+Jv5x!37~n-0y+7jW@^OP>7Sn#BJf$+N^)be@r;-Edg|{@t+Q$_1?@|JBlcFcz;> z$Nde#*v)g-BUyNG9wig)06#*3N?NbTn^%9K1Z&iIU31=gUR+xt|4ZZ^%TX20}Cdu3K{!&4;7F@7{BP|Wx^db*gH(Yb>yfo$1q zEvgqqQzRWma+7T_$-~UG2^)r5K_S>`Si4n{Dd4Bp=pDm@8>K*A+bvxdTWI%nh7S!C z^LMTmU;$>qu06*hcSC4}dQXR&;P6gO2WC?z`uu)^ABbMh=R!~u3q^*0akK-8fBx+U z#lQU^{*NE1iYc0rV^YKi#a-EoPu)7VwwuNY&#z-d3>_RC!pq z-SJ1u6_aP8_5RJO{5PxoKdh`%jFCU7w8Tm~JIT-;7Knv)-OVQdv^F7^`$vqlYECX7!a{MPl5#hYWj+t zk4_r^Y{qUlJ4xxIip?I{;tmpA#)Ox`3bx$|%Kz-Yu7gteb{J0k-j{h<#7-_#j)?-Z z-63bRne@b{00Ttm7S%9u!|b^z5m12b?IYeMQ`jQEK0|^)u>^|HW}hP#KEb&d@=dYz z9HjT@sJ+rAMFBO&hOXSU$B6uRs+B&&TEJ|spEe7@DVNVJYUr~x&qH~70DRDDh&a=& z*ibU|G-kaZ4S}NvP@VhmUKqt2#su}Py_`tFA42WRmtz|yqIgCmGE6X)`!@%?+_pQ( zdqE^Oj;9~pR+5%Do`!tZ#}KTBV>}aIEz1(fh!m$eTP5_kgVM z>?kTbSHDRdTR?X@lJ8)%cs7&?i;Uy z$~i_x4Ej+PD0sDJ_4q-|U;S63;N5yRd4VzhF<&_96kq}#&)PwFNNOJiY(IVvN~H`-ZPa;8KQ$z2+__OacasmVt_IIE z@Nz}<4v750e0w{HFoqR<7)TOQpg(1B!$PYtY8vIrz`>QP>iQ#E^P?u|b}|DZYGA7A zDfa3xUFkD;dHuH>sY_)uU2UPjvs~2R3Z_sa)3U(brcitzCQmb5lKJ_1NK&?1K5=S} zi|UCVMY~OUr}-B2r*|`jjYFQFTK26?S<6z}{1zz}GH8vYf{oV~OqGlTNsvvo9%|Do zZrzGGHL6o1w(qR4}rvCPh&;OUDSaIa<|UakiCj1D;LY3>ftV`Qe2O zOKNVvO*cAT-l{w@v4Mb<@$2!L3vqvjV{V`Q6^ z;35&Lb1xaoW zx(KO(d@S;1I0g0uc@5uc+4kqzUgyn3F6!fb7W(%4U3_B=jh8M2r zu!&%8f)|ZCn9cpRP_;7!e@2K`U}bF#dA1S>>pRSleD!RU>9y-g>SfU!G1AC;&#BsSP|1_wH~_SuvA%B<)b$PD$e{@t)jp< z>tgoS+h`iA4Ns~v_u-7ucg1%%rpTjjC3kgC`IVbV_faJ4OinL#X@ux;?=Q;&M!{U( zhk4%^9#YR`Io0kLLMC&oyEKj_f4U5B9esT9nG!Ohy{B zt3Q^a{1g?I>rs^wiiwKH+MBeDgN;{39SBRlX5XM%BOFDI-_{qLa^f{Ta5`6& zrrF=V3x2gxRI$K9S(k69oP2I)C|$WuuoVh4*no}TuW(82Z>Q<~CroJ02g1}x8NZ!? z{D7_ESXWAA-je>^A=jHZ}0A%^urr0^G zY^Z5N-&-s0E&!R#XpZ^B?RIechU7mxIuVx5l~vd=$%9)`hf6S~dw)P8W2$%-R5j)X zG1>QHc5-Qt82YRIeJ}yhi@`CAc)r$y9f~rZ26Cbg;4bgHNAITQT@6%+Y09)^zjFcB zS#wDWx!03!ZuOVGguMb;wA_XO{kUW3Hg3O@WCN?_KA)3GG#0`5DCcUAxcug1Ku=x| z*Mn*>Gw(TgEc$AQjIWiMZ`NgY?=<#yji_ zy4L8+Rf$ga`Mmbn+$iTRvrPV=`=vAoCrV;FKTg~Y^(Aq6HbWbNhW+ysFE=;;wC=8$ zE|OOi>T6!m_1PT9JUGj0#uYH4{oauK(;wJeg;hAgiMv@FLEy(DC1{t{i=)=$rDzR? zluU=za46f_l&mI2!P%&Z-HBMDuDdorMP<+U3lcP@Gat42t$PLY)Lmq5#LY|;941l| zMI&8$sTdNOFr(<6*EJgNX(fQ%Py`(+bG@i0g^gG5RrF*=fEQ2Em*5>xW z&~rq3q70B=XiL!4haAAJ?bt#Nq5H5K;<^cR9N^`RZj`jYC(Iek(1(i>yGFrdw&QK} zRc_jfg8~7ufZW($AU(~)A@KCEQ*nLhdQthV%8S)Af_0@sCiU!c#T#Q9lTRqQW$$H) zF|%sZq|vCky}g~jndrxG@p$S$tuRULg zI(l?4w2PIS4NoH3j=fqi!NYQpPCL>iXmx%TJZuwrcT0DB)Y@K~9{dYv^d+o$swkeP%34~0G9BWX){TTzN^Eq zSdZw_c6Mh)6HJ0+bD_=64njn)`8;phc%K*lI~i%8i0{ApFT2^v_?Q02Xcu&zS$}Ja z25Ev@v~&OX*{o{wWs#Ab^--MGy<3OtrcuKm}5?DPePQPQRWggU(7&!@?x64vxh*<+B%#cY*n6VD>N33 zPr6R}HgfqJxA^AlAZ z+u{n_Jp-#@gHpHC2>o|n+e!#!7*r%#?)P=O@A2&yV##a_aN$c{%^17{OuLjf4ssdh@UzcIi?;|4c`Qh zGeE{keZ@;Xsh^lCWk*His`x;dW=qmG>E)odl^QIR+U=qL4)t$Jy}v1a|Dj|-05$Dy z?zk5+Fb`c-$-_H>!1vzimvp)H?!dgBm6WFbfKNsF+4^QdBOv`KJJu^&l%cb~b}T7K zN~kKWrUgX%GsHeL7DJlqfDczalZX8GVeOx)HG@JN*_vR#qS%R7x2{i1Ei<;5pAVy- zD$_d39F-<;Jijmz<`P0XV;kwWl<$V!AnJ`76i&=?MJ7NlY19rMrC;kamDIsLRGUTu zM&U)VLfUh|9_t&I_CVA#9DZv}uwuunQ~7}{&{1lFffs?5Tn{gTh9b19Ln%N_1PIS9YyBj^6*My)#V-2xFvzn(Wa_>$7lZrS@*}^YGUy$S`2o^swYp**WD9Q9BX;f$Ikt~|c2x~^%96MBkn&FBw2igS<$j(Tpdyel~e^XrmY zOex{yVj-M|+m+u^Tgs|c9ch04LBTTB*Ut$Q7U!BFU$E*rhYN#8OXrMx-)~qRIV!8K zG)yd6yD%$6q&ID!FHF#fc&p-cKE_Y5k?K}n*-bJLZbF#TG>H_#sRR4q8H?oMxvU^} z0t<^{DVx~y&O1kc8F|aj>r9{wyAVusXkqnNZhn%gDB-KT;I_4XWg_u!Rj;KUnG!PQ z2ygi7YY@o%hLIw@!L$8AXaMOeU40`gn8cOdA}(l*jOx949EhJ6d@>T7z7)*kX8zzz zQfutk)BT7QmmnuM)pvZy2@r-_=YqnnR`>(aR-LpuB2T^-#}^JaIVkWLbkEZ>y&ptu z)l4F(SEH%G@C!ck3!mUahkTaI8MjDTc8`R6;P7?%!$ zsF<3E?U<@&0>qbvEY6kAc0u^Cfo58>1w4{8%suVWTCJnLWL`@XsFr+I)6g53tYU2C z(hP{7;>&~TDB2gJk*jebekTxghq zI5xNTy|CqxUPI{$Fdh_v1NCNymeJg)y&}3iT5mCJ`7u%@_a)LP#FN{tgyT`=XFYu} z-eOy6Oq02E^$x$n%o{YSR?-?vz&PpiHPHh06lCAeJf|wU7~d8BH2*$)%Thm4|MCyNH7F%#dSz2239Oj zy?t=9X>#7c5L|HYY@{} zE(^{AhmGPoA!`4$*Ri{w)h;#|&g2sImzuvF)_-Mv40oc6O`lW4?w!h{lKa3l^d+lz zDl(JQC8THs36sOA^eGUUu~jxXKD4G4OLkM6ya^>RO2})lD3m@4SZ{YSev;#6kH%{= zUnf)dk3QSL7=g3P8Xf3v3HI6V#cyk$CNrKf^fGs&^E0xV`ZQB~CIG|RkmJA%6F?=T zxgDWXHX$gbb{cwQjM+rJqDXV!l|^5It{HeT!x$o{1SKlHO~+13bjY;l!N@bX_ZFZ> zQ@m+j^nzd73J_05<%bF!BbMiS312-AAWni|&%R}$Th)yP|o z()WMP^kcAQ)?bPFT>OT_s)}G3nfN_u7aJap(-GzqpW=VagELgB=@Cevb?}xwAIJ#R zb>?`Vu!B)V$N(xF&&Vszmw%;0dz+Zz8|QAPuX%TB3b%u%0D)S4fPuQU;FxQqECxXe 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
;aKxS~C_ja~zJ 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

2RJkOu?#@CggxPjZe%+$f_XZg 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%0DumOoSJWl$$7bw%f^>fdW$;4 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 L2De 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

5d7L6`Mi0K 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 Q?*IS*07*qoM6N<$f?=oFbN~PV literal 0 HcmV?d00001 diff --git a/XMB/Game/SND0.at3 b/XMB/Game/SND0.at3 new file mode 100644 index 0000000000000000000000000000000000000000..47afc1592a521c7716bf57ebf772e63766dd16b9 GIT binary patch literal 177984 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 z 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 z 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 SPyrPS4AAJ{Xi)rG$|^8#A2#{` literal 0 HcmV?d00001 From c78e7537025c6f971299c235556641a049b2e8a3 Mon Sep 17 00:00:00 2001 From: Sonen10 <43537777+Sonen10@users.noreply.github.com> Date: Tue, 24 Jun 2025 23:40:58 +1000 Subject: [PATCH 11/42] Added EMPTY.png Used as an icon for empty saves when selecting a save to write to. --- XMB/Save/EMPTY.png | Bin 0 -> 3073 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 XMB/Save/EMPTY.png diff --git a/XMB/Save/EMPTY.png b/XMB/Save/EMPTY.png new file mode 100644 index 0000000000000000000000000000000000000000..284649e6e9961937e80c12cca4690658ba7025f3 GIT binary patch literal 3073 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 literal 0 HcmV?d00001 From 263579cf619cdd1eadd7fe55ee74e01a8cdc2457 Mon Sep 17 00:00:00 2001 From: Sonen10 <43537777+Sonen10@users.noreply.github.com> Date: Tue, 24 Jun 2025 23:51:25 +1000 Subject: [PATCH 12/42] Create explanation.txt Explains where the assets are used. --- XMB/explanation.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 XMB/explanation.txt diff --git a/XMB/explanation.txt b/XMB/explanation.txt new file mode 100644 index 00000000..458d206c --- /dev/null +++ b/XMB/explanation.txt @@ -0,0 +1,10 @@ +Explanation of where the assets in these folders are used +ICON0.PNG - Icon used in various scenarios depending on if it's used for a save or a game. This includes when: +> The game/save isn't selected in the XMB +> There is no ICON1.PMF present (XMB only) +> The "Group Content" mode is enabled in the XMB game selection menu +> The game is on a save management screen with UI elements shared with the XMB (note the font) +ICON1.PMF - Seen when the game/save is selected in the XMB (NOT IN-GAME) +PIC1.PNG - Seen as a background when the game/save is selected in the XMB +SND0.AT3 - Plays when the game/save is selected in the XMB (NOT IN-GAME) +EMPTY.PNG - Used as an icon for empty saves when selecting a save to write to. From 8498c69af1b7428828ef5a03f120df851f87dde3 Mon Sep 17 00:00:00 2001 From: Fabian Neundorf Date: Tue, 24 Jun 2025 22:38:08 +0200 Subject: [PATCH 13/42] Clear unknowns in `LegoPlantManager` (#1587) --- LEGO1/lego/legoomni/include/legoplantmanager.h | 12 ++++++------ .../lego/legoomni/src/common/legoplantmanager.cpp | 14 +++++++------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/LEGO1/lego/legoomni/include/legoplantmanager.h b/LEGO1/lego/legoomni/include/legoplantmanager.h index 8a8c7902..91fe49c8 100644 --- a/LEGO1/lego/legoomni/include/legoplantmanager.h +++ b/LEGO1/lego/legoomni/include/legoplantmanager.h @@ -54,7 +54,7 @@ class LegoPlantManager : public MxCore { LegoEntity* CreatePlant(MxS32 p_index, LegoWorld* p_world, LegoOmni::World p_worldId); MxBool DecrementCounter(LegoEntity* p_entity); void ScheduleAnimation(LegoEntity* p_entity, MxLong p_length); - MxResult FUN_10026410(); + MxResult DetermineBoundaries(); void ClearCounters(); void SetInitialCounters(); @@ -77,11 +77,11 @@ class LegoPlantManager : public MxCore { static MxS32 g_maxMove[4]; static MxU32 g_maxSound; - LegoOmni::World m_worldId; // 0x08 - undefined m_unk0x0c; // 0x0c - AnimEntry* m_entries[5]; // 0x10 - MxS8 m_numEntries; // 0x24 - LegoWorld* m_world; // 0x28 + LegoOmni::World m_worldId; // 0x08 + MxBool m_boundariesDetermined; // 0x0c + AnimEntry* m_entries[5]; // 0x10 + MxS8 m_numEntries; // 0x24 + LegoWorld* m_world; // 0x28 }; #endif // LEGOPLANTMANAGER_H diff --git a/LEGO1/lego/legoomni/src/common/legoplantmanager.cpp b/LEGO1/lego/legoomni/src/common/legoplantmanager.cpp index 734806fc..766edf79 100644 --- a/LEGO1/lego/legoomni/src/common/legoplantmanager.cpp +++ b/LEGO1/lego/legoomni/src/common/legoplantmanager.cpp @@ -83,7 +83,7 @@ void LegoPlantManager::Init() } m_worldId = LegoOmni::e_undefined; - m_unk0x0c = 0; + m_boundariesDetermined = FALSE; m_numEntries = 0; } @@ -98,7 +98,7 @@ void LegoPlantManager::LoadWorldInfo(LegoOmni::World p_worldId) CreatePlant(i, world, p_worldId); } - m_unk0x0c = 0; + m_boundariesDetermined = FALSE; } // FUNCTION: LEGO1 0x100263a0 @@ -119,12 +119,12 @@ void LegoPlantManager::Reset(LegoOmni::World p_worldId) } m_worldId = LegoOmni::e_undefined; - m_unk0x0c = 0; + m_boundariesDetermined = FALSE; } // FUNCTION: LEGO1 0x10026410 // FUNCTION: BETA10 0x100c50e9 -MxResult LegoPlantManager::FUN_10026410() +MxResult LegoPlantManager::DetermineBoundaries() { // similar to LegoBuildingManager::FUN_10030630() @@ -192,7 +192,7 @@ MxResult LegoPlantManager::FUN_10026410() } } - m_unk0x0c = TRUE; + m_boundariesDetermined = TRUE; return SUCCESS; } @@ -200,8 +200,8 @@ MxResult LegoPlantManager::FUN_10026410() // FUNCTION: BETA10 0x100c55e0 LegoPlantInfo* LegoPlantManager::GetInfoArray(MxS32& p_length) { - if (!m_unk0x0c) { - FUN_10026410(); + if (!m_boundariesDetermined) { + DetermineBoundaries(); } p_length = sizeOfArray(g_plantInfo); From 90a0b9e2bd7f735c86bfdb5594b688c3768fb0b0 Mon Sep 17 00:00:00 2001 From: VoxelTek <53562267+VoxelTek@users.noreply.github.com> Date: Thu, 26 Jun 2025 11:23:57 +1000 Subject: [PATCH 14/42] Add graphics to EBOOT.PBP output. WARNING! WARNING: The PSP SDK "create_pbp_file" CMake function doesn't have support for "ICON1.pmf", even though the tool it uses does. I added in support, but I haven't gotten around to making a PR to merge this into the PSP SDK, so you may run into issues attempting to compile this yourself with a stock version of the PSP SDK. --- CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 91cd9fd6..220a9433 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -663,9 +663,11 @@ elseif(PSP) # Create an EBOOT.PBP file create_pbp_file( TARGET ${PROJECT_NAME} - ICON_PATH NULL - BACKGROUND_PATH NULL + ICON_PATH "${CMAKE_SOURCE_DIR}/XMB/Game/ICON0.png" + ANIM_PATH "${CMAKE_SOURCE_DIR}/XMB/Game/ICON1.pmf" + BACKGROUND_PATH "${CMAKE_SOURCE_DIR}/XMB/Game/PIC1.png" PREVIEW_PATH NULL + MUSIC_PATH "${CMAKE_SOURCE_DIR}/XMB/Game/SND0.at3" TITLE ${PROJECT_NAME} VERSION 01.00 ) From 9eccd4aad5a1c0faac707a6bf7847ac3e1974128 Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Thu, 26 Jun 2025 03:51:32 +0200 Subject: [PATCH 15/42] Implement PSP threading --- LEGO1/omni/include/mxthread.h | 10 ++++++++ LEGO1/omni/src/system/mxthread.cpp | 41 ++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) diff --git a/LEGO1/omni/include/mxthread.h b/LEGO1/omni/include/mxthread.h index 8afa4454..ba0d89fa 100644 --- a/LEGO1/omni/include/mxthread.h +++ b/LEGO1/omni/include/mxthread.h @@ -5,7 +5,11 @@ #include "mxsemaphore.h" #include "mxtypes.h" +#ifdef PSP +#include +#else #include +#endif class MxCore; @@ -33,9 +37,15 @@ class MxThread { virtual ~MxThread(); private: +#ifdef PSP + static int ThreadProc(SceSize args, void* argp); + + int m_thread; +#else static int SDLCALL ThreadProc(void* p_thread); SDL_Thread* m_thread; +#endif MxBool m_running; // 0x0c MxSemaphore m_semaphore; // 0x10 diff --git a/LEGO1/omni/src/system/mxthread.cpp b/LEGO1/omni/src/system/mxthread.cpp index 96e64992..6c118d4d 100644 --- a/LEGO1/omni/src/system/mxthread.cpp +++ b/LEGO1/omni/src/system/mxthread.cpp @@ -3,13 +3,20 @@ #include "decomp.h" #include +#ifdef PSP +#include +#endif DECOMP_SIZE_ASSERT(MxThread, 0x1c) // FUNCTION: LEGO1 0x100bf510 MxThread::MxThread() { +#ifdef PSP + m_thread = 0; +#else m_thread = NULL; +#endif m_running = TRUE; } @@ -17,7 +24,13 @@ MxThread::MxThread() MxThread::~MxThread() { if (m_thread) { +#ifdef PSP + sceKernelWaitThreadEnd(m_thread, NULL); + sceKernelDeleteThread(m_thread); + m_thread = 0; +#else SDL_WaitThread(m_thread, NULL); +#endif } } @@ -27,6 +40,25 @@ MxResult MxThread::Start(MxS32 p_stackSize, MxS32 p_flag) MxResult result = FAILURE; if (m_semaphore.Init(0, 1) == SUCCESS) { +#ifdef PSP + int thid = sceKernelCreateThread( + "MxThread", + ThreadProc, + 0x18, // priority (0x18 is typical) + p_stackSize * 4, + 0, + NULL + ); + + if (thid >= 0) { + MxThread* self = this; + int start = sceKernelStartThread(thid, sizeof(MxThread*), &self); + if (start >= 0) { + result = SUCCESS; + m_thread = thid; // store thread ID if needed + } + } +#else const SDL_PropertiesID props = SDL_CreateProperties(); SDL_SetPointerProperty(props, SDL_PROP_THREAD_CREATE_ENTRY_FUNCTION_POINTER, (void*) MxThread::ThreadProc); SDL_SetPointerProperty(props, SDL_PROP_THREAD_CREATE_USERDATA_POINTER, this); @@ -37,6 +69,7 @@ MxResult MxThread::Start(MxS32 p_stackSize, MxS32 p_flag) } SDL_DestroyProperties(props); +#endif } return result; @@ -55,11 +88,19 @@ void MxThread::Terminate() m_semaphore.Wait(); } +#ifdef PSP +int MxThread::ThreadProc(SceSize args, void* argp) +{ + MxThread* self = *(MxThread**) argp; + return self->Run(); +} +#else // FUNCTION: LEGO1 0x100bf680 int MxThread::ThreadProc(void* p_thread) { return static_cast(p_thread)->Run(); } +#endif // FUNCTION: LEGO1 0x100bf690 MxResult MxThread::Run() From 73bab247218fee0f6e5e555a08c6a88a33f105e5 Mon Sep 17 00:00:00 2001 From: VoxelTek <53562267+VoxelTek@users.noreply.github.com> Date: Fri, 27 Jun 2025 00:21:11 +1000 Subject: [PATCH 16/42] Add Launch Game button to config tool, rename executable to isle-config (#435) * Add Launch Game option to config tool * Rename executable from "config" to "isle-config" * Add error popup if unable to find game executable * Use one QMessageBox for both Win and *nix Create one QMessageBox object to use for both Windows and non-Windows platforms. Additionally, set all relevant text during creation of QMessageBox, and show Warning icon as part of message box. * Add tooltips to save, launch, and exit buttons * Change "Launch Game" to "Save and Launch" * Remove unnecessary Windows-specific code --- CMakeLists.txt | 38 +++++++++++++++++++------------------- CONFIG/MainDlg.cpp | 27 +++++++++++++++++++++++++++ CONFIG/MainDlg.h | 1 + CONFIG/res/maindialog.ui | 22 +++++++++++++++++++--- 4 files changed, 66 insertions(+), 22 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 334580c0..1f7e0595 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -525,7 +525,7 @@ endif() if (ISLE_BUILD_CONFIG) find_package(Qt6 REQUIRED COMPONENTS Core Widgets) qt_standard_project_setup() - qt_add_executable(config WIN32 + qt_add_executable(isle-config WIN32 LEGO1/mxdirectx/mxdirectxinfo.cpp LEGO1/mxdirectx/legodxinfo.cpp CONFIG/config.cpp @@ -535,22 +535,22 @@ if (ISLE_BUILD_CONFIG) CONFIG/res/config.rc CONFIG/res/config.qrc ) - target_link_libraries(config PRIVATE Qt6::Core Qt6::Widgets) - set_property(TARGET config PROPERTY AUTOMOC ON) - set_property(TARGET config PROPERTY AUTORCC ON) - set_property(TARGET config PROPERTY AUTOUIC ON) - set_property(TARGET config PROPERTY AUTOUIC_SEARCH_PATHS "${CMAKE_CURRENT_SOURCE_DIR}/CONFIG/res") - list(APPEND isle_targets config) - target_compile_definitions(config PRIVATE _AFXDLL MXDIRECTX_FOR_CONFIG) - target_include_directories(config PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/LEGO1") - target_include_directories(config PUBLIC "$") + target_link_libraries(isle-config PRIVATE Qt6::Core Qt6::Widgets) + set_property(TARGET isle-config PROPERTY AUTOMOC ON) + set_property(TARGET isle-config PROPERTY AUTORCC ON) + set_property(TARGET isle-config PROPERTY AUTOUIC ON) + set_property(TARGET isle-config PROPERTY AUTOUIC_SEARCH_PATHS "${CMAKE_CURRENT_SOURCE_DIR}/CONFIG/res") + list(APPEND isle_targets isle-config) + target_compile_definitions(isle-config PRIVATE _AFXDLL MXDIRECTX_FOR_CONFIG) + target_include_directories(isle-config PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/LEGO1") + target_include_directories(isle-config PUBLIC "$") if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 14) - target_link_libraries(config PRIVATE DirectX5::DirectX5) + target_link_libraries(isle-config PRIVATE DirectX5::DirectX5) endif() - target_compile_definitions(config PRIVATE DIRECT3D_VERSION=0x500) - target_link_libraries(config PRIVATE SDL3::SDL3 Isle::iniparser) + target_compile_definitions(isle-config PRIVATE DIRECT3D_VERSION=0x500) + target_link_libraries(isle-config PRIVATE SDL3::SDL3 Isle::iniparser) if (NOT ISLE_MINIWIN) - target_link_libraries(config PRIVATE ddraw dxguid) + target_link_libraries(isle-config PRIVATE ddraw dxguid) endif() endif() @@ -564,8 +564,8 @@ if (MSVC) if (TARGET isle) target_compile_definitions(isle PRIVATE "_CRT_SECURE_NO_WARNINGS") endif() - if (TARGET config) - target_compile_definitions(config PRIVATE "_CRT_SECURE_NO_WARNINGS") + if (TARGET isle-config) + target_compile_definitions(isle-config PRIVATE "_CRT_SECURE_NO_WARNINGS") endif() endif() # Visual Studio 2017 version 15.7 needs "/Zc:__cplusplus" for __cplusplus @@ -574,8 +574,8 @@ if (MSVC) if (TARGET isle) target_compile_options(isle PRIVATE "-Zc:__cplusplus") endif() - if (TARGET config) - target_compile_options(config PRIVATE "-Zc:__cplusplus") + if (TARGET isle-config) + target_compile_options(isle-config PRIVATE "-Zc:__cplusplus") endif() endif() endif() @@ -633,7 +633,7 @@ install(TARGETS isle ${install_extra_targets} LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ) if (ISLE_BUILD_CONFIG) - install(TARGETS config + install(TARGETS isle-config RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ) endif() diff --git a/CONFIG/MainDlg.cpp b/CONFIG/MainDlg.cpp index b90f1f66..e2c526f6 100644 --- a/CONFIG/MainDlg.cpp +++ b/CONFIG/MainDlg.cpp @@ -11,6 +11,8 @@ #include "res/resource.h" #include +#include +#include #include #include @@ -59,6 +61,7 @@ CMainDialog::CMainDialog(QWidget* pParent) : QDialog(pParent) connect(m_ui->fullscreenCheckBox, &QCheckBox::toggled, this, &CMainDialog::OnCheckboxFullscreen); connect(m_ui->okButton, &QPushButton::clicked, this, &CMainDialog::accept); connect(m_ui->cancelButton, &QPushButton::clicked, this, &CMainDialog::reject); + connect(m_ui->launchButton, &QPushButton::clicked, this, &CMainDialog::launch); connect(m_ui->dataPathOpen, &QPushButton::clicked, this, &CMainDialog::SelectDataPathDialog); connect(m_ui->savePathOpen, &QPushButton::clicked, this, &CMainDialog::SelectSavePathDialog); @@ -155,6 +158,30 @@ void CMainDialog::accept() QDialog::accept(); } +void CMainDialog::launch() +{ + if (m_modified) { + currentConfigApp->WriteRegisterSettings(); + } + + QDir::setCurrent(QCoreApplication::applicationDirPath()); + + QMessageBox msgBox = QMessageBox( + QMessageBox::Warning, + QString("Error!"), + QString("Unable to locate isle executable!"), + QMessageBox::Close + ); + + if (!QProcess::startDetached("./isle")) { // Check in isle-config directory + if (!QProcess::startDetached("isle")) { // Check in $PATH + msgBox.exec(); + } + } + + QDialog::accept(); +} + // FUNCTION: CONFIG 0x00404360 void CMainDialog::UpdateInterface() { diff --git a/CONFIG/MainDlg.h b/CONFIG/MainDlg.h index 65782037..372a1156 100644 --- a/CONFIG/MainDlg.h +++ b/CONFIG/MainDlg.h @@ -45,6 +45,7 @@ private slots: void OnCheckboxFullscreen(bool checked); void accept() override; void reject() override; + void launch(); void SelectDataPathDialog(); void SelectSavePathDialog(); void DataPathEdited(); diff --git a/CONFIG/res/maindialog.ui b/CONFIG/res/maindialog.ui index 78c5a174..c2760e7c 100644 --- a/CONFIG/res/maindialog.ui +++ b/CONFIG/res/maindialog.ui @@ -508,8 +508,11 @@ + + Save configuration and close the config tool. + - OK + Save and Exit true @@ -517,9 +520,22 @@ - + + + Save configuration and launch LEGO Island. + - Cancel + Save and Launch + + + + + + + Discard changed settings and close the config tool. + + + Exit without saving From a782c489809f7eeae99d8c4fd3509f3497dacdee Mon Sep 17 00:00:00 2001 From: Danct12 Date: Fri, 27 Jun 2025 00:41:46 +0700 Subject: [PATCH 17/42] miniwin: Use PRIu32 for printing uint32_t (#436) Some architecture uses different type for uint32_t. For example: x86_64 | aarch64 = unsigned int xtensa | riscv32 = long unsigned int arm = long unsigned int --- miniwin/src/ddraw/ddraw.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/miniwin/src/ddraw/ddraw.cpp b/miniwin/src/ddraw/ddraw.cpp index 2765a2a1..acf695eb 100644 --- a/miniwin/src/ddraw/ddraw.cpp +++ b/miniwin/src/ddraw/ddraw.cpp @@ -18,6 +18,7 @@ #include #include +#include #include #include #include @@ -75,7 +76,7 @@ HRESULT DirectDrawImpl::CreateSurface( if ((lpDDSurfaceDesc->dwFlags & DDSD_ZBUFFERBITDEPTH) != DDSD_ZBUFFERBITDEPTH) { return DDERR_INVALIDPARAMS; } - SDL_Log("Todo: Set %dbit Z-Buffer", lpDDSurfaceDesc->dwZBufferBitDepth); + SDL_Log("Todo: Set %" PRIu32 "bit Z-Buffer", lpDDSurfaceDesc->dwZBufferBitDepth); *lplpDDSurface = static_cast(new DummySurfaceImpl); return DD_OK; } From b66d1e2f64547d29854f36275ffa9a0fb584f23d Mon Sep 17 00:00:00 2001 From: Fabian Neundorf Date: Thu, 26 Jun 2025 20:31:30 +0200 Subject: [PATCH 18/42] Clear unknowns in `Ambulance` and `AmbulanceMissionState` (#1588) --- LEGO1/lego/legoomni/include/ambulance.h | 46 +++++++---- LEGO1/lego/legoomni/src/actors/ambulance.cpp | 84 ++++++++++---------- LEGO1/lego/legoomni/src/worlds/isle.cpp | 6 +- 3 files changed, 74 insertions(+), 62 deletions(-) diff --git a/LEGO1/lego/legoomni/include/ambulance.h b/LEGO1/lego/legoomni/include/ambulance.h index 97e6ba38..cb6a396a 100644 --- a/LEGO1/lego/legoomni/include/ambulance.h +++ b/LEGO1/lego/legoomni/include/ambulance.h @@ -11,6 +11,12 @@ class MxEndActionNotificationParam; // SIZE 0x24 class AmbulanceMissionState : public LegoState { public: + enum { + e_ready = 0, + e_enteredAmbulance = 1, + e_prepareAmbulance = 2, + }; + AmbulanceMissionState(); // FUNCTION: LEGO1 0x10037440 @@ -125,18 +131,18 @@ class AmbulanceMissionState : public LegoState { // SYNTHETIC: LEGO1 0x100376c0 // AmbulanceMissionState::`scalar deleting destructor' - undefined4 m_unk0x08; // 0x08 - MxLong m_startTime; // 0x0c - MxS16 m_peScore; // 0x10 - MxS16 m_maScore; // 0x12 - MxS16 m_paScore; // 0x14 - MxS16 m_niScore; // 0x16 - MxS16 m_laScore; // 0x18 - MxS16 m_peHighScore; // 0x1a - MxS16 m_maHighScore; // 0x1c - MxS16 m_paHighScore; // 0x1e - MxS16 m_niHighScore; // 0x20 - MxS16 m_laHighScore; // 0x22 + MxU32 m_state; // 0x08 + MxLong m_startTime; // 0x0c + MxS16 m_peScore; // 0x10 + MxS16 m_maScore; // 0x12 + MxS16 m_paScore; // 0x14 + MxS16 m_niScore; // 0x16 + MxS16 m_laScore; // 0x18 + MxS16 m_peHighScore; // 0x1a + MxS16 m_maHighScore; // 0x1c + MxS16 m_paHighScore; // 0x1e + MxS16 m_niHighScore; // 0x20 + MxS16 m_laHighScore; // 0x22 }; // VTABLE: LEGO1 0x100d71a8 @@ -177,15 +183,21 @@ class Ambulance : public IslePathActor { virtual MxLong HandleEndAction(MxEndActionNotificationParam& p_param); // vtable+0xf4 void CreateState(); - void FUN_10036e60(); + void Init(); void ActivateSceneActions(); void StopActions(); - void FUN_10037250(); + void Reset(); // SYNTHETIC: LEGO1 0x10036130 // Ambulance::`scalar deleting destructor' private: + enum { + e_none = 0, + e_waiting = 1, + e_finished = 3, + }; + void PlayAnimation(IsleScript::Script p_objectId); void PlayFinalAnimation(IsleScript::Script p_objectId); void StopAction(IsleScript::Script p_objectId); @@ -196,9 +208,9 @@ class Ambulance : public IslePathActor { AmbulanceMissionState* m_state; // 0x164 MxS16 m_unk0x168; // 0x168 MxS16 m_actorId; // 0x16a - MxS16 m_unk0x16c; // 0x16c - MxS16 m_unk0x16e; // 0x16e - MxS16 m_unk0x170; // 0x170 + MxS16 m_atPoliceTask; // 0x16c + MxS16 m_atBeachTask; // 0x16e + MxS16 m_taskState; // 0x170 MxS16 m_unk0x172; // 0x172 IsleScript::Script m_lastAction; // 0x174 IsleScript::Script m_lastAnimation; // 0x178 diff --git a/LEGO1/lego/legoomni/src/actors/ambulance.cpp b/LEGO1/lego/legoomni/src/actors/ambulance.cpp index 22c1e701..95ca6975 100644 --- a/LEGO1/lego/legoomni/src/actors/ambulance.cpp +++ b/LEGO1/lego/legoomni/src/actors/ambulance.cpp @@ -37,9 +37,9 @@ Ambulance::Ambulance() m_state = NULL; m_unk0x168 = 0; m_actorId = -1; - m_unk0x16c = 0; - m_unk0x16e = 0; - m_unk0x170 = 0; + m_atPoliceTask = 0; + m_atBeachTask = 0; + m_taskState = Ambulance::e_none; m_lastAction = IsleScript::c_noneIsle; m_unk0x172 = 0; m_lastAnimation = IsleScript::c_noneIsle; @@ -70,7 +70,7 @@ MxResult Ambulance::Create(MxDSAction& p_dsAction) m_state = (AmbulanceMissionState*) GameState()->GetState("AmbulanceMissionState"); if (!m_state) { m_state = new AmbulanceMissionState(); - m_state->m_unk0x08 = 0; + m_state->m_state = AmbulanceMissionState::e_ready; GameState()->RegisterState(m_state); } } @@ -170,25 +170,25 @@ MxLong Ambulance::HandleEndAction(MxEndActionNotificationParam& p_param) m_lastAction = IsleScript::c_noneIsle; } else if (objectId == IsleScript::c_hho027en_RunAnim) { - m_state->m_unk0x08 = 1; + m_state->m_state = AmbulanceMissionState::e_enteredAmbulance; CurrentWorld()->PlaceActor(UserActor()); HandleClick(); m_unk0x172 = 0; TickleManager()->RegisterClient(this, 40000); } else if (objectId == IsleScript::c_hpz047pe_RunAnim || objectId == IsleScript::c_hpz048pe_RunAnim || objectId == IsleScript::c_hpz049bd_RunAnim || objectId == IsleScript::c_hpz053pa_RunAnim) { - if (m_unk0x170 == 3) { + if (m_taskState == Ambulance::e_finished) { PlayAnimation(IsleScript::c_hpz055pa_RunAnim); - m_unk0x170 = 0; + m_taskState = Ambulance::e_none; } else { PlayAnimation(IsleScript::c_hpz053pa_RunAnim); } } else if (objectId == IsleScript::c_hpz050bd_RunAnim || objectId == IsleScript::c_hpz052ma_RunAnim) { - if (m_unk0x170 == 3) { + if (m_taskState == Ambulance::e_finished) { PlayAnimation(IsleScript::c_hpz057ma_RunAnim); - m_unk0x170 = 0; + m_taskState = Ambulance::e_none; } else { PlayAnimation(IsleScript::c_hpz052ma_RunAnim); @@ -201,18 +201,18 @@ MxLong Ambulance::HandleEndAction(MxEndActionNotificationParam& p_param) m_unk0x172 = 0; TickleManager()->RegisterClient(this, 40000); - if (m_unk0x16c != 0) { + if (m_atPoliceTask != 0) { StopActions(); } } else if (objectId == IsleScript::c_hps116bd_RunAnim || objectId == IsleScript::c_hps118re_RunAnim) { - if (objectId == IsleScript::c_hps116bd_RunAnim && m_unk0x170 != 3) { + if (objectId == IsleScript::c_hps116bd_RunAnim && m_taskState != Ambulance::e_finished) { PlayAction(IsleScript::c_Avo923In_PlayWav); } - if (m_unk0x170 == 3) { + if (m_taskState == Ambulance::e_finished) { PlayAnimation(IsleScript::c_hps117bd_RunAnim); - m_unk0x170 = 0; + m_taskState = Ambulance::e_none; } else { PlayAnimation(IsleScript::c_hps118re_RunAnim); @@ -225,12 +225,12 @@ MxLong Ambulance::HandleEndAction(MxEndActionNotificationParam& p_param) m_unk0x172 = 0; TickleManager()->RegisterClient(this, 40000); - if (m_unk0x16e != 0) { + if (m_atBeachTask != 0) { StopActions(); } } else if (objectId == IsleScript::c_hho142cl_RunAnim || objectId == IsleScript::c_hho143cl_RunAnim || objectId == IsleScript::c_hho144cl_RunAnim) { - FUN_10037250(); + Reset(); } } @@ -241,18 +241,18 @@ MxLong Ambulance::HandleEndAction(MxEndActionNotificationParam& p_param) // FUNCTION: BETA10 0x100230bf MxLong Ambulance::HandleButtonDown(LegoControlManagerNotificationParam& p_param) { - if (m_unk0x170 == 1) { + if (m_taskState == Ambulance::e_waiting) { LegoROI* roi = PickROI(p_param.GetX(), p_param.GetY()); if (roi != NULL && !strcmpi(roi->GetName(), "ps-gate")) { - m_unk0x170 = 3; + m_taskState = Ambulance::e_finished; return 1; } roi = PickRootROI(p_param.GetX(), p_param.GetY()); if (roi != NULL && !strcmpi(roi->GetName(), "gd")) { - m_unk0x170 = 3; + m_taskState = Ambulance::e_finished; return 1; } } @@ -270,9 +270,9 @@ MxLong Ambulance::HandlePathStruct(LegoPathStructNotificationParam& p_param) } if (p_param.GetTrigger() == LegoPathStruct::c_camAnim && p_param.GetData() == 0x0b) { - if (m_unk0x16e != 0) { - if (m_unk0x16c != 0) { - m_state->m_unk0x08 = 2; + if (m_atBeachTask != 0) { + if (m_atPoliceTask != 0) { + m_state->m_state = AmbulanceMissionState::e_prepareAmbulance; if (m_lastAction != IsleScript::c_noneIsle) { InvokeAction(Extra::e_stop, *g_isleScript, m_lastAction, NULL); @@ -297,7 +297,7 @@ MxLong Ambulance::HandlePathStruct(LegoPathStructNotificationParam& p_param) return 0; } - if (m_unk0x16e != 0) { + if (m_atBeachTask != 0) { if (m_lastAction != IsleScript::c_noneIsle) { InvokeAction(Extra::e_stop, *g_isleScript, m_lastAction, NULL); } @@ -307,7 +307,7 @@ MxLong Ambulance::HandlePathStruct(LegoPathStructNotificationParam& p_param) } } - if (m_unk0x16c != 0) { + if (m_atPoliceTask != 0) { if (m_lastAction != IsleScript::c_noneIsle) { InvokeAction(Extra::e_stop, *g_isleScript, m_lastAction, NULL); } @@ -315,9 +315,9 @@ MxLong Ambulance::HandlePathStruct(LegoPathStructNotificationParam& p_param) PlayAction(IsleScript::c_Avo915In_PlayWav); } } - else if (p_param.GetTrigger() == LegoPathStruct::c_s && p_param.GetData() == 0x131 && m_unk0x16e == 0) { - m_unk0x16e = 1; - m_unk0x170 = 1; + else if (p_param.GetTrigger() == LegoPathStruct::c_s && p_param.GetData() == 0x131 && m_atBeachTask == 0) { + m_atBeachTask = 1; + m_taskState = Ambulance::e_waiting; if (m_lastAction != IsleScript::c_noneIsle) { InvokeAction(Extra::e_stop, *g_isleScript, m_lastAction, NULL); @@ -345,9 +345,9 @@ MxLong Ambulance::HandlePathStruct(LegoPathStructNotificationParam& p_param) break; } } - else if (p_param.GetTrigger() == LegoPathStruct::c_camAnim && (p_param.GetData() == 0x22 || p_param.GetData() == 0x23 || p_param.GetData() == 0x24) && m_unk0x16c == 0) { - m_unk0x16c = 1; - m_unk0x170 = 1; + else if (p_param.GetTrigger() == LegoPathStruct::c_camAnim && (p_param.GetData() == 0x22 || p_param.GetData() == 0x23 || p_param.GetData() == 0x24) && m_atPoliceTask == 0) { + m_atPoliceTask = 1; + m_taskState = Ambulance::e_waiting; if (m_lastAction != IsleScript::c_noneIsle) { InvokeAction(Extra::e_stop, *g_isleScript, m_lastAction, NULL); @@ -368,7 +368,7 @@ MxLong Ambulance::HandleClick() return 1; } - if (m_state->m_unk0x08 == 2) { + if (m_state->m_state == AmbulanceMissionState::e_prepareAmbulance) { return 1; } @@ -387,7 +387,7 @@ MxLong Ambulance::HandleClick() InvokeAction(Extra::e_start, *g_isleScript, IsleScript::c_AmbulanceDashboard, NULL); ControlManager()->Register(this); - if (m_state->m_unk0x08 == 1) { + if (m_state->m_state == AmbulanceMissionState::e_enteredAmbulance) { SpawnPlayer(LegoGameState::e_hospitalExited, TRUE, 0); m_state->m_startTime = Timer()->GetTime(); InvokeAction(Extra::e_start, *g_isleScript, IsleScript::c_pns018rd_RunAnim, NULL); @@ -398,9 +398,9 @@ MxLong Ambulance::HandleClick() // FUNCTION: LEGO1 0x10036e60 // FUNCTION: BETA10 0x100236bb -void Ambulance::FUN_10036e60() +void Ambulance::Init() { - m_state->m_unk0x08 = 2; + m_state->m_state = AmbulanceMissionState::e_prepareAmbulance; PlayAnimation(IsleScript::c_hho027en_RunAnim); m_lastAction = IsleScript::c_noneIsle; m_lastAnimation = IsleScript::c_noneIsle; @@ -411,7 +411,7 @@ void Ambulance::Exit() { GameState()->m_currentArea = LegoGameState::e_hospitalExterior; StopActions(); - FUN_10037250(); + Reset(); Leave(); } @@ -467,11 +467,11 @@ void Ambulance::ActivateSceneActions() { PlayMusic(JukeboxScript::c_Hospital_Music); - if (m_state->m_unk0x08 == 1) { - m_state->m_unk0x08 = 0; + if (m_state->m_state == AmbulanceMissionState::e_enteredAmbulance) { + m_state->m_state = AmbulanceMissionState::e_ready; PlayAction(IsleScript::c_ham033cl_PlayWav); } - else if (m_unk0x16c != 0 && m_unk0x16e != 0) { + else if (m_atPoliceTask != 0 && m_atBeachTask != 0) { IsleScript::Script objectId; switch (rand() % 2) { @@ -571,14 +571,14 @@ void Ambulance::StopActions() } // FUNCTION: LEGO1 0x10037250 -void Ambulance::FUN_10037250() +void Ambulance::Reset() { StopAction(m_lastAction); BackgroundAudioManager()->RaiseVolume(); ((Act1State*) GameState()->GetState("Act1State"))->m_unk0x018 = 0; - m_state->m_unk0x08 = 0; - m_unk0x16e = 0; - m_unk0x16c = 0; + m_state->m_state = AmbulanceMissionState::e_ready; + m_atBeachTask = 0; + m_atPoliceTask = 0; g_isleFlags |= Isle::c_playMusic; AnimationManager()->EnableCamAnims(TRUE); AnimationManager()->FUN_1005f6d0(TRUE); @@ -626,7 +626,7 @@ void Ambulance::PlayAction(IsleScript::Script p_objectId) // FUNCTION: LEGO1 0x100373a0 AmbulanceMissionState::AmbulanceMissionState() { - m_unk0x08 = 0; + m_state = AmbulanceMissionState::e_ready; m_startTime = 0; m_peScore = 0; m_maScore = 0; diff --git a/LEGO1/lego/legoomni/src/worlds/isle.cpp b/LEGO1/lego/legoomni/src/worlds/isle.cpp index 050aae97..2eb47874 100644 --- a/LEGO1/lego/legoomni/src/worlds/isle.cpp +++ b/LEGO1/lego/legoomni/src/worlds/isle.cpp @@ -810,7 +810,7 @@ void Isle::Enable(MxBool p_enable) AnimationManager()->EnableCamAnims(FALSE); g_isleFlags &= ~c_playMusic; - m_ambulance->FUN_10036e60(); + m_ambulance->Init(); break; case 11: m_act1state->m_unk0x018 = 0; @@ -1209,7 +1209,7 @@ MxBool Isle::Escape() case 10: if (UserActor() != NULL && !UserActor()->IsA("Ambulance")) { m_ambulance->StopActions(); - m_ambulance->FUN_10037250(); + m_ambulance->Reset(); } break; } @@ -1250,7 +1250,7 @@ void Isle::FUN_10033350() if (m_act1state->m_unk0x018 == 10) { if (UserActor() != NULL && !UserActor()->IsA("Ambulance")) { m_ambulance->StopActions(); - m_ambulance->FUN_10037250(); + m_ambulance->Reset(); } } From 056064f9d4f4d9c69faae65012ff6de0c22f56e7 Mon Sep 17 00:00:00 2001 From: Fabian Neundorf Date: Thu, 26 Jun 2025 22:35:04 +0200 Subject: [PATCH 19/42] Clear unknown in `LegoLOD` (#1590) The function does mostly the same as `SetTextureInfo` but does not explicitly set the color as well. --- LEGO1/lego/legoomni/src/common/legocharactermanager.cpp | 2 +- LEGO1/lego/sources/roi/legolod.cpp | 2 +- LEGO1/lego/sources/roi/legolod.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp b/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp index 485d3511..80b69efc 100644 --- a/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp +++ b/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp @@ -634,7 +634,7 @@ MxBool LegoCharacterManager::SetHeadTexture(LegoROI* p_roi, LegoTextureInfo* p_t LegoLOD* clone = lod->Clone(renderer); if (p_texture != NULL) { - clone->FUN_100aad70(p_texture); + clone->UpdateTextureInfo(p_texture); } dupLodList->PushBack(clone); diff --git a/LEGO1/lego/sources/roi/legolod.cpp b/LEGO1/lego/sources/roi/legolod.cpp index 2291a3e7..bf157b56 100644 --- a/LEGO1/lego/sources/roi/legolod.cpp +++ b/LEGO1/lego/sources/roi/legolod.cpp @@ -351,7 +351,7 @@ LegoResult LegoLOD::SetTextureInfo(LegoTextureInfo* p_textureInfo) } // FUNCTION: LEGO1 0x100aad70 -LegoResult LegoLOD::FUN_100aad70(LegoTextureInfo* p_textureInfo) +LegoResult LegoLOD::UpdateTextureInfo(LegoTextureInfo* p_textureInfo) { for (LegoU32 i = m_meshOffset; i < m_numMeshes; i++) { if (m_melems[i].m_textured) { diff --git a/LEGO1/lego/sources/roi/legolod.h b/LEGO1/lego/sources/roi/legolod.h index 114e377b..e787d377 100644 --- a/LEGO1/lego/sources/roi/legolod.h +++ b/LEGO1/lego/sources/roi/legolod.h @@ -31,7 +31,7 @@ class LegoLOD : public ViewLOD { LegoLOD* Clone(Tgl::Renderer* p_renderer); LegoResult SetColor(LegoFloat p_red, LegoFloat p_green, LegoFloat p_blue, LegoFloat p_alpha); LegoResult SetTextureInfo(LegoTextureInfo* p_textureInfo); - LegoResult FUN_100aad70(LegoTextureInfo* p_textureInfo); + LegoResult UpdateTextureInfo(LegoTextureInfo* p_textureInfo); void ClearMeshOffset(); LegoResult GetTextureInfo(LegoTextureInfo*& p_textureInfo); From a987595e1eea009ffd1b078a2108d60fdf35f295 Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Thu, 26 Jun 2025 17:30:24 -0700 Subject: [PATCH 20/42] 1.0 compatibility (#434) * Make Infocenter compatible with 1.0 versions * Fix * Emscripten patch * Fix * Fix Emscripten patch * Window title * Naming * Don't exit car build automatically in 1.0 * Disable character selection by clicking icon in 1.0 * Remove obsolete includes --- ISLE/emscripten/libwasmfs_fetch.js.patch | 18 ++++- ISLE/isleapp.cpp | 29 ++++++++ ISLE/isleapp.h | 1 + LEGO1/lego/legoomni/include/legomain.h | 4 + .../lego/legoomni/src/build/legocarbuild.cpp | 2 +- LEGO1/lego/legoomni/src/main/legomain.cpp | 1 + LEGO1/lego/legoomni/src/worlds/infocenter.cpp | 74 +++++++++++-------- LEGO1/omni/include/mxstring.h | 8 +- 8 files changed, 100 insertions(+), 37 deletions(-) diff --git a/ISLE/emscripten/libwasmfs_fetch.js.patch b/ISLE/emscripten/libwasmfs_fetch.js.patch index eb16caf0..de8fab60 100644 --- a/ISLE/emscripten/libwasmfs_fetch.js.patch +++ b/ISLE/emscripten/libwasmfs_fetch.js.patch @@ -1,5 +1,5 @@ diff --git a/src/lib/libwasmfs_fetch.js b/src/lib/libwasmfs_fetch.js -index e8c9f7e21..1c0eea957 100644 +index e8c9f7e21..caf1971d2 100644 --- a/src/lib/libwasmfs_fetch.js +++ b/src/lib/libwasmfs_fetch.js @@ -38,36 +38,7 @@ addToLibrary({ @@ -89,7 +89,21 @@ index e8c9f7e21..1c0eea957 100644 return Promise.resolve(); } -@@ -164,6 +156,21 @@ addToLibrary({ +@@ -156,14 +148,31 @@ addToLibrary({ + return readLength; + }, + getSize: async (file) => { +- try { +- await getFileRange(file, 0, 0); +- } catch (failedResponse) { +- return 0; ++ if (!(file in wasmFS$JSMemoryRanges)) { ++ try { ++ await getFileRange(file, undefined, undefined); ++ } catch (failedResponse) { ++ return 0; ++ } + } return wasmFS$JSMemoryRanges[file].size; }, }; diff --git a/ISLE/isleapp.cpp b/ISLE/isleapp.cpp index 2ca33577..a5091ece 100644 --- a/ISLE/isleapp.cpp +++ b/ISLE/isleapp.cpp @@ -703,6 +703,7 @@ MxResult IsleApp::SetupWindow() return FAILURE; } + DetectGameVersion(); GameState()->SerializePlayersInfo(LegoStorage::c_read); GameState()->SerializeScoreHistory(LegoStorage::c_read); @@ -1098,6 +1099,34 @@ MxResult IsleApp::VerifyFilesystem() return SUCCESS; } +void IsleApp::DetectGameVersion() +{ + const char* file = "/lego/scripts/infocntr/infomain.si"; + SDL_PathInfo info; + bool success = false; + + MxString path = MxString(m_hdPath) + file; + path.MapPathToFilesystem(); + if (!(success = SDL_GetPathInfo(path.GetData(), &info))) { + path = MxString(m_cdPath) + file; + path.MapPathToFilesystem(); + success = SDL_GetPathInfo(path.GetData(), &info); + } + + assert(success); + + // File sizes of INFOMAIN.SI in English 1.0 and Japanese 1.0 + Lego()->SetVersion10(info.size == 58130432 || info.size == 57737216); + + if (Lego()->IsVersion10()) { + SDL_Log("Detected game version 1.0"); + SDL_SetWindowTitle(reinterpret_cast(m_windowHandle), "Lego Island"); + } + else { + SDL_Log("Detected game version 1.1"); + } +} + IDirect3DRMMiniwinDevice* GetD3DRMMiniwinDevice() { LegoVideoManager* videoManager = LegoOmni::GetInstance()->GetVideoManager(); diff --git a/ISLE/isleapp.h b/ISLE/isleapp.h index d76a291b..2766607f 100644 --- a/ISLE/isleapp.h +++ b/ISLE/isleapp.h @@ -56,6 +56,7 @@ class IsleApp { MxResult ParseArguments(int argc, char** argv); MxResult VerifyFilesystem(); + void DetectGameVersion(); private: char* m_hdPath; // 0x00 diff --git a/LEGO1/lego/legoomni/include/legomain.h b/LEGO1/lego/legoomni/include/legomain.h index fa9a91c5..c27be280 100644 --- a/LEGO1/lego/legoomni/include/legomain.h +++ b/LEGO1/lego/legoomni/include/legomain.h @@ -200,6 +200,9 @@ class LegoOmni : public MxOmni { SDL_PushEvent(&event); } + void SetVersion10(MxBool p_version10) { m_version10 = p_version10; } + MxBool IsVersion10() { return m_version10; } + // SYNTHETIC: LEGO1 0x10058b30 // LegoOmni::`scalar deleting destructor' @@ -221,6 +224,7 @@ class LegoOmni : public MxOmni { MxDSAction m_action; // 0xa0 MxBackgroundAudioManager* m_bkgAudioManager; // 0x134 MxTransitionManager* m_transitionManager; // 0x138 + MxBool m_version10; public: MxBool m_unk0x13c; // 0x13c diff --git a/LEGO1/lego/legoomni/src/build/legocarbuild.cpp b/LEGO1/lego/legoomni/src/build/legocarbuild.cpp index e69415f6..fa0be996 100644 --- a/LEGO1/lego/legoomni/src/build/legocarbuild.cpp +++ b/LEGO1/lego/legoomni/src/build/legocarbuild.cpp @@ -488,7 +488,7 @@ void LegoCarBuild::FUN_100236d0() m_unk0x110 = NULL; m_unk0x100 = 0; - if (m_animPresenter->AllPartsPlaced()) { + if (m_animPresenter->AllPartsPlaced() && !Lego()->IsVersion10()) { // Note the code duplication with LEGO1 0x10025ee0 switch (m_carId) { case 1: diff --git a/LEGO1/lego/legoomni/src/main/legomain.cpp b/LEGO1/lego/legoomni/src/main/legomain.cpp index 3b99f0b5..1695e1c3 100644 --- a/LEGO1/lego/legoomni/src/main/legomain.cpp +++ b/LEGO1/lego/legoomni/src/main/legomain.cpp @@ -76,6 +76,7 @@ void LegoOmni::Init() m_bkgAudioManager = NULL; m_unk0x13c = TRUE; m_transitionManager = NULL; + m_version10 = FALSE; } // FUNCTION: LEGO1 0x10058c30 diff --git a/LEGO1/lego/legoomni/src/worlds/infocenter.cpp b/LEGO1/lego/legoomni/src/worlds/infocenter.cpp index f9bfb4eb..c007dc96 100644 --- a/LEGO1/lego/legoomni/src/worlds/infocenter.cpp +++ b/LEGO1/lego/legoomni/src/worlds/infocenter.cpp @@ -306,29 +306,32 @@ MxLong Infocenter::HandleEndAction(MxEndActionNotificationParam& p_param) if (!m_unk0x1d4) { PlayMusic(JukeboxScript::c_InformationCenter_Music); - GameState()->SetActor(m_selectedCharacter); - switch (m_selectedCharacter) { - case e_pepper: - PlayAction(InfomainScript::c_avo901in_RunAnim); - break; - case e_mama: - PlayAction(InfomainScript::c_avo902in_RunAnim); - break; - case e_papa: - PlayAction(InfomainScript::c_avo903in_RunAnim); - break; - case e_nick: - PlayAction(InfomainScript::c_avo904in_RunAnim); - break; - case e_laura: - PlayAction(InfomainScript::c_avo905in_RunAnim); - break; - default: - break; + if (!Lego()->IsVersion10()) { + GameState()->SetActor(m_selectedCharacter); + + switch (m_selectedCharacter) { + case e_pepper: + PlayAction(InfomainScript::c_avo901in_RunAnim); + break; + case e_mama: + PlayAction(InfomainScript::c_avo902in_RunAnim); + break; + case e_papa: + PlayAction(InfomainScript::c_avo903in_RunAnim); + break; + case e_nick: + PlayAction(InfomainScript::c_avo904in_RunAnim); + break; + case e_laura: + PlayAction(InfomainScript::c_avo905in_RunAnim); + break; + default: + break; + } + + UpdateFrameHot(TRUE); } - - UpdateFrameHot(TRUE); } } @@ -338,7 +341,7 @@ MxLong Infocenter::HandleEndAction(MxEndActionNotificationParam& p_param) return result; } - if (action->GetObjectId() == InfomainScript::c_iicx26in_RunAnim) { + if (action->GetObjectId() == InfomainScript::c_iicx26in_RunAnim - Lego()->IsVersion10()) { ControlManager()->FUN_100293c0(InfomainScript::c_BigInfo_Ctl, action->GetAtomId().GetInternal(), 0); m_unk0x1d6 = 0; } @@ -478,7 +481,7 @@ void Infocenter::ReadyWorld() InfomainScript::Script script = m_infocenterState->GetNextReturnDialogue(); PlayAction(script); - if (script == InfomainScript::c_iicx26in_RunAnim) { + if (script == InfomainScript::c_iicx26in_RunAnim - Lego()->IsVersion10()) { m_unk0x1d6 = 1; } @@ -1186,13 +1189,13 @@ MxLong Infocenter::HandleNotification0(MxNotificationParam& p_param) m_currentInfomainScript == InfomainScript::c_Pepper_All_Movie || m_currentInfomainScript == InfomainScript::c_Nick_All_Movie || m_currentInfomainScript == InfomainScript::c_Laura_All_Movie || - m_currentInfomainScript == InfomainScript::c_iic007ra_PlayWav || - m_currentInfomainScript == InfomainScript::c_ijs002ra_PlayWav || - m_currentInfomainScript == InfomainScript::c_irt001ra_PlayWav || - m_currentInfomainScript == InfomainScript::c_ipz006ra_PlayWav || - m_currentInfomainScript == InfomainScript::c_igs004ra_PlayWav || - m_currentInfomainScript == InfomainScript::c_iho003ra_PlayWav || - m_currentInfomainScript == InfomainScript::c_ips005ra_PlayWav) { + m_currentInfomainScript == InfomainScript::c_iic007ra_PlayWav - Lego()->IsVersion10() || + m_currentInfomainScript == InfomainScript::c_ijs002ra_PlayWav - Lego()->IsVersion10() || + m_currentInfomainScript == InfomainScript::c_irt001ra_PlayWav - Lego()->IsVersion10() || + m_currentInfomainScript == InfomainScript::c_ipz006ra_PlayWav - Lego()->IsVersion10() || + m_currentInfomainScript == InfomainScript::c_igs004ra_PlayWav - Lego()->IsVersion10() || + m_currentInfomainScript == InfomainScript::c_iho003ra_PlayWav - Lego()->IsVersion10() || + m_currentInfomainScript == InfomainScript::c_ips005ra_PlayWav - Lego()->IsVersion10()) { StopCurrentAction(); } } @@ -1506,6 +1509,17 @@ void Infocenter::StopCredits() // FUNCTION: BETA10 0x1002ee8c void Infocenter::PlayAction(InfomainScript::Script p_script) { + if (Lego()->IsVersion10()) { + if (p_script == InfomainScript::c_iicx18in_RunAnim) { + // Alternative dialogue after signing in (1.0 version) + p_script = InfomainScript::c_iic016in_RunAnim; + } + else if (p_script > InfomainScript::c_iicx18in_RunAnim) { + // Shift all other actions by 1 + p_script = (InfomainScript::Script)((int) p_script - 1); + } + } + MxDSAction action; action.SetObjectId(p_script); action.SetAtomId(*g_infomainScript); diff --git a/LEGO1/omni/include/mxstring.h b/LEGO1/omni/include/mxstring.h index eaa58181..b4b25262 100644 --- a/LEGO1/omni/include/mxstring.h +++ b/LEGO1/omni/include/mxstring.h @@ -20,10 +20,10 @@ class MxString : public MxCore { void ToLowerCase(); void MapPathToFilesystem() { MapPathToFilesystem(m_data); } - MxString& operator=(const MxString& p_str); - const MxString& operator=(const char* p_str); - MxString operator+(const MxString& p_str) const; - MxString operator+(const char* p_str) const; + LEGO1_EXPORT MxString& operator=(const MxString& p_str); + LEGO1_EXPORT const MxString& operator=(const char* p_str); + LEGO1_EXPORT MxString operator+(const MxString& p_str) const; + LEGO1_EXPORT MxString operator+(const char* p_str) const; LEGO1_EXPORT MxString& operator+=(const char* p_str); static void CharSwap(char* p_a, char* p_b); From 16a94c725caf3fc1d9aca50c685390ab78fb2b9a Mon Sep 17 00:00:00 2001 From: Korbo Date: Fri, 27 Jun 2025 18:08:45 -0500 Subject: [PATCH 21/42] Names for race related or adjacent functions and variables (#1592) * Names for race related or adjacent functions and variables * fix formatting * fix formatting --- LEGO1/lego/legoomni/include/legopathactor.h | 2 +- LEGO1/lego/legoomni/include/legoracers.h | 6 ++-- LEGO1/lego/legoomni/include/legoracespecial.h | 9 +++-- .../lego/legoomni/src/paths/legopathactor.cpp | 6 ++-- LEGO1/lego/legoomni/src/race/carrace.cpp | 8 ++--- LEGO1/lego/legoomni/src/race/jetskirace.cpp | 8 ++--- .../lego/legoomni/src/race/legoraceactor.cpp | 4 +-- LEGO1/lego/legoomni/src/race/legoracers.cpp | 34 +++++++++---------- .../legoomni/src/race/legoracespecial.cpp | 16 ++++----- 9 files changed, 48 insertions(+), 45 deletions(-) diff --git a/LEGO1/lego/legoomni/include/legopathactor.h b/LEGO1/lego/legoomni/include/legopathactor.h index 6566c6fb..8df0e9db 100644 --- a/LEGO1/lego/legoomni/include/legopathactor.h +++ b/LEGO1/lego/legoomni/include/legopathactor.h @@ -13,7 +13,7 @@ struct LegoPathEdgeContainer; struct LegoOrientedEdge; class LegoWEEdge; -extern MxLong g_unk0x100f3308; +extern MxLong g_timeLastHitSoundPlayed; extern const char* g_strHIT_WALL_SOUND; // VTABLE: LEGO1 0x100d6e28 diff --git a/LEGO1/lego/legoomni/include/legoracers.h b/LEGO1/lego/legoomni/include/legoracers.h index 76d1071d..3c8ffe07 100644 --- a/LEGO1/lego/legoomni/include/legoracers.h +++ b/LEGO1/lego/legoomni/include/legoracers.h @@ -144,10 +144,10 @@ class LegoRaceCar : public LegoCarRaceActor, public LegoRaceMap { MxResult VTable0x9c() override; // vtable+0x9c virtual void SetMaxLinearVelocity(float p_maxLinearVelocity); - virtual void FUN_10012ff0(float p_param); + virtual void KickCamera(float p_param); virtual MxU32 HandleSkeletonKicks(float p_param1); - static void FUN_10012de0(); + static void InitYouCantStopSound(); static void InitSoundIndices(); // SYNTHETIC: LEGO1 0x10014240 @@ -155,7 +155,7 @@ class LegoRaceCar : public LegoCarRaceActor, public LegoRaceMap { private: undefined m_userState; // 0x54 - float m_unk0x58; // 0x58 + float m_kickStart; // 0x58 Mx3DPointFloat m_unk0x5c; // 0x5c // Names verified by BETA10 0x100cb4a9 diff --git a/LEGO1/lego/legoomni/include/legoracespecial.h b/LEGO1/lego/legoomni/include/legoracespecial.h index 97fa7d9f..bfa38632 100644 --- a/LEGO1/lego/legoomni/include/legoracespecial.h +++ b/LEGO1/lego/legoomni/include/legoracespecial.h @@ -44,8 +44,11 @@ class LegoCarRaceActor : public virtual LegoRaceActor { Vector3& p_v3 ) override; // vtable+0x6c void Animate(float p_time) override; // vtable+0x70 - void SwitchBoundary(LegoPathBoundary*& p_boundary, LegoOrientedEdge*& p_edge, float& p_unk0xe4) - override; // vtable+0x98 + void SwitchBoundary( + LegoPathBoundary*& p_boundary, + LegoOrientedEdge*& p_edge, + float& p_unk0xe4 + ) override; // vtable+0x98 MxResult VTable0x9c() override; // vtable+0x9c // LegoCarRaceActor vtable @@ -83,7 +86,7 @@ class LegoCarRaceActor : public virtual LegoRaceActor { protected: MxFloat m_unk0x08; // 0x08 - MxU8 m_unk0x0c; // 0x0c + MxU8 m_animState; // 0x0c // Could be a multiplier for the maximum speed when going straight MxFloat m_unk0x10; // 0x10 diff --git a/LEGO1/lego/legoomni/src/paths/legopathactor.cpp b/LEGO1/lego/legoomni/src/paths/legopathactor.cpp index 292d8214..0a8f6878 100644 --- a/LEGO1/lego/legoomni/src/paths/legopathactor.cpp +++ b/LEGO1/lego/legoomni/src/paths/legopathactor.cpp @@ -36,7 +36,7 @@ const char* g_strHIT_WALL_SOUND = "HIT_WALL_SOUND"; // GLOBAL: LEGO1 0x100f3308 // GLOBAL: BETA10 0x101f1e1c -MxLong g_unk0x100f3308 = 0; +MxLong g_timeLastHitSoundPlayed = 0; // FUNCTION: LEGO1 0x1002d700 // FUNCTION: BETA10 0x100ae6e0 @@ -291,8 +291,8 @@ MxS32 LegoPathActor::VTable0x8c(float p_time, Matrix4& p_transform) if (m_boundary == oldBoundary) { MxLong time = Timer()->GetTime(); - if (time - g_unk0x100f3308 > 1000) { - g_unk0x100f3308 = time; + if (time - g_timeLastHitSoundPlayed > 1000) { + g_timeLastHitSoundPlayed = time; const char* var = VariableTable()->GetVariable(g_strHIT_WALL_SOUND); if (var && var[0] != 0) { diff --git a/LEGO1/lego/legoomni/src/race/carrace.cpp b/LEGO1/lego/legoomni/src/race/carrace.cpp index e775a3be..86c50b4a 100644 --- a/LEGO1/lego/legoomni/src/race/carrace.cpp +++ b/LEGO1/lego/legoomni/src/race/carrace.cpp @@ -244,7 +244,7 @@ MxLong CarRace::HandlePathStruct(LegoPathStructNotificationParam& p_param) VariableTable()->SetVariable(g_strHIT_WALL_SOUND, ""); NavController()->SetDeadZone(NavController()->GetDefaultDeadZone()); NavController()->SetTrackDefault(1); - LegoRaceCar::FUN_10012de0(); + LegoRaceCar::InitYouCantStopSound(); m_raceState->m_unk0x28 = 2; RaceState::Entry* raceState = m_raceState->GetState(GameState()->GetActorId()); @@ -346,7 +346,7 @@ MxLong CarRace::HandleClick(LegoEventNotificationParam& p_param) VariableTable()->SetVariable(g_strHIT_WALL_SOUND, ""); NavController()->SetDeadZone(NavController()->GetDefaultDeadZone()); NavController()->SetTrackDefault(1); - LegoRaceCar::FUN_10012de0(); + LegoRaceCar::InitYouCantStopSound(); m_destLocation = LegoGameState::e_infomain; TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE); GameState()->GetBackgroundColor()->SetValue("reset"); @@ -358,7 +358,7 @@ MxLong CarRace::HandleClick(LegoEventNotificationParam& p_param) VariableTable()->SetVariable(g_strHIT_WALL_SOUND, ""); NavController()->SetDeadZone(NavController()->GetDefaultDeadZone()); NavController()->SetTrackDefault(1); - LegoRaceCar::FUN_10012de0(); + LegoRaceCar::InitYouCantStopSound(); m_destLocation = LegoGameState::e_carraceExterior; TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE); GameState()->GetBackgroundColor()->SetValue("reset"); @@ -422,7 +422,7 @@ MxBool CarRace::Escape() NavController()->SetDeadZone(NavController()->GetDefaultDeadZone()); NavController()->SetTrackDefault(1); - LegoRaceCar::FUN_10012de0(); + LegoRaceCar::InitYouCantStopSound(); GameState()->GetBackgroundColor()->SetValue("reset"); m_destLocation = LegoGameState::e_infomain; diff --git a/LEGO1/lego/legoomni/src/race/jetskirace.cpp b/LEGO1/lego/legoomni/src/race/jetskirace.cpp index d1de13e9..54ad806c 100644 --- a/LEGO1/lego/legoomni/src/race/jetskirace.cpp +++ b/LEGO1/lego/legoomni/src/race/jetskirace.cpp @@ -130,7 +130,7 @@ MxLong JetskiRace::HandleClick(LegoEventNotificationParam& p_param) m_act1State->m_unk0x018 = 0; VariableTable()->SetVariable(g_raceState, ""); VariableTable()->SetVariable(g_strHIT_WALL_SOUND, ""); - LegoRaceCar::FUN_10012de0(); + LegoRaceCar::InitYouCantStopSound(); m_destLocation = LegoGameState::e_jetraceExterior; TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE); break; @@ -138,7 +138,7 @@ MxLong JetskiRace::HandleClick(LegoEventNotificationParam& p_param) m_act1State->m_unk0x018 = 0; VariableTable()->SetVariable(g_raceState, ""); VariableTable()->SetVariable(g_strHIT_WALL_SOUND, ""); - LegoRaceCar::FUN_10012de0(); + LegoRaceCar::InitYouCantStopSound(); m_destLocation = LegoGameState::e_infomain; result = 1; TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE); @@ -191,7 +191,7 @@ MxLong JetskiRace::HandlePathStruct(LegoPathStructNotificationParam& p_param) VariableTable()->SetVariable(g_raceState, ""); VariableTable()->SetVariable(g_strHIT_WALL_SOUND, ""); - LegoRaceCar::FUN_10012de0(); + LegoRaceCar::InitYouCantStopSound(); m_raceState->m_unk0x28 = 2; RaceState::Entry* raceStateEntry = m_raceState->GetState(GameState()->GetActorId()); @@ -292,6 +292,6 @@ MxBool JetskiRace::Escape() VariableTable()->SetVariable(g_raceState, ""); VariableTable()->SetVariable(g_strHIT_WALL_SOUND, ""); m_destLocation = LegoGameState::e_infomain; - LegoRaceCar::FUN_10012de0(); + LegoRaceCar::InitYouCantStopSound(); return TRUE; } diff --git a/LEGO1/lego/legoomni/src/race/legoraceactor.cpp b/LEGO1/lego/legoomni/src/race/legoraceactor.cpp index 965ba326..f005d996 100644 --- a/LEGO1/lego/legoomni/src/race/legoraceactor.cpp +++ b/LEGO1/lego/legoomni/src/race/legoraceactor.cpp @@ -31,8 +31,8 @@ MxS32 LegoRaceActor::VTable0x68(Vector3& p_v1, Vector3& p_v2, Vector3& p_v3) if (m_userNavFlag && result) { MxLong time = Timer()->GetTime(); - if (time - g_unk0x100f3308 > 1000) { - g_unk0x100f3308 = time; + if (time - g_timeLastHitSoundPlayed > 1000) { + g_timeLastHitSoundPlayed = time; const char* soundKey = VariableTable()->GetVariable(g_strHIT_ACTOR_SOUND); if (soundKey && *soundKey) { diff --git a/LEGO1/lego/legoomni/src/race/legoracers.cpp b/LEGO1/lego/legoomni/src/race/legoracers.cpp index 39c0c0e6..0a9fa1e2 100644 --- a/LEGO1/lego/legoomni/src/race/legoracers.cpp +++ b/LEGO1/lego/legoomni/src/race/legoracers.cpp @@ -175,7 +175,7 @@ LegoRaceCar::LegoRaceCar() m_skelKick1Anim = 0; m_skelKick2Anim = 0; m_unk0x5c.Clear(); - m_unk0x58 = 0; + m_kickStart = 0; m_kick1B = 0; m_kick2B = 0; NotificationManager()->Register(this); @@ -198,10 +198,10 @@ MxLong LegoRaceCar::Notify(MxParam& p_param) // Initialized at LEGO1 0x10012db0 // GLOBAL: LEGO1 0x10102af0 // GLOBAL: BETA10 0x102114c0 -Mx3DPointFloat g_unk0x10102af0 = Mx3DPointFloat(0.0f, 2.0f, 0.0f); +Mx3DPointFloat g_hitOffset = Mx3DPointFloat(0.0f, 2.0f, 0.0f); // FUNCTION: LEGO1 0x10012de0 -void LegoRaceCar::FUN_10012de0() +void LegoRaceCar::InitYouCantStopSound() { // Init to TRUE so we don't play "you can't stop in the middle of the race!" before the player ever moves g_playedYouCantStopSound = TRUE; @@ -226,7 +226,7 @@ void LegoRaceCar::InitSoundIndices() void LegoRaceCar::SetWorldSpeed(MxFloat p_worldSpeed) { if (!m_userNavFlag) { - if (!LegoCarRaceActor::m_unk0x0c) { + if (!LegoCarRaceActor::m_animState) { m_maxLinearVel = p_worldSpeed; } LegoAnimActor::SetWorldSpeed(p_worldSpeed); @@ -241,7 +241,7 @@ void LegoRaceCar::SetWorldSpeed(MxFloat p_worldSpeed) void LegoRaceCar::SetMaxLinearVelocity(float p_maxLinearVelocity) { if (p_maxLinearVelocity < 0) { - LegoCarRaceActor::m_unk0x0c = 2; + LegoCarRaceActor::m_animState = 2; m_maxLinearVel = 0; SetWorldSpeed(0); } @@ -296,7 +296,7 @@ void LegoRaceCar::ParseAction(char* p_extra) // FUNCTION: LEGO1 0x10012ff0 // FUNCTION: BETA10 0x100cb60e -void LegoRaceCar::FUN_10012ff0(float p_param) +void LegoRaceCar::KickCamera(float p_param) { LegoAnimActorStruct* a; // called `a` in BETA10 float deltaTime; @@ -312,7 +312,7 @@ void LegoRaceCar::FUN_10012ff0(float p_param) assert(a && a->GetAnimTreePtr() && a->GetAnimTreePtr()->GetCamAnim()); if (a->GetAnimTreePtr()) { - deltaTime = p_param - m_unk0x58; + deltaTime = p_param - m_kickStart; if (a->GetDuration() <= deltaTime || deltaTime < 0.0) { if (m_userState == LEGORACECAR_KICK1) { @@ -387,7 +387,7 @@ MxU32 LegoRaceCar::HandleSkeletonKicks(float p_param1) return FALSE; } - m_unk0x58 = p_param1; + m_kickStart = p_param1; SoundManager()->GetCacheSoundManager()->Play(g_soundSkel3, NULL, FALSE); return TRUE; @@ -398,7 +398,7 @@ MxU32 LegoRaceCar::HandleSkeletonKicks(float p_param1) void LegoRaceCar::Animate(float p_time) { if (m_userNavFlag && (m_userState == LEGORACECAR_KICK1 || m_userState == LEGORACECAR_KICK2)) { - FUN_10012ff0(p_time); + KickCamera(p_time); return; } @@ -410,7 +410,7 @@ void LegoRaceCar::Animate(float p_time) } } - if (LegoCarRaceActor::m_unk0x0c == 1) { + if (LegoCarRaceActor::m_animState == 1) { FUN_1005d4b0(); if (!m_userNavFlag) { @@ -468,7 +468,7 @@ MxResult LegoRaceCar::HitActor(LegoPathActor* p_actor, MxBool p_bool) assert(roi); matr = roi->GetLocal2World(); - Vector3(matr[3]) += g_unk0x10102af0; + Vector3(matr[3]) += g_hitOffset; roi->SetLocal2World(matr); p_actor->SetActorState(c_two); @@ -513,7 +513,7 @@ MxResult LegoRaceCar::HitActor(LegoPathActor* p_actor, MxBool p_bool) if (soundKey) { SoundManager()->GetCacheSoundManager()->Play(soundKey, NULL, FALSE); - g_timeLastRaceCarSoundPlayed = g_unk0x100f3308 = time; + g_timeLastRaceCarSoundPlayed = g_timeLastHitSoundPlayed = time; } } @@ -579,7 +579,7 @@ void LegoJetski::InitSoundIndices() void LegoJetski::SetWorldSpeed(MxFloat p_worldSpeed) { if (!m_userNavFlag) { - if (!LegoCarRaceActor::m_unk0x0c) { + if (!LegoCarRaceActor::m_animState) { m_maxLinearVel = p_worldSpeed; } LegoAnimActor::SetWorldSpeed(p_worldSpeed); @@ -594,7 +594,7 @@ void LegoJetski::SetWorldSpeed(MxFloat p_worldSpeed) void LegoJetski::FUN_100136f0(float p_worldSpeed) { if (p_worldSpeed < 0) { - LegoCarRaceActor::m_unk0x0c = 2; + LegoCarRaceActor::m_animState = 2; m_maxLinearVel = 0; SetWorldSpeed(0); } @@ -609,7 +609,7 @@ void LegoJetski::Animate(float p_time) { LegoJetskiRaceActor::Animate(p_time); - if (LegoCarRaceActor::m_unk0x0c == 1) { + if (LegoCarRaceActor::m_animState == 1) { FUN_1005d4b0(); if (!m_userNavFlag) { @@ -682,7 +682,7 @@ MxResult LegoJetski::HitActor(LegoPathActor* p_actor, MxBool p_bool) LegoROI* roi = p_actor->GetROI(); matr = roi->GetLocal2World(); - Vector3(matr[3]) += g_unk0x10102af0; + Vector3(matr[3]) += g_hitOffset; roi->SetLocal2World(matr); p_actor->SetActorState(c_two); @@ -711,7 +711,7 @@ MxResult LegoJetski::HitActor(LegoPathActor* p_actor, MxBool p_bool) if (soundKey) { SoundManager()->GetCacheSoundManager()->Play(soundKey, NULL, FALSE); - g_timeLastJetskiSoundPlayed = g_unk0x100f3308 = time; + g_timeLastJetskiSoundPlayed = g_timeLastHitSoundPlayed = time; } } diff --git a/LEGO1/lego/legoomni/src/race/legoracespecial.cpp b/LEGO1/lego/legoomni/src/race/legoracespecial.cpp index 81f9255f..e599c633 100644 --- a/LEGO1/lego/legoomni/src/race/legoracespecial.cpp +++ b/LEGO1/lego/legoomni/src/race/legoracespecial.cpp @@ -44,7 +44,7 @@ LegoCarRaceActor::LegoCarRaceActor() { m_unk0x08 = 1.0f; m_unk0x70 = 0.0f; - m_unk0x0c = 0; + m_animState = 0; m_maxLinearVel = 0.0f; m_frequencyFactor = 1.0f; m_unk0x1c = 0; @@ -223,18 +223,18 @@ void LegoCarRaceActor::SwitchBoundary(LegoPathBoundary*& p_boundary, LegoOriente // FUNCTION: BETA10 0x100cdbae void LegoCarRaceActor::Animate(float p_time) { - // m_unk0x0c is not an MxBool, there are places where it is set to 2 or higher - if (m_unk0x0c == 0) { + // m_animState is not an MxBool, there are places where it is set to 2 or higher + if (m_animState == 0) { const char* value = VariableTable()->GetVariable(g_raceState); if (strcmpi(value, g_racing) == 0) { - m_unk0x0c = 1; + m_animState = 1; m_lastTime = p_time - 1.0f; m_unk0x1c = p_time; } } - if (m_unk0x0c == 1) { + if (m_animState == 1) { LegoAnimActor::Animate(p_time); } } @@ -398,10 +398,10 @@ MxS32 LegoJetskiRaceActor::VTable0x1c(LegoPathBoundary* p_boundary, LegoEdge* p_ // FUNCTION: LEGO1 0x10081550 void LegoJetskiRaceActor::Animate(float p_time) { - if (m_unk0x0c == 0) { + if (m_animState == 0) { const LegoChar* raceState = VariableTable()->GetVariable(g_raceState); if (!stricmp(raceState, g_racing)) { - m_unk0x0c = 1; + m_animState = 1; m_lastTime = p_time - 1.0f; m_unk0x1c = p_time; } @@ -410,7 +410,7 @@ void LegoJetskiRaceActor::Animate(float p_time) } } - if (m_unk0x0c == 1) { + if (m_animState == 1) { LegoAnimActor::Animate(p_time); } } From 02dd261ca91467688a6e0ed1fbffa50e99300338 Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Fri, 27 Jun 2025 16:15:08 -0700 Subject: [PATCH 22/42] Fix isle/master merge --- LEGO1/lego/legoomni/src/race/legoracespecial.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/LEGO1/lego/legoomni/src/race/legoracespecial.cpp b/LEGO1/lego/legoomni/src/race/legoracespecial.cpp index 6fa64058..7fe58c71 100644 --- a/LEGO1/lego/legoomni/src/race/legoracespecial.cpp +++ b/LEGO1/lego/legoomni/src/race/legoracespecial.cpp @@ -401,13 +401,8 @@ void LegoJetskiRaceActor::Animate(float p_time) { if (m_animState == 0) { const LegoChar* raceState = VariableTable()->GetVariable(g_raceState); -<<<<<<< HEAD if (!SDL_strcasecmp(raceState, g_racing)) { - m_unk0x0c = 1; -======= - if (!stricmp(raceState, g_racing)) { m_animState = 1; ->>>>>>> isle/master m_lastTime = p_time - 1.0f; m_unk0x1c = p_time; } From 89539a64f17cbd0c21c65aa66cf7af63ffaed924 Mon Sep 17 00:00:00 2001 From: Fabian Neundorf Date: Sat, 28 Jun 2025 16:28:13 +0200 Subject: [PATCH 23/42] Clear unknown 0x10 in `LegoEntity` (#1593) The naming is a bit weird, as only one bit is used so there are no other usages of this value. --- LEGO1/lego/legoomni/include/legoanimpresenter.h | 2 +- LEGO1/lego/legoomni/include/legoentity.h | 10 +++++----- LEGO1/lego/legoomni/src/entity/legoactor.cpp | 2 +- LEGO1/lego/legoomni/src/entity/legoentity.cpp | 8 ++++---- LEGO1/lego/legoomni/src/entity/legonavcontroller.cpp | 2 +- LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp | 12 ++++++------ 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/LEGO1/lego/legoomni/include/legoanimpresenter.h b/LEGO1/lego/legoomni/include/legoanimpresenter.h index 85917cbc..a3d6cd60 100644 --- a/LEGO1/lego/legoomni/include/legoanimpresenter.h +++ b/LEGO1/lego/legoomni/include/legoanimpresenter.h @@ -121,7 +121,7 @@ class LegoAnimPresenter : public MxVideoPresenter { void SubstituteVariables(); void FUN_1006b900(LegoAnim* p_anim, MxLong p_time, Matrix4* p_matrix); void FUN_1006b9a0(LegoAnim* p_anim, MxLong p_time, Matrix4* p_matrix); - void FUN_1006c8a0(MxBool p_bool); + void SetDisabled(MxBool p_disabled); LegoAnim* m_anim; // 0x64 LegoROI** m_roiMap; // 0x68 diff --git a/LEGO1/lego/legoomni/include/legoentity.h b/LEGO1/lego/legoomni/include/legoentity.h index eecf6867..2859b6ac 100644 --- a/LEGO1/lego/legoomni/include/legoentity.h +++ b/LEGO1/lego/legoomni/include/legoentity.h @@ -28,7 +28,7 @@ class LegoEntity : public MxEntity { }; enum { - c_altBit1 = 0x01 + c_disabled = 0x01 }; LegoEntity() { Init(); } @@ -83,7 +83,7 @@ class LegoEntity : public MxEntity { Mx3DPointFloat GetWorldUp(); Mx3DPointFloat GetWorldPosition(); - MxBool GetUnknown0x10IsSet(MxU8 p_flag) { return m_unk0x10 & p_flag; } + MxBool IsInteraction(MxU8 p_flag) { return m_interaction & p_flag; } MxBool GetFlagsIsSet(MxU8 p_flag) { return m_flags & p_flag; } MxU8 GetFlags() { return m_flags; } @@ -101,14 +101,14 @@ class LegoEntity : public MxEntity { void SetFlags(MxU8 p_flags) { m_flags = p_flags; } void SetFlag(MxU8 p_flag) { m_flags |= p_flag; } void ClearFlag(MxU8 p_flag) { m_flags &= ~p_flag; } - void SetUnknown0x10Flag(MxU8 p_flag) { m_unk0x10 |= p_flag; } - void ClearUnknown0x10Flag(MxU8 p_flag) { m_unk0x10 &= ~p_flag; } + void SetInteractionFlag(MxU8 p_flag) { m_interaction |= p_flag; } + void ClearInteractionFlag(MxU8 p_flag) { m_interaction &= ~p_flag; } protected: void Init(); void SetWorld(); - MxU8 m_unk0x10; // 0x10 + MxU8 m_interaction; // 0x10 MxU8 m_flags; // 0x11 Mx3DPointFloat m_worldLocation; // 0x14 Mx3DPointFloat m_worldDirection; // 0x28 diff --git a/LEGO1/lego/legoomni/src/entity/legoactor.cpp b/LEGO1/lego/legoomni/src/entity/legoactor.cpp index c1ce3f74..4b0428b8 100644 --- a/LEGO1/lego/legoomni/src/entity/legoactor.cpp +++ b/LEGO1/lego/legoomni/src/entity/legoactor.cpp @@ -18,7 +18,7 @@ LegoActor::LegoActor() m_frequencyFactor = 0.0f; m_sound = NULL; m_unk0x70 = 0.0f; - m_unk0x10 = 0; + m_interaction = 0; m_actorId = 0; } diff --git a/LEGO1/lego/legoomni/src/entity/legoentity.cpp b/LEGO1/lego/legoomni/src/entity/legoentity.cpp index 467d65d8..b76da503 100644 --- a/LEGO1/lego/legoomni/src/entity/legoentity.cpp +++ b/LEGO1/lego/legoomni/src/entity/legoentity.cpp @@ -29,7 +29,7 @@ void LegoEntity::Init() m_roi = NULL; m_cameraFlag = FALSE; m_siFile = NULL; - m_unk0x10 = 0; + m_interaction = 0; m_flags = 0; m_actionType = Extra::ActionType::e_unknown; m_targetEntityId = -1; @@ -265,7 +265,7 @@ void LegoEntity::ParseAction(char* p_extra) // FUNCTION: BETA10 0x1007ee87 void LegoEntity::ClickSound(MxBool p_und) { - if (!GetUnknown0x10IsSet(c_altBit1)) { + if (!IsInteraction(c_disabled)) { MxU32 objectId = 0; const char* name = m_roi->GetName(); @@ -297,7 +297,7 @@ void LegoEntity::ClickSound(MxBool p_und) // FUNCTION: BETA10 0x1007f062 void LegoEntity::ClickAnimation() { - if (!GetUnknown0x10IsSet(c_altBit1)) { + if (!IsInteraction(c_disabled)) { MxU32 objectId = 0; MxDSAction action; const char* name = m_roi->GetName(); @@ -329,7 +329,7 @@ void LegoEntity::ClickAnimation() action.SetObjectId(objectId); action.AppendExtra(strlen(extra) + 1, extra); LegoOmni::GetInstance()->GetAnimationManager()->StartEntityAction(action, this); - m_unk0x10 |= c_altBit1; + m_interaction |= c_disabled; } } } diff --git a/LEGO1/lego/legoomni/src/entity/legonavcontroller.cpp b/LEGO1/lego/legoomni/src/entity/legonavcontroller.cpp index 1c306c1b..fa8158da 100644 --- a/LEGO1/lego/legoomni/src/entity/legonavcontroller.cpp +++ b/LEGO1/lego/legoomni/src/entity/legonavcontroller.cpp @@ -691,7 +691,7 @@ MxLong LegoNavController::Notify(MxParam& p_param) for (MxS32 i = 0; i < numPlants; i++) { LegoEntity* entity = plantMgr->CreatePlant(i, NULL, LegoOmni::e_act1); - if (entity != NULL && !entity->GetUnknown0x10IsSet(LegoEntity::c_altBit1)) { + if (entity != NULL && !entity->IsInteraction(LegoEntity::c_disabled)) { LegoROI* roi = entity->GetROI(); if (roi != NULL && roi->GetVisibility()) { diff --git a/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp b/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp index 852263fc..73918606 100644 --- a/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp +++ b/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp @@ -790,7 +790,7 @@ void LegoAnimPresenter::StartingTickle() } FUN_10069b10(); - FUN_1006c8a0(TRUE); + SetDisabled(TRUE); if (m_unk0x78 == NULL) { if (fabs(m_action->GetDirection()[0]) >= 0.00000047683716F || @@ -1090,7 +1090,7 @@ void LegoAnimPresenter::EndAction() } } - FUN_1006c8a0(FALSE); + SetDisabled(FALSE); FUN_1006ab70(); VTable0x90(); @@ -1151,18 +1151,18 @@ void LegoAnimPresenter::VTable0x90() } // FUNCTION: LEGO1 0x1006c8a0 -void LegoAnimPresenter::FUN_1006c8a0(MxBool p_bool) +void LegoAnimPresenter::SetDisabled(MxBool p_disabled) { if (m_roiMapSize != 0 && m_roiMap != NULL) { for (MxU32 i = 1; i <= m_roiMapSize; i++) { LegoEntity* entity = m_roiMap[i]->GetEntity(); if (entity != NULL) { - if (p_bool) { - entity->SetUnknown0x10Flag(LegoEntity::c_altBit1); + if (p_disabled) { + entity->SetInteractionFlag(LegoEntity::c_disabled); } else { - entity->ClearUnknown0x10Flag(LegoEntity::c_altBit1); + entity->ClearInteractionFlag(LegoEntity::c_disabled); } } } From 9dcc701fcb18eb84e7d57ae3454a9391decdba6d Mon Sep 17 00:00:00 2001 From: Fabian Neundorf Date: Sat, 28 Jun 2025 20:32:09 +0200 Subject: [PATCH 24/42] Clear unknowns in GetSoundId (#1594) --- LEGO1/lego/legoomni/include/legobuildingmanager.h | 2 +- LEGO1/lego/legoomni/include/legocharactermanager.h | 2 +- LEGO1/lego/legoomni/include/legoentity.h | 14 +++++++------- LEGO1/lego/legoomni/include/legoplantmanager.h | 2 +- .../legoomni/src/common/legobuildingmanager.cpp | 12 ++++++------ .../legoomni/src/common/legocharactermanager.cpp | 12 ++++++------ .../lego/legoomni/src/common/legoplantmanager.cpp | 12 ++++++------ LEGO1/lego/legoomni/src/entity/legoentity.cpp | 8 ++++---- 8 files changed, 32 insertions(+), 32 deletions(-) diff --git a/LEGO1/lego/legoomni/include/legobuildingmanager.h b/LEGO1/lego/legoomni/include/legobuildingmanager.h index 3d251c98..c5a69309 100644 --- a/LEGO1/lego/legoomni/include/legobuildingmanager.h +++ b/LEGO1/lego/legoomni/include/legobuildingmanager.h @@ -78,7 +78,7 @@ class LegoBuildingManager : public MxCore { MxBool SwitchMove(LegoEntity* p_entity); MxBool SwitchMood(LegoEntity* p_entity); MxU32 GetAnimationId(LegoEntity* p_entity); - MxU32 GetSoundId(LegoEntity* p_entity, MxBool p_state); + MxU32 GetSoundId(LegoEntity* p_entity, MxBool p_basedOnMood); MxBool DecrementCounter(LegoEntity* p_entity); MxBool DecrementCounter(MxS32 p_index); MxBool DecrementCounter(LegoBuildingInfo* p_data); diff --git a/LEGO1/lego/legoomni/include/legocharactermanager.h b/LEGO1/lego/legoomni/include/legocharactermanager.h index 174db01e..c5a0c242 100644 --- a/LEGO1/lego/legoomni/include/legocharactermanager.h +++ b/LEGO1/lego/legoomni/include/legocharactermanager.h @@ -86,7 +86,7 @@ class LegoCharacterManager { MxBool SwitchMove(LegoROI* p_roi); MxBool SwitchMood(LegoROI* p_roi); MxU32 GetAnimationId(LegoROI* p_roi); - MxU32 GetSoundId(LegoROI* p_roi, MxBool p_und); + MxU32 GetSoundId(LegoROI* p_roi, MxBool p_basedOnMood); MxU8 GetMood(LegoROI* p_roi); LegoROI* CreateAutoROI(const char* p_name, const char* p_lodName, MxBool p_createEntity); MxResult UpdateBoundingSphereAndBox(LegoROI* p_roi); diff --git a/LEGO1/lego/legoomni/include/legoentity.h b/LEGO1/lego/legoomni/include/legoentity.h index 2859b6ac..a6d9d9ee 100644 --- a/LEGO1/lego/legoomni/include/legoentity.h +++ b/LEGO1/lego/legoomni/include/legoentity.h @@ -68,13 +68,13 @@ class LegoEntity : public MxEntity { // FUNCTION: BETA10 0x10013260 virtual void SetWorldSpeed(MxFloat p_worldSpeed) { m_worldSpeed = p_worldSpeed; } // vtable+0x30 - virtual void ClickSound(MxBool p_und); // vtable+0x34 - virtual void ClickAnimation(); // vtable+0x38 - virtual void SwitchVariant(); // vtable+0x3c - virtual void SwitchSound(); // vtable+0x40 - virtual void SwitchMove(); // vtable+0x44 - virtual void SwitchColor(LegoROI* p_roi); // vtable+0x48 - virtual void SwitchMood(); // vtable+0x4c + virtual void ClickSound(MxBool p_basedOnMood); // vtable+0x34 + virtual void ClickAnimation(); // vtable+0x38 + virtual void SwitchVariant(); // vtable+0x3c + virtual void SwitchSound(); // vtable+0x40 + virtual void SwitchMove(); // vtable+0x44 + virtual void SwitchColor(LegoROI* p_roi); // vtable+0x48 + virtual void SwitchMood(); // vtable+0x4c void FUN_10010c30(); void SetType(MxU8 p_type); diff --git a/LEGO1/lego/legoomni/include/legoplantmanager.h b/LEGO1/lego/legoomni/include/legoplantmanager.h index 91fe49c8..c3b2c4e1 100644 --- a/LEGO1/lego/legoomni/include/legoplantmanager.h +++ b/LEGO1/lego/legoomni/include/legoplantmanager.h @@ -49,7 +49,7 @@ class LegoPlantManager : public MxCore { MxBool SwitchMove(LegoEntity* p_entity); MxBool SwitchMood(LegoEntity* p_entity); MxU32 GetAnimationId(LegoEntity* p_entity); - MxU32 GetSoundId(LegoEntity* p_entity, MxBool p_state); + MxU32 GetSoundId(LegoEntity* p_entity, MxBool p_basedOnMood); LegoPlantInfo* GetInfoArray(MxS32& p_length); LegoEntity* CreatePlant(MxS32 p_index, LegoWorld* p_world, LegoOmni::World p_worldId); MxBool DecrementCounter(LegoEntity* p_entity); diff --git a/LEGO1/lego/legoomni/src/common/legobuildingmanager.cpp b/LEGO1/lego/legoomni/src/common/legobuildingmanager.cpp index d46b8a49..1e4a8b82 100644 --- a/LEGO1/lego/legoomni/src/common/legobuildingmanager.cpp +++ b/LEGO1/lego/legoomni/src/common/legobuildingmanager.cpp @@ -199,10 +199,10 @@ LegoBuildingInfo g_buildingInfoInit[16] = { MxU32 LegoBuildingManager::g_maxSound = 6; // GLOBAL: LEGO1 0x100f373c -MxU32 g_unk0x100f373c = 0x3c; +MxU32 g_buildingSoundIdOffset = 0x3c; // GLOBAL: LEGO1 0x100f3740 -MxU32 g_unk0x100f3740 = 0x42; +MxU32 g_buildingSoundIdMoodOffset = 0x42; // clang-format off // GLOBAL: LEGO1 0x100f3788 @@ -548,7 +548,7 @@ MxU32 LegoBuildingManager::GetAnimationId(LegoEntity* p_entity) // FUNCTION: LEGO1 0x1002ff40 // FUNCTION: BETA10 0x10064398 -MxU32 LegoBuildingManager::GetSoundId(LegoEntity* p_entity, MxBool p_state) +MxU32 LegoBuildingManager::GetSoundId(LegoEntity* p_entity, MxBool p_basedOnMood) { LegoBuildingInfo* info = GetInfo(p_entity); @@ -556,12 +556,12 @@ MxU32 LegoBuildingManager::GetSoundId(LegoEntity* p_entity, MxBool p_state) return 0; } - if (p_state) { - return info->m_mood + g_unk0x100f3740; + if (p_basedOnMood) { + return info->m_mood + g_buildingSoundIdMoodOffset; } if (info != NULL) { - return info->m_sound + g_unk0x100f373c; + return info->m_sound + g_buildingSoundIdOffset; } return 0; diff --git a/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp b/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp index 80b69efc..ff7cf23b 100644 --- a/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp +++ b/LEGO1/lego/legoomni/src/common/legocharactermanager.cpp @@ -37,10 +37,10 @@ MxU32 g_characterAnimationId = 10; char* LegoCharacterManager::g_customizeAnimFile = NULL; // GLOBAL: LEGO1 0x100fc4d8 -MxU32 g_soundIdOffset = 50; +MxU32 g_characterSoundIdOffset = 50; // GLOBAL: LEGO1 0x100fc4dc -MxU32 g_soundIdMoodOffset = 66; +MxU32 g_characterSoundIdMoodOffset = 66; // GLOBAL: LEGO1 0x100fc4e8 MxU32 g_headTextureCounter = 0; @@ -931,16 +931,16 @@ MxU32 LegoCharacterManager::GetAnimationId(LegoROI* p_roi) // FUNCTION: LEGO1 0x10085140 // FUNCTION: BETA10 0x10076855 -MxU32 LegoCharacterManager::GetSoundId(LegoROI* p_roi, MxBool p_und) +MxU32 LegoCharacterManager::GetSoundId(LegoROI* p_roi, MxBool p_basedOnMood) { LegoActorInfo* info = GetActorInfo(p_roi); - if (p_und) { - return info->m_mood + g_soundIdMoodOffset; + if (p_basedOnMood) { + return info->m_mood + g_characterSoundIdMoodOffset; } if (info != NULL) { - return info->m_sound + g_soundIdOffset; + return info->m_sound + g_characterSoundIdOffset; } else { return 0; diff --git a/LEGO1/lego/legoomni/src/common/legoplantmanager.cpp b/LEGO1/lego/legoomni/src/common/legoplantmanager.cpp index 766edf79..4e8e2626 100644 --- a/LEGO1/lego/legoomni/src/common/legoplantmanager.cpp +++ b/LEGO1/lego/legoomni/src/common/legoplantmanager.cpp @@ -40,10 +40,10 @@ MxU8 g_counters[] = {1, 2, 2, 3}; MxU32 LegoPlantManager::g_maxSound = 8; // GLOBAL: LEGO1 0x100f3160 -MxU32 g_unk0x100f3160 = 56; +MxU32 g_plantSoundIdOffset = 56; // GLOBAL: LEGO1 0x100f3164 -MxU32 g_unk0x100f3164 = 66; +MxU32 g_plantSoundIdMoodOffset = 66; // GLOBAL: LEGO1 0x100f3168 MxS32 LegoPlantManager::g_maxMove[4] = {3, 3, 3, 3}; @@ -513,16 +513,16 @@ MxU32 LegoPlantManager::GetAnimationId(LegoEntity* p_entity) // FUNCTION: LEGO1 0x10026ba0 // FUNCTION: BETA10 0x100c61ba -MxU32 LegoPlantManager::GetSoundId(LegoEntity* p_entity, MxBool p_state) +MxU32 LegoPlantManager::GetSoundId(LegoEntity* p_entity, MxBool p_basedOnMood) { LegoPlantInfo* info = GetInfo(p_entity); - if (p_state) { - return (info->m_mood & 1) + g_unk0x100f3164; + if (p_basedOnMood) { + return (info->m_mood & 1) + g_plantSoundIdMoodOffset; } if (info != NULL) { - return info->m_sound + g_unk0x100f3160; + return info->m_sound + g_plantSoundIdOffset; } return 0; diff --git a/LEGO1/lego/legoomni/src/entity/legoentity.cpp b/LEGO1/lego/legoomni/src/entity/legoentity.cpp index b76da503..9ac9aad6 100644 --- a/LEGO1/lego/legoomni/src/entity/legoentity.cpp +++ b/LEGO1/lego/legoomni/src/entity/legoentity.cpp @@ -263,7 +263,7 @@ void LegoEntity::ParseAction(char* p_extra) // FUNCTION: LEGO1 0x10010f10 // FUNCTION: BETA10 0x1007ee87 -void LegoEntity::ClickSound(MxBool p_und) +void LegoEntity::ClickSound(MxBool p_basedOnMood) { if (!IsInteraction(c_disabled)) { MxU32 objectId = 0; @@ -271,15 +271,15 @@ void LegoEntity::ClickSound(MxBool p_und) switch (m_type) { case e_actor: - objectId = CharacterManager()->GetSoundId(m_roi, p_und); + objectId = CharacterManager()->GetSoundId(m_roi, p_basedOnMood); break; case e_unk1: break; case e_plant: - objectId = PlantManager()->GetSoundId(this, p_und); + objectId = PlantManager()->GetSoundId(this, p_basedOnMood); break; case e_building: - objectId = BuildingManager()->GetSoundId(this, p_und); + objectId = BuildingManager()->GetSoundId(this, p_basedOnMood); break; } From 0982038453babc6233710fea5318b1437516a188 Mon Sep 17 00:00:00 2001 From: Fabian Neundorf Date: Sun, 29 Jun 2025 00:38:48 +0200 Subject: [PATCH 25/42] Clear unknown in `Hospital` (#1595) --- LEGO1/lego/legoomni/include/hospital.h | 2 +- LEGO1/lego/legoomni/src/worlds/hospital.cpp | 22 ++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/LEGO1/lego/legoomni/include/hospital.h b/LEGO1/lego/legoomni/include/hospital.h index 4a136568..2a90764b 100644 --- a/LEGO1/lego/legoomni/include/hospital.h +++ b/LEGO1/lego/legoomni/include/hospital.h @@ -123,7 +123,7 @@ class Hospital : public LegoWorld { MxLong m_copLedAnimTimer; // 0x11c MxLong m_pizzaLedAnimTimer; // 0x120 MxLong m_time; // 0x124 - undefined m_unk0x128; // 0x128 + MxBool m_exited; // 0x128 }; #endif // HOSPITAL_H diff --git a/LEGO1/lego/legoomni/src/worlds/hospital.cpp b/LEGO1/lego/legoomni/src/worlds/hospital.cpp index 4aa4b5a8..dbb1c00c 100644 --- a/LEGO1/lego/legoomni/src/worlds/hospital.cpp +++ b/LEGO1/lego/legoomni/src/worlds/hospital.cpp @@ -46,7 +46,7 @@ Hospital::Hospital() m_flashingLeds = 0; m_copLedAnimTimer = 0; m_pizzaLedAnimTimer = 0; - m_unk0x128 = 0; + m_exited = FALSE; NotificationManager()->Register(this); } @@ -367,8 +367,8 @@ MxLong Hospital::HandleEndAction(MxEndActionNotificationParam& p_param) act1State = (Act1State*) GameState()->GetState("Act1State"); act1State->SetUnknown18(9); case HospitalState::e_exitToFront: - if (m_unk0x128 == 0) { - m_unk0x128 = 1; + if (m_exited == FALSE) { + m_exited = TRUE; m_destLocation = LegoGameState::e_hospitalExited; DeleteObjects(&m_atomId, HospitalScript::c_hho002cl_RunAnim, HospitalScript::c_hho006cl_RunAnim); @@ -376,8 +376,8 @@ MxLong Hospital::HandleEndAction(MxEndActionNotificationParam& p_param) } break; case HospitalState::e_exitToInfocenter: - if (m_unk0x128 == 0) { - m_unk0x128 = 1; + if (m_exited == FALSE) { + m_exited = TRUE; m_destLocation = LegoGameState::e_infomain; DeleteObjects(&m_atomId, HospitalScript::c_hho002cl_RunAnim, HospitalScript::c_hho006cl_RunAnim); @@ -410,8 +410,8 @@ MxLong Hospital::HandleButtonDown(LegoControlManagerNotificationParam& p_param) m_interactionMode = 3; if (m_hospitalState->m_state == HospitalState::e_explainQuestShort) { - if (m_unk0x128 == 0) { - m_unk0x128 = 1; + if (m_exited == FALSE) { + m_exited = TRUE; TickleManager()->UnregisterClient(this); @@ -566,8 +566,8 @@ MxBool Hospital::HandleControl(LegoControlManagerNotificationParam& p_param) m_currentAction = HospitalScript::c_hho016cl_RunAnim; m_setWithCurrentAction = 1; } - else if (m_unk0x128 == 0) { - m_unk0x128 = 1; + else if (m_exited == FALSE) { + m_exited = TRUE; m_hospitalState->m_state = HospitalState::e_exitImmediately; m_destLocation = LegoGameState::e_infomain; @@ -587,8 +587,8 @@ MxBool Hospital::HandleControl(LegoControlManagerNotificationParam& p_param) m_currentAction = HospitalScript::c_hho016cl_RunAnim; m_setWithCurrentAction = 1; } - else if (m_unk0x128 == 0) { - m_unk0x128 = 1; + else if (m_exited == FALSE) { + m_exited = TRUE; m_hospitalState->m_state = HospitalState::e_exitImmediately; m_destLocation = LegoGameState::e_hospitalExited; From 020969c4831819dc766398140cbd9867e8b90a7b Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Sat, 28 Jun 2025 17:49:46 -0700 Subject: [PATCH 26/42] Add transition type to ini (#441) --- ISLE/isleapp.cpp | 15 +++++++++++---- ISLE/isleapp.h | 2 ++ LEGO1/lego/legoomni/include/mxtransitionmanager.h | 2 ++ .../legoomni/src/common/mxtransitionmanager.cpp | 9 ++++++++- tools/ncc/skip.yml | 1 + 5 files changed, 24 insertions(+), 5 deletions(-) diff --git a/ISLE/isleapp.cpp b/ISLE/isleapp.cpp index a5091ece..4ee1980f 100644 --- a/ISLE/isleapp.cpp +++ b/ISLE/isleapp.cpp @@ -96,11 +96,7 @@ IsleApp::IsleApp() m_cdPath = NULL; m_deviceId = NULL; m_savePath = NULL; -#ifdef __EMSCRIPTEN__ - m_fullScreen = FALSE; -#else m_fullScreen = TRUE; -#endif m_flipSurfaces = FALSE; m_backBuffersInVram = TRUE; m_using8bit = FALSE; @@ -140,6 +136,7 @@ IsleApp::IsleApp() m_iniPath = NULL; m_maxLod = RealtimeView::GetUserMaxLOD(); m_maxAllowedExtras = m_islandQuality <= 1 ? 10 : 20; + m_transitionType = MxTransitionManager::e_mosaic; } // FUNCTION: ISLE 0x4011a0 @@ -726,6 +723,7 @@ MxResult IsleApp::SetupWindow() LegoBuildingManager::configureLegoBuildingManager(m_islandQuality); LegoROI::configureLegoROI(iVar10); LegoAnimationManager::configureLegoAnimationManager(m_maxAllowedExtras); + MxTransitionManager::configureMxTransitionManager(m_transitionType); RealtimeView::SetUserMaxLOD(m_maxLod); if (LegoOmni::GetInstance()) { if (LegoOmni::GetInstance()->GetInputManager()) { @@ -824,6 +822,7 @@ bool IsleApp::LoadConfig() SDL_snprintf(buf, sizeof(buf), "%f", m_maxLod); iniparser_set(dict, "isle:Max LOD", buf); iniparser_set(dict, "isle:Max Allowed Extras", SDL_itoa(m_maxAllowedExtras, buf, 10)); + iniparser_set(dict, "isle:Transition Type", SDL_itoa(m_transitionType, buf, 10)); iniparser_dump_ini(dict, iniFP); SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, "New config written at '%s'", iniConfig); @@ -853,7 +852,13 @@ bool IsleApp::LoadConfig() strcpy(m_mediaPath, mediaPath); m_flipSurfaces = iniparser_getboolean(dict, "isle:Flip Surfaces", m_flipSurfaces); + +#ifdef __EMSCRIPTEN__ + m_fullScreen = FALSE; +#else m_fullScreen = iniparser_getboolean(dict, "isle:Full Screen", m_fullScreen); +#endif + m_wideViewAngle = iniparser_getboolean(dict, "isle:Wide View Angle", m_wideViewAngle); m_use3dSound = iniparser_getboolean(dict, "isle:3DSound", m_use3dSound); m_useMusic = iniparser_getboolean(dict, "isle:Music", m_useMusic); @@ -880,6 +885,8 @@ bool IsleApp::LoadConfig() m_islandTexture = iniparser_getint(dict, "isle:Island Texture", m_islandTexture); m_maxLod = iniparser_getdouble(dict, "isle:Max LOD", m_maxLod); m_maxAllowedExtras = iniparser_getint(dict, "isle:Max Allowed Extras", m_maxAllowedExtras); + m_transitionType = + (MxTransitionManager::TransitionType) iniparser_getint(dict, "isle:Transition Type", m_transitionType); const char* deviceId = iniparser_getstring(dict, "isle:3D Device ID", NULL); if (deviceId != NULL) { diff --git a/ISLE/isleapp.h b/ISLE/isleapp.h index 2766607f..dd7bfdb1 100644 --- a/ISLE/isleapp.h +++ b/ISLE/isleapp.h @@ -3,6 +3,7 @@ #include "lego1_export.h" #include "legoutils.h" +#include "mxtransitionmanager.h" #include "mxtypes.h" #include "mxvideoparam.h" @@ -91,6 +92,7 @@ class IsleApp { char* m_iniPath; MxFloat m_maxLod; MxU32 m_maxAllowedExtras; + MxTransitionManager::TransitionType m_transitionType; }; extern IsleApp* g_isle; diff --git a/LEGO1/lego/legoomni/include/mxtransitionmanager.h b/LEGO1/lego/legoomni/include/mxtransitionmanager.h index 50b80055..dd9dc9ed 100644 --- a/LEGO1/lego/legoomni/include/mxtransitionmanager.h +++ b/LEGO1/lego/legoomni/include/mxtransitionmanager.h @@ -55,6 +55,8 @@ class MxTransitionManager : public MxCore { TransitionType GetTransitionType() { return m_mode; } + LEGO1_EXPORT static void configureMxTransitionManager(TransitionType p_transitionManagerConfig); + // SYNTHETIC: LEGO1 0x1004b9e0 // MxTransitionManager::`scalar deleting destructor' diff --git a/LEGO1/lego/legoomni/src/common/mxtransitionmanager.cpp b/LEGO1/lego/legoomni/src/common/mxtransitionmanager.cpp index b251c1c0..d54563ab 100644 --- a/LEGO1/lego/legoomni/src/common/mxtransitionmanager.cpp +++ b/LEGO1/lego/legoomni/src/common/mxtransitionmanager.cpp @@ -16,6 +16,8 @@ DECOMP_SIZE_ASSERT(MxTransitionManager, 0x900) +MxTransitionManager::TransitionType g_transitionManagerConfig = MxTransitionManager::e_mosaic; + // GLOBAL: LEGO1 0x100f4378 RECT g_fullScreenRect = {0, 0, 640, 480}; @@ -105,7 +107,7 @@ MxResult MxTransitionManager::StartTransition( backgroundAudioManager->Stop(); } - m_mode = p_animationType; + m_mode = g_transitionManagerConfig; m_copyFlags.m_bit0 = p_doCopy; @@ -632,3 +634,8 @@ void MxTransitionManager::SetupCopyRect(LPDDSURFACEDESC p_ddsc) ); } } + +void MxTransitionManager::configureMxTransitionManager(TransitionType p_transitionManagerConfig) +{ + g_transitionManagerConfig = p_transitionManagerConfig; +} diff --git a/tools/ncc/skip.yml b/tools/ncc/skip.yml index 65de1ce7..c5ceef72 100644 --- a/tools/ncc/skip.yml +++ b/tools/ncc/skip.yml @@ -4,6 +4,7 @@ configureLegoModelPresenter(MxS32): 'DLL exported function' configureLegoPartPresenter(MxS32, MxS32): 'DLL exported function' configureLegoROI(int): 'DLL exported function' configureLegoWorldPresenter(MxS32): 'DLL exported function' +configureMxTransitionManager(TransitionType): 'DLL exported function' GetNoCD_SourceName(): 'DLL exported function' m_3dView: 'Allow this variable name' m_3dManager: 'Allow this variable name' From e87184b50227f8fb15957a573da7ca9a2b840fd6 Mon Sep 17 00:00:00 2001 From: David Gow Date: Sun, 29 Jun 2025 23:47:09 +0800 Subject: [PATCH 27/42] Fix the OpenGL backends on non-glx Linux platforms (and remove GLEW dependency) (#446) * Work around issues with depth-buffer size on EGL-based platforms The OpenGL 1.1 and OpenGL ES 2.0 backends can break on EGL-based platforms, such as Wayland, or X11 with SDL_VIDEO_FORCE_EGL=1. One of the reasons for this (the other being glew on the GL1.1 backend) is that SDL/egl get very confused by the way we set OpenGL attributes, particularly SDL_GL_DEPTH_SIZE, resulting in SDL_GL_CreateContext() failing with EGL_BAD_MATCH. The exact cause of this is unknown, but it seems to be a combination of: - SDL_GL_SetAttribute() is supposed to be called _before_ the window is created, and we're calling it afterward. - Creating several test windows during the enumeration process, mixing and matching between OpenGL and OpenGL ES profiles. The "most correct" solution is probably to delay creating the game window until the backend creation process, rather than before the enumeration occurs. But that's a real refactor, which could cause other issues. Instead, set the 24-bit bit depth (which we've hardcoded anyway) before creating the window, and use SDL_GL_ResetAttributes() when creating backends. This seems to work here in all of the cases I was able to try (modulo the GLEW dependency, which is removed in the next patch). * miniwin: Remove GLEW dependency for OpenGL 1.1 GLEW normally backs directly onto glXGetProcAddress on Linux, which is broken on non-GLX setups, such as Wayland (but also X11 with EGL, and presumably KMSDRM). Replace it with manual calls to SDL_GL_GetProcAddress() for the VBO path. Note, however, that SDL_opengl.h includes "windows.h", so conflicts with the miniwin implementation, which breaks builds on windows. In order to work around this, we do what the Direct3D9 implementation does and push all of the OpenGL calls to a separate file, actual.cpp. Going forward, it may make sense to load _all_ OpenGL entry points via SDL, which would allow us to avoid linking directly with libGL/libOpenGL, and therefore eliminate the separate build dependency altogether, as well as allowing more runtime configurability as to the OpenGL library to load. (But that's definitely a bit uglier, and also useful very rarely.) --- .github/workflows/ci.yml | 2 +- .github/workflows/release.yml | 2 +- ISLE/isleapp.cpp | 1 + miniwin/CMakeLists.txt | 14 +- miniwin/src/d3drm/backends/opengl1/actual.cpp | 354 ++++++++++++++++++ miniwin/src/d3drm/backends/opengl1/actual.h | 88 +++++ .../src/d3drm/backends/opengl1/renderer.cpp | 298 ++------------- .../src/d3drm/backends/opengles2/renderer.cpp | 8 +- miniwin/src/internal/d3drmrenderer_opengl1.h | 32 +- 9 files changed, 494 insertions(+), 305 deletions(-) create mode 100644 miniwin/src/d3drm/backends/opengl1/actual.cpp create mode 100644 miniwin/src/d3drm/backends/opengl1/actual.h diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7d688877..64c447e5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -66,7 +66,7 @@ jobs: sudo apt-get update sudo apt-get install -y \ libx11-dev libxext-dev libxrandr-dev libxrender-dev libxfixes-dev libxi-dev libxinerama-dev \ - libxcursor-dev libwayland-dev libxkbcommon-dev wayland-protocols libgl1-mesa-dev libglew-dev qt6-base-dev \ + libxcursor-dev libwayland-dev libxkbcommon-dev wayland-protocols libgl1-mesa-dev qt6-base-dev \ libasound2-dev - name: Install macOS dependencies (brew) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0e4c6cc9..ef8fdae2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -45,7 +45,7 @@ jobs: sudo apt-get update sudo apt-get install -y \ libx11-dev libxext-dev libxrandr-dev libxrender-dev libxfixes-dev libxi-dev libxinerama-dev \ - libxcursor-dev libwayland-dev libxkbcommon-dev wayland-protocols libgl1-mesa-dev libglew-dev qt6-base-dev \ + libxcursor-dev libwayland-dev libxkbcommon-dev wayland-protocols libgl1-mesa-dev qt6-base-dev \ libasound2-dev - name: Install macOS dependencies (brew) diff --git a/ISLE/isleapp.cpp b/ISLE/isleapp.cpp index 4ee1980f..e700d5b2 100644 --- a/ISLE/isleapp.cpp +++ b/ISLE/isleapp.cpp @@ -657,6 +657,7 @@ MxResult IsleApp::SetupWindow() #ifdef MINIWIN SDL_SetBooleanProperty(props, SDL_PROP_WINDOW_CREATE_OPENGL_BOOLEAN, true); SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); + SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24); #endif window = SDL_CreateWindowWithProperties(props); diff --git a/miniwin/CMakeLists.txt b/miniwin/CMakeLists.txt index a1939441..508e685d 100644 --- a/miniwin/CMakeLists.txt +++ b/miniwin/CMakeLists.txt @@ -32,14 +32,16 @@ target_compile_definitions(miniwin PRIVATE ) find_package(OpenGL) -find_package(GLEW) -if(OpenGL_FOUND AND GLEW_FOUND) - message(STATUS "Found OpenGL and GLEW: enabling OpenGL 1.x renderer") - target_sources(miniwin PRIVATE src/d3drm/backends/opengl1/renderer.cpp) +if(OpenGL_FOUND) + message(STATUS "Found OpenGL: enabling OpenGL 1.x renderer") + target_sources(miniwin PRIVATE + src/d3drm/backends/opengl1/actual.cpp + src/d3drm/backends/opengl1/renderer.cpp + ) target_compile_definitions(miniwin PRIVATE USE_OPENGL1) - target_link_libraries(miniwin PRIVATE OpenGL::GL GLEW::GLEW) + target_link_libraries(miniwin PRIVATE OpenGL::GL) else() - message(STATUS "🧩 OpenGL 1.x support not enabled — needs OpenGL and GLEW") + message(STATUS "🧩 OpenGL 1.x support not enabled — needs OpenGL") endif() find_library(OPENGL_ES2_LIBRARY NAMES GLESv2) diff --git a/miniwin/src/d3drm/backends/opengl1/actual.cpp b/miniwin/src/d3drm/backends/opengl1/actual.cpp new file mode 100644 index 00000000..e1c56636 --- /dev/null +++ b/miniwin/src/d3drm/backends/opengl1/actual.cpp @@ -0,0 +1,354 @@ +// This file cannot include any minwin headers. + +#include "actual.h" + +#include "structs.h" + +#include +#include +#include +#include +#include + +// GL extension API functions. +bool g_useVBOs; +PFNGLGENBUFFERSPROC mwglGenBuffers; +PFNGLBINDBUFFERPROC mwglBindBuffer; +PFNGLBUFFERDATAPROC mwglBufferData; +PFNGLDELETEBUFFERSPROC mwglDeleteBuffers; + +void GL11_InitState() +{ + glEnable(GL_CULL_FACE); + glCullFace(GL_BACK); + glFrontFace(GL_CW); +} + +void GL11_LoadExtensions() +{ + g_useVBOs = SDL_GL_ExtensionSupported("GL_ARB_vertex_buffer_object"); + + if (g_useVBOs) { + // Load the required GL function pointers. + mwglGenBuffers = (PFNGLGENBUFFERSPROC) SDL_GL_GetProcAddress("glGenBuffersARB"); + mwglBindBuffer = (PFNGLBINDBUFFERPROC) SDL_GL_GetProcAddress("glBindBufferARB"); + mwglBufferData = (PFNGLBUFFERDATAPROC) SDL_GL_GetProcAddress("glBufferDataARB"); + mwglDeleteBuffers = (PFNGLDELETEBUFFERSPROC) SDL_GL_GetProcAddress("glDeleteBuffersARB"); + } +} + +void GL11_DestroyTexture(GLuint texId) +{ + glDeleteTextures(1, &texId); +} + +GLuint GL11_UploadTextureData(void* pixels, int width, int height) +{ + GLuint texId; + glGenTextures(1, &texId); + glBindTexture(GL_TEXTURE_2D, texId); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, pixels); + return texId; +} + +void GL11_UploadMesh(GLMeshCacheEntry& cache, bool hasTexture) +{ + if (g_useVBOs) { + mwglGenBuffers(1, &cache.vboPositions); + mwglBindBuffer(GL_ARRAY_BUFFER_ARB, cache.vboPositions); + mwglBufferData( + GL_ARRAY_BUFFER_ARB, + cache.positions.size() * sizeof(GL11_BridgeVector), + cache.positions.data(), + GL_STATIC_DRAW_ARB + ); + + mwglGenBuffers(1, &cache.vboNormals); + mwglBindBuffer(GL_ARRAY_BUFFER_ARB, cache.vboNormals); + mwglBufferData( + GL_ARRAY_BUFFER_ARB, + cache.normals.size() * sizeof(GL11_BridgeVector), + cache.normals.data(), + GL_STATIC_DRAW_ARB + ); + + if (hasTexture) { + mwglGenBuffers(1, &cache.vboTexcoords); + mwglBindBuffer(GL_ARRAY_BUFFER_ARB, cache.vboTexcoords); + mwglBufferData( + GL_ARRAY_BUFFER_ARB, + cache.texcoords.size() * sizeof(GL11_BridgeTexCoord), + cache.texcoords.data(), + GL_STATIC_DRAW_ARB + ); + } + + mwglGenBuffers(1, &cache.ibo); + mwglBindBuffer(GL_ELEMENT_ARRAY_BUFFER_ARB, cache.ibo); + mwglBufferData( + GL_ELEMENT_ARRAY_BUFFER_ARB, + cache.indices.size() * sizeof(cache.indices[0]), + cache.indices.data(), + GL_STATIC_DRAW_ARB + ); + } +} + +void GL11_DestroyMesh(GLMeshCacheEntry& cache) +{ + if (g_useVBOs) { + mwglDeleteBuffers(1, &cache.vboPositions); + mwglDeleteBuffers(1, &cache.vboNormals); + mwglDeleteBuffers(1, &cache.vboTexcoords); + mwglDeleteBuffers(1, &cache.ibo); + } +} + +void GL11_BeginFrame(const Matrix4x4* projection) +{ + glDisable(GL_BLEND); + glEnable(GL_DEPTH_TEST); + glDepthMask(GL_TRUE); + glEnable(GL_LIGHTING); + glEnable(GL_COLOR_MATERIAL); + glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE); + + // Disable all lights and reset global ambient + for (int i = 0; i < 8; ++i) { + glDisable(GL_LIGHT0 + i); + } + const GLfloat zeroAmbient[4] = {0.f, 0.f, 0.f, 1.f}; + glLightModelfv(GL_LIGHT_MODEL_AMBIENT, zeroAmbient); + glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, GL_TRUE); + + // Projection and view + glMatrixMode(GL_PROJECTION); + glLoadMatrixf((const GLfloat*) projection); + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); +} + +void GL11_UploadLight(int lightIdx, GL11_BridgeSceneLight* l) +{ + // Setup light + glMatrixMode(GL_MODELVIEW); + glPushMatrix(); + glLoadIdentity(); + GLenum lightId = GL_LIGHT0 + lightIdx++; + const FColor& c = l->color; + GLfloat col[4] = {c.r, c.g, c.b, c.a}; + const GLfloat zeroAmbient[4] = {0.f, 0.f, 0.f, 1.f}; + + if (l->positional == 0.f && l->directional == 0.f) { + // Ambient light only + glLightfv(lightId, GL_AMBIENT, col); + const GLfloat black[4] = {0.f, 0.f, 0.f, 1.f}; + glLightfv(lightId, GL_DIFFUSE, black); + glLightfv(lightId, GL_SPECULAR, black); + const GLfloat dummyPos[4] = {0.f, 0.f, 1.f, 0.f}; + glLightfv(lightId, GL_POSITION, dummyPos); + } + else { + glLightfv(lightId, GL_AMBIENT, zeroAmbient); + glLightfv(lightId, GL_DIFFUSE, col); + if (l->directional == 1.0f) { + glLightfv(lightId, GL_SPECULAR, col); + } + else { + const GLfloat black[4] = {0.f, 0.f, 0.f, 1.f}; + glLightfv(lightId, GL_SPECULAR, black); + } + + GLfloat pos[4]; + if (l->directional == 1.f) { + pos[0] = -l->direction.x; + pos[1] = -l->direction.y; + pos[2] = -l->direction.z; + pos[3] = 0.f; + } + else { + pos[0] = l->position.x; + pos[1] = l->position.y; + pos[2] = l->position.z; + pos[3] = 1.f; + } + glLightfv(lightId, GL_POSITION, pos); + } + glEnable(lightId); + + glPopMatrix(); +} + +void GL11_EnableTransparency() +{ + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glDepthMask(GL_FALSE); +} + +#define NO_TEXTURE_ID 0xffffffff + +void GL11_SubmitDraw( + GLMeshCacheEntry& mesh, + const Matrix4x4& modelViewMatrix, + const Appearance& appearance, + GLuint texId +) +{ + glLoadMatrixf(&modelViewMatrix[0][0]); + glEnable(GL_NORMALIZE); + + glColor4ub(appearance.color.r, appearance.color.g, appearance.color.b, appearance.color.a); + + if (appearance.shininess != 0.0f) { + GLfloat whiteSpec[] = {1.f, 1.f, 1.f, 1.f}; + glMaterialfv(GL_FRONT, GL_SPECULAR, whiteSpec); + glMaterialf(GL_FRONT, GL_SHININESS, appearance.shininess); + } + else { + GLfloat noSpec[] = {0.0f, 0.0f, 0.0f, 0.0f}; + glMaterialfv(GL_FRONT, GL_SPECULAR, noSpec); + glMaterialf(GL_FRONT, GL_SHININESS, 0.0f); + } + + if (mesh.flat) { + glShadeModel(GL_FLAT); + } + else { + glShadeModel(GL_SMOOTH); + } + + // Bind texture if present + if (appearance.textureId != NO_TEXTURE_ID) { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glEnable(GL_TEXTURE_2D); + glBindTexture(GL_TEXTURE_2D, texId); + glEnableClientState(GL_TEXTURE_COORD_ARRAY); + } + else { + glDisable(GL_TEXTURE_2D); + glDisableClientState(GL_TEXTURE_COORD_ARRAY); + } + + glEnableClientState(GL_VERTEX_ARRAY); + glEnableClientState(GL_NORMAL_ARRAY); + + if (g_useVBOs) { + mwglBindBuffer(GL_ARRAY_BUFFER_ARB, mesh.vboPositions); + glVertexPointer(3, GL_FLOAT, 0, nullptr); + + mwglBindBuffer(GL_ARRAY_BUFFER_ARB, mesh.vboNormals); + glNormalPointer(GL_FLOAT, 0, nullptr); + + if (appearance.textureId != NO_TEXTURE_ID) { + mwglBindBuffer(GL_ARRAY_BUFFER_ARB, mesh.vboTexcoords); + glTexCoordPointer(2, GL_FLOAT, 0, nullptr); + } + + mwglBindBuffer(GL_ELEMENT_ARRAY_BUFFER_ARB, mesh.ibo); + glDrawElements(GL_TRIANGLES, static_cast(mesh.indices.size()), GL_UNSIGNED_SHORT, nullptr); + + mwglBindBuffer(GL_ARRAY_BUFFER_ARB, 0); + mwglBindBuffer(GL_ELEMENT_ARRAY_BUFFER_ARB, 0); + } + else { + glVertexPointer(3, GL_FLOAT, 0, mesh.positions.data()); + glNormalPointer(GL_FLOAT, 0, mesh.normals.data()); + if (appearance.textureId != NO_TEXTURE_ID) { + glTexCoordPointer(2, GL_FLOAT, 0, mesh.texcoords.data()); + } + + glDrawElements(GL_TRIANGLES, static_cast(mesh.indices.size()), GL_UNSIGNED_SHORT, mesh.indices.data()); + } + + glPopMatrix(); +} + +void GL11_Resize(int width, int height) +{ + glViewport(0, 0, width, height); +} + +void GL11_Clear(float r, float g, float b) +{ + glEnable(GL_DEPTH_TEST); + glDepthMask(GL_TRUE); + glClearColor(r, g, b, 1.0f); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); +} + +void GL11_Draw2DImage( + GLuint texId, + const SDL_Rect& srcRect, + const SDL_Rect& dstRect, + float left, + float right, + float bottom, + float top +) +{ + glDisable(GL_DEPTH_TEST); + glDepthMask(GL_FALSE); + + glMatrixMode(GL_PROJECTION); + glPushMatrix(); + glLoadIdentity(); + + glOrtho(left, right, bottom, top, -1, 1); + + glMatrixMode(GL_MODELVIEW); + glPushMatrix(); + glLoadIdentity(); + + glDisable(GL_LIGHTING); + glColor4f(1.0f, 1.0f, 1.0f, 1.0f); + + glEnable(GL_TEXTURE_2D); + glBindTexture(GL_TEXTURE_2D, texId); + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + + GLint boundTexture = 0; + glGetIntegerv(GL_TEXTURE_BINDING_2D, &boundTexture); + + GLfloat texW, texH; + glGetTexLevelParameterfv(GL_TEXTURE_2D, 0, GL_TEXTURE_WIDTH, &texW); + glGetTexLevelParameterfv(GL_TEXTURE_2D, 0, GL_TEXTURE_HEIGHT, &texH); + + float u1 = srcRect.x / texW; + float v1 = srcRect.y / texH; + float u2 = (srcRect.x + srcRect.w) / texW; + float v2 = (srcRect.y + srcRect.h) / texH; + + float x1 = (float) dstRect.x; + float y1 = (float) dstRect.y; + float x2 = x1 + dstRect.w; + float y2 = y1 + dstRect.h; + + glBegin(GL_QUADS); + glTexCoord2f(u1, v1); + glVertex2f(x1, y1); + glTexCoord2f(u2, v1); + glVertex2f(x2, y1); + glTexCoord2f(u2, v2); + glVertex2f(x2, y2); + glTexCoord2f(u1, v2); + glVertex2f(x1, y2); + glEnd(); + + // Restore state + glMatrixMode(GL_MODELVIEW); + glPopMatrix(); + glMatrixMode(GL_PROJECTION); + glPopMatrix(); +} + +void GL11_Download(SDL_Surface* target) +{ + glFinish(); + glReadPixels(0, 0, target->w, target->h, GL_RGBA, GL_UNSIGNED_BYTE, target->pixels); +} diff --git a/miniwin/src/d3drm/backends/opengl1/actual.h b/miniwin/src/d3drm/backends/opengl1/actual.h new file mode 100644 index 00000000..8a4fb8e8 --- /dev/null +++ b/miniwin/src/d3drm/backends/opengl1/actual.h @@ -0,0 +1,88 @@ +#pragma once + +#include "structs.h" + +#include +#include +#include + +// We don't want to transitively include windows.h, but we need GLuint +typedef unsigned int GLuint; +struct IDirect3DRMTexture; +struct MeshGroup; + +typedef float Matrix4x4[4][4]; + +struct GL11_BridgeVector { + float x, y, z; +}; + +struct GL11_BridgeTexCoord { + float u, v; +}; + +struct GL11_BridgeSceneLight { + FColor color; + GL11_BridgeVector position; + float positional; + GL11_BridgeVector direction; + float directional; +}; + +struct GL11_BridgeSceneVertex { + GL11_BridgeVector position; + GL11_BridgeVector normal; + float tu, tv; +}; + +struct GLTextureCacheEntry { + IDirect3DRMTexture* texture; + Uint32 version; + GLuint glTextureId; +}; + +struct GLMeshCacheEntry { + const MeshGroup* meshGroup; + int version; + bool flat; + + // non-VBO cache + std::vector positions; + std::vector normals; + std::vector texcoords; + std::vector indices; + + // VBO cache + GLuint vboPositions; + GLuint vboNormals; + GLuint vboTexcoords; + GLuint ibo; +}; + +void GL11_InitState(); +void GL11_LoadExtensions(); +void GL11_DestroyTexture(GLuint texId); +GLuint GL11_UploadTextureData(void* pixels, int width, int height); +void GL11_UploadMesh(GLMeshCacheEntry& cache, bool hasTexture); +void GL11_DestroyMesh(GLMeshCacheEntry& cache); +void GL11_BeginFrame(const Matrix4x4* projection); +void GL11_UploadLight(int lightIdx, GL11_BridgeSceneLight* l); +void GL11_EnableTransparency(); +void GL11_SubmitDraw( + GLMeshCacheEntry& mesh, + const Matrix4x4& modelViewMatrix, + const Appearance& appearance, + GLuint texId +); +void GL11_Resize(int width, int height); +void GL11_Clear(float r, float g, float b); +void GL11_Draw2DImage( + GLuint texId, + const SDL_Rect& srcRect, + const SDL_Rect& dstRect, + float left, + float right, + float bottom, + float top +); +void GL11_Download(SDL_Surface* target); diff --git a/miniwin/src/d3drm/backends/opengl1/renderer.cpp b/miniwin/src/d3drm/backends/opengl1/renderer.cpp index cc415de8..a0b84a80 100644 --- a/miniwin/src/d3drm/backends/opengl1/renderer.cpp +++ b/miniwin/src/d3drm/backends/opengl1/renderer.cpp @@ -1,5 +1,4 @@ -#include -// must come after GLEW +#include "actual.h" #include "d3drmrenderer_opengl1.h" #include "ddraw_impl.h" #include "ddsurface_impl.h" @@ -11,8 +10,20 @@ #include #include +static_assert(sizeof(Matrix4x4) == sizeof(D3DRMMATRIX4D), "Matrix4x4 is wrong size"); +static_assert(sizeof(GL11_BridgeVector) == sizeof(D3DVECTOR), "GL11_BridgeVector is wrong size"); +static_assert(sizeof(GL11_BridgeTexCoord) == sizeof(TexCoord), "GL11_BridgeTexCoord is wrong size"); +static_assert(sizeof(GL11_BridgeSceneLight) == sizeof(SceneLight), "GL11_BridgeSceneLight is wrong size"); +static_assert(sizeof(GL11_BridgeSceneVertex) == sizeof(D3DRMVERTEX), "GL11_BridgeSceneVertex is wrong size"); + Direct3DRMRenderer* OpenGL1Renderer::Create(DWORD width, DWORD height) { + // We have to reset the attributes here after having enumerated the + // OpenGL ES 2.0 renderer, or else SDL gets very confused by SDL_GL_DEPTH_SIZE + // call below when on an EGL-based backend, and crashes with EGL_BAD_MATCH. + SDL_GL_ResetAttributes(); + // But ResetAttributes resets it to 16. + SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24); SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_COMPATIBILITY); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 1); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1); @@ -28,8 +39,6 @@ Direct3DRMRenderer* OpenGL1Renderer::Create(DWORD width, DWORD height) testWindow = true; } - SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24); - SDL_GLContext context = SDL_GL_CreateContext(window); if (!context) { SDL_Log("SDL_GL_CreateContext: %s", SDL_GetError()); @@ -47,18 +56,7 @@ Direct3DRMRenderer* OpenGL1Renderer::Create(DWORD width, DWORD height) return nullptr; } - GLenum err = glewInit(); - if (err != GLEW_OK) { - SDL_Log("glewInit: %s", glewGetErrorString(err)); - if (testWindow) { - SDL_DestroyWindow(window); - } - return nullptr; - } - - glEnable(GL_CULL_FACE); - glCullFace(GL_BACK); - glFrontFace(GL_CW); + GL11_InitState(); if (testWindow) { SDL_DestroyWindow(window); @@ -74,7 +72,7 @@ OpenGL1Renderer::OpenGL1Renderer(DWORD width, DWORD height, SDL_GLContext contex m_virtualWidth = width; m_virtualHeight = height; m_renderedImage = SDL_CreateSurface(m_width, m_height, SDL_PIXELFORMAT_RGBA32); - m_useVBOs = GLEW_ARB_vertex_buffer_object; + GL11_LoadExtensions(); } OpenGL1Renderer::~OpenGL1Renderer() @@ -114,7 +112,7 @@ void OpenGL1Renderer::AddTextureDestroyCallback(Uint32 id, IDirect3DRMTexture* t auto* ctx = static_cast(arg); auto& cache = ctx->renderer->m_textures[ctx->textureId]; if (cache.glTextureId != 0) { - glDeleteTextures(1, &cache.glTextureId); + GL11_DestroyTexture(cache.glTextureId); cache.glTextureId = 0; cache.texture = nullptr; } @@ -133,15 +131,13 @@ Uint32 OpenGL1Renderer::GetTextureId(IDirect3DRMTexture* iTexture) auto& tex = m_textures[i]; if (tex.texture == texture) { if (tex.version != texture->m_version) { - glDeleteTextures(1, &tex.glTextureId); - glGenTextures(1, &tex.glTextureId); - glBindTexture(GL_TEXTURE_2D, tex.glTextureId); + GL11_DestroyTexture(tex.glTextureId); SDL_Surface* surf = SDL_ConvertSurface(surface->m_surface, SDL_PIXELFORMAT_RGBA32); if (!surf) { return NO_TEXTURE_ID; } - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, surf->w, surf->h, 0, GL_RGBA, GL_UNSIGNED_BYTE, surf->pixels); + tex.glTextureId = GL11_UploadTextureData(surf->pixels, surf->w, surf->h); SDL_DestroySurface(surf); tex.version = texture->m_version; @@ -151,14 +147,12 @@ Uint32 OpenGL1Renderer::GetTextureId(IDirect3DRMTexture* iTexture) } GLuint texId; - glGenTextures(1, &texId); - glBindTexture(GL_TEXTURE_2D, texId); SDL_Surface* surf = SDL_ConvertSurface(surface->m_surface, SDL_PIXELFORMAT_RGBA32); if (!surf) { return NO_TEXTURE_ID; } - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, surf->w, surf->h, 0, GL_RGBA, GL_UNSIGNED_BYTE, surf->pixels); + texId = GL11_UploadTextureData(surf->pixels, surf->w, surf->h); SDL_DestroySurface(surf); for (Uint32 i = 0; i < m_textures.size(); ++i) { @@ -206,52 +200,19 @@ GLMeshCacheEntry GLUploadMesh(const MeshGroup& meshGroup, bool useVBOs) if (meshGroup.texture) { cache.texcoords.resize(vertices.size()); std::transform(vertices.begin(), vertices.end(), cache.texcoords.begin(), [](const D3DRMVERTEX& v) { - return v.texCoord; + return GL11_BridgeTexCoord{v.texCoord.u, v.texCoord.v}; }); } cache.positions.resize(vertices.size()); std::transform(vertices.begin(), vertices.end(), cache.positions.begin(), [](const D3DRMVERTEX& v) { - return v.position; + return GL11_BridgeVector{v.position.x, v.position.y, v.position.z}; }); cache.normals.resize(vertices.size()); std::transform(vertices.begin(), vertices.end(), cache.normals.begin(), [](const D3DRMVERTEX& v) { - return v.normal; + return GL11_BridgeVector{v.normal.x, v.normal.y, v.normal.z}; }); - if (useVBOs) { - glGenBuffers(1, &cache.vboPositions); - glBindBuffer(GL_ARRAY_BUFFER, cache.vboPositions); - glBufferData( - GL_ARRAY_BUFFER, - cache.positions.size() * sizeof(D3DVECTOR), - cache.positions.data(), - GL_STATIC_DRAW - ); - - glGenBuffers(1, &cache.vboNormals); - glBindBuffer(GL_ARRAY_BUFFER, cache.vboNormals); - glBufferData(GL_ARRAY_BUFFER, cache.normals.size() * sizeof(D3DVECTOR), cache.normals.data(), GL_STATIC_DRAW); - - if (meshGroup.texture) { - glGenBuffers(1, &cache.vboTexcoords); - glBindBuffer(GL_ARRAY_BUFFER, cache.vboTexcoords); - glBufferData( - GL_ARRAY_BUFFER, - cache.texcoords.size() * sizeof(TexCoord), - cache.texcoords.data(), - GL_STATIC_DRAW - ); - } - - glGenBuffers(1, &cache.ibo); - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, cache.ibo); - glBufferData( - GL_ELEMENT_ARRAY_BUFFER, - cache.indices.size() * sizeof(cache.indices[0]), - cache.indices.data(), - GL_STATIC_DRAW - ); - } + GL11_UploadMesh(cache, meshGroup.texture != nullptr); return cache; } @@ -269,12 +230,7 @@ void OpenGL1Renderer::AddMeshDestroyCallback(Uint32 id, IDirect3DRMMesh* mesh) auto* ctx = static_cast(arg); auto& cache = ctx->renderer->m_meshs[ctx->id]; cache.meshGroup = nullptr; - if (ctx->renderer->m_useVBOs) { - glDeleteBuffers(1, &cache.vboPositions); - glDeleteBuffers(1, &cache.vboNormals); - glDeleteBuffers(1, &cache.vboTexcoords); - glDeleteBuffers(1, &cache.ibo); - } + GL11_DestroyMesh(cache); delete ctx; }, ctx @@ -329,90 +285,23 @@ const char* OpenGL1Renderer::GetName() HRESULT OpenGL1Renderer::BeginFrame() { - m_dirty = true; - - glDisable(GL_BLEND); - glEnable(GL_DEPTH_TEST); - glDepthMask(GL_TRUE); - glEnable(GL_LIGHTING); - glEnable(GL_COLOR_MATERIAL); - glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE); - - // Disable all lights and reset global ambient - for (int i = 0; i < 8; ++i) { - glDisable(GL_LIGHT0 + i); - } - const GLfloat zeroAmbient[4] = {0.f, 0.f, 0.f, 1.f}; - glLightModelfv(GL_LIGHT_MODEL_AMBIENT, zeroAmbient); - glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, GL_TRUE); - - // Setup lights - glMatrixMode(GL_MODELVIEW); - glPushMatrix(); - glLoadIdentity(); + GL11_BeginFrame((Matrix4x4*) &m_projection[0][0]); int lightIdx = 0; for (const auto& l : m_lights) { if (lightIdx > 7) { break; } - GLenum lightId = GL_LIGHT0 + lightIdx++; - const FColor& c = l.color; - GLfloat col[4] = {c.r, c.g, c.b, c.a}; + GL11_UploadLight(lightIdx, (GL11_BridgeSceneLight*) &l); - if (l.positional == 0.f && l.directional == 0.f) { - // Ambient light only - glLightfv(lightId, GL_AMBIENT, col); - const GLfloat black[4] = {0.f, 0.f, 0.f, 1.f}; - glLightfv(lightId, GL_DIFFUSE, black); - glLightfv(lightId, GL_SPECULAR, black); - const GLfloat dummyPos[4] = {0.f, 0.f, 1.f, 0.f}; - glLightfv(lightId, GL_POSITION, dummyPos); - } - else { - glLightfv(lightId, GL_AMBIENT, zeroAmbient); - glLightfv(lightId, GL_DIFFUSE, col); - if (l.directional == 1.0f) { - glLightfv(lightId, GL_SPECULAR, col); - } - else { - const GLfloat black[4] = {0.f, 0.f, 0.f, 1.f}; - glLightfv(lightId, GL_SPECULAR, black); - } - - GLfloat pos[4]; - if (l.directional == 1.f) { - pos[0] = -l.direction.x; - pos[1] = -l.direction.y; - pos[2] = -l.direction.z; - pos[3] = 0.f; - } - else { - pos[0] = l.position.x; - pos[1] = l.position.y; - pos[2] = l.position.z; - pos[3] = 1.f; - } - glLightfv(lightId, GL_POSITION, pos); - } - glEnable(lightId); + lightIdx++; } - glPopMatrix(); - - // Projection and view - glMatrixMode(GL_PROJECTION); - glLoadMatrixf(&m_projection[0][0]); - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); - return DD_OK; } void OpenGL1Renderer::EnableTransparency() { - glEnable(GL_BLEND); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - glDepthMask(GL_FALSE); + GL11_EnableTransparency(); } void OpenGL1Renderer::SubmitDraw( @@ -426,75 +315,14 @@ void OpenGL1Renderer::SubmitDraw( { auto& mesh = m_meshs[meshId]; - glLoadMatrixf(&modelViewMatrix[0][0]); - glEnable(GL_NORMALIZE); - - glColor4ub(appearance.color.r, appearance.color.g, appearance.color.b, appearance.color.a); - - if (appearance.shininess != 0.0f) { - GLfloat whiteSpec[] = {1.f, 1.f, 1.f, 1.f}; - glMaterialfv(GL_FRONT, GL_SPECULAR, whiteSpec); - glMaterialf(GL_FRONT, GL_SHININESS, appearance.shininess); - } - else { - GLfloat noSpec[] = {0.0f, 0.0f, 0.0f, 0.0f}; - glMaterialfv(GL_FRONT, GL_SPECULAR, noSpec); - glMaterialf(GL_FRONT, GL_SHININESS, 0.0f); - } - - if (mesh.flat) { - glShadeModel(GL_FLAT); - } - else { - glShadeModel(GL_SMOOTH); - } - // Bind texture if present if (appearance.textureId != NO_TEXTURE_ID) { - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); auto& tex = m_textures[appearance.textureId]; - glEnable(GL_TEXTURE_2D); - glBindTexture(GL_TEXTURE_2D, tex.glTextureId); - glEnableClientState(GL_TEXTURE_COORD_ARRAY); + GL11_SubmitDraw(mesh, modelViewMatrix, appearance, tex.glTextureId); } else { - glDisable(GL_TEXTURE_2D); - glDisableClientState(GL_TEXTURE_COORD_ARRAY); + GL11_SubmitDraw(mesh, modelViewMatrix, appearance, 0); } - - glEnableClientState(GL_VERTEX_ARRAY); - glEnableClientState(GL_NORMAL_ARRAY); - - if (m_useVBOs) { - glBindBuffer(GL_ARRAY_BUFFER, mesh.vboPositions); - glVertexPointer(3, GL_FLOAT, 0, nullptr); - - glBindBuffer(GL_ARRAY_BUFFER, mesh.vboNormals); - glNormalPointer(GL_FLOAT, 0, nullptr); - - if (appearance.textureId != NO_TEXTURE_ID) { - glBindBuffer(GL_ARRAY_BUFFER, mesh.vboTexcoords); - glTexCoordPointer(2, GL_FLOAT, 0, nullptr); - } - - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, mesh.ibo); - glDrawElements(GL_TRIANGLES, static_cast(mesh.indices.size()), GL_UNSIGNED_SHORT, nullptr); - - glBindBuffer(GL_ARRAY_BUFFER, 0); - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); - } - else { - glVertexPointer(3, GL_FLOAT, 0, mesh.positions.data()); - glNormalPointer(GL_FLOAT, 0, mesh.normals.data()); - if (appearance.textureId != NO_TEXTURE_ID) { - glTexCoordPointer(2, GL_FLOAT, 0, mesh.texcoords.data()); - } - - glDrawElements(GL_TRIANGLES, static_cast(mesh.indices.size()), GL_UNSIGNED_SHORT, mesh.indices.data()); - } - - glPopMatrix(); } HRESULT OpenGL1Renderer::FinalizeFrame() @@ -509,16 +337,13 @@ void OpenGL1Renderer::Resize(int width, int height, const ViewportTransform& vie m_viewportTransform = viewportTransform; SDL_DestroySurface(m_renderedImage); m_renderedImage = SDL_CreateSurface(m_width, m_height, SDL_PIXELFORMAT_RGBA32); - glViewport(0, 0, m_width, m_height); + GL11_Resize(width, height); } void OpenGL1Renderer::Clear(float r, float g, float b) { m_dirty = true; - glEnable(GL_DEPTH_TEST); - glDepthMask(GL_TRUE); - glClearColor(r, g, b, 1.0f); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + GL11_Clear(r, g, b); } void OpenGL1Renderer::Flip() @@ -532,73 +357,18 @@ void OpenGL1Renderer::Flip() void OpenGL1Renderer::Draw2DImage(Uint32 textureId, const SDL_Rect& srcRect, const SDL_Rect& dstRect) { m_dirty = true; - glDisable(GL_DEPTH_TEST); - glDepthMask(GL_FALSE); - - glMatrixMode(GL_PROJECTION); - glPushMatrix(); - glLoadIdentity(); float left = -m_viewportTransform.offsetX / m_viewportTransform.scale; float right = (m_width - m_viewportTransform.offsetX) / m_viewportTransform.scale; float top = -m_viewportTransform.offsetY / m_viewportTransform.scale; float bottom = (m_height - m_viewportTransform.offsetY) / m_viewportTransform.scale; - glOrtho(left, right, bottom, top, -1, 1); - glMatrixMode(GL_MODELVIEW); - glPushMatrix(); - glLoadIdentity(); - - glDisable(GL_LIGHTING); - glColor4f(1.0f, 1.0f, 1.0f, 1.0f); - - glEnable(GL_TEXTURE_2D); - glBindTexture(GL_TEXTURE_2D, m_textures[textureId].glTextureId); - glEnable(GL_BLEND); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); - - GLint boundTexture = 0; - glGetIntegerv(GL_TEXTURE_BINDING_2D, &boundTexture); - - GLfloat texW, texH; - glGetTexLevelParameterfv(GL_TEXTURE_2D, 0, GL_TEXTURE_WIDTH, &texW); - glGetTexLevelParameterfv(GL_TEXTURE_2D, 0, GL_TEXTURE_HEIGHT, &texH); - - float u1 = srcRect.x / texW; - float v1 = srcRect.y / texH; - float u2 = (srcRect.x + srcRect.w) / texW; - float v2 = (srcRect.y + srcRect.h) / texH; - - float x1 = (float) dstRect.x; - float y1 = (float) dstRect.y; - float x2 = x1 + dstRect.w; - float y2 = y1 + dstRect.h; - - glBegin(GL_QUADS); - glTexCoord2f(u1, v1); - glVertex2f(x1, y1); - glTexCoord2f(u2, v1); - glVertex2f(x2, y1); - glTexCoord2f(u2, v2); - glVertex2f(x2, y2); - glTexCoord2f(u1, v2); - glVertex2f(x1, y2); - glEnd(); - - // Restore state - glMatrixMode(GL_MODELVIEW); - glPopMatrix(); - glMatrixMode(GL_PROJECTION); - glPopMatrix(); + GL11_Draw2DImage(m_textures[textureId].glTextureId, srcRect, dstRect, left, right, bottom, top); } void OpenGL1Renderer::Download(SDL_Surface* target) { - glFinish(); - glReadPixels(0, 0, m_width, m_height, GL_RGBA, GL_UNSIGNED_BYTE, m_renderedImage->pixels); + GL11_Download(m_renderedImage); SDL_Rect srcRect = { static_cast(m_viewportTransform.offsetX), diff --git a/miniwin/src/d3drm/backends/opengles2/renderer.cpp b/miniwin/src/d3drm/backends/opengles2/renderer.cpp index 3dbabda2..9305510a 100644 --- a/miniwin/src/d3drm/backends/opengles2/renderer.cpp +++ b/miniwin/src/d3drm/backends/opengles2/renderer.cpp @@ -30,6 +30,12 @@ struct SceneLightGLES2 { Direct3DRMRenderer* OpenGLES2Renderer::Create(DWORD width, DWORD height) { + // We have to reset the attributes here after having enumerated the + // OpenGL ES 2.0 renderer, or else SDL gets very confused by SDL_GL_DEPTH_SIZE + // call below when on an EGL-based backend, and crashes with EGL_BAD_MATCH. + SDL_GL_ResetAttributes(); + // But ResetAttributes resets it to 16. + SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24); SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 2); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0); @@ -41,8 +47,6 @@ Direct3DRMRenderer* OpenGLES2Renderer::Create(DWORD width, DWORD height) testWindow = true; } - SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24); - SDL_GLContext context = SDL_GL_CreateContext(window); if (!context) { if (testWindow) { diff --git a/miniwin/src/internal/d3drmrenderer_opengl1.h b/miniwin/src/internal/d3drmrenderer_opengl1.h index 71c0ea82..d80621a5 100644 --- a/miniwin/src/internal/d3drmrenderer_opengl1.h +++ b/miniwin/src/internal/d3drmrenderer_opengl1.h @@ -1,44 +1,14 @@ #pragma once - +#include "../d3drm/backends/opengl1/actual.h" #include "d3drmrenderer.h" #include "d3drmtexture_impl.h" #include "ddraw_impl.h" -#ifdef __APPLE__ -#include -#else -#include -#endif - #include #include DEFINE_GUID(OpenGL1_GUID, 0x682656F3, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03); -struct GLTextureCacheEntry { - IDirect3DRMTexture* texture; - Uint32 version; - GLuint glTextureId; -}; - -struct GLMeshCacheEntry { - const MeshGroup* meshGroup; - int version; - bool flat; - - // non-VBO cache - std::vector positions; - std::vector normals; - std::vector texcoords; - std::vector indices; - - // VBO cache - GLuint vboPositions; - GLuint vboNormals; - GLuint vboTexcoords; - GLuint ibo; -}; - class OpenGL1Renderer : public Direct3DRMRenderer { public: static Direct3DRMRenderer* Create(DWORD width, DWORD height); From aa825aeecf44e61a02a240d72986bf49e26315d3 Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Sun, 29 Jun 2025 08:55:34 -0700 Subject: [PATCH 28/42] Add macro for switchable building index (#1596) --- LEGO1/lego/legoomni/src/common/legobuildingmanager.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/LEGO1/lego/legoomni/src/common/legobuildingmanager.cpp b/LEGO1/lego/legoomni/src/common/legobuildingmanager.cpp index 1e4a8b82..4ea96d2b 100644 --- a/LEGO1/lego/legoomni/src/common/legobuildingmanager.cpp +++ b/LEGO1/lego/legoomni/src/common/legobuildingmanager.cpp @@ -227,6 +227,8 @@ LegoBuildingInfo g_buildingInfo[16]; // GLOBAL: LEGO1 0x100f3748 MxS32 LegoBuildingManager::g_maxMove[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 0}; +#define HAUS1_INDEX 12 + // FUNCTION: LEGO1 0x1002f8b0 void LegoBuildingManager::configureLegoBuildingManager(MxS32 p_buildingManagerConfig) { @@ -461,7 +463,7 @@ MxBool LegoBuildingManager::SwitchVariant(LegoEntity* p_entity) roi->SetVisibility(FALSE); info->m_variant = g_buildingInfoVariants[m_nextVariant]; - CreateBuilding(12, CurrentWorld()); + CreateBuilding(HAUS1_INDEX, CurrentWorld()); if (info->m_entity != NULL) { info->m_entity->GetROI()->SetVisibility(TRUE); From 77bbbfe2ca29c95bfc6f64cc9231b921c446c410 Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Sun, 29 Jun 2025 09:15:42 -0700 Subject: [PATCH 29/42] (Pepper) Fix building variant switch bug (#451) * (Pepper) Fix building variant switch bug * Add comment --- LEGO1/lego/legoomni/src/common/legobuildingmanager.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/LEGO1/lego/legoomni/src/common/legobuildingmanager.cpp b/LEGO1/lego/legoomni/src/common/legobuildingmanager.cpp index 4ea96d2b..8dae5d61 100644 --- a/LEGO1/lego/legoomni/src/common/legobuildingmanager.cpp +++ b/LEGO1/lego/legoomni/src/common/legobuildingmanager.cpp @@ -394,6 +394,9 @@ MxResult LegoBuildingManager::Read(LegoStorage* p_storage) m_nextVariant = 0; } + // Bugfix: allow Pepper to change variant building after save game load + g_buildingInfo[HAUS1_INDEX].m_variant = g_buildingInfoVariants[m_nextVariant]; + result = SUCCESS; done: From 6e7347621c535a3992be40692e950e21a9f6110f Mon Sep 17 00:00:00 2001 From: Brenden Davidson Date: Sun, 29 Jun 2025 14:04:08 -0500 Subject: [PATCH 30/42] Flatpak Build Support (#407) --- .editorconfig | 5 + .gitattributes | 4 + .github/workflows/release.yml | 34 +++- .gitignore | 6 + CMakeLists.txt | 2 + packaging/CMakeLists.txt | 19 +++ packaging/icons/isle.svg | 161 ++++++++++++++++++ packaging/linux/CMakeLists.txt | 7 + .../linux/flatpak/org.legoisland.Isle.json | 89 ++++++++++ packaging/linux/isledecomp.desktop.in | 37 ++++ packaging/linux/isledecomp.metainfo.xml.in | 91 ++++++++++ 11 files changed, 453 insertions(+), 2 deletions(-) create mode 100644 packaging/CMakeLists.txt create mode 100644 packaging/icons/isle.svg create mode 100644 packaging/linux/CMakeLists.txt create mode 100644 packaging/linux/flatpak/org.legoisland.Isle.json create mode 100644 packaging/linux/isledecomp.desktop.in create mode 100644 packaging/linux/isledecomp.metainfo.xml.in diff --git a/.editorconfig b/.editorconfig index c8d511ec..05d09a66 100644 --- a/.editorconfig +++ b/.editorconfig @@ -14,3 +14,8 @@ trim_trailing_whitespace = true [{CMakeLists.txt,*.cmake}] indent_size = 2 +insert_final_newline = true + +[*.{json,xml.in,desktop.in}] +indent_size = 2 +insert_final_newline = true diff --git a/.gitattributes b/.gitattributes index 232342c7..04926c6b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5,3 +5,7 @@ *.html text eol=lf diff=html *.mdp binary *.mak text eol=crlf +**/*.ico binary +**/*.png binary +**/*.svg text eol=lf +**/*.desktop text eol=lf diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ef8fdae2..966ef3c6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -91,15 +91,45 @@ jobs: path: | build/dist/isle-* + flatpak: + name: "Flatpak (${{ matrix.arch }})" + runs-on: ${{ matrix.os }} + + strategy: + fail-fast: false + matrix: + include: + - arch: x86_64 + os: ubuntu-latest + + - arch: aarch64 + os: ubuntu-22.04-arm + + container: + image: ghcr.io/flathub-infra/flatpak-github-actions:kde-6.8 + options: --privileged + + steps: + - uses: actions/checkout@v4 + + - name: Build Flatpak + uses: flatpak/flatpak-github-actions/flatpak-builder@v6 + with: + bundle: org.legoisland.Isle.${{ matrix.arch }}.flatpak + manifest-path: packaging/linux/flatpak/org.legoisland.Isle.json + arch: ${{ matrix.arch }} + release: name: 'Release' runs-on: ubuntu-latest - needs: build + needs: + - build + - flatpak steps: - name: Download All Artifacts uses: actions/download-artifact@main with: - pattern: Release-* + pattern: "{Release-*,*.flatpak}" path: Release merge-multiple: true diff --git a/.gitignore b/.gitignore index 662466db..1610ba3d 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,9 @@ LEGO1.DLL # Kate - Text /.cache + +# Flatpak build cache +**/.flatpak-builder/ + +# Flatpak build dir +**/flatpak-build/ diff --git a/CMakeLists.txt b/CMakeLists.txt index 1f7e0595..d77ce732 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -643,6 +643,8 @@ if(EMSCRIPTEN) ) endif() +add_subdirectory(packaging) + set(CPACK_PACKAGE_DIRECTORY "dist") set(CPACK_PACKAGE_FILE_NAME "isle-${PROJECT_VERSION}-${ISLE_PACKAGE_NAME}-${CMAKE_SYSTEM_PROCESSOR}") if(MSVC) diff --git a/packaging/CMakeLists.txt b/packaging/CMakeLists.txt new file mode 100644 index 00000000..9994b0c0 --- /dev/null +++ b/packaging/CMakeLists.txt @@ -0,0 +1,19 @@ +set(APP_ID "org.legoisland.Isle") +set(APP_NAME "Isle Portable") +set(APP_SUMMARY "Portable version of the LEGO Island Decompilation Project") +set(APP_SPDX "LGPL-3.0-or-later") + +string(TIMESTAMP BUILD_DATE UTC) + +# The following will need to be refined if we wish to post actual releases to a repo such as Flathub +if(DEFINED ENV{GITHUB_ACTIONS} AND ENV{GITHUB_ACTIONS} EQUAL TRUE) + # Use the sequential run# of the current pipeline when running in GH Actions + set(SEMANTIC_VERSION "${PROJECT_VERSION}~build$ENV{GITHUB_RUN_NUMBER}") +else() + # Don't worry about the build number for local builds + set(SEMANTIC_VERSION "${PROJECT_VERSION}") +endif() + +if(LINUX) + add_subdirectory(linux) +endif() diff --git a/packaging/icons/isle.svg b/packaging/icons/isle.svg new file mode 100644 index 00000000..d3f6dbf1 --- /dev/null +++ b/packaging/icons/isle.svg @@ -0,0 +1,161 @@ + + + +LEGO Island IconLEGO Island Icon2025-06-22 diff --git a/packaging/linux/CMakeLists.txt b/packaging/linux/CMakeLists.txt new file mode 100644 index 00000000..2ece9db8 --- /dev/null +++ b/packaging/linux/CMakeLists.txt @@ -0,0 +1,7 @@ +# Injects the required variables into the Desktop and MetaInfo files +configure_file(isledecomp.desktop.in "${APP_ID}.desktop" @ONLY) +configure_file(isledecomp.metainfo.xml.in "${APP_ID}.metainfo.xml" @ONLY) + +install(FILES "../icons/isle.svg" RENAME "${APP_ID}.svg" DESTINATION "share/icons/hicolor/scalable/apps") +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${APP_ID}.desktop" DESTINATION "share/applications") +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${APP_ID}.metainfo.xml" DESTINATION "share/metainfo") diff --git a/packaging/linux/flatpak/org.legoisland.Isle.json b/packaging/linux/flatpak/org.legoisland.Isle.json new file mode 100644 index 00000000..e8cd3f8e --- /dev/null +++ b/packaging/linux/flatpak/org.legoisland.Isle.json @@ -0,0 +1,89 @@ +{ + "id": "org.legoisland.Isle", + + "runtime": "org.kde.Platform", + "sdk": "org.kde.Sdk", + "runtime-version": "6.8", + + "command": "isle", + + "finish-args": [ + "--share=ipc", + "--socket=wayland", + "--socket=fallback-x11", + "--socket=pulseaudio", + "--device=dri", + "--device=input", + "--filesystem=/run/media/:ro", + "--filesystem=/media/:ro", + "--filesystem=/mnt/:ro", + "--filesystem=home:ro" + ], + + "modules": [ + { + "name": "isle", + "buildsystem": "cmake-ninja", + "config-opts": [ + "-DCMAKE_BUILD_TYPE=RelWithDebInfo", + "-DISLE_DEBUG=OFF" + ], + "sources": [ + { + "type": "dir", + "path": "../../../3rdparty", + "dest": "3rdparty/" + }, + { + "type": "dir", + "path": "../../../cmake", + "dest": "cmake/" + }, + { + "type": "dir", + "path": "../../../CMake", + "dest": "CMake/" + }, + { + "type": "dir", + "path": "../../../CONFIG", + "dest": "CONFIG/" + }, + { + "type": "dir", + "path": "../../../ISLE", + "dest": "ISLE/" + }, + { + "type": "dir", + "path": "../../../LEGO1", + "dest": "LEGO1/" + }, + { + "type": "dir", + "path": "../../../miniwin", + "dest": "miniwin/" + }, + { + "type": "dir", + "path": "../../../packaging", + "dest": "packaging/" + }, + { + "type": "dir", + "path": "../../../util", + "dest": "util/" + }, + { + "type": "file", + "path": "../../../CMakeLists.txt" + } + ], + "build-options": { + "build-args": [ + "--share=network" + ] + } + } + ] +} diff --git a/packaging/linux/isledecomp.desktop.in b/packaging/linux/isledecomp.desktop.in new file mode 100644 index 00000000..a40c4a2a --- /dev/null +++ b/packaging/linux/isledecomp.desktop.in @@ -0,0 +1,37 @@ +[Desktop Entry] +Version=1.5 + +Name=@APP_NAME@ +Comment=@APP_SUMMARY@ + +Icon=@APP_ID@ +Type=Application +Categories=Game;KidsGame;AdventureGame;Qt + +Keywords=LEGO;lego;LEGO Island +Keywords[da]=LEGO;lego;Panik på LEGO Øen +Keywords[de]=LEGO;lego;Abenteuer auf der LEGO Insel +Keywords[es]=LEGO;lego;La Isla LEGO +Keywords[fr]=LEGO;lego;Aventures sur L'île LEGO +Keywords[it]=LEGO;lego;Isola LEGO +Keywords[ja]=LEGO;lego;レゴアイランドの大冒険 +Keywords[ko]=LEGO;lego;레고 아일랜드 +Keywords[pt]=LEGO;lego;A Ilha LEGO +Keywords[ru]=LEGO;lego;Остров LEGO + +SingleMainWindow=true + +TryExec=isle +Exec=isle + +Actions=play;configure + +[Desktop Action play] +Name=Play Game +Icon=currenttrack_play +Exec=isle + +[Desktop Action configure] +Name=Configure Settings +Icon=settings +Exec=isle-config diff --git a/packaging/linux/isledecomp.metainfo.xml.in b/packaging/linux/isledecomp.metainfo.xml.in new file mode 100644 index 00000000..b8faecc1 --- /dev/null +++ b/packaging/linux/isledecomp.metainfo.xml.in @@ -0,0 +1,91 @@ + + + + + @APP_ID@ + + @APP_NAME@ +

@APP_SUMMARY@ + + @APP_ID@.desktop + + + #e3000b + + + + Isle Decomp Team + + + https://github.com/isledecomp/isle-portable + https://github.com/isledecomp/isle-portable/blob/master/CONTRIBUTING.md + https://github.com/isledecomp/isle-portable/tree/master + https://github.com/isledecomp/isle-portable/issues + + MIT + @APP_SPDX@ + + + 640 + offline-only + + + + 128 + + + + pointing + keyboard + gamepad + + + +

This initiative is a portable version of LEGO Island (Version 1.1, English) + based on the decompilation project. Our primary goal is to transform the codebase to achieve + platform independence, thereby enhancing compatibility across various systems while preserving + the original game's experience as faithfully as possible. +

+ +

+ Please note: this project is dedicated to achieving platform independence without altering the + core gameplay, adding new features, enhancing visual quality, or rewriting code for + improvement's sake. While those are worthwhile objectives, they are not within the scope + of this project. +

+ +
+ + + mild + mild + + + + Game + KidsGame + AdventureGame + Qt + + + + LEGO + lego + + LEGO Island + + Panik på LEGO Øen + Abenteuer auf der LEGO Insel + La Isla LEGO + Aventures sur L'île LEGO + Isola LEGO + レゴアイランドの大冒険 + 레고 아일랜드 + A Ilha LEGO + Остров LEGO + + + + + + From 54694a4611ecf78392e71373687bde450186d934 Mon Sep 17 00:00:00 2001 From: Damglador <52221087+Damglador@users.noreply.github.com> Date: Sun, 29 Jun 2025 22:53:54 +0200 Subject: [PATCH 31/42] AppImage packaging (#439) * AppImage packaging * Add flags to specify location of required local files `--build=path` specifies where on the system is the directory with pre-build game binaries (must have binaries `isle` and `isle-config` in `path/bin` and game-specific libraries in `path/lib`) `--apprun=path` specifies where the apprun is `--desktop-file=path` same for the desktop file * Move to packaging/linux * Move building to appimage/build and ignore it in git * Use local icon. Option to specify location for it * Cleaning * Attempt at Github automation * Update CMakeLists.txt * Fix build * I guess it doesn't need quotes * Update CMakeLists.txt * Update release.yml * Work around for liblego1.so loading, fix arguments * Create testing.yml * Update testing.yml * I should pay more attention to what docs say * Fix copy-pasting mistake * Add AppImage packaging to the Release workflow * Try fixing filepicker * Delete testing.yml * Fix releases Can't specify where linuxdeploy leaves the file without specifying the name of the file, which I don't want to do, so just move the file in `dist` after packaging. * Remove unnecessary changes * Add qt6-xdgdesktopportal-platformtheme as deps Needed to call the xdg filepicker, basically desktop-specific filepicker. Hopefully this will allow to use it in AppImage * Get back flatpak in release * Update release.yml * Remove libglew-dev from apt install * Fix duplicate upload artifact * Update release.yml Co-authored-by: Christian Semmler * Remove *.AppImage pattern in Download All Artifacts --------- Co-authored-by: Christian Semmler --- .github/workflows/release.yml | 28 +++++++- packaging/CMakeLists.txt | 3 + packaging/linux/appimage/AppRun | 25 +++++++ packaging/linux/appimage/Build | 100 ++++++++++++++++++++++++++ packaging/linux/isledecomp.desktop.in | 1 + 5 files changed, 155 insertions(+), 2 deletions(-) create mode 100755 packaging/linux/appimage/AppRun create mode 100755 packaging/linux/appimage/Build diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 966ef3c6..e5d42a8b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -46,7 +46,7 @@ jobs: sudo apt-get install -y \ libx11-dev libxext-dev libxrandr-dev libxrender-dev libxfixes-dev libxi-dev libxinerama-dev \ libxcursor-dev libwayland-dev libxkbcommon-dev wayland-protocols libgl1-mesa-dev qt6-base-dev \ - libasound2-dev + libasound2-dev qt6-xdgdesktopportal-platformtheme - name: Install macOS dependencies (brew) if: ${{ matrix.brew }} @@ -84,12 +84,36 @@ jobs: cd build cpack . + - name: Install linuxdeploy + if: ${{ matrix.linux }} + id: install-linuxdeploy + uses: miurahr/install-linuxdeploy-action@v1.8.0 + with: + plugins: qt appimage + + - name: Package (AppImage) + if: ${{ matrix.linux }} + run: | + cd build && \ + export LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" && \ + NO_STRIP=1 ${{ steps.install-linuxdeploy.outputs.linuxdeploy }} \ + -p qt \ + -e isle \ + -e isle-config \ + -d packaging/linux/org.legoisland.Isle.desktop \ + -i icons/org.legoisland.Isle.svg \ + --custom-apprun=../packaging/linux/appimage/AppRun \ + --appdir packaging/linux/appimage/AppDir \ + --output appimage && \ + mv *.AppImage dist/ + - name: Upload Artifact uses: actions/upload-artifact@main with: name: Release-${{ matrix.name }} path: | build/dist/isle-* + build/dist/*.AppImage flatpak: name: "Flatpak (${{ matrix.arch }})" @@ -118,7 +142,7 @@ jobs: bundle: org.legoisland.Isle.${{ matrix.arch }}.flatpak manifest-path: packaging/linux/flatpak/org.legoisland.Isle.json arch: ${{ matrix.arch }} - + release: name: 'Release' runs-on: ubuntu-latest diff --git a/packaging/CMakeLists.txt b/packaging/CMakeLists.txt index 9994b0c0..d6fc19f0 100644 --- a/packaging/CMakeLists.txt +++ b/packaging/CMakeLists.txt @@ -5,6 +5,9 @@ set(APP_SPDX "LGPL-3.0-or-later") string(TIMESTAMP BUILD_DATE UTC) +file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/icons) +file(COPY_FILE icons/isle.svg ${CMAKE_BINARY_DIR}/icons/${APP_ID}.svg) + # The following will need to be refined if we wish to post actual releases to a repo such as Flathub if(DEFINED ENV{GITHUB_ACTIONS} AND ENV{GITHUB_ACTIONS} EQUAL TRUE) # Use the sequential run# of the current pipeline when running in GH Actions diff --git a/packaging/linux/appimage/AppRun b/packaging/linux/appimage/AppRun new file mode 100755 index 00000000..0da15db1 --- /dev/null +++ b/packaging/linux/appimage/AppRun @@ -0,0 +1,25 @@ +#!/bin/sh + +HERE="$(dirname "$(readlink -f "${0}")")" + +MAIN=$(grep -r "^Exec=.*" "$HERE"/*.desktop | head -n 1 | cut -d "=" -f 2 | cut -d " " -f 1) + +# MAIN_BIN=$(find "$HERE/usr/bin" -name "$MAIN" | head -n 1) +MAIN_BIN="$HERE/usr/bin/isle-config" + +export PATH="${HERE}/usr/bin/":$PATH # Prefer bundled binaries + +export QT_QPA_PLATFORMTHEME=xdgdesktopportal # Use XDG filepicker for forward compatability +[ -z "$QT_PLUGIN_PATH" ] && export QT_PLUGIN_PATH=/usr/lib/qt6/plugins:/usr/lib64/qt6/plugins # Use system Qt theme, will fallback to the default one if unavailable + + +if [ ! -z $APPIMAGE ]; then + BINARY_NAME=$(basename "$ARGV0") + if [ -e "$HERE/usr/bin/$BINARY_NAME" ]; then + exec "$HERE/usr/bin/$BINARY_NAME" "$@" + else + exec "${MAIN_BIN}" "$@" + fi +else + exec "${MAIN_BIN}" "$@" +fi diff --git a/packaging/linux/appimage/Build b/packaging/linux/appimage/Build new file mode 100755 index 00000000..9cf0325c --- /dev/null +++ b/packaging/linux/appimage/Build @@ -0,0 +1,100 @@ +#!/usr/bin/env bash +set -e + +export LD_LIBRARY_PATH="build/source/lib:$LD_LIBRARY_PATH" +[ -z "$QMAKE" ] && export QMAKE=/usr/lib/qt6/bin/qmake + +# Sets a directory that has to have a following structure: +# build +# ├── bin +# │   ├── isle +# │   └── isle-config +# └── lib +# ├── liblego1.so +# ├── libSDL3.so -> libSDL3.so.0 # Not important if available on the system +# ├── libSDL3.so.0 -> libSDL3.so.0.3.0 # Not important if available on the system +# └── libSDL3.so.0.3.0 # Not important if available on the system +# Can also be defined using --build=path +BUILD_SOURCE=source + +# Sets where AppRun for AppImage is, can also be defined using --apprun=path +APPRUN_SOURCE=AppRun + +# Sets where desktop file for AppImage is, can also be defined using --desktop-file=path +DESKTOP_FILE_SOURCE=isledecomp.desktop + +# You know the drill +ICON_SOURCE=../../icons/isle.svg + +cd $(dirname $0) + +clean(){ + echo "Deleting build directory" + rm -rf build +} + +download(){ + if [ ! -e "$1" ]; then + curl -Lo "$1" "$2" + fi +} + +prepare(){ + mkdir -p build/tools + mkdir -p build/assets + + download build/tools/appimagetool.AppImage https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-$(uname -m).AppImage + chmod u+x build/tools/appimagetool.AppImage + + download build/tools/linuxdeploy.AppImage https://github.com/linuxdeploy/linuxdeploy/releases/latest/download/linuxdeploy-$(uname -m).AppImage + chmod u+x build/tools/linuxdeploy.AppImage + + download build/tools/linuxdeploy-plugin-qt.AppImage https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/latest/download/linuxdeploy-plugin-qt-$(uname -m).AppImage + chmod u+x build/tools/linuxdeploy-plugin-qt.AppImage + + if [ ! -f "build/assets/isledecomp.desktop" ]; then + cp $DESKTOP_FILE_SOURCE build/assets/isledecomp.desktop + cp $APPRUN_SOURCE build/assets/AppRun + cp ../../icons/isle.svg build/assets/isle.svg + fi + + if [ ! -d "build/source" ]; then + cp -r $BUILD_SOURCE build/source + fi +} + +compile(){ + NO_STRIP=1 build/tools/linuxdeploy.AppImage \ + --plugin qt \ + -e build/source/bin/isle \ + -e build/source/bin/isle-config \ + -d build/assets/isledecomp.desktop \ + -i build/assets/isle.svg \ + --custom-apprun=AppRun \ + --appdir=build/AppDir +} + +package(){ + build/tools/appimagetool.AppImage build/AppDir build/"LEGO_Island-$(uname -m).AppImage" +} + +stop(){ # Can be used to do `Build clean stop` to just clean the directory + exit +} + +for arg in "$@"; do + case "$arg" in + --build=*) BUILD_SOURCE="${arg#--build=}";; + --apprun=*) APPRUN_SOURCE="${arg#--apprun=}";; + --desktop-file=*) DESKTOP_FILE_SOURCE="${arg#--desktop-file=}";; + --icon=*) ICON_SOURCE="${arg#--icon=}";; + *) "$arg" + esac +done + +prepare +compile +package +# Symlinks named as binaries in appimage can call these binaries specifically +# ln -s "LEGO_Island-$(uname -m).AppImage" isle-config +# ln -s "LEGO_Island-$(uname -m).AppImage" isle \ No newline at end of file diff --git a/packaging/linux/isledecomp.desktop.in b/packaging/linux/isledecomp.desktop.in index a40c4a2a..28309205 100644 --- a/packaging/linux/isledecomp.desktop.in +++ b/packaging/linux/isledecomp.desktop.in @@ -18,6 +18,7 @@ Keywords[ja]=LEGO;lego;レゴアイランドの大冒険 Keywords[ko]=LEGO;lego;레고 아일랜드 Keywords[pt]=LEGO;lego;A Ilha LEGO Keywords[ru]=LEGO;lego;Остров LEGO +Keywords[uk_UA]=LEGO;lego;LEGO острів SingleMainWindow=true From daa0bd1a32e5f92845817d0e52170dfa9c2da074 Mon Sep 17 00:00:00 2001 From: Anonymous Maarten Date: Sun, 29 Jun 2025 22:50:28 +0000 Subject: [PATCH 32/42] ci: combine ci and release workflow (#453) --- .github/workflows/ci.yml | 105 ++++++++++++++++++--- .github/workflows/release.yml | 170 ---------------------------------- 2 files changed, 93 insertions(+), 182 deletions(-) delete mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 64c447e5..43248276 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,14 +33,14 @@ jobs: fail-fast: false matrix: include: - - { name: 'Linux', os: 'ubuntu-latest', dx5: false, config: true, build-type: 'Debug', linux: true, werror: true, clang-tidy: true } - - { name: 'MSVC (x86)', os: 'windows-latest', dx5: true, config: false, build-type: 'Debug', msvc: true, werror: false, clang-tidy: false, vc-arch: 'amd64_x86' } - - { name: 'MSVC (x64)', os: 'windows-latest', dx5: false, config: false, build-type: 'Debug', msvc: true, werror: false, clang-tidy: false, vc-arch: 'amd64' } - - { name: 'MSVC (arm64)', os: 'windows-latest', dx5: false, config: false, build-type: 'Debug', msvc: true, werror: false, clang-tidy: false, vc-arch: 'amd64_arm64' } - - { name: 'msys2 mingw32', os: 'windows-latest', dx5: false, config: false, build-type: 'Debug', mingw: true, werror: true, clang-tidy: true, msystem: 'mingw32', msys-env: 'mingw-w64-i686', shell: 'msys2 {0}' } - - { name: 'msys2 mingw64', os: 'windows-latest', dx5: false, config: true, build-type: 'Debug', mingw: true, werror: true, clang-tidy: true, msystem: 'mingw64', msys-env: 'mingw-w64-x86_64', shell: 'msys2 {0}' } - - { name: 'macOS', os: 'macos-latest', dx5: false, config: true, build-type: 'Debug', brew: true, werror: true, clang-tidy: false } - - { name: 'Emscripten', os: 'ubuntu-latest', dx5: false, config: false, build-type: 'Debug', emsdk: true, werror: true, clang-tidy: false, cmake-wrapper: 'emcmake' } + - { name: 'Linux', os: 'ubuntu-latest', dx5: false, config: true, linux: true, werror: true, clang-tidy: true } + - { name: 'MSVC (x86)', os: 'windows-latest', dx5: true, config: false, msvc: true, werror: false, clang-tidy: false, vc-arch: 'amd64_x86' } + - { name: 'MSVC (x64)', os: 'windows-latest', dx5: false, config: false, msvc: true, werror: false, clang-tidy: false, vc-arch: 'amd64' } + - { name: 'MSVC (arm64)', os: 'windows-latest', dx5: false, config: false, msvc: true, werror: false, clang-tidy: false, vc-arch: 'amd64_arm64' } + - { name: 'msys2 mingw32', os: 'windows-latest', dx5: false, config: false, mingw: true, werror: true, clang-tidy: true, msystem: 'mingw32', msys-env: 'mingw-w64-i686', shell: 'msys2 {0}' } + - { name: 'msys2 mingw64', os: 'windows-latest', dx5: false, config: true, mingw: true, werror: true, clang-tidy: true, msystem: 'mingw64', msys-env: 'mingw-w64-x86_64', shell: 'msys2 {0}' } + - { name: 'macOS', os: 'macos-latest', dx5: false, config: true, brew: true, werror: true, clang-tidy: false } + - { name: 'Emscripten', os: 'ubuntu-latest', dx5: false, config: false, emsdk: true, werror: true, clang-tidy: false, cmake-wrapper: 'emcmake' } steps: - name: Setup vcvars if: ${{ !!matrix.msvc }} @@ -67,7 +67,7 @@ jobs: sudo apt-get install -y \ libx11-dev libxext-dev libxrandr-dev libxrender-dev libxfixes-dev libxi-dev libxinerama-dev \ libxcursor-dev libwayland-dev libxkbcommon-dev wayland-protocols libgl1-mesa-dev qt6-base-dev \ - libasound2-dev + libasound2-dev qt6-xdgdesktopportal-platformtheme - name: Install macOS dependencies (brew) if: ${{ matrix.brew }} @@ -89,11 +89,12 @@ jobs: - name: Configure (CMake) run: | ${{ matrix.cmake-wrapper || '' }} cmake -S . -B build -GNinja \ - -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \ + -DCMAKE_BUILD_TYPE=Release \ -DISLE_USE_DX5=${{ !!matrix.dx5 }} \ -DISLE_BUILD_CONFIG=${{ matrix.config }} \ -DENABLE_CLANG_TIDY=${{ !!matrix.clang-tidy }} \ -DISLE_WERROR=${{ !!matrix.werror }} \ + -DISLE_DEBUG=OFF \ -Werror=dev - name: Build (CMake) @@ -104,11 +105,64 @@ jobs: cd build cpack . + - name: Install linuxdeploy + if: ${{ matrix.linux }} + id: install-linuxdeploy + uses: miurahr/install-linuxdeploy-action@v1.8.0 + with: + plugins: qt appimage + + - name: Package (AppImage) + if: ${{ matrix.linux }} + run: | + cd build && \ + export LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" && \ + NO_STRIP=1 ${{ steps.install-linuxdeploy.outputs.linuxdeploy }} \ + -p qt \ + -e isle \ + -e isle-config \ + -d packaging/linux/org.legoisland.Isle.desktop \ + -i icons/org.legoisland.Isle.svg \ + --custom-apprun=../packaging/linux/appimage/AppRun \ + --appdir packaging/linux/appimage/AppDir \ + --output appimage && \ + mv *.AppImage dist/ + - name: Upload Build Artifacts uses: actions/upload-artifact@v4 with: - name: '${{ matrix.name }} ${{ matrix.build-type }}' - path: build/dist/isle-* + name: '${{ matrix.name }}' + path: | + build/dist/isle-* + build/dist/*.AppImage + + flatpak: + name: "Flatpak (${{ matrix.arch }})" + runs-on: ${{ matrix.os }} + + strategy: + fail-fast: false + matrix: + include: + - arch: x86_64 + os: ubuntu-latest + + - arch: aarch64 + os: ubuntu-22.04-arm + + container: + image: ghcr.io/flathub-infra/flatpak-github-actions:kde-6.8 + options: --privileged + + steps: + - uses: actions/checkout@v4 + + - name: Build Flatpak + uses: flatpak/flatpak-github-actions/flatpak-builder@v6 + with: + bundle: org.legoisland.Isle.${{ matrix.arch }}.flatpak + manifest-path: packaging/linux/flatpak/org.legoisland.Isle.json + arch: ${{ matrix.arch }} ncc: name: 'C++' @@ -148,3 +202,30 @@ jobs: LEGO1/omni/src/video/flic.cpp \ $action_headers \ --path LEGO1/omni LEGO1/lego/legoomni + + release: + name: 'Release' + if: ${{ github.event_name == 'push' && github.ref_name == 'master' }} + runs-on: ubuntu-latest + needs: + - build + - flatpak + steps: + - name: Download All Artifacts + uses: actions/download-artifact@main + with: + pattern: "{Release-*,*.flatpak}" + path: Release + merge-multiple: true + + - name: Checkout uploadtool + uses: actions/checkout@v4 + with: + repository: 'probonopd/uploadtool' + path: 'uploadtool' + + - name: Upload Continuous Release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + ./uploadtool/upload.sh Release/* diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index e5d42a8b..00000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,170 +0,0 @@ -name: Release - -on: - push: - branches: - - master - -jobs: - build: - name: ${{ matrix.name }} - runs-on: ${{ matrix.os }} - defaults: - run: - shell: ${{ matrix.shell || 'sh' }} - - strategy: - fail-fast: false - matrix: - include: - - { name: 'Linux', os: 'ubuntu-latest', dx5: false, config: true, build-type: 'Release', linux: true, werror: true, clang-tidy: false } - - { name: 'Windows', os: 'windows-latest', dx5: false, config: false, build-type: 'Release', msvc: true, werror: false, clang-tidy: false, vc-arch: 'amd64' } - - { name: 'macOS', os: 'macos-latest', dx5: false, config: true, build-type: 'Release', brew: true, werror: true, clang-tidy: false } - steps: - - name: Setup vcvars - if: ${{ !!matrix.msvc }} - uses: ilammy/msvc-dev-cmd@v1 - with: - arch: ${{ matrix.vc-arch }} - - - name: Set up MSYS2 - if: ${{ !!matrix.msystem }} - uses: msys2/setup-msys2@v2 - with: - msystem: ${{ matrix.msystem }} - install: >- - ${{ matrix.msys-env }}-cc - ${{ matrix.msys-env }}-cmake - ${{ matrix.msys-env }}-ninja - ${{ matrix.msys-env }}-clang-tools-extra - ${{ (matrix.config && format('{0}-qt6-base', matrix.msys-env)) || '' }} - - - name: Install Linux dependencies (apt-get) - if: ${{ matrix.linux }} - run: | - sudo apt-get update - sudo apt-get install -y \ - libx11-dev libxext-dev libxrandr-dev libxrender-dev libxfixes-dev libxi-dev libxinerama-dev \ - libxcursor-dev libwayland-dev libxkbcommon-dev wayland-protocols libgl1-mesa-dev qt6-base-dev \ - libasound2-dev qt6-xdgdesktopportal-platformtheme - - - name: Install macOS dependencies (brew) - if: ${{ matrix.brew }} - run: | - brew update - brew install cmake ninja llvm qt6 - echo "LLVM_ROOT=$(brew --prefix llvm)/bin" >> $GITHUB_ENV - - - name: Setup Emscripten - uses: mymindstorm/setup-emsdk@master - if: ${{ matrix.emsdk }} - - - name: Setup ninja - if: ${{ matrix.msvc }} - uses: ashutoshvarma/setup-ninja@master - - - uses: actions/checkout@v4 - - - name: Configure (CMake) - run: | - ${{ matrix.cmake-wrapper || '' }} cmake -S . -B build -GNinja \ - -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \ - -DISLE_USE_DX5=${{ !!matrix.dx5 }} \ - -DISLE_BUILD_CONFIG=${{ matrix.config }} \ - -DENABLE_CLANG_TIDY=${{ !!matrix.clang-tidy }} \ - -DISLE_WERROR=${{ !!matrix.werror }} \ - -DISLE_DEBUG=OFF \ - -Werror=dev - - - name: Build (CMake) - run: cmake --build build --verbose - - - name: Package (CPack) - run: | - cd build - cpack . - - - name: Install linuxdeploy - if: ${{ matrix.linux }} - id: install-linuxdeploy - uses: miurahr/install-linuxdeploy-action@v1.8.0 - with: - plugins: qt appimage - - - name: Package (AppImage) - if: ${{ matrix.linux }} - run: | - cd build && \ - export LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" && \ - NO_STRIP=1 ${{ steps.install-linuxdeploy.outputs.linuxdeploy }} \ - -p qt \ - -e isle \ - -e isle-config \ - -d packaging/linux/org.legoisland.Isle.desktop \ - -i icons/org.legoisland.Isle.svg \ - --custom-apprun=../packaging/linux/appimage/AppRun \ - --appdir packaging/linux/appimage/AppDir \ - --output appimage && \ - mv *.AppImage dist/ - - - name: Upload Artifact - uses: actions/upload-artifact@main - with: - name: Release-${{ matrix.name }} - path: | - build/dist/isle-* - build/dist/*.AppImage - - flatpak: - name: "Flatpak (${{ matrix.arch }})" - runs-on: ${{ matrix.os }} - - strategy: - fail-fast: false - matrix: - include: - - arch: x86_64 - os: ubuntu-latest - - - arch: aarch64 - os: ubuntu-22.04-arm - - container: - image: ghcr.io/flathub-infra/flatpak-github-actions:kde-6.8 - options: --privileged - - steps: - - uses: actions/checkout@v4 - - - name: Build Flatpak - uses: flatpak/flatpak-github-actions/flatpak-builder@v6 - with: - bundle: org.legoisland.Isle.${{ matrix.arch }}.flatpak - manifest-path: packaging/linux/flatpak/org.legoisland.Isle.json - arch: ${{ matrix.arch }} - - release: - name: 'Release' - runs-on: ubuntu-latest - needs: - - build - - flatpak - steps: - - name: Download All Artifacts - uses: actions/download-artifact@main - with: - pattern: "{Release-*,*.flatpak}" - path: Release - merge-multiple: true - - - name: Checkout uploadtool - uses: actions/checkout@v4 - with: - repository: 'probonopd/uploadtool' - path: 'uploadtool' - - - name: Upload Continuous Release - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ./uploadtool/upload.sh Release/* From 79462824e85deb81848ef5242e7a6b7948c43632 Mon Sep 17 00:00:00 2001 From: Anonymous Maarten Date: Sun, 29 Jun 2025 23:35:24 +0000 Subject: [PATCH 33/42] Fix continuous release (#454) --- .github/workflows/ci.yml | 4 +- CMakeLists.txt | 8 +- cmake/detectcpu.cmake | 156 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 164 insertions(+), 4 deletions(-) create mode 100644 cmake/detectcpu.cmake diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 43248276..c6124f37 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -91,7 +91,7 @@ jobs: ${{ matrix.cmake-wrapper || '' }} cmake -S . -B build -GNinja \ -DCMAKE_BUILD_TYPE=Release \ -DISLE_USE_DX5=${{ !!matrix.dx5 }} \ - -DISLE_BUILD_CONFIG=${{ matrix.config }} \ + -DISLE_BUILD_CONFIG=${{ !!matrix.config }} \ -DENABLE_CLANG_TIDY=${{ !!matrix.clang-tidy }} \ -DISLE_WERROR=${{ !!matrix.werror }} \ -DISLE_DEBUG=OFF \ @@ -214,7 +214,7 @@ jobs: - name: Download All Artifacts uses: actions/download-artifact@main with: - pattern: "{Release-*,*.flatpak}" + pattern: "*" path: Release merge-multiple: true diff --git a/CMakeLists.txt b/CMakeLists.txt index d77ce732..f221d342 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,6 +13,9 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake") include(CheckCXXSourceCompiles) include(CMakeDependentOption) include(CMakePushCheckState) +include(cmake/detectcpu.cmake) + +DetectTargetCPUArchitectures(ISLE_CPUS) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) @@ -624,7 +627,8 @@ else() include(GNUInstallDirs) endif() -set(ISLE_PACKAGE_NAME "${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}" CACHE STRING "Platform name of the package") +string(REPLACE ";" "-" ISLE_CPUS_STRING "${ISLE_CPU}") +set(ISLE_PACKAGE_NAME "${CMAKE_SYSTEM_NAME}-${ISLE_CPUS_STRING}" CACHE STRING "Platform name of the package") if(BUILD_SHARED_LIBS) list(APPEND install_extra_targets lego1) endif() @@ -646,7 +650,7 @@ endif() add_subdirectory(packaging) set(CPACK_PACKAGE_DIRECTORY "dist") -set(CPACK_PACKAGE_FILE_NAME "isle-${PROJECT_VERSION}-${ISLE_PACKAGE_NAME}-${CMAKE_SYSTEM_PROCESSOR}") +set(CPACK_PACKAGE_FILE_NAME "isle-${PROJECT_VERSION}-${ISLE_PACKAGE_NAME}") if(MSVC) set(CPACK_GENERATOR ZIP) else() diff --git a/cmake/detectcpu.cmake b/cmake/detectcpu.cmake new file mode 100644 index 00000000..e0b6feae --- /dev/null +++ b/cmake/detectcpu.cmake @@ -0,0 +1,156 @@ +function(DetectTargetCPUArchitectures DETECTED_ARCHS) + + set(known_archs EMSCRIPTEN ARM32 ARM64 ARM64EC LOONGARCH64 POWERPC32 POWERPC64 X86 X64) + + if(APPLE AND CMAKE_OSX_ARCHITECTURES) + foreach(known_arch IN LISTS known_archs) + set(CPU_${known_arch} "0" PARENT_SCOPE) + endforeach() + set(detected_archs) + foreach(osx_arch IN LISTS CMAKE_OSX_ARCHITECTURES) + if(osx_arch STREQUAL "x86_64") + set(CPU_X64 "1" PARENT_SCOPE) + list(APPEND detected_archs "X64") + elseif(osx_arch STREQUAL "arm64") + set(CPU_ARM64 "1" PARENT_SCOPE) + list(APPEND detected_archs "ARM64") + endif() + endforeach() + set("${DETECTED_ARCHS}" "${detected_archs}" PARENT_SCOPE) + return() + endif() + + set(detected_archs) + foreach(known_arch IN LISTS known_archs) + if(CPU_${known_arch}) + list(APPEND detected_archs "${known_arch}") + endif() + endforeach() + + if(detected_archs) + set("${DETECTED_ARCHS}" "${detected_archs}" PARENT_SCOPE) + return() + endif() + + set(arch_check_ARM32 "defined(__arm__) || defined(_M_ARM)") + set(arch_check_ARM64 "defined(__aarch64__) || defined(_M_ARM64)") + set(arch_check_ARM64EC "defined(_M_ARM64EC)") + set(arch_check_EMSCRIPTEN "defined(__EMSCRIPTEN__)") + set(arch_check_LOONGARCH64 "defined(__loongarch64)") + set(arch_check_POWERPC32 "(defined(__PPC__) || defined(__powerpc__)) && !defined(__powerpc64__)") + set(arch_check_POWERPC64 "defined(__PPC64__) || defined(__powerpc64__)") + set(arch_check_X86 "defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__) ||defined( __i386) || defined(_M_IX86)") + set(arch_check_X64 "(defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(_M_X64) || defined(_M_AMD64)) && !defined(_M_ARM64EC)") + + set(src_vars "") + set(src_main "") + foreach(known_arch IN LISTS known_archs) + set(detected_${known_arch} "0") + + string(APPEND src_vars " +#if ${arch_check_${known_arch}} +#define ARCH_${known_arch} \"1\" +#else +#define ARCH_${known_arch} \"0\" +#endif +const char *arch_${known_arch} = \"INFO<${known_arch}=\" ARCH_${known_arch} \">\"; +") + string(APPEND src_main " + result += arch_${known_arch}[argc];") + endforeach() + + set(src_arch_detect "${src_vars} +int main(int argc, char *argv[]) { + int result = 0; + (void)argv; +${src_main} + return result; +}") + + if(CMAKE_C_COMPILER) + set(ext ".c") + elseif(CMAKE_CXX_COMPILER) + set(ext ".cpp") + else() + enable_language(C) + set(ext ".c") + endif() + set(path_src_arch_detect "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/CMakeTmp/detect_arch${ext}") + file(WRITE "${path_src_arch_detect}" "${src_arch_detect}") + set(path_dir_arch_detect "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/CMakeTmp/detect_arch") + set(path_bin_arch_detect "${path_dir_arch_detect}/bin") + + set(detected_archs) + + set(msg "Detecting Target CPU Architecture") + message(STATUS "${msg}") + + include(CMakePushCheckState) + + set(CMAKE_TRY_COMPILE_TARGET_TYPE "STATIC_LIBRARY") + + cmake_push_check_state(RESET) + try_compile(CPU_CHECK_ALL + "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/CMakeTmp/detect_arch" + SOURCES "${path_src_arch_detect}" + COPY_FILE "${path_bin_arch_detect}" + ) + cmake_pop_check_state() + if(NOT CPU_CHECK_ALL) + message(STATUS "${msg} - ") + message(WARNING "Failed to compile source detecting the target CPU architecture") + else() + set(re "INFO<([A-Z0-9]+)=([01])>") + file(STRINGS "${path_bin_arch_detect}" infos REGEX "${re}") + + foreach(info_arch_01 IN LISTS infos) + string(REGEX MATCH "${re}" A "${info_arch_01}") + if(NOT "${CMAKE_MATCH_1}" IN_LIST known_archs) + message(WARNING "Unknown architecture: \"${CMAKE_MATCH_1}\"") + continue() + endif() + set(arch "${CMAKE_MATCH_1}") + set(arch_01 "${CMAKE_MATCH_2}") + set(detected_${arch} "${arch_01}") + endforeach() + + foreach(known_arch IN LISTS known_archs) + if(detected_${known_arch}) + list(APPEND detected_archs ${known_arch}) + endif() + endforeach() + endif() + + if(detected_archs) + foreach(known_arch IN LISTS known_archs) + set("CPU_${known_arch}" "${detected_${known_arch}}" CACHE BOOL "Detected architecture ${known_arch}") + endforeach() + message(STATUS "${msg} - ${detected_archs}") + else() + include(CheckCSourceCompiles) + cmake_push_check_state(RESET) + foreach(known_arch IN LISTS known_archs) + if(NOT detected_archs) + set(cache_variable "CPU_${known_arch}") + set(test_src " + int main(int argc, char *argv[]) { + #if ${arch_check_${known_arch}} + return 0; + #else + choke + #endif + } + ") + check_c_source_compiles("${test_src}" "${cache_variable}") + if(${cache_variable}) + set(CPU_${known_arch} "1" CACHE BOOL "Detected architecture ${known_arch}") + set(detected_archs ${known_arch}) + else() + set(CPU_${known_arch} "0" CACHE BOOL "Detected architecture ${known_arch}") + endif() + endif() + endforeach() + cmake_pop_check_state() + endif() + set("${DETECTED_ARCHS}" "${detected_archs}" PARENT_SCOPE) +endfunction() From a258a89b1f7265efc8240ca0ee2551e3c6d747f8 Mon Sep 17 00:00:00 2001 From: Anonymous Maarten Date: Mon, 30 Jun 2025 00:06:21 +0000 Subject: [PATCH 34/42] cmake: fix typo of architecture used in binary artifact (#455) --- CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f221d342..ac3663fc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -627,7 +627,8 @@ else() include(GNUInstallDirs) endif() -string(REPLACE ";" "-" ISLE_CPUS_STRING "${ISLE_CPU}") +string(REPLACE ";" "-" ISLE_CPUS_STRING "${ISLE_CPUS}") +string(TOLOWER "${ISLE_CPUS_STRING}" ISLE_CPUS_STRING) set(ISLE_PACKAGE_NAME "${CMAKE_SYSTEM_NAME}-${ISLE_CPUS_STRING}" CACHE STRING "Platform name of the package") if(BUILD_SHARED_LIBS) list(APPEND install_extra_targets lego1) From 225adda309deaba0d289fc8fa9543737e51dc953 Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Mon, 30 Jun 2025 22:51:26 +0200 Subject: [PATCH 35/42] Rendering refactoring (#459) * Hint texture intent to renderer * improve transparancy for 32bit rendering * Align OpenGL ES 2.0 with SDL_GPU's 2D rendering --- LEGO1/omni/src/video/mxdisplaysurface.cpp | 20 +- .../src/d3drm/backends/directx9/renderer.cpp | 20 +- .../src/d3drm/backends/opengl1/renderer.cpp | 20 +- .../src/d3drm/backends/opengles2/renderer.cpp | 353 +++++++++--------- .../src/d3drm/backends/sdl3gpu/renderer.cpp | 53 +-- .../src/d3drm/backends/software/renderer.cpp | 20 +- miniwin/src/ddraw/ddraw.cpp | 16 +- miniwin/src/ddraw/framebuffer.cpp | 2 +- miniwin/src/internal/d3drmrenderer.h | 4 +- miniwin/src/internal/d3drmrenderer_directx9.h | 23 +- miniwin/src/internal/d3drmrenderer_opengl1.h | 23 +- .../src/internal/d3drmrenderer_opengles2.h | 38 +- miniwin/src/internal/d3drmrenderer_sdl3gpu.h | 23 +- miniwin/src/internal/d3drmrenderer_software.h | 20 +- miniwin/src/internal/ddraw_impl.h | 9 +- miniwin/src/internal/meshutils.cpp | 28 ++ miniwin/src/internal/meshutils.h | 10 + 17 files changed, 330 insertions(+), 352 deletions(-) diff --git a/LEGO1/omni/src/video/mxdisplaysurface.cpp b/LEGO1/omni/src/video/mxdisplaysurface.cpp index 6c93a0e7..c2886ebe 100644 --- a/LEGO1/omni/src/video/mxdisplaysurface.cpp +++ b/LEGO1/omni/src/video/mxdisplaysurface.cpp @@ -926,7 +926,7 @@ LPDIRECTDRAWSURFACE MxDisplaySurface::VTable0x44( transparentColor = RGB555_CREATE(0x1f, 0, 0x1f); break; default: - transparentColor = RGB8888_CREATE(0xff, 0, 0xff, 0); + transparentColor = RGB8888_CREATE(0, 0, 0, 0); break; } @@ -971,25 +971,11 @@ LPDIRECTDRAWSURFACE MxDisplaySurface::VTable0x44( surfacePtr += adjustedPitch; } - if (p_transparent && surface) { - DDCOLORKEY key; - key.dwColorSpaceLowValue = key.dwColorSpaceHighValue = transparentColor; - surface->SetColorKey(DDCKEY_SRCBLT, &key); - } - surface->Unlock(ddsd.lpSurface); - if (p_transparent && surface) { + if (p_transparent && surface && bytesPerPixel != 4) { DDCOLORKEY key; - if (bytesPerPixel == 1) { - key.dwColorSpaceLowValue = key.dwColorSpaceHighValue = 0; - } - else if (bytesPerPixel == 2) { - key.dwColorSpaceLowValue = key.dwColorSpaceHighValue = RGB555_CREATE(0x1f, 0, 0x1f); - } - else { - key.dwColorSpaceLowValue = key.dwColorSpaceHighValue = RGB8888_CREATE(0xff, 0, 0xff, 0); - } + key.dwColorSpaceLowValue = key.dwColorSpaceHighValue = transparentColor; surface->SetColorKey(DDCKEY_SRCBLT, &key); } } diff --git a/miniwin/src/d3drm/backends/directx9/renderer.cpp b/miniwin/src/d3drm/backends/directx9/renderer.cpp index 574939f5..5917cd07 100644 --- a/miniwin/src/d3drm/backends/directx9/renderer.cpp +++ b/miniwin/src/d3drm/backends/directx9/renderer.cpp @@ -76,7 +76,7 @@ void DirectX9Renderer::AddTextureDestroyCallback(Uint32 id, IDirect3DRMTexture* ); } -Uint32 DirectX9Renderer::GetTextureId(IDirect3DRMTexture* iTexture) +Uint32 DirectX9Renderer::GetTextureId(IDirect3DRMTexture* iTexture, bool isUi) { auto texture = static_cast(iTexture); auto surface = static_cast(texture->m_surface); @@ -216,24 +216,6 @@ Uint32 DirectX9Renderer::GetMeshId(IDirect3DRMMesh* mesh, const MeshGroup* meshG return static_cast(m_meshs.size() - 1); } -void DirectX9Renderer::GetDesc(D3DDEVICEDESC* halDesc, D3DDEVICEDESC* helDesc) -{ - halDesc->dcmColorModel = D3DCOLORMODEL::RGB; - halDesc->dwFlags = D3DDD_DEVICEZBUFFERBITDEPTH; - halDesc->dwDeviceZBufferBitDepth = DDBD_24; - helDesc->dwDeviceRenderBitDepth = DDBD_32; - halDesc->dpcTriCaps.dwTextureCaps = D3DPTEXTURECAPS_PERSPECTIVE; - halDesc->dpcTriCaps.dwShadeCaps = D3DPSHADECAPS_ALPHAFLATBLEND; - halDesc->dpcTriCaps.dwTextureFilterCaps = D3DPTFILTERCAPS_LINEAR; - - memset(helDesc, 0, sizeof(D3DDEVICEDESC)); -} - -const char* DirectX9Renderer::GetName() -{ - return "DirectX 9 HAL"; -} - HRESULT DirectX9Renderer::BeginFrame() { return Actual_BeginFrame(); diff --git a/miniwin/src/d3drm/backends/opengl1/renderer.cpp b/miniwin/src/d3drm/backends/opengl1/renderer.cpp index a0b84a80..66f08d23 100644 --- a/miniwin/src/d3drm/backends/opengl1/renderer.cpp +++ b/miniwin/src/d3drm/backends/opengl1/renderer.cpp @@ -122,7 +122,7 @@ void OpenGL1Renderer::AddTextureDestroyCallback(Uint32 id, IDirect3DRMTexture* t ); } -Uint32 OpenGL1Renderer::GetTextureId(IDirect3DRMTexture* iTexture) +Uint32 OpenGL1Renderer::GetTextureId(IDirect3DRMTexture* iTexture, bool isUi) { auto texture = static_cast(iTexture); auto surface = static_cast(texture->m_surface); @@ -265,24 +265,6 @@ Uint32 OpenGL1Renderer::GetMeshId(IDirect3DRMMesh* mesh, const MeshGroup* meshGr return (Uint32) (m_meshs.size() - 1); } -void OpenGL1Renderer::GetDesc(D3DDEVICEDESC* halDesc, D3DDEVICEDESC* helDesc) -{ - halDesc->dcmColorModel = D3DCOLORMODEL::RGB; - halDesc->dwFlags = D3DDD_DEVICEZBUFFERBITDEPTH; - halDesc->dwDeviceZBufferBitDepth = DDBD_24; - helDesc->dwDeviceRenderBitDepth = DDBD_32; - halDesc->dpcTriCaps.dwTextureCaps = D3DPTEXTURECAPS_PERSPECTIVE; - halDesc->dpcTriCaps.dwShadeCaps = D3DPSHADECAPS_ALPHAFLATBLEND; - halDesc->dpcTriCaps.dwTextureFilterCaps = D3DPTFILTERCAPS_LINEAR; - - memset(helDesc, 0, sizeof(D3DDEVICEDESC)); -} - -const char* OpenGL1Renderer::GetName() -{ - return "OpenGL 1.1 HAL"; -} - HRESULT OpenGL1Renderer::BeginFrame() { GL11_BeginFrame((Matrix4x4*) &m_projection[0][0]); diff --git a/miniwin/src/d3drm/backends/opengles2/renderer.cpp b/miniwin/src/d3drm/backends/opengles2/renderer.cpp index 9305510a..8c39d937 100644 --- a/miniwin/src/d3drm/backends/opengles2/renderer.cpp +++ b/miniwin/src/d3drm/backends/opengles2/renderer.cpp @@ -181,14 +181,88 @@ Direct3DRMRenderer* OpenGLES2Renderer::Create(DWORD width, DWORD height) return new OpenGLES2Renderer(width, height, context, shaderProgram); } +GLES2MeshCacheEntry GLES2UploadMesh(const MeshGroup& meshGroup, bool forceUV = false) +{ + GLES2MeshCacheEntry cache{&meshGroup, meshGroup.version}; + + cache.flat = meshGroup.quality == D3DRMRENDER_FLAT || meshGroup.quality == D3DRMRENDER_UNLITFLAT; + + std::vector vertices; + if (cache.flat) { + FlattenSurfaces( + meshGroup.vertices.data(), + meshGroup.vertices.size(), + meshGroup.indices.data(), + meshGroup.indices.size(), + meshGroup.texture != nullptr || forceUV, + vertices, + cache.indices + ); + } + else { + vertices = meshGroup.vertices; + cache.indices.resize(meshGroup.indices.size()); + std::transform(meshGroup.indices.begin(), meshGroup.indices.end(), cache.indices.begin(), [](DWORD index) { + return static_cast(index); + }); + } + + std::vector texcoords; + if (meshGroup.texture || forceUV) { + texcoords.resize(vertices.size()); + std::transform(vertices.begin(), vertices.end(), texcoords.begin(), [](const D3DRMVERTEX& v) { + return v.texCoord; + }); + } + std::vector positions(vertices.size()); + std::transform(vertices.begin(), vertices.end(), positions.begin(), [](const D3DRMVERTEX& v) { + return v.position; + }); + std::vector normals(vertices.size()); + std::transform(vertices.begin(), vertices.end(), normals.begin(), [](const D3DRMVERTEX& v) { return v.normal; }); + + glGenBuffers(1, &cache.vboPositions); + glBindBuffer(GL_ARRAY_BUFFER, cache.vboPositions); + glBufferData(GL_ARRAY_BUFFER, positions.size() * sizeof(D3DVECTOR), positions.data(), GL_STATIC_DRAW); + + glGenBuffers(1, &cache.vboNormals); + glBindBuffer(GL_ARRAY_BUFFER, cache.vboNormals); + glBufferData(GL_ARRAY_BUFFER, normals.size() * sizeof(D3DVECTOR), normals.data(), GL_STATIC_DRAW); + + if (meshGroup.texture || forceUV) { + glGenBuffers(1, &cache.vboTexcoords); + glBindBuffer(GL_ARRAY_BUFFER, cache.vboTexcoords); + glBufferData(GL_ARRAY_BUFFER, texcoords.size() * sizeof(TexCoord), texcoords.data(), GL_STATIC_DRAW); + } + + glGenBuffers(1, &cache.ibo); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, cache.ibo); + glBufferData( + GL_ELEMENT_ARRAY_BUFFER, + cache.indices.size() * sizeof(cache.indices[0]), + cache.indices.data(), + GL_STATIC_DRAW + ); + + return cache; +} + OpenGLES2Renderer::OpenGLES2Renderer(DWORD width, DWORD height, SDL_GLContext context, GLuint shaderProgram) : m_context(context), m_shaderProgram(shaderProgram) { - m_width = width; - m_height = height; m_virtualWidth = width; m_virtualHeight = height; - m_renderedImage = SDL_CreateSurface(m_width, m_height, SDL_PIXELFORMAT_RGBA32); + ViewportTransform viewportTransform = {1.0f, 0.0f, 0.0f}; + Resize(width, height, viewportTransform); + + m_uiMesh.vertices = { + {{0.0f, 0.0f, 0.0f}, {0, 0, -1}, {0.0f, 0.0f}}, + {{1.0f, 0.0f, 0.0f}, {0, 0, -1}, {1.0f, 0.0f}}, + {{1.0f, 1.0f, 0.0f}, {0, 0, -1}, {1.0f, 1.0f}}, + {{0.0f, 1.0f, 0.0f}, {0, 0, -1}, {0.0f, 1.0f}} + }; + m_uiMesh.indices = {0, 1, 2, 0, 2, 3}; + m_uiMeshCache = GLES2UploadMesh(m_uiMesh, true); } OpenGLES2Renderer::~OpenGLES2Renderer() @@ -239,7 +313,48 @@ void OpenGLES2Renderer::AddTextureDestroyCallback(Uint32 id, IDirect3DRMTexture* ); } -Uint32 OpenGLES2Renderer::GetTextureId(IDirect3DRMTexture* iTexture) +bool UploadTexture(SDL_Surface* source, GLuint& outTexId, bool isUi) +{ + SDL_Surface* surf = source; + if (source->format != SDL_PIXELFORMAT_RGBA32) { + surf = SDL_ConvertSurface(source, SDL_PIXELFORMAT_RGBA32); + if (!surf) { + return false; + } + } + + glGenTextures(1, &outTexId); + glBindTexture(GL_TEXTURE_2D, outTexId); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, surf->w, surf->h, 0, GL_RGBA, GL_UNSIGNED_BYTE, surf->pixels); + + if (isUi) { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + } + else { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + if (strstr((const char*) glGetString(GL_EXTENSIONS), "GL_EXT_texture_filter_anisotropic")) { + GLfloat maxAniso = 0.0f; + glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &maxAniso); + GLfloat desiredAniso = fminf(8.0f, maxAniso); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, desiredAniso); + } + glGenerateMipmap(GL_TEXTURE_2D); + } + + if (surf != source) { + SDL_DestroySurface(surf); + } + + return true; +} + +Uint32 OpenGLES2Renderer::GetTextureId(IDirect3DRMTexture* iTexture, bool isUi) { auto texture = static_cast(iTexture); auto surface = static_cast(texture->m_surface); @@ -249,31 +364,18 @@ Uint32 OpenGLES2Renderer::GetTextureId(IDirect3DRMTexture* iTexture) if (tex.texture == texture) { if (tex.version != texture->m_version) { glDeleteTextures(1, &tex.glTextureId); - glGenTextures(1, &tex.glTextureId); - glBindTexture(GL_TEXTURE_2D, tex.glTextureId); - - SDL_Surface* surf = SDL_ConvertSurface(surface->m_surface, SDL_PIXELFORMAT_RGBA32); - if (!surf) { - return NO_TEXTURE_ID; + if (UploadTexture(surface->m_surface, tex.glTextureId, isUi)) { + tex.version = texture->m_version; } - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, surf->w, surf->h, 0, GL_RGBA, GL_UNSIGNED_BYTE, surf->pixels); - SDL_DestroySurface(surf); - - tex.version = texture->m_version; } return i; } } GLuint texId; - glGenTextures(1, &texId); - glBindTexture(GL_TEXTURE_2D, texId); - - SDL_Surface* surf = SDL_ConvertSurface(surface->m_surface, SDL_PIXELFORMAT_RGBA32); - if (!surf) { + if (!UploadTexture(surface->m_surface, texId, isUi)) { return NO_TEXTURE_ID; } - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, surf->w, surf->h, 0, GL_RGBA, GL_UNSIGNED_BYTE, surf->pixels); for (Uint32 i = 0; i < m_textures.size(); ++i) { auto& tex = m_textures[i]; @@ -281,85 +383,20 @@ Uint32 OpenGLES2Renderer::GetTextureId(IDirect3DRMTexture* iTexture) tex.texture = texture; tex.version = texture->m_version; tex.glTextureId = texId; - tex.width = surf->w; - tex.height = surf->h; + tex.width = surface->m_surface->w; + tex.height = surface->m_surface->h; AddTextureDestroyCallback(i, texture); return i; } } - m_textures.push_back({texture, texture->m_version, texId, (uint16_t) surf->w, (uint16_t) surf->h}); - SDL_DestroySurface(surf); + m_textures.push_back( + {texture, texture->m_version, texId, (uint16_t) surface->m_surface->w, (uint16_t) surface->m_surface->h} + ); AddTextureDestroyCallback((Uint32) (m_textures.size() - 1), texture); return (Uint32) (m_textures.size() - 1); } -GLES2MeshCacheEntry GLES2UploadMesh(const MeshGroup& meshGroup) -{ - GLES2MeshCacheEntry cache{&meshGroup, meshGroup.version}; - - cache.flat = meshGroup.quality == D3DRMRENDER_FLAT || meshGroup.quality == D3DRMRENDER_UNLITFLAT; - - std::vector vertices; - if (cache.flat) { - FlattenSurfaces( - meshGroup.vertices.data(), - meshGroup.vertices.size(), - meshGroup.indices.data(), - meshGroup.indices.size(), - meshGroup.texture != nullptr, - vertices, - cache.indices - ); - } - else { - vertices = meshGroup.vertices; - cache.indices.resize(meshGroup.indices.size()); - std::transform(meshGroup.indices.begin(), meshGroup.indices.end(), cache.indices.begin(), [](DWORD index) { - return static_cast(index); - }); - } - - std::vector texcoords; - if (meshGroup.texture) { - texcoords.resize(vertices.size()); - std::transform(vertices.begin(), vertices.end(), texcoords.begin(), [](const D3DRMVERTEX& v) { - return v.texCoord; - }); - } - std::vector positions(vertices.size()); - std::transform(vertices.begin(), vertices.end(), positions.begin(), [](const D3DRMVERTEX& v) { - return v.position; - }); - std::vector normals(vertices.size()); - std::transform(vertices.begin(), vertices.end(), normals.begin(), [](const D3DRMVERTEX& v) { return v.normal; }); - - glGenBuffers(1, &cache.vboPositions); - glBindBuffer(GL_ARRAY_BUFFER, cache.vboPositions); - glBufferData(GL_ARRAY_BUFFER, positions.size() * sizeof(D3DVECTOR), positions.data(), GL_STATIC_DRAW); - - glGenBuffers(1, &cache.vboNormals); - glBindBuffer(GL_ARRAY_BUFFER, cache.vboNormals); - glBufferData(GL_ARRAY_BUFFER, normals.size() * sizeof(D3DVECTOR), normals.data(), GL_STATIC_DRAW); - - if (meshGroup.texture) { - glGenBuffers(1, &cache.vboTexcoords); - glBindBuffer(GL_ARRAY_BUFFER, cache.vboTexcoords); - glBufferData(GL_ARRAY_BUFFER, texcoords.size() * sizeof(TexCoord), texcoords.data(), GL_STATIC_DRAW); - } - - glGenBuffers(1, &cache.ibo); - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, cache.ibo); - glBufferData( - GL_ELEMENT_ARRAY_BUFFER, - cache.indices.size() * sizeof(cache.indices[0]), - cache.indices.data(), - GL_STATIC_DRAW - ); - - return cache; -} - struct GLES2MeshDestroyContext { OpenGLES2Renderer* renderer; Uint32 id; @@ -411,37 +448,11 @@ Uint32 OpenGLES2Renderer::GetMeshId(IDirect3DRMMesh* mesh, const MeshGroup* mesh return (Uint32) (m_meshs.size() - 1); } -void OpenGLES2Renderer::GetDesc(D3DDEVICEDESC* halDesc, D3DDEVICEDESC* helDesc) -{ - halDesc->dcmColorModel = D3DCOLORMODEL::RGB; - halDesc->dwFlags = D3DDD_DEVICEZBUFFERBITDEPTH; - halDesc->dwDeviceZBufferBitDepth = DDBD_16; - const char* extensions = (const char*) glGetString(GL_EXTENSIONS); - if (extensions) { - if (strstr(extensions, "GL_OES_depth24")) { - halDesc->dwDeviceZBufferBitDepth |= DDBD_24; - } - if (strstr(extensions, "GL_OES_depth32")) { - halDesc->dwDeviceZBufferBitDepth |= DDBD_32; - } - } - helDesc->dwDeviceRenderBitDepth = DDBD_32; - halDesc->dpcTriCaps.dwTextureCaps = D3DPTEXTURECAPS_PERSPECTIVE; - halDesc->dpcTriCaps.dwShadeCaps = D3DPSHADECAPS_ALPHAFLATBLEND; - halDesc->dpcTriCaps.dwTextureFilterCaps = D3DPTFILTERCAPS_LINEAR; - - memset(helDesc, 0, sizeof(D3DDEVICEDESC)); -} - -const char* OpenGLES2Renderer::GetName() -{ - return "OpenGL ES 2.0 HAL"; -} - HRESULT OpenGLES2Renderer::BeginFrame() { m_dirty = true; + glEnable(GL_CULL_FACE); glDisable(GL_BLEND); glEnable(GL_DEPTH_TEST); glDepthMask(GL_TRUE); @@ -516,8 +527,6 @@ void OpenGLES2Renderer::SubmitDraw( glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, m_textures[appearance.textureId].glTextureId); glUniform1i(glGetUniformLocation(m_shaderProgram, "u_texture"), 0); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); } else { glUniform1i(glGetUniformLocation(m_shaderProgram, "u_useTexture"), 0); @@ -543,7 +552,6 @@ void OpenGLES2Renderer::SubmitDraw( glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, mesh.ibo); glDrawElements(GL_TRIANGLES, static_cast(mesh.indices.size()), GL_UNSIGNED_SHORT, nullptr); - glDisableVertexAttribArray(posLoc); glDisableVertexAttribArray(normLoc); glDisableVertexAttribArray(texLoc); } @@ -562,7 +570,9 @@ void OpenGLES2Renderer::Resize(int width, int height, const ViewportTransform& v m_width = width; m_height = height; m_viewportTransform = viewportTransform; - SDL_DestroySurface(m_renderedImage); + if (m_renderedImage) { + SDL_DestroySurface(m_renderedImage); + } m_renderedImage = SDL_CreateSurface(m_width, m_height, SDL_PIXELFORMAT_RGBA32); glViewport(0, 0, m_width, m_height); } @@ -584,35 +594,6 @@ void OpenGLES2Renderer::Flip() } } -void CreateOrthoMatrix(float left, float right, float bottom, float top, D3DRMMATRIX4D& outMatrix) -{ - float near = -1.0f; - float far = 1.0f; - float rl = right - left; - float tb = top - bottom; - float fn = far - near; - - outMatrix[0][0] = 2.0f / rl; - outMatrix[0][1] = 0.0f; - outMatrix[0][2] = 0.0f; - outMatrix[0][3] = 0.0f; - - outMatrix[1][0] = 0.0f; - outMatrix[1][1] = 2.0f / tb; - outMatrix[1][2] = 0.0f; - outMatrix[1][3] = 0.0f; - - outMatrix[2][0] = 0.0f; - outMatrix[2][1] = 0.0f; - outMatrix[2][2] = -2.0f / fn; - outMatrix[2][3] = 0.0f; - - outMatrix[3][0] = -(right + left) / rl; - outMatrix[3][1] = -(top + bottom) / tb; - outMatrix[3][2] = -(far + near) / fn; - outMatrix[3][3] = 1.0f; -} - void OpenGLES2Renderer::Draw2DImage(Uint32 textureId, const SDL_Rect& srcRect, const SDL_Rect& dstRect) { m_dirty = true; @@ -632,17 +613,29 @@ void OpenGLES2Renderer::Draw2DImage(Uint32 textureId, const SDL_Rect& srcRect, c glUniform4f(glGetUniformLocation(m_shaderProgram, "u_color"), 1.0f, 1.0f, 1.0f, 1.0f); glUniform1f(glGetUniformLocation(m_shaderProgram, "u_shininess"), 0.0f); - float left = -m_viewportTransform.offsetX / m_viewportTransform.scale; - float right = (m_width - m_viewportTransform.offsetX) / m_viewportTransform.scale; - float top = -m_viewportTransform.offsetY / m_viewportTransform.scale; - float bottom = (m_height - m_viewportTransform.offsetY) / m_viewportTransform.scale; + const GLES2TextureCacheEntry& texture = m_textures[textureId]; + float scaleX = static_cast(dstRect.w) / srcRect.w; + float scaleY = static_cast(dstRect.h) / srcRect.h; + SDL_Rect expandedDstRect = { + static_cast(std::round(dstRect.x - srcRect.x * scaleX)), + static_cast(std::round(dstRect.y - srcRect.y * scaleY)), + static_cast(std::round(texture.width * scaleX)), + static_cast(std::round(texture.height * scaleY)) + }; - D3DRMMATRIX4D projection; - CreateOrthoMatrix(left, right, bottom, top, projection); + D3DRMMATRIX4D modelView, projection; + Create2DTransformMatrix( + expandedDstRect, + m_viewportTransform.scale, + m_viewportTransform.offsetX, + m_viewportTransform.offsetY, + modelView + ); - D3DRMMATRIX4D identity = {{1.f, 0.f, 0.f, 0.f}, {0.f, 1.f, 0.f, 0.f}, {0.f, 0.f, 1.f, 0.f}, {0.f, 0.f, 0.f, 1.f}}; - glUniformMatrix4fv(glGetUniformLocation(m_shaderProgram, "u_modelViewMatrix"), 1, GL_FALSE, &identity[0][0]); + glUniformMatrix4fv(glGetUniformLocation(m_shaderProgram, "u_modelViewMatrix"), 1, GL_FALSE, &modelView[0][0]); + Matrix3x3 identity = {{1.f, 0.f, 0.f}, {0.f, 1.f, 0.f}, {0.f, 0.f, 1.f}}; glUniformMatrix3fv(glGetUniformLocation(m_shaderProgram, "u_normalMatrix"), 1, GL_FALSE, &identity[0][0]); + CreateOrthographicProjection((float) m_width, (float) m_height, projection); glUniformMatrix4fv(glGetUniformLocation(m_shaderProgram, "u_projectionMatrix"), 1, GL_FALSE, &projection[0][0]); glEnable(GL_BLEND); @@ -650,42 +643,34 @@ void OpenGLES2Renderer::Draw2DImage(Uint32 textureId, const SDL_Rect& srcRect, c glActiveTexture(GL_TEXTURE0); glUniform1i(glGetUniformLocation(m_shaderProgram, "u_useTexture"), 1); - const GLES2TextureCacheEntry& texture = m_textures[textureId]; glBindTexture(GL_TEXTURE_2D, texture.glTextureId); glUniform1i(glGetUniformLocation(m_shaderProgram, "u_texture"), 0); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); - float texW = texture.width; - float texH = texture.height; - float u1 = srcRect.x / texW; - float v1 = srcRect.y / texH; - float u2 = (srcRect.x + srcRect.w) / texW; - float v2 = (srcRect.y + srcRect.h) / texH; - - float x1 = static_cast(dstRect.x); - float y1 = static_cast(dstRect.y); - float x2 = x1 + dstRect.w; - float y2 = y1 + dstRect.h; - - GLfloat vertices[] = {x1, y1, u1, v1, x2, y1, u2, v1, x1, y2, u1, v2, x2, y2, u2, v2}; + glEnable(GL_SCISSOR_TEST); + glScissor( + static_cast(std::round(dstRect.x * m_viewportTransform.scale + m_viewportTransform.offsetX)), + m_height - static_cast( + std::round((dstRect.y + dstRect.h) * m_viewportTransform.scale + m_viewportTransform.offsetY) + ), + static_cast(std::round(dstRect.w * m_viewportTransform.scale)), + static_cast(std::round(dstRect.h * m_viewportTransform.scale)) + ); GLint posLoc = glGetAttribLocation(m_shaderProgram, "a_position"); - GLint texLoc = glGetAttribLocation(m_shaderProgram, "a_texCoord"); - + glBindBuffer(GL_ARRAY_BUFFER, m_uiMeshCache.vboPositions); glEnableVertexAttribArray(posLoc); + glVertexAttribPointer(posLoc, 3, GL_FLOAT, GL_FALSE, 0, nullptr); + + GLint texLoc = glGetAttribLocation(m_shaderProgram, "a_texCoord"); + glBindBuffer(GL_ARRAY_BUFFER, m_uiMeshCache.vboTexcoords); glEnableVertexAttribArray(texLoc); + glVertexAttribPointer(texLoc, 2, GL_FLOAT, GL_FALSE, 0, nullptr); - glVertexAttribPointer(posLoc, 2, GL_FLOAT, GL_FALSE, 4 * sizeof(GLfloat), vertices); - glVertexAttribPointer(texLoc, 2, GL_FLOAT, GL_FALSE, 4 * sizeof(GLfloat), vertices + 2); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_uiMeshCache.ibo); + glDrawElements(GL_TRIANGLES, static_cast(m_uiMeshCache.indices.size()), GL_UNSIGNED_SHORT, nullptr); - glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); - - glDisableVertexAttribArray(posLoc); glDisableVertexAttribArray(texLoc); - - glBindTexture(GL_TEXTURE_2D, 0); - glUseProgram(0); + glDisable(GL_SCISSOR_TEST); } void OpenGLES2Renderer::Download(SDL_Surface* target) diff --git a/miniwin/src/d3drm/backends/sdl3gpu/renderer.cpp b/miniwin/src/d3drm/backends/sdl3gpu/renderer.cpp index 4ee5a35c..a499193c 100644 --- a/miniwin/src/d3drm/backends/sdl3gpu/renderer.cpp +++ b/miniwin/src/d3drm/backends/sdl3gpu/renderer.cpp @@ -533,7 +533,7 @@ SDL_GPUTexture* Direct3DRMSDL3GPURenderer::CreateTextureFromSurface(SDL_Surface* return texptr; } -Uint32 Direct3DRMSDL3GPURenderer::GetTextureId(IDirect3DRMTexture* iTexture) +Uint32 Direct3DRMSDL3GPURenderer::GetTextureId(IDirect3DRMTexture* iTexture, bool isUi) { auto texture = static_cast(iTexture); auto surface = static_cast(texture->m_surface); @@ -585,7 +585,7 @@ SDL3MeshCache Direct3DRMSDL3GPURenderer::UploadMesh(const MeshGroup& meshGroup) meshGroup.vertices.size(), meshGroup.indices.data(), meshGroup.indices.size(), - meshGroup.texture != nullptr, + true, finalVertices, newIndices ); @@ -712,24 +712,6 @@ Uint32 Direct3DRMSDL3GPURenderer::GetMeshId(IDirect3DRMMesh* mesh, const MeshGro return (Uint32) (m_meshs.size() - 1); } -void Direct3DRMSDL3GPURenderer::GetDesc(D3DDEVICEDESC* halDesc, D3DDEVICEDESC* helDesc) -{ - halDesc->dcmColorModel = D3DCOLORMODEL::RGB; - halDesc->dwFlags = D3DDD_DEVICEZBUFFERBITDEPTH; - halDesc->dwDeviceZBufferBitDepth = DDBD_32; // Todo add support for other depths - halDesc->dwDeviceRenderBitDepth = DDBD_32; - halDesc->dpcTriCaps.dwTextureCaps = D3DPTEXTURECAPS_PERSPECTIVE; - halDesc->dpcTriCaps.dwShadeCaps = D3DPSHADECAPS_ALPHAFLATBLEND; - halDesc->dpcTriCaps.dwTextureFilterCaps = D3DPTFILTERCAPS_LINEAR; - - memset(helDesc, 0, sizeof(D3DDEVICEDESC)); -} - -const char* Direct3DRMSDL3GPURenderer::GetName() -{ - return "SDL3 GPU HAL"; -} - void PackNormalMatrix(const Matrix3x3& normalMatrix3x3, D3DRMMATRIX4D& packedNormalMatrix4x4) { for (int row = 0; row < 3; ++row) { @@ -940,37 +922,6 @@ void Direct3DRMSDL3GPURenderer::Flip() m_cmdbuf = nullptr; } -// TODO use SDL_SetGPUScissor(SDL_GPURenderPass *render_pass, const SDL_Rect *scissor) when srcRect isn't 100% of -// texture - -void Create2DTransformMatrix( - const SDL_Rect& dstRect, - float scale, - float offsetX, - float offsetY, - D3DRMMATRIX4D& outMatrix -) -{ - float x = static_cast(dstRect.x) * scale + offsetX; - float y = static_cast(dstRect.y) * scale + offsetY; - float w = static_cast(dstRect.w) * scale; - float h = static_cast(dstRect.h) * scale; - - D3DVALUE tmp[4][4] = {{w, 0, 0, 0}, {0, h, 0, 0}, {0, 0, 1, 0}, {x, y, 0, 1}}; - memcpy(outMatrix, tmp, sizeof(tmp)); -} - -void CreateOrthographicProjection(float width, float height, D3DRMMATRIX4D& outProj) -{ - D3DVALUE tmp[4][4] = { - {2.0f / width, 0.0f, 0.0f, 0.0f}, - {0.0f, -2.0f / height, 0.0f, 0.0f}, - {0.0f, 0.0f, 1.0f, 0.0f}, - {-1.0f, 1.0f, 0.0f, 1.0f} - }; - memcpy(outProj, tmp, sizeof(tmp)); -} - void Direct3DRMSDL3GPURenderer::Draw2DImage(Uint32 textureId, const SDL_Rect& srcRect, const SDL_Rect& dstRect) { if (!m_renderPass) { diff --git a/miniwin/src/d3drm/backends/software/renderer.cpp b/miniwin/src/d3drm/backends/software/renderer.cpp index 64adc93b..6b969769 100644 --- a/miniwin/src/d3drm/backends/software/renderer.cpp +++ b/miniwin/src/d3drm/backends/software/renderer.cpp @@ -554,7 +554,7 @@ void Direct3DRMSoftwareRenderer::AddTextureDestroyCallback(Uint32 id, IDirect3DR ); } -Uint32 Direct3DRMSoftwareRenderer::GetTextureId(IDirect3DRMTexture* iTexture) +Uint32 Direct3DRMSoftwareRenderer::GetTextureId(IDirect3DRMTexture* iTexture, bool isUi) { auto texture = static_cast(iTexture); auto surface = static_cast(texture->m_surface); @@ -664,24 +664,6 @@ Uint32 Direct3DRMSoftwareRenderer::GetMeshId(IDirect3DRMMesh* mesh, const MeshGr return (Uint32) (m_meshs.size() - 1); } -void Direct3DRMSoftwareRenderer::GetDesc(D3DDEVICEDESC* halDesc, D3DDEVICEDESC* helDesc) -{ - memset(halDesc, 0, sizeof(D3DDEVICEDESC)); - - helDesc->dcmColorModel = D3DCOLORMODEL::RGB; - helDesc->dwFlags = D3DDD_DEVICEZBUFFERBITDEPTH; - helDesc->dwDeviceZBufferBitDepth = DDBD_32; - helDesc->dwDeviceRenderBitDepth = DDBD_32; - helDesc->dpcTriCaps.dwTextureCaps = D3DPTEXTURECAPS_PERSPECTIVE; - helDesc->dpcTriCaps.dwShadeCaps = D3DPSHADECAPS_ALPHAFLATBLEND; - helDesc->dpcTriCaps.dwTextureFilterCaps = D3DPTFILTERCAPS_LINEAR; -} - -const char* Direct3DRMSoftwareRenderer::GetName() -{ - return "Miniwin Emulation"; -} - HRESULT Direct3DRMSoftwareRenderer::BeginFrame() { if (!m_renderedImage || !SDL_LockSurface(m_renderedImage)) { diff --git a/miniwin/src/ddraw/ddraw.cpp b/miniwin/src/ddraw/ddraw.cpp index acf695eb..018fffd1 100644 --- a/miniwin/src/ddraw/ddraw.cpp +++ b/miniwin/src/ddraw/ddraw.cpp @@ -207,14 +207,18 @@ HRESULT DirectDrawImpl::GetCaps(LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDHELCaps) return S_OK; } -void EnumDevice(LPD3DENUMDEVICESCALLBACK cb, void* ctx, Direct3DRMRenderer* device, GUID deviceGuid) +void EnumDevice( + LPD3DENUMDEVICESCALLBACK cb, + void* ctx, + const char* name, + D3DDEVICEDESC* halDesc, + D3DDEVICEDESC* helDesc, + GUID deviceGuid +) { - D3DDEVICEDESC halDesc = {}; - D3DDEVICEDESC helDesc = {}; - device->GetDesc(&halDesc, &helDesc); - char* deviceNameDup = SDL_strdup(device->GetName()); + char* deviceNameDup = SDL_strdup(name); char* deviceDescDup = SDL_strdup("Miniwin driver"); - cb(&deviceGuid, deviceNameDup, deviceDescDup, &halDesc, &helDesc, ctx); + cb(&deviceGuid, deviceNameDup, deviceDescDup, halDesc, helDesc, ctx); SDL_free(deviceDescDup); SDL_free(deviceNameDup); } diff --git a/miniwin/src/ddraw/framebuffer.cpp b/miniwin/src/ddraw/framebuffer.cpp index eb21abef..9f4224fd 100644 --- a/miniwin/src/ddraw/framebuffer.cpp +++ b/miniwin/src/ddraw/framebuffer.cpp @@ -62,7 +62,7 @@ HRESULT FrameBufferImpl::Blt( if (!surface) { return DDERR_GENERIC; } - Uint32 textureId = DDRenderer->GetTextureId(surface->ToTexture()); + Uint32 textureId = DDRenderer->GetTextureId(surface->ToTexture(), true); SDL_Rect srcRect = lpSrcRect ? ConvertRect(lpSrcRect) : SDL_Rect{0, 0, surface->m_surface->w, surface->m_surface->h}; SDL_Rect dstRect = diff --git a/miniwin/src/internal/d3drmrenderer.h b/miniwin/src/internal/d3drmrenderer.h index e76f0759..259b20eb 100644 --- a/miniwin/src/internal/d3drmrenderer.h +++ b/miniwin/src/internal/d3drmrenderer.h @@ -31,14 +31,12 @@ class Direct3DRMRenderer : public IDirect3DDevice2 { virtual void PushLights(const SceneLight* vertices, size_t count) = 0; virtual void SetProjection(const D3DRMMATRIX4D& projection, D3DVALUE front, D3DVALUE back) = 0; virtual void SetFrustumPlanes(const Plane* frustumPlanes) = 0; - virtual Uint32 GetTextureId(IDirect3DRMTexture* texture) = 0; + virtual Uint32 GetTextureId(IDirect3DRMTexture* texture, bool isUi = false) = 0; virtual Uint32 GetMeshId(IDirect3DRMMesh* mesh, const MeshGroup* meshGroup) = 0; int GetWidth() { return m_width; } int GetHeight() { return m_height; } int GetVirtualWidth() { return m_virtualWidth; } int GetVirtualHeight() { return m_virtualHeight; } - virtual void GetDesc(D3DDEVICEDESC* halDesc, D3DDEVICEDESC* helDesc) = 0; - virtual const char* GetName() = 0; virtual HRESULT BeginFrame() = 0; virtual void EnableTransparency() = 0; virtual void SubmitDraw( diff --git a/miniwin/src/internal/d3drmrenderer_directx9.h b/miniwin/src/internal/d3drmrenderer_directx9.h index b7badb03..900bbe03 100644 --- a/miniwin/src/internal/d3drmrenderer_directx9.h +++ b/miniwin/src/internal/d3drmrenderer_directx9.h @@ -18,10 +18,8 @@ class DirectX9Renderer : public Direct3DRMRenderer { void PushLights(const SceneLight* lightsArray, size_t count) override; void SetProjection(const D3DRMMATRIX4D& projection, D3DVALUE front, D3DVALUE back) override; void SetFrustumPlanes(const Plane* frustumPlanes) override; - Uint32 GetTextureId(IDirect3DRMTexture* texture) override; + Uint32 GetTextureId(IDirect3DRMTexture* texture, bool isUi) override; Uint32 GetMeshId(IDirect3DRMMesh* mesh, const MeshGroup* meshGroup) override; - void GetDesc(D3DDEVICEDESC* halDesc, D3DDEVICEDESC* helDesc) override; - const char* GetName() override; HRESULT BeginFrame() override; void EnableTransparency() override; void SubmitDraw( @@ -52,8 +50,21 @@ class DirectX9Renderer : public Direct3DRMRenderer { inline static void DirectX9Renderer_EnumDevice(LPD3DENUMDEVICESCALLBACK cb, void* ctx) { Direct3DRMRenderer* device = DirectX9Renderer::Create(640, 480); - if (device) { - EnumDevice(cb, ctx, device, DirectX9_GUID); - delete device; + if (!device) { + return; } + delete device; + + D3DDEVICEDESC halDesc = {}; + halDesc.dcmColorModel = D3DCOLOR_RGB; + halDesc.dwFlags = D3DDD_DEVICEZBUFFERBITDEPTH; + halDesc.dwDeviceZBufferBitDepth = DDBD_24; + halDesc.dwDeviceRenderBitDepth = DDBD_32; + halDesc.dpcTriCaps.dwTextureCaps = D3DPTEXTURECAPS_PERSPECTIVE; + halDesc.dpcTriCaps.dwShadeCaps = D3DPSHADECAPS_ALPHAFLATBLEND; + halDesc.dpcTriCaps.dwTextureFilterCaps = D3DPTFILTERCAPS_LINEAR; + + D3DDEVICEDESC helDesc = {}; + + EnumDevice(cb, ctx, "DirectX 9 HAL", &halDesc, &helDesc, DirectX9_GUID); } diff --git a/miniwin/src/internal/d3drmrenderer_opengl1.h b/miniwin/src/internal/d3drmrenderer_opengl1.h index d80621a5..58406709 100644 --- a/miniwin/src/internal/d3drmrenderer_opengl1.h +++ b/miniwin/src/internal/d3drmrenderer_opengl1.h @@ -18,10 +18,8 @@ class OpenGL1Renderer : public Direct3DRMRenderer { void PushLights(const SceneLight* lightsArray, size_t count) override; void SetProjection(const D3DRMMATRIX4D& projection, D3DVALUE front, D3DVALUE back) override; void SetFrustumPlanes(const Plane* frustumPlanes) override; - Uint32 GetTextureId(IDirect3DRMTexture* texture) override; + Uint32 GetTextureId(IDirect3DRMTexture* texture, bool isUi) override; Uint32 GetMeshId(IDirect3DRMMesh* mesh, const MeshGroup* meshGroup) override; - void GetDesc(D3DDEVICEDESC* halDesc, D3DDEVICEDESC* helDesc) override; - const char* GetName() override; HRESULT BeginFrame() override; void EnableTransparency() override; void SubmitDraw( @@ -57,8 +55,21 @@ class OpenGL1Renderer : public Direct3DRMRenderer { inline static void OpenGL1Renderer_EnumDevice(LPD3DENUMDEVICESCALLBACK cb, void* ctx) { Direct3DRMRenderer* device = OpenGL1Renderer::Create(640, 480); - if (device) { - EnumDevice(cb, ctx, device, OpenGL1_GUID); - delete device; + if (!device) { + return; } + delete device; + + D3DDEVICEDESC halDesc = {}; + halDesc.dcmColorModel = D3DCOLORMODEL::RGB; + halDesc.dwFlags = D3DDD_DEVICEZBUFFERBITDEPTH; + halDesc.dwDeviceZBufferBitDepth = DDBD_24; + halDesc.dwDeviceRenderBitDepth = DDBD_32; + halDesc.dpcTriCaps.dwTextureCaps = D3DPTEXTURECAPS_PERSPECTIVE; + halDesc.dpcTriCaps.dwShadeCaps = D3DPSHADECAPS_ALPHAFLATBLEND; + halDesc.dpcTriCaps.dwTextureFilterCaps = D3DPTFILTERCAPS_LINEAR; + + D3DDEVICEDESC helDesc = {}; + + EnumDevice(cb, ctx, "OpenGL 1.1 HAL", &halDesc, &helDesc, OpenGL1_GUID); } diff --git a/miniwin/src/internal/d3drmrenderer_opengles2.h b/miniwin/src/internal/d3drmrenderer_opengles2.h index 7ea1ed9a..432f124e 100644 --- a/miniwin/src/internal/d3drmrenderer_opengles2.h +++ b/miniwin/src/internal/d3drmrenderer_opengles2.h @@ -39,10 +39,8 @@ class OpenGLES2Renderer : public Direct3DRMRenderer { void PushLights(const SceneLight* lightsArray, size_t count) override; void SetProjection(const D3DRMMATRIX4D& projection, D3DVALUE front, D3DVALUE back) override; void SetFrustumPlanes(const Plane* frustumPlanes) override; - Uint32 GetTextureId(IDirect3DRMTexture* texture) override; + Uint32 GetTextureId(IDirect3DRMTexture* texture, bool isUi) override; Uint32 GetMeshId(IDirect3DRMMesh* mesh, const MeshGroup* meshGroup) override; - void GetDesc(D3DDEVICEDESC* halDesc, D3DDEVICEDESC* helDesc) override; - const char* GetName() override; HRESULT BeginFrame() override; void EnableTransparency() override; void SubmitDraw( @@ -64,10 +62,12 @@ class OpenGLES2Renderer : public Direct3DRMRenderer { void AddTextureDestroyCallback(Uint32 id, IDirect3DRMTexture* texture); void AddMeshDestroyCallback(Uint32 id, IDirect3DRMMesh* mesh); + MeshGroup m_uiMesh; + GLES2MeshCacheEntry m_uiMeshCache; std::vector m_textures; std::vector m_meshs; D3DRMMATRIX4D m_projection; - SDL_Surface* m_renderedImage; + SDL_Surface* m_renderedImage = nullptr; bool m_dirty = false; std::vector m_lights; SDL_GLContext m_context; @@ -78,8 +78,32 @@ class OpenGLES2Renderer : public Direct3DRMRenderer { inline static void OpenGLES2Renderer_EnumDevice(LPD3DENUMDEVICESCALLBACK cb, void* ctx) { Direct3DRMRenderer* device = OpenGLES2Renderer::Create(640, 480); - if (device) { - EnumDevice(cb, ctx, device, OpenGLES2_GUID); - delete device; + if (!device) { + return; } + + D3DDEVICEDESC halDesc = {}; + halDesc.dcmColorModel = D3DCOLOR_RGB; + halDesc.dwFlags = D3DDD_DEVICEZBUFFERBITDEPTH; + halDesc.dwDeviceZBufferBitDepth = DDBD_16; + halDesc.dwDeviceRenderBitDepth = DDBD_32; + halDesc.dpcTriCaps.dwTextureCaps = D3DPTEXTURECAPS_PERSPECTIVE; + halDesc.dpcTriCaps.dwShadeCaps = D3DPSHADECAPS_ALPHAFLATBLEND; + halDesc.dpcTriCaps.dwTextureFilterCaps = D3DPTFILTERCAPS_LINEAR; + + const char* extensions = (const char*) glGetString(GL_EXTENSIONS); + if (extensions) { + if (strstr(extensions, "GL_OES_depth24")) { + halDesc.dwDeviceZBufferBitDepth |= DDBD_24; + } + if (strstr(extensions, "GL_OES_depth32")) { + halDesc.dwDeviceZBufferBitDepth |= DDBD_32; + } + } + + delete device; + + D3DDEVICEDESC helDesc = {}; + + EnumDevice(cb, ctx, "OpenGL ES 2.0 HAL", &halDesc, &helDesc, OpenGLES2_GUID); } diff --git a/miniwin/src/internal/d3drmrenderer_sdl3gpu.h b/miniwin/src/internal/d3drmrenderer_sdl3gpu.h index 25485b1f..02ec05d0 100644 --- a/miniwin/src/internal/d3drmrenderer_sdl3gpu.h +++ b/miniwin/src/internal/d3drmrenderer_sdl3gpu.h @@ -47,12 +47,10 @@ class Direct3DRMSDL3GPURenderer : public Direct3DRMRenderer { static Direct3DRMRenderer* Create(DWORD width, DWORD height); ~Direct3DRMSDL3GPURenderer() override; void PushLights(const SceneLight* vertices, size_t count) override; - Uint32 GetTextureId(IDirect3DRMTexture* texture) override; + Uint32 GetTextureId(IDirect3DRMTexture* texture, bool isUi) override; Uint32 GetMeshId(IDirect3DRMMesh* mesh, const MeshGroup* meshGroup) override; void SetProjection(const D3DRMMATRIX4D& projection, D3DVALUE front, D3DVALUE back) override; void SetFrustumPlanes(const Plane* frustumPlanes) override; - void GetDesc(D3DDEVICEDESC* halDesc, D3DDEVICEDESC* helDesc) override; - const char* GetName() override; HRESULT BeginFrame() override; void EnableTransparency() override; void SubmitDraw( @@ -122,8 +120,21 @@ class Direct3DRMSDL3GPURenderer : public Direct3DRMRenderer { inline static void Direct3DRMSDL3GPU_EnumDevice(LPD3DENUMDEVICESCALLBACK cb, void* ctx) { Direct3DRMRenderer* device = Direct3DRMSDL3GPURenderer::Create(640, 480); - if (device) { - EnumDevice(cb, ctx, device, SDL3_GPU_GUID); - delete device; + if (!device) { + return; } + delete device; + + D3DDEVICEDESC halDesc = {}; + halDesc.dcmColorModel = D3DCOLOR_RGB; + halDesc.dwFlags = D3DDD_DEVICEZBUFFERBITDEPTH; + halDesc.dwDeviceZBufferBitDepth = DDBD_32; + halDesc.dwDeviceRenderBitDepth = DDBD_32; + halDesc.dpcTriCaps.dwTextureCaps = D3DPTEXTURECAPS_PERSPECTIVE; + halDesc.dpcTriCaps.dwShadeCaps = D3DPSHADECAPS_ALPHAFLATBLEND; + halDesc.dpcTriCaps.dwTextureFilterCaps = D3DPTFILTERCAPS_LINEAR; + + D3DDEVICEDESC helDesc = {}; + + EnumDevice(cb, ctx, "SDL3 GPU HAL", &halDesc, &helDesc, SDL3_GPU_GUID); } diff --git a/miniwin/src/internal/d3drmrenderer_software.h b/miniwin/src/internal/d3drmrenderer_software.h index 444a80a3..87715999 100644 --- a/miniwin/src/internal/d3drmrenderer_software.h +++ b/miniwin/src/internal/d3drmrenderer_software.h @@ -29,12 +29,10 @@ class Direct3DRMSoftwareRenderer : public Direct3DRMRenderer { Direct3DRMSoftwareRenderer(DWORD width, DWORD height); ~Direct3DRMSoftwareRenderer() override; void PushLights(const SceneLight* vertices, size_t count) override; - Uint32 GetTextureId(IDirect3DRMTexture* texture) override; + Uint32 GetTextureId(IDirect3DRMTexture* texture, bool isUi) override; Uint32 GetMeshId(IDirect3DRMMesh* mesh, const MeshGroup* meshGroup) override; void SetProjection(const D3DRMMATRIX4D& projection, D3DVALUE front, D3DVALUE back) override; void SetFrustumPlanes(const Plane* frustumPlanes) override; - void GetDesc(D3DDEVICEDESC* halDesc, D3DDEVICEDESC* helDesc) override; - const char* GetName() override; HRESULT BeginFrame() override; void EnableTransparency() override; void SubmitDraw( @@ -87,8 +85,16 @@ class Direct3DRMSoftwareRenderer : public Direct3DRMRenderer { inline static void Direct3DRMSoftware_EnumDevice(LPD3DENUMDEVICESCALLBACK cb, void* ctx) { - Direct3DRMRenderer* device = nullptr; - device = new Direct3DRMSoftwareRenderer(640, 480); - EnumDevice(cb, ctx, device, SOFTWARE_GUID); - delete device; + D3DDEVICEDESC halDesc = {}; + + D3DDEVICEDESC helDesc = {}; + helDesc.dcmColorModel = D3DCOLOR_RGB; + helDesc.dwFlags = D3DDD_DEVICEZBUFFERBITDEPTH; + helDesc.dwDeviceZBufferBitDepth = DDBD_32; + helDesc.dwDeviceRenderBitDepth = DDBD_32; + helDesc.dpcTriCaps.dwTextureCaps = D3DPTEXTURECAPS_PERSPECTIVE; + helDesc.dpcTriCaps.dwShadeCaps = D3DPSHADECAPS_ALPHAFLATBLEND; + helDesc.dpcTriCaps.dwTextureFilterCaps = D3DPTFILTERCAPS_LINEAR; + + EnumDevice(cb, ctx, "Miniwin Emulation", &halDesc, &helDesc, SOFTWARE_GUID); } diff --git a/miniwin/src/internal/ddraw_impl.h b/miniwin/src/internal/ddraw_impl.h index f2604946..4adfb4a5 100644 --- a/miniwin/src/internal/ddraw_impl.h +++ b/miniwin/src/internal/ddraw_impl.h @@ -56,4 +56,11 @@ HRESULT DirectDrawEnumerate(LPDDENUMCALLBACKA cb, void* context); HRESULT DirectDrawCreate(LPGUID lpGuid, LPDIRECTDRAW* lplpDD, IUnknown* pUnkOuter); -void EnumDevice(LPD3DENUMDEVICESCALLBACK cb, void* ctx, Direct3DRMRenderer* device, GUID deviceGuid); +void EnumDevice( + LPD3DENUMDEVICESCALLBACK cb, + void* ctx, + const char* name, + D3DDEVICEDESC* halDesc, + D3DDEVICEDESC* helDesc, + GUID deviceGuid +); diff --git a/miniwin/src/internal/meshutils.cpp b/miniwin/src/internal/meshutils.cpp index 818ecd87..e0ce59e6 100644 --- a/miniwin/src/internal/meshutils.cpp +++ b/miniwin/src/internal/meshutils.cpp @@ -75,3 +75,31 @@ void FlattenSurfaces( } } } + +void Create2DTransformMatrix( + const SDL_Rect& dstRect, + float scale, + float offsetX, + float offsetY, + D3DRMMATRIX4D& outMatrix +) +{ + float x = static_cast(dstRect.x) * scale + offsetX; + float y = static_cast(dstRect.y) * scale + offsetY; + float w = static_cast(dstRect.w) * scale; + float h = static_cast(dstRect.h) * scale; + + D3DVALUE tmp[4][4] = {{w, 0, 0, 0}, {0, h, 0, 0}, {0, 0, 1, 0}, {x, y, 0, 1}}; + memcpy(outMatrix, tmp, sizeof(tmp)); +} + +void CreateOrthographicProjection(float width, float height, D3DRMMATRIX4D& outProj) +{ + D3DVALUE tmp[4][4] = { + {2.0f / width, 0.0f, 0.0f, 0.0f}, + {0.0f, -2.0f / height, 0.0f, 0.0f}, + {0.0f, 0.0f, 1.0f, 0.0f}, + {-1.0f, 1.0f, 0.0f, 1.0f} + }; + memcpy(outProj, tmp, sizeof(tmp)); +} diff --git a/miniwin/src/internal/meshutils.h b/miniwin/src/internal/meshutils.h index fb12a145..12c509ad 100644 --- a/miniwin/src/internal/meshutils.h +++ b/miniwin/src/internal/meshutils.h @@ -13,3 +13,13 @@ void FlattenSurfaces( std::vector& dedupedVertices, std::vector& newIndices ); + +void Create2DTransformMatrix( + const SDL_Rect& dstRect, + float scale, + float offsetX, + float offsetY, + D3DRMMATRIX4D& outMatrix +); + +void CreateOrthographicProjection(float width, float height, D3DRMMATRIX4D& outProj); From ab48ce60b0ccdedfb0053b1ad555e45e16a5a58c Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Mon, 30 Jun 2025 23:38:44 +0200 Subject: [PATCH 36/42] OpenGL ES 2.0 Only lookup shader locations once (#460) --- .../src/d3drm/backends/opengles2/renderer.cpp | 95 +++++++++++-------- .../src/internal/d3drmrenderer_opengles2.h | 12 +++ 2 files changed, 65 insertions(+), 42 deletions(-) diff --git a/miniwin/src/d3drm/backends/opengles2/renderer.cpp b/miniwin/src/d3drm/backends/opengles2/renderer.cpp index 8c39d937..55719807 100644 --- a/miniwin/src/d3drm/backends/opengles2/renderer.cpp +++ b/miniwin/src/d3drm/backends/opengles2/renderer.cpp @@ -263,6 +263,23 @@ OpenGLES2Renderer::OpenGLES2Renderer(DWORD width, DWORD height, SDL_GLContext co }; m_uiMesh.indices = {0, 1, 2, 0, 2, 3}; m_uiMeshCache = GLES2UploadMesh(m_uiMesh, true); + m_posLoc = glGetAttribLocation(m_shaderProgram, "a_position"); + m_normLoc = glGetAttribLocation(m_shaderProgram, "a_normal"); + m_texLoc = glGetAttribLocation(m_shaderProgram, "a_texCoord"); + m_colorLoc = glGetUniformLocation(m_shaderProgram, "u_color"); + m_shinLoc = glGetUniformLocation(m_shaderProgram, "u_shininess"); + m_lightCountLoc = glGetUniformLocation(m_shaderProgram, "u_lightCount"); + m_useTextureLoc = glGetUniformLocation(m_shaderProgram, "u_useTexture"); + m_textureLoc = glGetUniformLocation(m_shaderProgram, "u_texture"); + for (int i = 0; i < 3; ++i) { + std::string base = "u_lights[" + std::to_string(i) + "]"; + u_lightLocs[i][0] = glGetUniformLocation(m_shaderProgram, (base + ".color").c_str()); + u_lightLocs[i][1] = glGetUniformLocation(m_shaderProgram, (base + ".position").c_str()); + u_lightLocs[i][2] = glGetUniformLocation(m_shaderProgram, (base + ".direction").c_str()); + } + m_modelViewMatrixLoc = glGetUniformLocation(m_shaderProgram, "u_modelViewMatrix"); + m_normalMatrixLoc = glGetUniformLocation(m_shaderProgram, "u_normalMatrix"); + m_projectionMatrixLoc = glGetUniformLocation(m_shaderProgram, "u_projectionMatrix"); } OpenGLES2Renderer::~OpenGLES2Renderer() @@ -481,12 +498,11 @@ HRESULT OpenGLES2Renderer::BeginFrame() } for (int i = 0; i < lightCount; ++i) { - std::string base = "u_lights[" + std::to_string(i) + "]"; - glUniform4fv(glGetUniformLocation(m_shaderProgram, (base + ".color").c_str()), 1, lightData[i].color); - glUniform4fv(glGetUniformLocation(m_shaderProgram, (base + ".position").c_str()), 1, lightData[i].position); - glUniform4fv(glGetUniformLocation(m_shaderProgram, (base + ".direction").c_str()), 1, lightData[i].direction); + glUniform4fv(u_lightLocs[i][0], 1, lightData[i].color); + glUniform4fv(u_lightLocs[i][1], 1, lightData[i].position); + glUniform4fv(u_lightLocs[i][2], 1, lightData[i].direction); } - glUniform1i(glGetUniformLocation(m_shaderProgram, "u_lightCount"), lightCount); + glUniform1i(m_lightCountLoc, lightCount); return DD_OK; } @@ -508,52 +524,49 @@ void OpenGLES2Renderer::SubmitDraw( { auto& mesh = m_meshs[meshId]; - glUniformMatrix4fv(glGetUniformLocation(m_shaderProgram, "u_modelViewMatrix"), 1, GL_FALSE, &modelViewMatrix[0][0]); - glUniformMatrix3fv(glGetUniformLocation(m_shaderProgram, "u_normalMatrix"), 1, GL_FALSE, &normalMatrix[0][0]); - glUniformMatrix4fv(glGetUniformLocation(m_shaderProgram, "u_projectionMatrix"), 1, GL_FALSE, &m_projection[0][0]); + glUniformMatrix4fv(m_modelViewMatrixLoc, 1, GL_FALSE, &modelViewMatrix[0][0]); + glUniformMatrix3fv(m_normalMatrixLoc, 1, GL_FALSE, &normalMatrix[0][0]); + glUniformMatrix4fv(m_projectionMatrixLoc, 1, GL_FALSE, &m_projection[0][0]); glUniform4f( - glGetUniformLocation(m_shaderProgram, "u_color"), + m_colorLoc, appearance.color.r / 255.0f, appearance.color.g / 255.0f, appearance.color.b / 255.0f, appearance.color.a / 255.0f ); - glUniform1f(glGetUniformLocation(m_shaderProgram, "u_shininess"), appearance.shininess); + glUniform1f(m_shinLoc, appearance.shininess); if (appearance.textureId != NO_TEXTURE_ID) { - glUniform1i(glGetUniformLocation(m_shaderProgram, "u_useTexture"), 1); + glUniform1i(m_useTextureLoc, 1); glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, m_textures[appearance.textureId].glTextureId); - glUniform1i(glGetUniformLocation(m_shaderProgram, "u_texture"), 0); + glUniform1i(m_textureLoc, 0); } else { - glUniform1i(glGetUniformLocation(m_shaderProgram, "u_useTexture"), 0); + glUniform1i(m_useTextureLoc, 0); } glBindBuffer(GL_ARRAY_BUFFER, mesh.vboPositions); - GLint posLoc = glGetAttribLocation(m_shaderProgram, "a_position"); - glEnableVertexAttribArray(posLoc); - glVertexAttribPointer(posLoc, 3, GL_FLOAT, GL_FALSE, 0, nullptr); + glEnableVertexAttribArray(m_posLoc); + glVertexAttribPointer(m_posLoc, 3, GL_FLOAT, GL_FALSE, 0, nullptr); glBindBuffer(GL_ARRAY_BUFFER, mesh.vboNormals); - GLint normLoc = glGetAttribLocation(m_shaderProgram, "a_normal"); - glEnableVertexAttribArray(normLoc); - glVertexAttribPointer(normLoc, 3, GL_FLOAT, GL_FALSE, 0, nullptr); + glEnableVertexAttribArray(m_normLoc); + glVertexAttribPointer(m_normLoc, 3, GL_FLOAT, GL_FALSE, 0, nullptr); - GLint texLoc = glGetAttribLocation(m_shaderProgram, "a_texCoord"); if (appearance.textureId != NO_TEXTURE_ID) { glBindBuffer(GL_ARRAY_BUFFER, mesh.vboTexcoords); - glEnableVertexAttribArray(texLoc); - glVertexAttribPointer(texLoc, 2, GL_FLOAT, GL_FALSE, 0, nullptr); + glEnableVertexAttribArray(m_texLoc); + glVertexAttribPointer(m_texLoc, 2, GL_FLOAT, GL_FALSE, 0, nullptr); } glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, mesh.ibo); glDrawElements(GL_TRIANGLES, static_cast(mesh.indices.size()), GL_UNSIGNED_SHORT, nullptr); - glDisableVertexAttribArray(normLoc); - glDisableVertexAttribArray(texLoc); + glDisableVertexAttribArray(m_normLoc); + glDisableVertexAttribArray(m_texLoc); } HRESULT OpenGLES2Renderer::FinalizeFrame() @@ -605,13 +618,13 @@ void OpenGLES2Renderer::Draw2DImage(Uint32 textureId, const SDL_Rect& srcRect, c float color[] = {1.0f, 1.0f, 1.0f, 1.0f}; float blank[] = {0.0f, 0.0f, 0.0f, 0.0f}; - glUniform4fv(glGetUniformLocation(m_shaderProgram, "u_lights[0].color"), 1, color); - glUniform4fv(glGetUniformLocation(m_shaderProgram, "u_lights[0].position"), 1, blank); - glUniform4fv(glGetUniformLocation(m_shaderProgram, "u_lights[0].direction"), 1, blank); - glUniform1i(glGetUniformLocation(m_shaderProgram, "u_lightCount"), 1); + glUniform4fv(u_lightLocs[0][0], 1, color); + glUniform4fv(u_lightLocs[0][1], 1, blank); + glUniform4fv(u_lightLocs[0][2], 1, blank); + glUniform1i(m_lightCountLoc, 1); - glUniform4f(glGetUniformLocation(m_shaderProgram, "u_color"), 1.0f, 1.0f, 1.0f, 1.0f); - glUniform1f(glGetUniformLocation(m_shaderProgram, "u_shininess"), 0.0f); + glUniform4f(m_colorLoc, 1.0f, 1.0f, 1.0f, 1.0f); + glUniform1f(m_shinLoc, 0.0f); const GLES2TextureCacheEntry& texture = m_textures[textureId]; float scaleX = static_cast(dstRect.w) / srcRect.w; @@ -632,19 +645,19 @@ void OpenGLES2Renderer::Draw2DImage(Uint32 textureId, const SDL_Rect& srcRect, c modelView ); - glUniformMatrix4fv(glGetUniformLocation(m_shaderProgram, "u_modelViewMatrix"), 1, GL_FALSE, &modelView[0][0]); + glUniformMatrix4fv(m_modelViewMatrixLoc, 1, GL_FALSE, &modelView[0][0]); Matrix3x3 identity = {{1.f, 0.f, 0.f}, {0.f, 1.f, 0.f}, {0.f, 0.f, 1.f}}; - glUniformMatrix3fv(glGetUniformLocation(m_shaderProgram, "u_normalMatrix"), 1, GL_FALSE, &identity[0][0]); + glUniformMatrix3fv(m_normalMatrixLoc, 1, GL_FALSE, &identity[0][0]); CreateOrthographicProjection((float) m_width, (float) m_height, projection); - glUniformMatrix4fv(glGetUniformLocation(m_shaderProgram, "u_projectionMatrix"), 1, GL_FALSE, &projection[0][0]); + glUniformMatrix4fv(m_projectionMatrixLoc, 1, GL_FALSE, &projection[0][0]); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glActiveTexture(GL_TEXTURE0); - glUniform1i(glGetUniformLocation(m_shaderProgram, "u_useTexture"), 1); + glUniform1i(m_useTextureLoc, 1); glBindTexture(GL_TEXTURE_2D, texture.glTextureId); - glUniform1i(glGetUniformLocation(m_shaderProgram, "u_texture"), 0); + glUniform1i(m_textureLoc, 0); glEnable(GL_SCISSOR_TEST); glScissor( @@ -656,20 +669,18 @@ void OpenGLES2Renderer::Draw2DImage(Uint32 textureId, const SDL_Rect& srcRect, c static_cast(std::round(dstRect.h * m_viewportTransform.scale)) ); - GLint posLoc = glGetAttribLocation(m_shaderProgram, "a_position"); glBindBuffer(GL_ARRAY_BUFFER, m_uiMeshCache.vboPositions); - glEnableVertexAttribArray(posLoc); - glVertexAttribPointer(posLoc, 3, GL_FLOAT, GL_FALSE, 0, nullptr); + glEnableVertexAttribArray(m_posLoc); + glVertexAttribPointer(m_posLoc, 3, GL_FLOAT, GL_FALSE, 0, nullptr); - GLint texLoc = glGetAttribLocation(m_shaderProgram, "a_texCoord"); glBindBuffer(GL_ARRAY_BUFFER, m_uiMeshCache.vboTexcoords); - glEnableVertexAttribArray(texLoc); - glVertexAttribPointer(texLoc, 2, GL_FLOAT, GL_FALSE, 0, nullptr); + glEnableVertexAttribArray(m_texLoc); + glVertexAttribPointer(m_texLoc, 2, GL_FLOAT, GL_FALSE, 0, nullptr); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_uiMeshCache.ibo); glDrawElements(GL_TRIANGLES, static_cast(m_uiMeshCache.indices.size()), GL_UNSIGNED_SHORT, nullptr); - glDisableVertexAttribArray(texLoc); + glDisableVertexAttribArray(m_texLoc); glDisable(GL_SCISSOR_TEST); } diff --git a/miniwin/src/internal/d3drmrenderer_opengles2.h b/miniwin/src/internal/d3drmrenderer_opengles2.h index 432f124e..f5d62579 100644 --- a/miniwin/src/internal/d3drmrenderer_opengles2.h +++ b/miniwin/src/internal/d3drmrenderer_opengles2.h @@ -72,6 +72,18 @@ class OpenGLES2Renderer : public Direct3DRMRenderer { std::vector m_lights; SDL_GLContext m_context; GLuint m_shaderProgram; + GLint m_posLoc; + GLint m_normLoc; + GLint m_texLoc; + GLint m_colorLoc; + GLint m_shinLoc; + GLint m_lightCountLoc; + GLint m_useTextureLoc; + GLint m_textureLoc; + GLint u_lightLocs[3][3]; + GLint m_modelViewMatrixLoc; + GLint m_normalMatrixLoc; + GLint m_projectionMatrixLoc; ViewportTransform m_viewportTransform; }; From e2ff65cf91fbf6142f439acea933f58f565ffd3e Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Tue, 1 Jul 2025 02:23:13 +0200 Subject: [PATCH 37/42] Expose window during device probing (#462) --- CONFIG/config.cpp | 10 +++- .../legoomni/src/video/legovideomanager.cpp | 2 +- LEGO1/mxdirectx/mxdirectxinfo.cpp | 30 ++++++---- LEGO1/mxdirectx/mxdirectxinfo.h | 3 +- .../src/d3drm/backends/opengl1/renderer.cpp | 36 ++++------- .../src/d3drm/backends/opengles2/renderer.cpp | 30 ++++------ .../src/d3drm/backends/sdl3gpu/renderer.cpp | 60 ++++--------------- 7 files changed, 63 insertions(+), 108 deletions(-) diff --git a/CONFIG/config.cpp b/CONFIG/config.cpp index bd38e669..9030ae67 100644 --- a/CONFIG/config.cpp +++ b/CONFIG/config.cpp @@ -56,9 +56,17 @@ bool CConfigApp::InitInstance() return false; } m_device_enumerator = new LegoDeviceEnumerate; - if (m_device_enumerator->DoEnumerate()) { + SDL_Window* window = SDL_CreateWindow("Test window", 640, 480, SDL_WINDOW_HIDDEN | SDL_WINDOW_OPENGL); + HWND hWnd; +#ifdef MINIWIN + hWnd = reinterpret_cast(window); +#else + hWnd = (HWND) SDL_GetPointerProperty(SDL_GetWindowProperties(window), SDL_PROP_WINDOW_WIN32_HWND_POINTER, NULL); +#endif + if (m_device_enumerator->DoEnumerate(hWnd)) { return FALSE; } + SDL_DestroyWindow(window); m_driver = NULL; m_device = NULL; m_full_screen = TRUE; diff --git a/LEGO1/lego/legoomni/src/video/legovideomanager.cpp b/LEGO1/lego/legoomni/src/video/legovideomanager.cpp index a0173224..7e2f7e42 100644 --- a/LEGO1/lego/legoomni/src/video/legovideomanager.cpp +++ b/LEGO1/lego/legoomni/src/video/legovideomanager.cpp @@ -108,7 +108,7 @@ MxResult LegoVideoManager::Create(MxVideoParam& p_videoParam, MxU32 p_frequencyM goto done; } - if (deviceEnumerate.DoEnumerate() != SUCCESS) { + if (deviceEnumerate.DoEnumerate(hwnd) != SUCCESS) { SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "LegoDeviceEnumerate::DoEnumerate failed"); goto done; } diff --git a/LEGO1/mxdirectx/mxdirectxinfo.cpp b/LEGO1/mxdirectx/mxdirectxinfo.cpp index c5100031..639a2864 100644 --- a/LEGO1/mxdirectx/mxdirectxinfo.cpp +++ b/LEGO1/mxdirectx/mxdirectxinfo.cpp @@ -216,27 +216,33 @@ BOOL MxDeviceEnumerate::EnumDirectDrawCallback(LPGUID p_guid, LPSTR p_driverDesc BuildErrorString("DirectDraw Create failed: %s\n", EnumerateErrorToString(result)); } else { - newDevice.m_ddCaps.dwSize = sizeof(newDevice.m_ddCaps); - result = lpDD->GetCaps(&newDevice.m_ddCaps, NULL); - + result = lpDD->SetCooperativeLevel(m_hWnd, DDSCL_NORMAL); if (result != DD_OK) { - BuildErrorString("GetCaps failed: %s\n", EnumerateErrorToString(result)); + BuildErrorString("SetCooperativeLevel failed: %s\n", EnumerateErrorToString(result)); } else { - result = lpDD->QueryInterface(IID_IDirect3D2, (LPVOID*) &lpDirect3d2); + newDevice.m_ddCaps.dwSize = sizeof(newDevice.m_ddCaps); + result = lpDD->GetCaps(&newDevice.m_ddCaps, NULL); if (result != DD_OK) { - BuildErrorString("D3D creation failed: %s\n", EnumerateErrorToString(result)); + BuildErrorString("GetCaps failed: %s\n", EnumerateErrorToString(result)); } else { - result = lpDirect3d2->EnumDevices(DevicesEnumerateCallback, this); + result = lpDD->QueryInterface(IID_IDirect3D2, (LPVOID*) &lpDirect3d2); if (result != DD_OK) { - BuildErrorString("D3D enum devices failed: %s\n", EnumerateErrorToString(result)); + BuildErrorString("D3D creation failed: %s\n", EnumerateErrorToString(result)); } else { - if (!newDevice.m_devices.size()) { - m_list.pop_back(); + result = lpDirect3d2->EnumDevices(DevicesEnumerateCallback, this); + + if (result != DD_OK) { + BuildErrorString("D3D enum devices failed: %s\n", EnumerateErrorToString(result)); + } + else { + if (!newDevice.m_devices.size()) { + m_list.pop_back(); + } } } } @@ -306,12 +312,14 @@ HRESULT MxDeviceEnumerate::EnumDevicesCallback( // FUNCTION: CONFIG 0x00401dc0 // FUNCTION: LEGO1 0x1009c6c0 // FUNCTION: BETA10 0x1011e3fa -int MxDeviceEnumerate::DoEnumerate() +int MxDeviceEnumerate::DoEnumerate(HWND hWnd) { if (IsInitialized()) { return -1; } + m_hWnd = hWnd; + HRESULT ret = DirectDrawEnumerate(DirectDrawEnumerateCallback, this); if (ret != DD_OK) { BuildErrorString("DirectDrawEnumerate returned error %s\n", EnumerateErrorToString(ret)); diff --git a/LEGO1/mxdirectx/mxdirectxinfo.h b/LEGO1/mxdirectx/mxdirectxinfo.h index a4ebef91..9bc480de 100644 --- a/LEGO1/mxdirectx/mxdirectxinfo.h +++ b/LEGO1/mxdirectx/mxdirectxinfo.h @@ -194,7 +194,7 @@ class MxDeviceEnumerate { MxDeviceEnumerate(); ~MxDeviceEnumerate(); - virtual int DoEnumerate(); // vtable+0x00 + virtual int DoEnumerate(HWND hWnd); // vtable+0x00 BOOL EnumDirectDrawCallback(LPGUID p_guid, LPSTR p_driverDesc, LPSTR p_driverName); HRESULT EnumDevicesCallback( @@ -242,6 +242,7 @@ class MxDeviceEnumerate { protected: list m_list; // 0x04 unsigned char m_initialized; // 0x10 + HWND m_hWnd; }; // TEMPLATE: BETA10 0x1011c1b0 diff --git a/miniwin/src/d3drm/backends/opengl1/renderer.cpp b/miniwin/src/d3drm/backends/opengl1/renderer.cpp index 66f08d23..fb7fccd4 100644 --- a/miniwin/src/d3drm/backends/opengl1/renderer.cpp +++ b/miniwin/src/d3drm/backends/opengl1/renderer.cpp @@ -28,40 +28,25 @@ Direct3DRMRenderer* OpenGL1Renderer::Create(DWORD width, DWORD height) SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 1); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1); - SDL_Window* window = DDWindow; - bool testWindow = false; - if (!window) { - window = SDL_CreateWindow("OpenGL 1.1 test", width, height, SDL_WINDOW_HIDDEN | SDL_WINDOW_OPENGL); - if (!window) { - SDL_Log("SDL_CreateWindow: %s", SDL_GetError()); - return nullptr; - } - testWindow = true; - } - - SDL_GLContext context = SDL_GL_CreateContext(window); - if (!context) { - SDL_Log("SDL_GL_CreateContext: %s", SDL_GetError()); - if (testWindow) { - SDL_DestroyWindow(window); - } + if (!DDWindow) { + SDL_Log("No window handler"); return nullptr; } - if (!SDL_GL_MakeCurrent(window, context)) { + SDL_GLContext context = SDL_GL_CreateContext(DDWindow); + if (!context) { + SDL_Log("SDL_GL_CreateContext: %s", SDL_GetError()); + return nullptr; + } + + if (!SDL_GL_MakeCurrent(DDWindow, context)) { + SDL_GL_DestroyContext(context); SDL_Log("SDL_GL_MakeCurrent: %s", SDL_GetError()); - if (testWindow) { - SDL_DestroyWindow(window); - } return nullptr; } GL11_InitState(); - if (testWindow) { - SDL_DestroyWindow(window); - } - return new OpenGL1Renderer(width, height, context); } @@ -78,6 +63,7 @@ OpenGL1Renderer::OpenGL1Renderer(DWORD width, DWORD height, SDL_GLContext contex OpenGL1Renderer::~OpenGL1Renderer() { SDL_DestroySurface(m_renderedImage); + SDL_GL_DestroyContext(m_context); } void OpenGL1Renderer::PushLights(const SceneLight* lightsArray, size_t count) diff --git a/miniwin/src/d3drm/backends/opengles2/renderer.cpp b/miniwin/src/d3drm/backends/opengles2/renderer.cpp index 55719807..d3594298 100644 --- a/miniwin/src/d3drm/backends/opengles2/renderer.cpp +++ b/miniwin/src/d3drm/backends/opengles2/renderer.cpp @@ -40,25 +40,18 @@ Direct3DRMRenderer* OpenGLES2Renderer::Create(DWORD width, DWORD height) SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 2); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0); - SDL_Window* window = DDWindow; - bool testWindow = false; - if (!window) { - window = SDL_CreateWindow("OpenGL ES 2.0 test", width, height, SDL_WINDOW_HIDDEN | SDL_WINDOW_OPENGL); - testWindow = true; - } - - SDL_GLContext context = SDL_GL_CreateContext(window); - if (!context) { - if (testWindow) { - SDL_DestroyWindow(window); - } + if (!DDWindow) { + SDL_Log("No window handler"); return nullptr; } - if (!SDL_GL_MakeCurrent(window, context)) { - if (testWindow) { - SDL_DestroyWindow(window); - } + SDL_GLContext context = SDL_GL_CreateContext(DDWindow); + if (!context) { + return nullptr; + } + + if (!SDL_GL_MakeCurrent(DDWindow, context)) { + SDL_GL_DestroyContext(context); return nullptr; } @@ -174,10 +167,6 @@ Direct3DRMRenderer* OpenGLES2Renderer::Create(DWORD width, DWORD height) glDeleteShader(vs); glDeleteShader(fs); - if (testWindow) { - SDL_DestroyWindow(window); - } - return new OpenGLES2Renderer(width, height, context, shaderProgram); } @@ -285,6 +274,7 @@ OpenGLES2Renderer::OpenGLES2Renderer(DWORD width, DWORD height, SDL_GLContext co OpenGLES2Renderer::~OpenGLES2Renderer() { SDL_DestroySurface(m_renderedImage); + SDL_GL_DestroyContext(m_context); glDeleteProgram(m_shaderProgram); } diff --git a/miniwin/src/d3drm/backends/sdl3gpu/renderer.cpp b/miniwin/src/d3drm/backends/sdl3gpu/renderer.cpp index a499193c..98704c66 100644 --- a/miniwin/src/d3drm/backends/sdl3gpu/renderer.cpp +++ b/miniwin/src/d3drm/backends/sdl3gpu/renderer.cpp @@ -203,49 +203,31 @@ Direct3DRMRenderer* Direct3DRMSDL3GPURenderer::Create(DWORD width, DWORD height) return nullptr; } - SDL_Window* window = DDWindow; - bool testWindow = false; - if (!window) { - window = SDL_CreateWindow("SDL_GPU test", width, height, SDL_WINDOW_HIDDEN); - if (!window) { - SDL_Log("SDL_CreateWindow: %s", SDL_GetError()); - return nullptr; - } - testWindow = true; - } - - if (!SDL_ClaimWindowForGPUDevice(device.ptr, window)) { - SDL_LogError(LOG_CATEGORY_MINIWIN, "SDL_ClaimWindowForGPUDevice: %s", SDL_GetError()); - if (testWindow) { - SDL_DestroyWindow(window); - } + if (!DDWindow) { + SDL_Log("No window handler"); return nullptr; } - ScopedPipeline opaquePipeline{device.ptr, InitializeGraphicsPipeline(device.ptr, window, true, true)}; + if (!SDL_ClaimWindowForGPUDevice(device.ptr, DDWindow)) { + SDL_LogError(LOG_CATEGORY_MINIWIN, "SDL_ClaimWindowForGPUDevice: %s", SDL_GetError()); + return nullptr; + } + + ScopedPipeline opaquePipeline{device.ptr, InitializeGraphicsPipeline(device.ptr, DDWindow, true, true)}; if (!opaquePipeline.ptr) { SDL_LogError(LOG_CATEGORY_MINIWIN, "InitializeGraphicsPipeline for opaquePipeline"); - if (testWindow) { - SDL_DestroyWindow(window); - } return nullptr; } - ScopedPipeline transparentPipeline{device.ptr, InitializeGraphicsPipeline(device.ptr, window, true, false)}; + ScopedPipeline transparentPipeline{device.ptr, InitializeGraphicsPipeline(device.ptr, DDWindow, true, false)}; if (!transparentPipeline.ptr) { SDL_LogError(LOG_CATEGORY_MINIWIN, "InitializeGraphicsPipeline for transparentPipeline"); - if (testWindow) { - SDL_DestroyWindow(window); - } return nullptr; } - ScopedPipeline uiPipeline{device.ptr, InitializeGraphicsPipeline(device.ptr, window, false, false)}; + ScopedPipeline uiPipeline{device.ptr, InitializeGraphicsPipeline(device.ptr, DDWindow, false, false)}; if (!uiPipeline.ptr) { SDL_LogError(LOG_CATEGORY_MINIWIN, "InitializeGraphicsPipeline for uiPipeline"); - if (testWindow) { - SDL_DestroyWindow(window); - } return nullptr; } @@ -257,9 +239,6 @@ Direct3DRMRenderer* Direct3DRMSDL3GPURenderer::Create(DWORD width, DWORD height) ScopedTransferBuffer uploadBuffer{device.ptr, SDL_CreateGPUTransferBuffer(device.ptr, &uploadBufferInfo)}; if (!uploadBuffer.ptr) { SDL_LogError(LOG_CATEGORY_MINIWIN, "SDL_CreateGPUTransferBuffer filed for upload buffer (%s)", SDL_GetError()); - if (testWindow) { - SDL_DestroyWindow(window); - } return nullptr; } @@ -273,9 +252,6 @@ Direct3DRMRenderer* Direct3DRMSDL3GPURenderer::Create(DWORD width, DWORD height) ScopedSampler sampler{device.ptr, SDL_CreateGPUSampler(device.ptr, &samplerInfo)}; if (!sampler.ptr) { SDL_LogError(LOG_CATEGORY_MINIWIN, "Failed to create sampler: %s", SDL_GetError()); - if (testWindow) { - SDL_DestroyWindow(window); - } return nullptr; } @@ -289,17 +265,9 @@ Direct3DRMRenderer* Direct3DRMSDL3GPURenderer::Create(DWORD width, DWORD height) ScopedSampler uiSampler{device.ptr, SDL_CreateGPUSampler(device.ptr, &uiSamplerInfo)}; if (!uiSampler.ptr) { SDL_LogError(LOG_CATEGORY_MINIWIN, "Failed to create sampler: %s", SDL_GetError()); - if (testWindow) { - SDL_DestroyWindow(window); - } return nullptr; } - if (testWindow) { - SDL_ReleaseWindowFromGPUDevice(device.ptr, window); - SDL_DestroyWindow(window); - } - auto renderer = new Direct3DRMSDL3GPURenderer( width, height, @@ -383,9 +351,7 @@ Direct3DRMSDL3GPURenderer::~Direct3DRMSDL3GPURenderer() { SDL_ReleaseGPUBuffer(m_device, m_uiMeshCache.vertexBuffer); SDL_ReleaseGPUBuffer(m_device, m_uiMeshCache.indexBuffer); - if (DDWindow) { - SDL_ReleaseWindowFromGPUDevice(m_device, DDWindow); - } + SDL_ReleaseWindowFromGPUDevice(m_device, DDWindow); if (m_downloadBuffer) { SDL_ReleaseGPUTransferBuffer(m_device, m_downloadBuffer); } @@ -839,10 +805,6 @@ void Direct3DRMSDL3GPURenderer::Resize(int width, int height, const ViewportTran m_height = height; m_viewportTransform = viewportTransform; - if (!DDWindow) { - return; - } - if (m_transferTexture) { SDL_ReleaseGPUTexture(m_device, m_transferTexture); } From 586327b58447a0ca91cb66196cb8b41c2c7cd3a8 Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Tue, 1 Jul 2025 04:15:02 +0200 Subject: [PATCH 38/42] Destry shader before the context (#463) --- miniwin/src/d3drm/backends/opengles2/renderer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/miniwin/src/d3drm/backends/opengles2/renderer.cpp b/miniwin/src/d3drm/backends/opengles2/renderer.cpp index d3594298..6695da81 100644 --- a/miniwin/src/d3drm/backends/opengles2/renderer.cpp +++ b/miniwin/src/d3drm/backends/opengles2/renderer.cpp @@ -274,8 +274,8 @@ OpenGLES2Renderer::OpenGLES2Renderer(DWORD width, DWORD height, SDL_GLContext co OpenGLES2Renderer::~OpenGLES2Renderer() { SDL_DestroySurface(m_renderedImage); - SDL_GL_DestroyContext(m_context); glDeleteProgram(m_shaderProgram); + SDL_GL_DestroyContext(m_context); } void OpenGLES2Renderer::PushLights(const SceneLight* lightsArray, size_t count) From 1ff768935ed25c4a726b2dee2455d97f77c64b66 Mon Sep 17 00:00:00 2001 From: Joshua Peisach Date: Mon, 30 Jun 2025 22:43:10 -0400 Subject: [PATCH 39/42] 3DS Port (#450) * [WIP] 3ds port Recommit of everything after the 2d renderer merge * VERY AWESOME FEATURE FRFR * Stopped CPU suicide and app crashing for now * put in Texture3DS function thing * Fix clear color * Implement 2D rendering via Citro3D * Set 3dsx smdh metadata * Render world content, sort of * Push mesh dynamically * Remove Citro3D init hacks * Clean up Citro3D implementation * Try to upload meshes and convert matricies * Fix 3D rendering * Apply optimizations * Implement lighting * Set 3dsx smdh metadata * Revert "Apply optimizations" This reverts commit 6660082fefb2cebbeeec8428abd8508099f93ad4. * Apply optimizations * Added a cleaner icon (#4) * Fix pure buffer clear frames (#9) * Disable OpenGL on 3DS (#10) * Fix tiled textures and improve UI image quality (#11) * Create 3DS default config overrides * 3ds: implement apt hooks * remove unused import * Apply suggestions from code review Co-authored-by: Christian Semmler Co-authored-by: Anonymous Maarten * Update miniwin/src/d3drm/backends/citro3d/renderer.cpp Co-authored-by: Anonymous Maarten * Separate 3DS apt hook code + move cmake 3ds into ISLE_BUILD_APP * miniwin: use citro3dd if debugging * Optimize texture encoding (#12) * Cleanup * Set correct mipmap level for UI textures (#13) * cpack: include the .3dsx * Add 3DS CI * Fix CI Co-authored-by: Anonymous Maarten * syntax * Refactor c3d renderer (#14) * Refactor c3d renderer * format * Apply suggestions from code review Co-authored-by: Anders Jenbo --------- Co-authored-by: Anders Jenbo * n3ds: just distribute the .3dsx * upload 3dsx * Skip uploading 3DS artifacts * Update ci.yml * Update ci.yml * Remove extraneous ifdef --------- Co-authored-by: MaxBrick Co-authored-by: Anders Jenbo Co-authored-by: Steven <139715581+StevenSYS@users.noreply.github.com> Co-authored-by: Christian Semmler Co-authored-by: Anonymous Maarten --- .github/workflows/ci.yml | 12 + CMakeLists.txt | 22 +- ISLE/3ds/apthooks.cpp | 30 + ISLE/3ds/apthooks.h | 9 + ISLE/3ds/config.cpp | 22 + ISLE/3ds/config.h | 8 + ISLE/isleapp.cpp | 13 +- ISLE/isleapp.h | 1 + ISLE/isledebug.cpp | 2 +- ISLE/res/3ds/isle.png | Bin 0 -> 438 bytes miniwin/CMakeLists.txt | 17 + .../src/d3drm/backends/citro3d/renderer.cpp | 606 ++++++++++++++++++ .../src/d3drm/backends/citro3d/vshader.v.pica | 130 ++++ .../src/d3drm/backends/software/renderer.cpp | 2 +- miniwin/src/d3drm/d3drm.cpp | 8 + miniwin/src/d3drm/d3drmdevice.cpp | 4 + miniwin/src/ddraw/ddraw.cpp | 11 + miniwin/src/internal/d3drmrenderer_citro3d.h | 82 +++ 18 files changed, 975 insertions(+), 4 deletions(-) create mode 100644 ISLE/3ds/apthooks.cpp create mode 100644 ISLE/3ds/apthooks.h create mode 100644 ISLE/3ds/config.cpp create mode 100644 ISLE/3ds/config.h create mode 100644 ISLE/res/3ds/isle.png create mode 100644 miniwin/src/d3drm/backends/citro3d/renderer.cpp create mode 100644 miniwin/src/d3drm/backends/citro3d/vshader.v.pica create mode 100644 miniwin/src/internal/d3drmrenderer_citro3d.h diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c6124f37..57d6e539 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,6 +25,7 @@ jobs: build: name: ${{ matrix.name }} runs-on: ${{ matrix.os }} + container: ${{ matrix.container || '' }} defaults: run: shell: ${{ matrix.shell || 'sh' }} @@ -41,6 +42,7 @@ jobs: - { name: 'msys2 mingw64', os: 'windows-latest', dx5: false, config: true, mingw: true, werror: true, clang-tidy: true, msystem: 'mingw64', msys-env: 'mingw-w64-x86_64', shell: 'msys2 {0}' } - { name: 'macOS', os: 'macos-latest', dx5: false, config: true, brew: true, werror: true, clang-tidy: false } - { name: 'Emscripten', os: 'ubuntu-latest', dx5: false, config: false, emsdk: true, werror: true, clang-tidy: false, cmake-wrapper: 'emcmake' } + - { name: 'Nintendo 3DS', os: 'ubuntu-latest', dx5: false, config: false, n3ds: true, werror: true, clang-tidy: false, container: 'devkitpro/devkitarm:latest', cmake-args: '-DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/3DS.cmake' } steps: - name: Setup vcvars if: ${{ !!matrix.msvc }} @@ -89,6 +91,7 @@ jobs: - name: Configure (CMake) run: | ${{ matrix.cmake-wrapper || '' }} cmake -S . -B build -GNinja \ + ${{ matrix.cmake-args || '' }} \ -DCMAKE_BUILD_TYPE=Release \ -DISLE_USE_DX5=${{ !!matrix.dx5 }} \ -DISLE_BUILD_CONFIG=${{ !!matrix.config }} \ @@ -101,6 +104,7 @@ jobs: run: cmake --build build --verbose - name: Package (CPack) + if: ${{ !matrix.n3ds }} run: | cd build cpack . @@ -128,6 +132,13 @@ jobs: --output appimage && \ mv *.AppImage dist/ + - name: Package (3DS) + if: ${{ matrix.n3ds }} + run: | + cd build + mkdir dist + mv *.3dsx dist/ + - name: Upload Build Artifacts uses: actions/upload-artifact@v4 with: @@ -135,6 +146,7 @@ jobs: path: | build/dist/isle-* build/dist/*.AppImage + build/dist/*.3dsx flatpak: name: "Flatpak (${{ matrix.arch }})" diff --git a/CMakeLists.txt b/CMakeLists.txt index ac3663fc..e9812aea 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,7 +38,7 @@ option(ISLE_WERROR "Treat warnings as errors" OFF) option(ISLE_DEBUG "Enable imgui debug" ON) cmake_dependent_option(ISLE_USE_DX5 "Build with internal DirectX 5 SDK" "${NOT_MINGW}" "WIN32;CMAKE_SIZEOF_VOID_P EQUAL 4" OFF) cmake_dependent_option(ISLE_MINIWIN "Use miniwin" ON "NOT ISLE_USE_DX5" OFF) -cmake_dependent_option(ISLE_BUILD_CONFIG "Build CONFIG.EXE application" ON "MSVC OR ISLE_MINIWIN" OFF) +cmake_dependent_option(ISLE_BUILD_CONFIG "Build CONFIG.EXE application" ON "MSVC OR ISLE_MINIWIN;NOT NINTENDO_3DS" OFF) cmake_dependent_option(ISLE_COMPILE_SHADERS "Compile shaders" ON "SDL_SHADERCROSS_BIN;TARGET Python3::Interpreter" OFF) option(CMAKE_POSITION_INDEPENDENT_CODE "Build with -fPIC" ON) option(ENABLE_CLANG_TIDY "Enable clang-tidy") @@ -523,6 +523,12 @@ if (ISLE_BUILD_APP) target_compile_definitions(isle PRIVATE "ISLE_EMSCRIPTEN_HOST=\"${ISLE_EMSCRIPTEN_HOST}\"") set_property(TARGET isle PROPERTY SUFFIX ".html") endif() + if(NINTENDO_3DS) + target_sources(isle PRIVATE + ISLE/3ds/apthooks.cpp + ISLE/3ds/config.cpp + ) + endif() endif() if (ISLE_BUILD_CONFIG) @@ -652,9 +658,23 @@ add_subdirectory(packaging) set(CPACK_PACKAGE_DIRECTORY "dist") set(CPACK_PACKAGE_FILE_NAME "isle-${PROJECT_VERSION}-${ISLE_PACKAGE_NAME}") +if(NINTENDO_3DS) + ctr_generate_smdh(isle.smdh + NAME "LEGO Island" + TITLE "LEGO Island" + DESCRIPTION "LEGO Island for the Nintendo 3DS" + AUTHOR "isledecomp/isle-portable" + VERSION "${PROJECT_VERSION}" + ICON "ISLE/res/3ds/isle.png" + ) + + ctr_create_3dsx(isle SMDH isle.smdh) + install(FILES "$/isle.3dsx" DESTINATION "${CMAKE_INSTALL_BINDIR}") +endif() if(MSVC) set(CPACK_GENERATOR ZIP) else() set(CPACK_GENERATOR TGZ) endif() + include(CPack) diff --git a/ISLE/3ds/apthooks.cpp b/ISLE/3ds/apthooks.cpp new file mode 100644 index 00000000..3cd9c3e1 --- /dev/null +++ b/ISLE/3ds/apthooks.cpp @@ -0,0 +1,30 @@ +#include "apthooks.h" + +#include "legomain.h" +#include "misc.h" + +aptHookCookie g_aptCookie; + +void N3DS_AptHookCallback(APT_HookType hookType, void* param) +{ + switch (hookType) { + case APTHOOK_ONSLEEP: + case APTHOOK_ONSUSPEND: + Lego()->Pause(); + break; + case APTHOOK_ONWAKEUP: + case APTHOOK_ONRESTORE: + Lego()->Resume(); + break; + case APTHOOK_ONEXIT: + Lego()->CloseMainWindow(); + break; + default: + break; + } +} + +void N3DS_SetupAptHooks() +{ + aptHook(&g_aptCookie, N3DS_AptHookCallback, NULL); +} diff --git a/ISLE/3ds/apthooks.h b/ISLE/3ds/apthooks.h new file mode 100644 index 00000000..7bfa30f7 --- /dev/null +++ b/ISLE/3ds/apthooks.h @@ -0,0 +1,9 @@ +#ifndef N3DS_APTHOOKS_H +#define N3DS_APTHOOKS_H + +#include <3ds.h> + +void N3DS_AptHookCallback(APT_HookType hookType, void* param); +void N3DS_SetupAptHooks(); + +#endif // N3DS_APTHOOKS_H diff --git a/ISLE/3ds/config.cpp b/ISLE/3ds/config.cpp new file mode 100644 index 00000000..dc5dd8dc --- /dev/null +++ b/ISLE/3ds/config.cpp @@ -0,0 +1,22 @@ +#include "config.h" + +#include +#include + +void N3DS_SetupDefaultConfigOverrides(dictionary* p_dictionary) +{ + SDL_Log("Overriding default config for 3DS"); + + // We are currently not bundling the assets into romfs. + // User must place assets in sdmc:/3ds/isle where + // sdmc:/3ds/isle/LEGO/SCRIPTS/CREDITS.si exists, for example. + iniparser_set(p_dictionary, "isle:diskpath", "sdmc:/3ds/isle/LEGO/disk"); + iniparser_set(p_dictionary, "isle:cdpath", "sdmc:/3ds/isle"); + + // TODO: Save path: can we use libctru FS save data functions? Would be neat, especially for CIA install + // Extra / at the end causes some issues + iniparser_set(p_dictionary, "isle:savepath", "sdmc:/3ds/isle"); + + // Use e_noAnimation/cut transition + iniparser_set(p_dictionary, "isle:Transition Type", "1"); +} diff --git a/ISLE/3ds/config.h b/ISLE/3ds/config.h new file mode 100644 index 00000000..64d3a1b0 --- /dev/null +++ b/ISLE/3ds/config.h @@ -0,0 +1,8 @@ +#ifndef N3DS_CONFIG_H +#define N3DS_CONFIG_H + +#include "dictionary.h" + +void N3DS_SetupDefaultConfigOverrides(dictionary* p_dictionary); + +#endif // N3DS_CONFIG_H diff --git a/ISLE/isleapp.cpp b/ISLE/isleapp.cpp index e700d5b2..e12f9183 100644 --- a/ISLE/isleapp.cpp +++ b/ISLE/isleapp.cpp @@ -50,6 +50,11 @@ #include "emscripten/messagebox.h" #endif +#ifdef __3DS__ +#include "3ds/apthooks.h" +#include "3ds/config.h" +#endif + DECOMP_SIZE_ASSERT(IsleApp, 0x8c) // GLOBAL: ISLE 0x410030 @@ -313,6 +318,9 @@ SDL_AppResult SDL_AppInit(void** appstate, int argc, char** argv) }, NULL ); +#endif +#ifdef __3DS__ + N3DS_SetupAptHooks(); #endif return SDL_APP_CONTINUE; } @@ -654,7 +662,7 @@ MxResult IsleApp::SetupWindow() SDL_SetNumberProperty(props, SDL_PROP_WINDOW_CREATE_HEIGHT_NUMBER, g_targetHeight); SDL_SetBooleanProperty(props, SDL_PROP_WINDOW_CREATE_FULLSCREEN_BOOLEAN, m_fullScreen); SDL_SetStringProperty(props, SDL_PROP_WINDOW_CREATE_TITLE_STRING, WINDOW_TITLE); -#ifdef MINIWIN +#if defined(MINIWIN) && !defined(__3DS__) SDL_SetBooleanProperty(props, SDL_PROP_WINDOW_CREATE_OPENGL_BOOLEAN, true); SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24); @@ -825,6 +833,9 @@ bool IsleApp::LoadConfig() iniparser_set(dict, "isle:Max Allowed Extras", SDL_itoa(m_maxAllowedExtras, buf, 10)); iniparser_set(dict, "isle:Transition Type", SDL_itoa(m_transitionType, buf, 10)); +#ifdef __3DS__ + N3DS_SetupDefaultConfigOverrides(dict); +#endif iniparser_dump_ini(dict, iniFP); SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, "New config written at '%s'", iniConfig); fclose(iniFP); diff --git a/ISLE/isleapp.h b/ISLE/isleapp.h index dd7bfdb1..d0a7f523 100644 --- a/ISLE/isleapp.h +++ b/ISLE/isleapp.h @@ -96,6 +96,7 @@ class IsleApp { }; extern IsleApp* g_isle; +extern MxS32 g_closed; extern IDirect3DRMMiniwinDevice* GetD3DRMMiniwinDevice(); diff --git a/ISLE/isledebug.cpp b/ISLE/isledebug.cpp index a8950fa3..ec27004b 100644 --- a/ISLE/isledebug.cpp +++ b/ISLE/isledebug.cpp @@ -309,7 +309,7 @@ void IsleDebug_Render() if (ImGui::TreeNode("Sound Manager")) { LegoSoundManager* soundManager = lego->GetSoundManager(); Sint32 oldVolume = soundManager->GetVolume(); - Sint32 volume = oldVolume; + int volume = oldVolume; ImGui::SliderInt("volume", &volume, 0, 100); if (volume != oldVolume) { soundManager->SetVolume(volume); diff --git a/ISLE/res/3ds/isle.png b/ISLE/res/3ds/isle.png new file mode 100644 index 0000000000000000000000000000000000000000..8fd9f2c4ea61bad4ac49ef913f4f0a5eba8a507d GIT binary patch literal 438 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-st^qzFu0WcB;lD8hLnyuVVNQ6as5u0Lg)PKpf|zsSgwsED7=phDalk zhh@*cV_;z9_jGX#@i_i=awp#*1p$}s+rC9ar-uIc?=KpVF@5osD>G(TWHwx=Ol)9n z35ZHkjF|q_IO(6ero KMWF%kqVNX_gEV;R43gF*y7-$W0otxA=crn+jmt*e4du; z@3NDj&!m(NMP1bncyujj;v4pr4l7q1BA3ysTzx`at{3CV2`)-H%tUHVt4y;xA!EC>l{bX2DLD};SUZ9ZjboFyt=akR{ E03U~_mH+?% literal 0 HcmV?d00001 diff --git a/miniwin/CMakeLists.txt b/miniwin/CMakeLists.txt index 508e685d..851403cc 100644 --- a/miniwin/CMakeLists.txt +++ b/miniwin/CMakeLists.txt @@ -54,6 +54,23 @@ else() message(STATUS "🧩 OpenGL ES 2.x support not enabled") endif() +if(NINTENDO_3DS) + if(ISLE_DEBUG) + find_library(CITRO3D_LIBRARY NAMES citro3dd) + else() + find_library(CITRO3D_LIBRARY NAMES citro3d) + endif() + if(CITRO3D_LIBRARY) + message(STATUS "Found citro3d: enabling Citro3D renderer") + target_sources(miniwin PRIVATE src/d3drm/backends/citro3d/renderer.cpp) + ctr_add_shader_library(vshader src/d3drm/backends/citro3d/vshader.v.pica) + dkp_add_embedded_binary_library(3ds_shaders vshader) + target_link_libraries(miniwin PRIVATE ${CITRO3D_LIBRARY} 3ds_shaders) + else() + message(STATUS "🧩 Citro3D support not enabled") + endif() +endif() + if(WIN32) target_sources(miniwin PRIVATE src/d3drm/backends/directx9/actual.cpp diff --git a/miniwin/src/d3drm/backends/citro3d/renderer.cpp b/miniwin/src/d3drm/backends/citro3d/renderer.cpp new file mode 100644 index 00000000..f9167401 --- /dev/null +++ b/miniwin/src/d3drm/backends/citro3d/renderer.cpp @@ -0,0 +1,606 @@ +#include "d3drmrenderer.h" +#include "d3drmrenderer_citro3d.h" +#include "d3drmtexture_impl.h" +#include "ddraw_impl.h" +#include "meshutils.h" +#include "miniwin.h" +#include "vshader_shbin.h" + +#include + +static bool g_rendering = false; + +static DVLB_s* vshader_dvlb; +static shaderProgram_s program; +static int uLoc_projection; +static int uLoc_modelView; +static int uLoc_meshColor; +static int uLoc_lightVec; +static int uLoc_lightClr; +static int uLoc_shininess; + +Citro3DRenderer::Citro3DRenderer(DWORD width, DWORD height) +{ + m_width = 320; + m_height = 240; + m_virtualWidth = width; + m_virtualHeight = height; + + gfxInitDefault(); + consoleInit(GFX_TOP, nullptr); + C3D_Init(C3D_DEFAULT_CMDBUF_SIZE); + + m_renderTarget = C3D_RenderTargetCreate(m_height, m_width, GPU_RB_RGBA8, GPU_RB_DEPTH24_STENCIL8); + C3D_RenderTargetSetOutput( + m_renderTarget, + GFX_BOTTOM, + GFX_LEFT, + GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | + GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | + GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO) + ); + + vshader_dvlb = DVLB_ParseFile((u32*) vshader_shbin, vshader_shbin_size); + shaderProgramInit(&program); + shaderProgramSetVsh(&program, &vshader_dvlb->DVLE[0]); + C3D_BindProgram(&program); + + C3D_CullFace(GPU_CULL_FRONT_CCW); + + uLoc_projection = shaderInstanceGetUniformLocation(program.vertexShader, "projection"); + uLoc_modelView = shaderInstanceGetUniformLocation(program.vertexShader, "modelView"); + uLoc_meshColor = shaderInstanceGetUniformLocation(program.vertexShader, "meshColor"); + uLoc_lightVec = shaderInstanceGetUniformLocation(program.vertexShader, "lightVec"); + uLoc_lightClr = shaderInstanceGetUniformLocation(program.vertexShader, "lightClr"); + uLoc_shininess = shaderInstanceGetUniformLocation(program.vertexShader, "shininess"); + + C3D_AttrInfo* attrInfo = C3D_GetAttrInfo(); + AttrInfo_Init(attrInfo); + AttrInfo_AddLoader(attrInfo, 0, GPU_FLOAT, 3); // v0=position + AttrInfo_AddLoader(attrInfo, 1, GPU_FLOAT, 3); // v2=normal + AttrInfo_AddLoader(attrInfo, 2, GPU_FLOAT, 2); // v1=texcoord +} + +Citro3DRenderer::~Citro3DRenderer() +{ + shaderProgramFree(&program); + DVLB_Free(vshader_dvlb); + C3D_Fini(); + gfxExit(); +} + +void Citro3DRenderer::PushLights(const SceneLight* lights, size_t count) +{ + m_lights.assign(lights, lights + count); +} + +void Citro3DRenderer::SetProjection(const D3DRMMATRIX4D& projection, D3DVALUE front, D3DVALUE back) +{ + memcpy(&m_projection, projection, sizeof(D3DRMMATRIX4D)); +} + +void Citro3DRenderer::SetFrustumPlanes(const Plane* frustumPlanes) +{ +} + +struct Citro3DCacheDestroyContext { + Citro3DRenderer* renderer; + Uint32 id; +}; + +void Citro3DRenderer::AddTextureDestroyCallback(Uint32 id, IDirect3DRMTexture* texture) +{ + auto* ctx = new Citro3DCacheDestroyContext{this, id}; + texture->AddDestroyCallback( + [](IDirect3DRMObject* obj, void* arg) { + auto* ctx = static_cast(arg); + auto& entry = ctx->renderer->m_textures[ctx->id]; + if (entry.texture) { + C3D_TexDelete(&entry.c3dTex); + entry.texture = nullptr; + } + delete ctx; + }, + ctx + ); +} + +static int NearestPowerOfTwoClamp(int val) +{ + static const int sizes[] = {8, 16, 32, 64, 128, 256, 512}; + for (int size : sizes) { + if (val <= size) { + return size; + } + } + return 512; +} + +static SDL_Surface* ConvertAndResizeSurface(SDL_Surface* original, bool isUI, float scale) +{ + SDL_Surface* converted = SDL_ConvertSurface(original, SDL_PIXELFORMAT_RGBA8888); + if (!converted) { + return nullptr; + } + if (!isUI) { + return converted; + } + + int scaledW = static_cast(converted->w * scale); + int scaledH = static_cast(converted->h * scale); + + int paddedW = NearestPowerOfTwoClamp(scaledW); + int paddedH = NearestPowerOfTwoClamp(scaledH); + + SDL_Surface* padded = SDL_CreateSurface(paddedW, paddedH, SDL_PIXELFORMAT_RGBA8888); + if (!padded) { + SDL_DestroySurface(converted); + return nullptr; + } + + SDL_Rect dstRect = {0, 0, scaledW, scaledH}; + SDL_BlitSurfaceScaled(converted, nullptr, padded, &dstRect, SDL_SCALEMODE_LINEAR); + SDL_DestroySurface(converted); + + return padded; +} + +static void EncodeTextureLayout(const u8* src, u8* dst, int width, int height) +{ + const int tileSize = 8; + const int bytesPerPixel = 4; + + int tilesPerRow = (width + tileSize - 1) / tileSize; + + static const uint8_t mortonLUT[64] = {0, 1, 4, 5, 16, 17, 20, 21, 2, 3, 6, 7, 18, 19, 22, 23, + 8, 9, 12, 13, 24, 25, 28, 29, 10, 11, 14, 15, 26, 27, 30, 31, + 32, 33, 36, 37, 48, 49, 52, 53, 34, 35, 38, 39, 50, 51, 54, 55, + 40, 41, 44, 45, 56, 57, 60, 61, 42, 43, 46, 47, 58, 59, 62, 63}; + + for (int tileY = 0; tileY < height; tileY += tileSize) { + for (int tileX = 0; tileX < width; tileX += tileSize) { + int tileIndex = (tileY / tileSize) * tilesPerRow + (tileX / tileSize); + tileIndex *= tileSize * tileSize; + + for (int y = 0; y < tileSize; ++y) { + for (int x = 0; x < tileSize; ++x) { + int srcX = tileX + x; + int srcY = tileY + y; + + if (srcX >= width || srcY >= height) { + continue; + } + + int morton = mortonLUT[y * tileSize + x]; + int dstIndex = (tileIndex + morton) * bytesPerPixel; + int srcIndex = ((height - 1 - srcY) * width + srcX); + + *(u32*) &dst[dstIndex] = ((u32*) src)[srcIndex]; + } + } + } + } +} + +static bool ConvertAndUploadTexture(C3D_Tex* tex, SDL_Surface* originalSurface, bool isUI, float scale) +{ + SDL_Surface* resized = ConvertAndResizeSurface(originalSurface, isUI, scale); + if (!resized) { + return false; + } + + int width = resized->w; + int height = resized->h; + + C3D_TexInitParams params = {}; + params.width = width; + params.height = height; + params.format = GPU_RGBA8; + params.maxLevel = isUI ? 0 : 4; + params.type = GPU_TEX_2D; + if (!C3D_TexInitWithParams(tex, nullptr, params)) { + SDL_DestroySurface(resized); + return false; + } + + uint8_t* tiledData = (uint8_t*) malloc(width * height * 4); + if (!tiledData) { + SDL_DestroySurface(resized); + return false; + } + + EncodeTextureLayout((const u8*) resized->pixels, tiledData, width, height); + SDL_DestroySurface(resized); + + C3D_TexUpload(tex, tiledData); + free(tiledData); + + if (isUI) { + C3D_TexSetFilter(tex, GPU_NEAREST, GPU_NEAREST); + C3D_TexSetWrap(tex, GPU_CLAMP_TO_EDGE, GPU_CLAMP_TO_EDGE); + } + else { + C3D_TexSetFilter(tex, GPU_LINEAR, GPU_LINEAR); + C3D_TexSetWrap(tex, GPU_REPEAT, GPU_REPEAT); + C3D_TexSetFilterMipmap(tex, GPU_LINEAR); + C3D_TexGenerateMipmap(tex, GPU_TEXFACE_2D); + } + + return true; +} + +Uint32 Citro3DRenderer::GetTextureId(IDirect3DRMTexture* iTexture, bool isUi) +{ + auto texture = static_cast(iTexture); + auto surface = static_cast(texture->m_surface); + SDL_Surface* originalSurface = surface->m_surface; + + int originalW = originalSurface->w; + int originalH = originalSurface->h; + + for (Uint32 i = 0; i < m_textures.size(); ++i) { + auto& tex = m_textures[i]; + if (tex.texture == texture) { + if (tex.version != texture->m_version) { + C3D_TexDelete(&tex.c3dTex); + if (!ConvertAndUploadTexture(&tex.c3dTex, originalSurface, isUi, m_viewportTransform.scale)) { + return NO_TEXTURE_ID; + } + + tex.version = texture->m_version; + tex.width = NearestPowerOfTwoClamp(originalW * m_viewportTransform.scale); + tex.height = NearestPowerOfTwoClamp(originalH * m_viewportTransform.scale); + } + return i; + } + } + + C3DTextureCacheEntry entry; + entry.texture = texture; + entry.version = texture->m_version; + entry.width = NearestPowerOfTwoClamp(originalW * m_viewportTransform.scale); + entry.height = NearestPowerOfTwoClamp(originalH * m_viewportTransform.scale); + + if (!ConvertAndUploadTexture(&entry.c3dTex, originalSurface, isUi, m_viewportTransform.scale)) { + return NO_TEXTURE_ID; + } + + for (Uint32 i = 0; i < m_textures.size(); ++i) { + if (!m_textures[i].texture) { + m_textures[i] = std::move(entry); + AddTextureDestroyCallback(i, texture); + return i; + } + } + + m_textures.push_back(std::move(entry)); + AddTextureDestroyCallback((Uint32) (m_textures.size() - 1), texture); + return (Uint32) (m_textures.size() - 1); +} + +C3DMeshCacheEntry C3DUploadMesh(const MeshGroup& meshGroup) +{ + C3DMeshCacheEntry cache{&meshGroup, meshGroup.version}; + + std::vector vertexBuffer; + std::vector indexBuffer; + + if (meshGroup.quality == D3DRMRENDER_FLAT || meshGroup.quality == D3DRMRENDER_UNLITFLAT) { + FlattenSurfaces( + meshGroup.vertices.data(), + meshGroup.vertices.size(), + meshGroup.indices.data(), + meshGroup.indices.size(), + meshGroup.texture != nullptr, + vertexBuffer, + indexBuffer + ); + } + else { + vertexBuffer.assign(meshGroup.vertices.begin(), meshGroup.vertices.end()); + indexBuffer.assign(meshGroup.indices.begin(), meshGroup.indices.end()); + } + + // Flatten vertices as IBO is buggy on 3DS hardware + std::vector vertexUploadBuffer; + vertexUploadBuffer.reserve(indexBuffer.size()); + + for (size_t i = 0; i < indexBuffer.size(); ++i) { + vertexUploadBuffer.emplace_back(vertexBuffer[indexBuffer[i]]); + } + + size_t vertexBufferSize = vertexUploadBuffer.size() * sizeof(D3DRMVERTEX); + cache.vbo = linearAlloc(vertexBufferSize); + memcpy(cache.vbo, vertexUploadBuffer.data(), vertexBufferSize); + cache.vertexCount = vertexUploadBuffer.size(); + + return cache; +} + +void Citro3DRenderer::AddMeshDestroyCallback(Uint32 id, IDirect3DRMMesh* mesh) +{ + auto* ctx = new Citro3DCacheDestroyContext{this, id}; + mesh->AddDestroyCallback( + [](IDirect3DRMObject* obj, void* arg) { + auto* ctx = static_cast(arg); + auto& cacheEntry = ctx->renderer->m_meshs[ctx->id]; + if (cacheEntry.meshGroup) { + cacheEntry.meshGroup = nullptr; + linearFree(cacheEntry.vbo); + cacheEntry.vertexCount = 0; + } + delete ctx; + }, + ctx + ); +} + +Uint32 Citro3DRenderer::GetMeshId(IDirect3DRMMesh* mesh, const MeshGroup* meshGroup) +{ + for (Uint32 i = 0; i < m_meshs.size(); ++i) { + auto& cache = m_meshs[i]; + if (cache.meshGroup == meshGroup) { + if (cache.version != meshGroup->version) { + cache = std::move(C3DUploadMesh(*meshGroup)); + } + return i; + } + } + + auto newCache = C3DUploadMesh(*meshGroup); + + for (Uint32 i = 0; i < m_meshs.size(); ++i) { + auto& cache = m_meshs[i]; + if (!cache.meshGroup) { + cache = std::move(newCache); + AddMeshDestroyCallback(i, mesh); + return i; + } + } + + m_meshs.push_back(std::move(newCache)); + AddMeshDestroyCallback((Uint32) (m_meshs.size() - 1), mesh); + return (Uint32) (m_meshs.size() - 1); +} + +void Citro3DRenderer::StartFrame() +{ + if (g_rendering) { + return; + } + C3D_FrameBegin(C3D_FRAME_SYNCDRAW); + C3D_FrameDrawOn(m_renderTarget); + g_rendering = true; +} + +void ConvertPerspective(const D3DRMMATRIX4D in, C3D_Mtx* out) +{ + float f_h = in[0][0]; + float f_v = in[1][1]; + + float aspect = f_v / f_h; + float fovY = 2.0f * atanf(1.0f / f_v); + + float nearZ = -in[3][2] / in[2][2]; + float farZ = nearZ * in[2][2] / (in[2][2] - 1.0f); + + Mtx_PerspTilt(out, fovY, aspect, nearZ, farZ, true); +} + +HRESULT Citro3DRenderer::BeginFrame() +{ + StartFrame(); + C3D_DepthTest(true, GPU_GREATER, GPU_WRITE_ALL); + + C3D_Mtx projection; + ConvertPerspective(m_projection, &projection); + C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_projection, &projection); + + for (const auto& light : m_lights) { + FColor lightColor = light.color; + if (light.positional == 0.0f && light.directional == 0.0f) { + // Ambient light + C3D_FVUnifSet(GPU_VERTEX_SHADER, uLoc_lightClr + 2, lightColor.r, lightColor.g, lightColor.b, 1.0f); + } + else if (light.directional == 1.0f) { + C3D_FVUnifSet( + GPU_VERTEX_SHADER, + uLoc_lightVec + 1, + -light.direction.x, + -light.direction.y, + -light.direction.z, + 0.0f + ); + C3D_FVUnifSet(GPU_VERTEX_SHADER, uLoc_lightClr + 1, lightColor.r, lightColor.g, lightColor.b, 0.0f); + } + else if (light.positional == 1.0f) { + C3D_FVUnifSet( + GPU_VERTEX_SHADER, + uLoc_lightVec + 0, + light.position.x, + light.position.y, + light.position.z, + 0.0f + ); + C3D_FVUnifSet(GPU_VERTEX_SHADER, uLoc_lightClr + 0, lightColor.r, lightColor.g, lightColor.b, 0.0f); + } + } + + return S_OK; +} + +void Citro3DRenderer::EnableTransparency() +{ + C3D_DepthTest(true, GPU_GREATER, GPU_WRITE_COLOR); +} + +void ConvertMatrix(const D3DRMMATRIX4D in, C3D_Mtx* out) +{ + for (int i = 0; i < 4; i++) { + out->r[i].x = in[0][i]; + out->r[i].y = in[1][i]; + out->r[i].z = in[2][i]; + out->r[i].w = in[3][i]; + } +} + +void Citro3DRenderer::SubmitDraw( + DWORD meshId, + const D3DRMMATRIX4D& modelViewMatrix, + const D3DRMMATRIX4D& worldMatrix, + const D3DRMMATRIX4D& viewMatrix, + const Matrix3x3& normalMatrix, + const Appearance& appearance +) +{ + C3D_Mtx modelView; + ConvertMatrix(modelViewMatrix, &modelView); + C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_modelView, &modelView); + + auto& mesh = m_meshs[meshId]; + + C3D_BufInfo* bufInfo = C3D_GetBufInfo(); + BufInfo_Init(bufInfo); + BufInfo_Add(bufInfo, mesh.vbo, sizeof(D3DRMVERTEX), 3, 0x210); + + C3D_FVUnifSet( + GPU_VERTEX_SHADER, + uLoc_meshColor, + appearance.color.r / 255.0f, + appearance.color.g / 255.0f, + appearance.color.b / 255.0f, + appearance.color.a / 255.0f + ); + + C3D_FVUnifSet(GPU_VERTEX_SHADER, uLoc_shininess, appearance.shininess / 255.0f, 0.0f, 0.0f, 0.0f); + + if (appearance.textureId != NO_TEXTURE_ID) { + C3D_TexBind(0, &m_textures[appearance.textureId].c3dTex); + C3D_TexEnv* env = C3D_GetTexEnv(0); + C3D_TexEnvInit(env); + C3D_TexEnvSrc(env, C3D_Both, GPU_TEXTURE0, GPU_PRIMARY_COLOR, GPU_PRIMARY_COLOR); + C3D_TexEnvFunc(env, C3D_Both, GPU_MODULATE); + } + else { + C3D_TexBind(0, nullptr); + C3D_TexEnv* env = C3D_GetTexEnv(0); + C3D_TexEnvInit(env); + C3D_TexEnvSrc(env, C3D_Both, GPU_PRIMARY_COLOR, GPU_PRIMARY_COLOR, GPU_PRIMARY_COLOR); + C3D_TexEnvFunc(env, C3D_Both, GPU_REPLACE); + } + + C3D_DrawArrays(GPU_TRIANGLES, 0, mesh.vertexCount); +} + +HRESULT Citro3DRenderer::FinalizeFrame() +{ + return S_OK; +} + +void Citro3DRenderer::Resize(int width, int height, const ViewportTransform& viewportTransform) +{ + m_width = width; + m_height = height; + m_viewportTransform = viewportTransform; +} + +void Citro3DRenderer::Clear(float r, float g, float b) +{ + StartFrame(); + u32 color = + (static_cast(r * 255) << 24) | (static_cast(g * 255) << 16) | (static_cast(b * 255) << 8) | 255; + C3D_RenderTargetClear(m_renderTarget, C3D_CLEAR_ALL, color, 0); +} + +void Citro3DRenderer::Flip() +{ + C3D_FrameEnd(0); + gfxFlushBuffers(); + gspWaitForVBlank(); + g_rendering = false; +} + +void Citro3DRenderer::Draw2DImage(Uint32 textureId, const SDL_Rect& srcRect, const SDL_Rect& dstRect) +{ + C3D_AlphaBlend(GPU_BLEND_ADD, GPU_BLEND_ADD, GPU_ONE, GPU_ONE_MINUS_SRC_ALPHA, GPU_ONE, GPU_ONE_MINUS_SRC_ALPHA); + StartFrame(); + C3D_DepthTest(false, GPU_GREATER, GPU_WRITE_COLOR); + + float left = -m_viewportTransform.offsetX / m_viewportTransform.scale; + float right = (m_width - m_viewportTransform.offsetX) / m_viewportTransform.scale; + float top = -m_viewportTransform.offsetY / m_viewportTransform.scale; + float bottom = (m_height - m_viewportTransform.offsetY) / m_viewportTransform.scale; + + C3D_Mtx projection, modelView; + Mtx_OrthoTilt(&projection, left, right, bottom, top, 0.0f, 1.0f, true); + C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_projection, &projection); + Mtx_Identity(&modelView); + C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_modelView, &modelView); + + // Set light directions + C3D_FVUnifSet(GPU_VERTEX_SHADER, uLoc_lightVec + 0, 0.0f, 0.0f, 0.0f, 0.0f); + C3D_FVUnifSet(GPU_VERTEX_SHADER, uLoc_lightVec + 1, 0.0f, 0.0f, 0.0f, 0.0f); + + // Set light colors + C3D_FVUnifSet(GPU_VERTEX_SHADER, uLoc_lightClr + 0, 0.0f, 0.0f, 0.0f, 0.0f); + C3D_FVUnifSet(GPU_VERTEX_SHADER, uLoc_lightClr + 1, 0.0f, 0.0f, 0.0f, 0.0f); + C3D_FVUnifSet(GPU_VERTEX_SHADER, uLoc_lightClr + 2, 1.0f, 1.0f, 1.0f, 1.0f); // Ambient + + C3D_FVUnifSet(GPU_VERTEX_SHADER, uLoc_shininess, 0.0f, 0.0f, 0.0f, 0.0f); + C3D_FVUnifSet(GPU_VERTEX_SHADER, uLoc_meshColor, 1.0f, 1.0f, 1.0f, 1.0f); + + C3DTextureCacheEntry& texture = m_textures[textureId]; + + C3D_TexBind(0, &texture.c3dTex); + C3D_TexEnv* env = C3D_GetTexEnv(0); + C3D_TexEnvInit(env); + C3D_TexEnvSrc(env, C3D_Both, GPU_TEXTURE0, GPU_PRIMARY_COLOR, GPU_PRIMARY_COLOR); + C3D_TexEnvFunc(env, C3D_Both, GPU_MODULATE); + + float scale = m_viewportTransform.scale; + + float x1 = static_cast(dstRect.x); + float y1 = static_cast(dstRect.y); + float x2 = x1 + static_cast(dstRect.w); + float y2 = y1 + static_cast(dstRect.h); + + float u0 = (srcRect.x * scale) / texture.width; + float u1 = ((srcRect.x + srcRect.w) * scale) / texture.width; + float v0 = (srcRect.y * scale) / texture.height; + float v1 = ((srcRect.y + srcRect.h) * scale) / texture.height; + + C3D_ImmDrawBegin(GPU_TRIANGLES); + + // Triangle 1 + C3D_ImmSendAttrib(x1, y1, 0.5f, 0.0f); + C3D_ImmSendAttrib(0.0f, 0.0f, 1.0f, 0.0f); + C3D_ImmSendAttrib(u0, v0, 0.0f, 0.0f); + + C3D_ImmSendAttrib(x2, y1, 0.5f, 0.0f); + C3D_ImmSendAttrib(0.0f, 0.0f, 1.0f, 0.0f); + C3D_ImmSendAttrib(u1, v0, 0.0f, 0.0f); + + C3D_ImmSendAttrib(x2, y2, 0.5f, 0.0f); + C3D_ImmSendAttrib(0.0f, 0.0f, 1.0f, 0.0f); + C3D_ImmSendAttrib(u1, v1, 0.0f, 0.0f); + + // Triangle 2 + C3D_ImmSendAttrib(x2, y2, 0.5f, 0.0f); + C3D_ImmSendAttrib(0.0f, 0.0f, 1.0f, 0.0f); + C3D_ImmSendAttrib(u1, v1, 0.0f, 0.0f); + + C3D_ImmSendAttrib(x1, y2, 0.5f, 0.0f); + C3D_ImmSendAttrib(0.0f, 0.0f, 1.0f, 0.0f); + C3D_ImmSendAttrib(u0, v1, 0.0f, 0.0f); + + C3D_ImmSendAttrib(x1, y1, 0.5f, 0.0f); + C3D_ImmSendAttrib(0.0f, 0.0f, 1.0f, 0.0f); + C3D_ImmSendAttrib(u0, v0, 0.0f, 0.0f); + + C3D_ImmDrawEnd(); +} + +void Citro3DRenderer::Download(SDL_Surface* target) +{ + MINIWIN_NOT_IMPLEMENTED(); +} diff --git a/miniwin/src/d3drm/backends/citro3d/vshader.v.pica b/miniwin/src/d3drm/backends/citro3d/vshader.v.pica new file mode 100644 index 00000000..cd7f91c4 --- /dev/null +++ b/miniwin/src/d3drm/backends/citro3d/vshader.v.pica @@ -0,0 +1,130 @@ +; Uniforms +.fvec projection[4], modelView[4], meshColor +.fvec lightVec[2], lightClr[3], shininess + +; Constants +.constf myconst(0.0, 1.0, -1.0, -0.5) + +; Outputs +.out outpos position +.out outtc0 texcoord0 +.out outclr color + +; Inputs +.alias inpos v0 +.alias innrm v1 +.alias intex v2 + +.proc main + ; Prepare constants in usable temp regs + mov r15.x, myconst.x ; 0.0 + mov r15.y, myconst.y ; 1.0 + mov r15.z, myconst.z ; -1.0 + + ; Force the w component of inpos to be 1.0 + mov r0.xyz, inpos + mov r0.w, r15.y + + ; r1 = modelView * inpos + dp4 r1.x, modelView[0], r0 + dp4 r1.y, modelView[1], r0 + dp4 r1.z, modelView[2], r0 + dp4 r1.w, modelView[3], r0 + + ; outpos = projection * r1 + dp4 outpos.x, projection[0], r1 + dp4 outpos.y, projection[1], r1 + dp4 outpos.z, projection[2], r1 + dp4 outpos.w, projection[3], r1 + + ; outtex = intex + mov outtc0, intex + mov outtc0.zw, myconst.xy + + ; Transform normal + mov r2.xyz, innrm + mov r2.w, r15.x + dp4 r3.x, modelView[0], r2 + dp4 r3.y, modelView[1], r2 + dp4 r3.z, modelView[2], r2 + mov r3.w, r15.x + dp3 r4.x, r3, r3 + rsq r4.x, r4.x + mul r3, r4.xxxx, r3 ; r3 = normalized normal + + ; Normalize lightVec[0] + mov r5, lightVec[0] + dp3 r6.x, r5, r5 + rsq r6.x, r6.x + mul r5, r6.xxxx, r5 + + ; dot(normal, lightVec[0]) + dp3 r6.x, r3, r5 + max r6.x, r6.x, r15.xxxx + + ; Normalize lightVec[1] + mov r7, lightVec[1] + dp3 r8.x, r7, r7 + rsq r8.x, r8.x + mul r7, r8.xxxx, r7 + + ; dot(normal, lightVec[1]) + dp3 r6.y, r3, r7 + max r6.y, r6.y, r15.xxxx + + ; Load lightClr + mov r8, lightClr[2] ; ambient + mov r9, lightClr[0] ; point + mov r10, lightClr[1] ; directional + + ; diffuse = ambient + (lightClr[0] * dot0) + (lightClr[1] * dot1) + mul r11, r9, r6.xxxx + add r8, r8, r11 + mul r11, r10, r6.yyyy + add r8, r8, r11 ; r8 = diffuse + + ; Check if shininess > 0 + mov r12, shininess + slt r13.x, r15.x, r12.x + + ; viewVec = normalize(-position.xyz) + mov r14.xyz, r1.xyz + mul r14.xyz, r14.xyz, r15.zzz + dp3 r4.x, r14, r14 + rsq r4.x, r4.x + mul r14, r4.xxxx, r14 + + ; H = normalize(view + lightVec[1]) + add r11, r14, r7 + dp3 r4.x, r11, r11 + rsq r4.x, r4.x + mul r11, r4.xxxx, r11 + + ; dot(normal, H) + dp3 r4.x, r3, r11 + max r4.x, r4.x, r15.x + + ; Approximate pow(dotNH, 10) by repeated multiplication + mul r5.x, r4.x, r4.x ; dotNH^2 + mul r5.x, r5.x, r5.x ; dotNH^4 + mul r5.x, r5.x, r5.x ; dotNH^8 + mul r4.x, r5.x, r4.x ; dotNH^9 + mul r4.x, r4.x, r4.x ; dotNH^10 + + ; Multiply by shininess > 0 flag + mul r4.x, r4.x, r13.x + + ; specular = lightClr[1] * spec + mul r5, r10, r4.xxxx + + ; final = diffuse * meshColor + specular * lightClr[1] + mov r9, meshColor + mul r6, r8, r9 ; diffuse * meshColor + add r7.xyz, r6.xyz, r5.xyz ; add specular (already multiplied by lightClr) + min r7.xyz, r7.xyz, r15.yyyy + + mov outclr.xyz, r7.xyz + mov outclr.w, meshColor.w + + end +.end diff --git a/miniwin/src/d3drm/backends/software/renderer.cpp b/miniwin/src/d3drm/backends/software/renderer.cpp index 6b969769..02c5bfc0 100644 --- a/miniwin/src/d3drm/backends/software/renderer.cpp +++ b/miniwin/src/d3drm/backends/software/renderer.cpp @@ -80,7 +80,7 @@ void Direct3DRMSoftwareRenderer::ClearZBuffer() _mm_empty(); } #endif -#elif defined(__arm__) || defined(__aarch64__) +#elif (defined(__arm__) || defined(__aarch64__)) && !defined(__3DS__) if (SDL_HasNEON()) { float32x4_t inf4 = vdupq_n_f32(inf); for (; i + 4 <= size; i += 4) { diff --git a/miniwin/src/d3drm/d3drm.cpp b/miniwin/src/d3drm/d3drm.cpp index e8df37b1..45a4e3ad 100644 --- a/miniwin/src/d3drm/d3drm.cpp +++ b/miniwin/src/d3drm/d3drm.cpp @@ -13,6 +13,9 @@ #ifdef USE_OPENGLES2 #include "d3drmrenderer_opengles2.h" #endif +#ifdef __3DS__ +#include "d3drmrenderer_citro3d.h" +#endif #ifdef _WIN32 #include "d3drmrenderer_directx9.h" #endif @@ -159,6 +162,11 @@ HRESULT Direct3DRMImpl::CreateDeviceFromSurface( DDRenderer = OpenGL1Renderer::Create(DDSDesc.dwWidth, DDSDesc.dwHeight); } #endif +#ifdef __3DS__ + else if (SDL_memcmp(&guid, &Citro3D_GUID, sizeof(GUID)) == 0) { + DDRenderer = new Citro3DRenderer(DDSDesc.dwWidth, DDSDesc.dwHeight); + } +#endif #ifdef _WIN32 else if (SDL_memcmp(&guid, &DirectX9_GUID, sizeof(GUID)) == 0) { DDRenderer = DirectX9Renderer::Create(DDSDesc.dwWidth, DDSDesc.dwHeight); diff --git a/miniwin/src/d3drm/d3drmdevice.cpp b/miniwin/src/d3drm/d3drmdevice.cpp index f6b2f9f7..b738c809 100644 --- a/miniwin/src/d3drm/d3drmdevice.cpp +++ b/miniwin/src/d3drm/d3drmdevice.cpp @@ -155,6 +155,10 @@ void Direct3DRMDevice2Impl::Resize() { int width, height; SDL_GetWindowSizeInPixels(DDWindow, &width, &height); +#ifdef __3DS__ + width = 320; // We are on the lower screen + height = 240; +#endif m_viewportTransform = CalculateViewportTransform(m_virtualWidth, m_virtualHeight, width, height); m_renderer->Resize(width, height, m_viewportTransform); for (int i = 0; i < m_viewports->GetSize(); i++) { diff --git a/miniwin/src/ddraw/ddraw.cpp b/miniwin/src/ddraw/ddraw.cpp index 018fffd1..a3bc5d4d 100644 --- a/miniwin/src/ddraw/ddraw.cpp +++ b/miniwin/src/ddraw/ddraw.cpp @@ -4,6 +4,9 @@ #ifdef USE_OPENGLES2 #include "d3drmrenderer_opengles2.h" #endif +#ifdef __3DS__ +#include "d3drmrenderer_citro3d.h" +#endif #ifdef _WIN32 #include "d3drmrenderer_directx9.h" #endif @@ -232,6 +235,9 @@ HRESULT DirectDrawImpl::EnumDevices(LPD3DENUMDEVICESCALLBACK cb, void* ctx) #ifdef USE_OPENGL1 OpenGL1Renderer_EnumDevice(cb, ctx); #endif +#ifdef __3DS__ + Citro3DRenderer_EnumDevice(cb, ctx); +#endif #ifdef _WIN32 DirectX9Renderer_EnumDevice(cb, ctx); #endif @@ -346,6 +352,11 @@ HRESULT DirectDrawImpl::CreateDevice( DDRenderer = OpenGL1Renderer::Create(DDSDesc.dwWidth, DDSDesc.dwHeight); } #endif +#ifdef __3DS__ + else if (SDL_memcmp(&guid, &Citro3D_GUID, sizeof(GUID)) == 0) { + DDRenderer = new Citro3DRenderer(DDSDesc.dwWidth, DDSDesc.dwHeight); + } +#endif #ifdef _WIN32 else if (SDL_memcmp(&guid, &DirectX9_GUID, sizeof(GUID)) == 0) { DDRenderer = DirectX9Renderer::Create(DDSDesc.dwWidth, DDSDesc.dwHeight); diff --git a/miniwin/src/internal/d3drmrenderer_citro3d.h b/miniwin/src/internal/d3drmrenderer_citro3d.h new file mode 100644 index 00000000..426f75c8 --- /dev/null +++ b/miniwin/src/internal/d3drmrenderer_citro3d.h @@ -0,0 +1,82 @@ +#pragma once + +#include "d3drmrenderer.h" +#include "ddraw_impl.h" + +#include +#include +#include + +DEFINE_GUID(Citro3D_GUID, 0x682656F3, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x53); + +struct C3DTextureCacheEntry { + IDirect3DRMTexture* texture; + Uint32 version; + C3D_Tex c3dTex; + uint16_t width; + uint16_t height; +}; + +struct C3DMeshCacheEntry { + const MeshGroup* meshGroup = nullptr; + int version = 0; + void* vbo = nullptr; + int vertexCount = 0; +}; + +class Citro3DRenderer : public Direct3DRMRenderer { +public: + Citro3DRenderer(DWORD width, DWORD height); + ~Citro3DRenderer() override; + + void PushLights(const SceneLight* lightsArray, size_t count) override; + void SetProjection(const D3DRMMATRIX4D& projection, D3DVALUE front, D3DVALUE back) override; + void SetFrustumPlanes(const Plane* frustumPlanes) override; + Uint32 GetTextureId(IDirect3DRMTexture* texture, bool isUi) override; + Uint32 GetMeshId(IDirect3DRMMesh* mesh, const MeshGroup* meshGroup) override; + HRESULT BeginFrame() override; + void EnableTransparency() override; + void SubmitDraw( + DWORD meshId, + const D3DRMMATRIX4D& modelViewMatrix, + const D3DRMMATRIX4D& worldMatrix, + const D3DRMMATRIX4D& viewMatrix, + const Matrix3x3& normalMatrix, + const Appearance& appearance + ) override; + HRESULT FinalizeFrame() override; + void Resize(int width, int height, const ViewportTransform& viewportTransform) override; + void Clear(float r, float g, float b) override; + void Flip() override; + void Draw2DImage(Uint32 textureId, const SDL_Rect& srcRect, const SDL_Rect& dstRect) override; + void Download(SDL_Surface* target) override; + +private: + void AddTextureDestroyCallback(Uint32 id, IDirect3DRMTexture* texture); + void AddMeshDestroyCallback(Uint32 id, IDirect3DRMMesh* mesh); + void StartFrame(); + + D3DRMMATRIX4D m_projection; + SDL_Surface* m_renderedImage; + C3D_RenderTarget* m_renderTarget; + std::vector m_textures; + std::vector m_meshs; + ViewportTransform m_viewportTransform; + std::vector m_lights; +}; + +inline static void Citro3DRenderer_EnumDevice(LPD3DENUMDEVICESCALLBACK cb, void* ctx) +{ + D3DDEVICEDESC halDesc = {}; + halDesc.dcmColorModel = D3DCOLOR_RGB; + halDesc.dwFlags = D3DDD_DEVICEZBUFFERBITDEPTH; + halDesc.dwDeviceZBufferBitDepth = DDBD_24; + halDesc.dwDeviceRenderBitDepth = DDBD_32; + halDesc.dpcTriCaps.dwTextureCaps = D3DPTEXTURECAPS_PERSPECTIVE; + halDesc.dpcTriCaps.dwShadeCaps = D3DPSHADECAPS_ALPHAFLATBLEND; + halDesc.dpcTriCaps.dwTextureFilterCaps = D3DPTFILTERCAPS_LINEAR; + + D3DDEVICEDESC helDesc = {}; + + EnumDevice(cb, ctx, "Citro3D", &halDesc, &helDesc, Citro3D_GUID); +} From 12d4d6a89aebe800f0e68c9ea6bef2af14035371 Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Mon, 30 Jun 2025 19:45:07 -0700 Subject: [PATCH 40/42] Update README.md [skip ci] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 33dbd232..8f5c6756 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ Please note: this project is dedicated to achieving platform independence withou | Linux | [![CI](https://github.com/isledecomp/isle-portable/actions/workflows/ci.yml/badge.svg)](https://github.com/isledecomp/isle-portable/actions/workflows/ci.yml) | | macOS | [![CI](https://github.com/isledecomp/isle-portable/actions/workflows/ci.yml/badge.svg)](https://github.com/isledecomp/isle-portable/actions/workflows/ci.yml) | | [Web](https://isle.pizza) | [![CI](https://github.com/isledecomp/isle-portable/actions/workflows/ci.yml/badge.svg)](https://github.com/isledecomp/isle-portable/actions/workflows/ci.yml) | +| Nintendo 3DS | [![CI](https://github.com/isledecomp/isle-portable/actions/workflows/ci.yml/badge.svg)](https://github.com/isledecomp/isle-portable/actions/workflows/ci.yml) | We are actively working to support more platforms. If you have experience with a particular platform, we encourage you to contribute to `isle-portable`. You can find a [list of ongoing efforts](https://github.com/isledecomp/isle-portable/wiki/Work%E2%80%90in%E2%80%90progress-ports) in our Wiki. From 6668d185d46595aca4bf338ea46e3132a71c730f Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Tue, 1 Jul 2025 23:59:29 +0200 Subject: [PATCH 41/42] Make OpenGL 1.1 renderer work under PSP --- ISLE/isleapp.cpp | 2 + miniwin/src/d3drm/backends/opengl1/actual.cpp | 49 +++++++---- miniwin/src/d3drm/backends/opengl1/actual.h | 6 +- .../src/d3drm/backends/opengl1/renderer.cpp | 83 +++++++++++++++---- .../src/d3drm/backends/opengles2/renderer.cpp | 1 + miniwin/src/internal/d3drmrenderer_opengl1.h | 3 + 6 files changed, 107 insertions(+), 37 deletions(-) diff --git a/ISLE/isleapp.cpp b/ISLE/isleapp.cpp index e12f9183..8f69bf4e 100644 --- a/ISLE/isleapp.cpp +++ b/ISLE/isleapp.cpp @@ -665,7 +665,9 @@ MxResult IsleApp::SetupWindow() #if defined(MINIWIN) && !defined(__3DS__) SDL_SetBooleanProperty(props, SDL_PROP_WINDOW_CREATE_OPENGL_BOOLEAN, true); SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); +#ifndef __PSP__ SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24); +#endif #endif window = SDL_CreateWindowWithProperties(props); diff --git a/miniwin/src/d3drm/backends/opengl1/actual.cpp b/miniwin/src/d3drm/backends/opengl1/actual.cpp index e1c56636..1c12f51a 100644 --- a/miniwin/src/d3drm/backends/opengl1/actual.cpp +++ b/miniwin/src/d3drm/backends/opengl1/actual.cpp @@ -42,12 +42,26 @@ void GL11_DestroyTexture(GLuint texId) glDeleteTextures(1, &texId); } -GLuint GL11_UploadTextureData(void* pixels, int width, int height) +GLuint GL11_UploadTextureData(void* pixels, int width, int height, bool isUi) { GLuint texId; glGenTextures(1, &texId); glBindTexture(GL_TEXTURE_2D, texId); + if (isUi) { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + } + else { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); + } + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, pixels); + return texId; } @@ -111,7 +125,6 @@ void GL11_BeginFrame(const Matrix4x4* projection) glDepthMask(GL_TRUE); glEnable(GL_LIGHTING); glEnable(GL_COLOR_MATERIAL); - glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE); // Disable all lights and reset global ambient for (int i = 0; i < 8; ++i) { @@ -198,7 +211,18 @@ void GL11_SubmitDraw( glLoadMatrixf(&modelViewMatrix[0][0]); glEnable(GL_NORMALIZE); +#ifndef __PSP__ + glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE); glColor4ub(appearance.color.r, appearance.color.g, appearance.color.b, appearance.color.a); +#else + GLfloat color[4] = { + appearance.color.r / 255.0f, + appearance.color.g / 255.0f, + appearance.color.b / 255.0f, + appearance.color.a / 255.0f + }; + glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, color); +#endif if (appearance.shininess != 0.0f) { GLfloat whiteSpec[] = {1.f, 1.f, 1.f, 1.f}; @@ -220,8 +244,6 @@ void GL11_SubmitDraw( // Bind texture if present if (appearance.textureId != NO_TEXTURE_ID) { - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glEnable(GL_TEXTURE_2D); glBindTexture(GL_TEXTURE_2D, texId); glEnableClientState(GL_TEXTURE_COORD_ARRAY); @@ -279,7 +301,7 @@ void GL11_Clear(float r, float g, float b) } void GL11_Draw2DImage( - GLuint texId, + GLTextureCacheEntry& cache, const SDL_Rect& srcRect, const SDL_Rect& dstRect, float left, @@ -305,24 +327,17 @@ void GL11_Draw2DImage( glColor4f(1.0f, 1.0f, 1.0f, 1.0f); glEnable(GL_TEXTURE_2D); - glBindTexture(GL_TEXTURE_2D, texId); + glBindTexture(GL_TEXTURE_2D, cache.glTextureId); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); - GLint boundTexture = 0; glGetIntegerv(GL_TEXTURE_BINDING_2D, &boundTexture); - GLfloat texW, texH; - glGetTexLevelParameterfv(GL_TEXTURE_2D, 0, GL_TEXTURE_WIDTH, &texW); - glGetTexLevelParameterfv(GL_TEXTURE_2D, 0, GL_TEXTURE_HEIGHT, &texH); - - float u1 = srcRect.x / texW; - float v1 = srcRect.y / texH; - float u2 = (srcRect.x + srcRect.w) / texW; - float v2 = (srcRect.y + srcRect.h) / texH; + float u1 = srcRect.x / cache.width; + float v1 = srcRect.y / cache.height; + float u2 = (srcRect.x + srcRect.w) / cache.width; + float v2 = (srcRect.y + srcRect.h) / cache.height; float x1 = (float) dstRect.x; float y1 = (float) dstRect.y; diff --git a/miniwin/src/d3drm/backends/opengl1/actual.h b/miniwin/src/d3drm/backends/opengl1/actual.h index 8a4fb8e8..1d5e407d 100644 --- a/miniwin/src/d3drm/backends/opengl1/actual.h +++ b/miniwin/src/d3drm/backends/opengl1/actual.h @@ -39,6 +39,8 @@ struct GLTextureCacheEntry { IDirect3DRMTexture* texture; Uint32 version; GLuint glTextureId; + float width; + float height; }; struct GLMeshCacheEntry { @@ -62,7 +64,7 @@ struct GLMeshCacheEntry { void GL11_InitState(); void GL11_LoadExtensions(); void GL11_DestroyTexture(GLuint texId); -GLuint GL11_UploadTextureData(void* pixels, int width, int height); +GLuint GL11_UploadTextureData(void* pixels, int width, int height, bool isUI); void GL11_UploadMesh(GLMeshCacheEntry& cache, bool hasTexture); void GL11_DestroyMesh(GLMeshCacheEntry& cache); void GL11_BeginFrame(const Matrix4x4* projection); @@ -77,7 +79,7 @@ void GL11_SubmitDraw( void GL11_Resize(int width, int height); void GL11_Clear(float r, float g, float b); void GL11_Draw2DImage( - GLuint texId, + GLTextureCacheEntry& cache, const SDL_Rect& srcRect, const SDL_Rect& dstRect, float left, diff --git a/miniwin/src/d3drm/backends/opengl1/renderer.cpp b/miniwin/src/d3drm/backends/opengl1/renderer.cpp index fb7fccd4..c52df2c1 100644 --- a/miniwin/src/d3drm/backends/opengl1/renderer.cpp +++ b/miniwin/src/d3drm/backends/opengl1/renderer.cpp @@ -23,7 +23,9 @@ Direct3DRMRenderer* OpenGL1Renderer::Create(DWORD width, DWORD height) // call below when on an EGL-based backend, and crashes with EGL_BAD_MATCH. SDL_GL_ResetAttributes(); // But ResetAttributes resets it to 16. +#ifndef __PSP__ SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24); +#endif SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_COMPATIBILITY); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 1); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1); @@ -58,6 +60,8 @@ OpenGL1Renderer::OpenGL1Renderer(DWORD width, DWORD height, SDL_GLContext contex m_virtualHeight = height; m_renderedImage = SDL_CreateSurface(m_width, m_height, SDL_PIXELFORMAT_RGBA32); GL11_LoadExtensions(); + m_useVBOs = SDL_GL_ExtensionSupported("GL_ARB_vertex_buffer_object"); + m_useNPOT = SDL_GL_ExtensionSupported("GL_ARB_vertex_buffer_object"); } OpenGL1Renderer::~OpenGL1Renderer() @@ -108,6 +112,59 @@ void OpenGL1Renderer::AddTextureDestroyCallback(Uint32 id, IDirect3DRMTexture* t ); } +static int NextPowerOfTwo(int v) +{ + int power = 1; + while (power < v) { + power <<= 1; + } + return power; +} + +static Uint32 UploadTextureData(SDL_Surface* src, bool useNPOT, bool isUi) +{ + SDL_Surface* working = src; + if (src->format != SDL_PIXELFORMAT_RGBA32) { + working = SDL_ConvertSurface(src, SDL_PIXELFORMAT_RGBA32); + if (!working) { + SDL_Log("SDL_ConvertSurface failed: %s", SDL_GetError()); + return NO_TEXTURE_ID; + } + } + + SDL_Surface* finalSurface = working; + + // Resize to next power-of-two if needed and NPOT isn't supported + int newW = NextPowerOfTwo(working->w); + int newH = NextPowerOfTwo(working->h); + + if (!useNPOT && (newW != working->w || newH != working->h)) { + SDL_Surface* resized = SDL_CreateSurface(newW, newH, working->format); + if (!resized) { + SDL_Log("SDL_CreateSurface (resize) failed: %s", SDL_GetError()); + if (working != src) { + SDL_DestroySurface(working); + } + return NO_TEXTURE_ID; + } + + SDL_Rect srcRect = {0, 0, working->w, working->h}; + SDL_Rect dstRect = {0, 0, newW, newH}; + SDL_BlitSurfaceScaled(working, &srcRect, resized, &dstRect, SDL_SCALEMODE_NEAREST); + + if (working != src) { + SDL_DestroySurface(working); + } + finalSurface = resized; + } + + Uint32 texId = GL11_UploadTextureData(finalSurface->pixels, finalSurface->w, finalSurface->h, isUi); + if (finalSurface != src) { + SDL_DestroySurface(finalSurface); + } + return texId; +} + Uint32 OpenGL1Renderer::GetTextureId(IDirect3DRMTexture* iTexture, bool isUi) { auto texture = static_cast(iTexture); @@ -118,28 +175,16 @@ Uint32 OpenGL1Renderer::GetTextureId(IDirect3DRMTexture* iTexture, bool isUi) if (tex.texture == texture) { if (tex.version != texture->m_version) { GL11_DestroyTexture(tex.glTextureId); - - SDL_Surface* surf = SDL_ConvertSurface(surface->m_surface, SDL_PIXELFORMAT_RGBA32); - if (!surf) { - return NO_TEXTURE_ID; - } - tex.glTextureId = GL11_UploadTextureData(surf->pixels, surf->w, surf->h); - SDL_DestroySurface(surf); - + tex.glTextureId = UploadTextureData(surface->m_surface, m_useNPOT, isUi); tex.version = texture->m_version; + tex.width = surface->m_surface->w; + tex.height = surface->m_surface->h; } return i; } } - GLuint texId; - - SDL_Surface* surf = SDL_ConvertSurface(surface->m_surface, SDL_PIXELFORMAT_RGBA32); - if (!surf) { - return NO_TEXTURE_ID; - } - texId = GL11_UploadTextureData(surf->pixels, surf->w, surf->h); - SDL_DestroySurface(surf); + GLuint texId = UploadTextureData(surface->m_surface, m_useNPOT, isUi); for (Uint32 i = 0; i < m_textures.size(); ++i) { auto& tex = m_textures[i]; @@ -147,12 +192,14 @@ Uint32 OpenGL1Renderer::GetTextureId(IDirect3DRMTexture* iTexture, bool isUi) tex.texture = texture; tex.version = texture->m_version; tex.glTextureId = texId; + tex.width = surface->m_surface->w; + tex.height = surface->m_surface->h; AddTextureDestroyCallback(i, texture); return i; } } - m_textures.push_back({texture, texture->m_version, texId}); + m_textures.push_back({texture, texture->m_version, texId, surface->m_surface->w, surface->m_surface->h}); AddTextureDestroyCallback((Uint32) (m_textures.size() - 1), texture); return (Uint32) (m_textures.size() - 1); } @@ -331,7 +378,7 @@ void OpenGL1Renderer::Draw2DImage(Uint32 textureId, const SDL_Rect& srcRect, con float top = -m_viewportTransform.offsetY / m_viewportTransform.scale; float bottom = (m_height - m_viewportTransform.offsetY) / m_viewportTransform.scale; - GL11_Draw2DImage(m_textures[textureId].glTextureId, srcRect, dstRect, left, right, bottom, top); + GL11_Draw2DImage(m_textures[textureId], srcRect, dstRect, left, right, bottom, top); } void OpenGL1Renderer::Download(SDL_Surface* target) diff --git a/miniwin/src/d3drm/backends/opengles2/renderer.cpp b/miniwin/src/d3drm/backends/opengles2/renderer.cpp index 6695da81..9cb8455c 100644 --- a/miniwin/src/d3drm/backends/opengles2/renderer.cpp +++ b/miniwin/src/d3drm/backends/opengles2/renderer.cpp @@ -47,6 +47,7 @@ Direct3DRMRenderer* OpenGLES2Renderer::Create(DWORD width, DWORD height) SDL_GLContext context = SDL_GL_CreateContext(DDWindow); if (!context) { + SDL_Log("SDL_GL_CreateContext: %s", SDL_GetError()); return nullptr; } diff --git a/miniwin/src/internal/d3drmrenderer_opengl1.h b/miniwin/src/internal/d3drmrenderer_opengl1.h index 58406709..6e320ebe 100644 --- a/miniwin/src/internal/d3drmrenderer_opengl1.h +++ b/miniwin/src/internal/d3drmrenderer_opengl1.h @@ -46,6 +46,7 @@ class OpenGL1Renderer : public Direct3DRMRenderer { D3DRMMATRIX4D m_projection; SDL_Surface* m_renderedImage; bool m_useVBOs; + bool m_useNPOT; bool m_dirty = false; std::vector m_lights; SDL_GLContext m_context; @@ -54,11 +55,13 @@ class OpenGL1Renderer : public Direct3DRMRenderer { inline static void OpenGL1Renderer_EnumDevice(LPD3DENUMDEVICESCALLBACK cb, void* ctx) { +#ifndef __PSP__ Direct3DRMRenderer* device = OpenGL1Renderer::Create(640, 480); if (!device) { return; } delete device; +#endif D3DDEVICEDESC halDesc = {}; halDesc.dcmColorModel = D3DCOLORMODEL::RGB; From 8626a48448d8b54f808426959a2d21c3468813e5 Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Wed, 2 Jul 2025 00:25:14 +0200 Subject: [PATCH 42/42] Update miniwin/src/d3drm/backends/opengl1/renderer.cpp --- miniwin/src/d3drm/backends/opengl1/renderer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/miniwin/src/d3drm/backends/opengl1/renderer.cpp b/miniwin/src/d3drm/backends/opengl1/renderer.cpp index c52df2c1..1014315f 100644 --- a/miniwin/src/d3drm/backends/opengl1/renderer.cpp +++ b/miniwin/src/d3drm/backends/opengl1/renderer.cpp @@ -61,7 +61,7 @@ OpenGL1Renderer::OpenGL1Renderer(DWORD width, DWORD height, SDL_GLContext contex m_renderedImage = SDL_CreateSurface(m_width, m_height, SDL_PIXELFORMAT_RGBA32); GL11_LoadExtensions(); m_useVBOs = SDL_GL_ExtensionSupported("GL_ARB_vertex_buffer_object"); - m_useNPOT = SDL_GL_ExtensionSupported("GL_ARB_vertex_buffer_object"); + m_useNPOT = SDL_GL_ExtensionSupported("GL_OES_texture_npot"); } OpenGL1Renderer::~OpenGL1Renderer()