From 8d4f4195463a2b5f0638ce099a84509581390622 Mon Sep 17 00:00:00 2001 From: RSDuck Date: Fri, 8 Nov 2024 18:57:44 +0100 Subject: [PATCH 1/8] correct assert in gdb stub --- src/debug/GdbProto.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/debug/GdbProto.cpp b/src/debug/GdbProto.cpp index a69538db..33f11dd9 100644 --- a/src/debug/GdbProto.cpp +++ b/src/debug/GdbProto.cpp @@ -113,7 +113,7 @@ Gdb::ReadResult GdbStub::ParseAndSetupPacket() ReadResult result, prevResult; while (true) { - ReadResult result = TryParsePacket(i, packetStart, packetSize, packetContentSize); + result = TryParsePacket(i, packetStart, packetSize, packetContentSize); if (result == ReadResult::NoPacket) break; if (result != ReadResult::CmdRecvd && result != ReadResult::Break) From adf143a38da22f3280478373ce2ab4d53823e3ad Mon Sep 17 00:00:00 2001 From: Rayyan Ansari Date: Fri, 8 Nov 2024 21:32:45 +0000 Subject: [PATCH 2/8] Fix link to contributors in About dialog Add openExternalLinks property to the label to allow the hyperlink to open in the user's web browser. --- src/frontend/qt_sdl/AboutDialog.ui | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/frontend/qt_sdl/AboutDialog.ui b/src/frontend/qt_sdl/AboutDialog.ui index 89ca7a36..a4a21594 100644 --- a/src/frontend/qt_sdl/AboutDialog.ui +++ b/src/frontend/qt_sdl/AboutDialog.ui @@ -133,6 +133,9 @@ By Arisotura, the melonDS team <a href="https://github.com/melonDS-emu/melonDS/graphs/contributors">and contributors</a>. + + true + From 7041b52ebc68821c132c09b721a7dbb441e857a5 Mon Sep 17 00:00:00 2001 From: Rayyan Ansari Date: Fri, 8 Nov 2024 21:41:27 +0000 Subject: [PATCH 3/8] Remove extra backtick in Windows build instructions --- BUILD.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BUILD.md b/BUILD.md index 51bc4cac..b052f905 100644 --- a/BUILD.md +++ b/BUILD.md @@ -40,7 +40,7 @@ 5. Install dependencies: Replace `` below with `mingw-w64-ucrt-x86_64` on x64 systems, or `mingw-w64-clang-aarch64` on ARM64 systems. ```bash - pacman -S -{toolchain,cmake,SDL2,libarchive,enet,zstd}` + pacman -S -{toolchain,cmake,SDL2,libarchive,enet,zstd} ``` 6. Install Qt and configure the build directory * Dynamic builds (with DLLs) From 8e3f6cc519dc740074d4bb0574c532d3a316234b Mon Sep 17 00:00:00 2001 From: Nadia Holmquist Pedersen Date: Sat, 9 Nov 2024 08:32:34 +0100 Subject: [PATCH 4/8] add missing qtbase-private-devel for Fedora --- BUILD.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BUILD.md b/BUILD.md index b052f905..dc45a9d5 100644 --- a/BUILD.md +++ b/BUILD.md @@ -12,7 +12,7 @@ * 22.04: `sudo apt install qtbase6-dev qtbase6-private-dev qtmultimedia6-dev libqt6svg6-dev` * Older versions: `sudo apt install qtbase5-dev qtbase5-private-dev qtmultimedia5-dev libqt5svg5-dev` Also add `-DUSE_QT6=OFF` to the first CMake command below. - * Fedora: `sudo dnf install gcc-c++ cmake extra-cmake-modules SDL2-devel libarchive-devel enet-devel libzstd-devel qt6-{qtbase,qtmultimedia,qtsvg}-devel wayland-devel` + * Fedora: `sudo dnf install gcc-c++ cmake extra-cmake-modules SDL2-devel libarchive-devel enet-devel libzstd-devel qt6-{qtbase,qtbase-private,qtmultimedia,qtsvg}-devel wayland-devel` * Arch Linux: `sudo pacman -S base-devel cmake extra-cmake-modules git libpcap sdl2 qt6-{base,multimedia,svg} libarchive enet zstd` 2. Download the melonDS repository and prepare: ```bash @@ -78,4 +78,4 @@ If you want an app bundle that can be distributed to other computers without nee melonDS provides a Nix flake with support for both macOS and Linux. The [Nix package manager](https://nixos.org) needs to be installed to use it. * To run melonDS, just type `nix run github:melonDS-emu/melonDS`. -* To get a shell for development, clone the melonDS repository and type `nix develop` in its directory. \ No newline at end of file +* To get a shell for development, clone the melonDS repository and type `nix develop` in its directory. From 4528441c74276f45d3e37c0d311fdeeffe29fe85 Mon Sep 17 00:00:00 2001 From: RSDuck Date: Sat, 9 Nov 2024 14:19:02 +0100 Subject: [PATCH 5/8] for OGL renderer W buffer rendering avoid undefined vertex z see https://github.com/melonDS-emu/melonDS/issues/2017 --- src/GPU3D_OpenGL_shaders.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/GPU3D_OpenGL_shaders.h b/src/GPU3D_OpenGL_shaders.h index 03bd43f9..1bd8296a 100644 --- a/src/GPU3D_OpenGL_shaders.h +++ b/src/GPU3D_OpenGL_shaders.h @@ -681,6 +681,7 @@ void main() vec4 fpos; fpos.xy = (((vec2(vPosition.xy) ) * 2.0) / uScreenSize) - 1.0; + fpos.z = 0.0; fZ = float(vPosition.z << zshift) / 16777216.0; fpos.w = float(vPosition.w) / 65536.0f; fpos.xy *= fpos.w; From b2f6fab6f49f1ed32e40e565bf911ead79dde0c2 Mon Sep 17 00:00:00 2001 From: Nadia Holmquist Pedersen Date: Mon, 11 Nov 2024 12:05:08 +0100 Subject: [PATCH 6/8] cmake: use interface include directories properly and fix an indent I guess --- src/CMakeLists.txt | 4 +++- src/frontend/qt_sdl/CMakeLists.txt | 11 +++++------ src/net/CMakeLists.txt | 6 +++--- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1f947d11..6df0e82e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -127,6 +127,8 @@ if (ENABLE_JIT) endif() endif() +target_include_directories(core INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}") + set(MELONDS_VERSION_SUFFIX "$ENV{MELONDS_VERSION_SUFFIX}" CACHE STRING "Suffix to add to displayed melonDS version") option(MELONDS_EMBED_BUILD_INFO "Embed detailed build info into the binary" OFF) set(MELONDS_GIT_BRANCH "$ENV{MELONDS_GIT_BRANCH}" CACHE STRING "The Git branch used for this build") @@ -184,7 +186,7 @@ elseif(NOT APPLE AND NOT HAIKU) target_link_libraries(core PRIVATE rt) endif() elseif(HAIKU) - target_link_libraries(core PRIVATE network) + target_link_libraries(core PRIVATE network) endif() if (ENABLE_JIT_PROFILING) diff --git a/src/frontend/qt_sdl/CMakeLists.txt b/src/frontend/qt_sdl/CMakeLists.txt index 54888c49..fa1fafd8 100644 --- a/src/frontend/qt_sdl/CMakeLists.txt +++ b/src/frontend/qt_sdl/CMakeLists.txt @@ -91,8 +91,7 @@ add_compile_definitions(ARCHIVE_SUPPORT_ENABLED) add_executable(melonDS ${SOURCES_QT_SDL}) add_subdirectory("../../net" - "${CMAKE_BINARY_DIR}/net" -) + ${CMAKE_BINARY_DIR}/net) target_link_libraries(melonDS PRIVATE net-utils) @@ -171,10 +170,10 @@ if (BUILD_STATIC) endif() endif() -target_include_directories(melonDS PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}") -target_include_directories(melonDS PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/..") -target_include_directories(melonDS PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../..") -target_include_directories(melonDS PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../../net") +target_include_directories(melonDS PUBLIC + "${CMAKE_CURRENT_SOURCE_DIR}" + "${CMAKE_CURRENT_SOURCE_DIR}/..") + if (USE_QT6) target_include_directories(melonDS PUBLIC ${Qt6Gui_PRIVATE_INCLUDE_DIRS}) else() diff --git a/src/net/CMakeLists.txt b/src/net/CMakeLists.txt index 6ca24de6..657aa9fd 100644 --- a/src/net/CMakeLists.txt +++ b/src/net/CMakeLists.txt @@ -11,9 +11,9 @@ add_library(net-utils STATIC MPInterface.cpp ) -target_include_directories(net-utils PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}") -target_include_directories(net-utils PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/..") - +target_include_directories(net-utils PUBLIC + "${CMAKE_CURRENT_SOURCE_DIR}" + "${CMAKE_CURRENT_SOURCE_DIR}/..") option(USE_SYSTEM_LIBSLIRP "Use system libslirp instead of the bundled version" OFF) if (USE_SYSTEM_LIBSLIRP) From 7c1d2a64f4afe6b02a93c3342a91fc932015742e Mon Sep 17 00:00:00 2001 From: Nadia Holmquist Pedersen Date: Mon, 11 Nov 2024 14:18:05 +0100 Subject: [PATCH 7/8] Set WIN32_LEAN_AND_MEAN, gets rid of the winsock2 warnings and probably speeds up compilation a tiny bit oh and NOMINMAX too for good measure while we're at it --- src/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6df0e82e..a4cb6f1e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -180,6 +180,7 @@ endif() if (WIN32) target_link_libraries(core PRIVATE ole32 comctl32 wsock32 ws2_32) + target_compile_definitions(core PUBLIC WIN32_LEAN_AND_MEAN NOMINMAX) elseif(NOT APPLE AND NOT HAIKU) check_library_exists(rt shm_open "" NEED_LIBRT) if (NEED_LIBRT) From 5e8beb3ab7277e0fae9a9a1cae8d26a357c570e5 Mon Sep 17 00:00:00 2001 From: Nadia Holmquist Pedersen Date: Wed, 13 Nov 2024 15:23:59 +0100 Subject: [PATCH 8/8] fix a typo --- BUILD.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BUILD.md b/BUILD.md index dc45a9d5..e7cbdbe8 100644 --- a/BUILD.md +++ b/BUILD.md @@ -47,7 +47,7 @@ 1. Install Qt: `pacman -S -{qt6-base,qt6-svg,qt6-multimedia,qt6-svg,qt6-tools}` 2. Set up the build directory with `cmake -B build` * Static builds (without DLLs, standalone executable) - 1. Install Qt: `pacman -S -qt5-static` + 1. Install Qt: `pacman -S -qt5-static` (Note: As of writing, the `qt6-static` package does not work.) 2. Set up the build directory with `cmake -B build -DBUILD_STATIC=ON -DUSE_QT6=OFF -DCMAKE_PREFIX_PATH=$MSYSTEM_PREFIX/qt5-static` 7. Compile: `cmake --build build`