This commit is contained in:
Nayla Hanegan 2024-09-28 20:23:25 -04:00
commit 1b8bdf7de7
899 changed files with 294977 additions and 411008 deletions

View file

@ -11,7 +11,7 @@ jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: macos-12
runs-on: macos-14
# Steps represent a sequence of tasks that will be executed as part of the job
steps:

2
.gitignore vendored
View file

@ -40,6 +40,6 @@ CMakeLists.txt.user
# Ignore kdevelop files/dirs
*.kdev4
# Ignore IDEA/Clion files/dirs
/.idea/
.idea/
# Ignore Visual Studio Code's working dir
/.vscode/

8
.gitmodules vendored
View file

@ -1,6 +1,6 @@
[submodule "Externals/Qt"]
path = Externals/Qt
url = https://github.com/dolphin-emu/ext-win-qt.git
url = https://github.com/MarioPartyNetplay/QtWin32-Dolphin-MPN.git
branch = master
shallow = true
[submodule "Externals/mGBA/mgba"]
@ -78,3 +78,9 @@
[submodule "Externals/tinygltf/tinygltf"]
path = Externals/tinygltf/tinygltf
url = https://github.com/syoyo/tinygltf.git
[submodule "Externals/minizip-ng/minizip-ng"]
path = Externals/minizip-ng/minizip-ng
url = https://github.com/zlib-ng/minizip-ng
[submodule "Externals/Vulkan-Headers"]
path = Externals/Vulkan-Headers
url = https://github.com/KhronosGroup/Vulkan-Headers.git

View file

@ -1,7 +1,7 @@
[main]
host = https://www.transifex.com
[o:delroth:p:dolphin-emu:r:emulator]
[o:dolphinemu:p:dolphin-emu:r:emulator]
file_filter = Languages/po/<lang>.po
source_file = Languages/po/dolphin-mpn.pot
source_lang = en-US

View file

@ -59,8 +59,6 @@ DEFAULT_CONFIG = {
# running corrupted binaries and allows for access to the extended
# permisions needed for ARM builds
"codesign_identity": "-",
# Entitlements file to use for code signing
"entitlements": "../Source/Core/DolphinQt/DolphinEmu.entitlements",
# Minimum macOS version for each architecture slice
"arm64_mac_os_deployment_target": "11.0.0",
@ -72,9 +70,6 @@ DEFAULT_CONFIG = {
"run_unit_tests": False,
# Whether we should make a build for Steam.
"steam": False,
# Whether our autoupdate functionality is enabled or not.
"autoupdate": True,
@ -119,20 +114,9 @@ def parse_args(conf=DEFAULT_CONFIG):
help="Directory where universal binary will be stored",
default=conf["dst_app"])
parser.add_argument(
"--entitlements",
help="Path to .entitlements file for code signing",
default=conf["entitlements"])
parser.add_argument("--run_unit_tests", action="store_true",
default=conf["run_unit_tests"])
parser.add_argument(
"--steam",
help="Create a build for Steam",
action="store_true",
default=conf["steam"])
parser.add_argument(
"--autoupdate",
help="Enables our autoupdate functionality",
@ -317,14 +301,18 @@ def build(config):
+ config[arch+"_mac_os_deployment_target"],
"-DMACOS_CODE_SIGNING_IDENTITY="
+ config["codesign_identity"],
"-DMACOS_CODE_SIGNING_IDENTITY_UPDATER="
+ config["codesign_identity"],
'-DMACOS_CODE_SIGNING="ON"',
"-DSTEAM="
+ python_to_cmake_bool(config["steam"]),
"-DENABLE_AUTOUPDATE="
+ python_to_cmake_bool(config["autoupdate"]),
'-DDISTRIBUTOR=' + config['distributor']
'-DDISTRIBUTOR=' + config['distributor'],
# Always use libraries from Externals to prevent any libraries
# installed by Homebrew from leaking in to the app
"-DUSE_SYSTEM_LIBS=OFF",
# However, we should still use the macOS provided versions of
# iconv, bzip2, and curl
"-DUSE_SYSTEM_ICONV=ON",
"-DUSE_SYSTEM_BZIP2=ON",
"-DUSE_SYSTEM_CURL=ON"
],
env=env, cwd=arch)
@ -346,21 +334,21 @@ def build(config):
src_app1 = ARCHITECTURES[1]+"/Binaries/"
recursive_merge_binaries(src_app0, src_app1, dst_app)
for path in glob.glob(dst_app+"/*"):
if os.path.isdir(path) and os.path.splitext(path)[1] != ".app":
continue
if config["autoupdate"]:
subprocess.check_call([
"codesign",
"-d",
"--force",
"-s",
"../Tools/mac-codesign.sh",
"-t",
"-e", "preserve",
config["codesign_identity"],
"--options=runtime",
"--entitlements", config["entitlements"],
"--deep",
"--verbose=2",
path])
dst_app+"/Dolphin.app/Contents/Helpers/Dolphin Updater.app"])
subprocess.check_call([
"../Tools/mac-codesign.sh",
"-t",
"-e", "preserve",
config["codesign_identity"],
dst_app+"/Dolphin.app"])
print("Built Universal Binary successfully!")

View file

@ -1,10 +1,17 @@
find_program(CCACHE_BIN NAMES ccache sccache)
if(CCACHE_BIN)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ${CCACHE_BIN})
# Official ccache recommendation is to set CMAKE_C(XX)_COMPILER_LAUNCHER
if (NOT CMAKE_C_COMPILER_LAUNCHER MATCHES "ccache")
list(INSERT CMAKE_C_COMPILER_LAUNCHER 0 "${CCACHE_BIN}")
endif()
if (NOT CMAKE_CXX_COMPILER_LAUNCHER MATCHES "ccache")
list(INSERT CMAKE_CXX_COMPILER_LAUNCHER 0 "${CCACHE_BIN}")
endif()
# ccache uses -I when compiling without preprocessor, which makes clang complain.
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Qunused-arguments -fcolor-diagnostics")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Qunused-arguments -fcolor-diagnostics")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Qunused-arguments -fcolor-diagnostics")
endif()
endif()

View file

@ -79,7 +79,7 @@ function(dolphin_find_optional_system_library_pkgconfig library search alias bun
dolphin_optional_system_library(${library})
string(TOUPPER ${library} upperlib)
if(RESOLVED_USE_SYSTEM_${upperlib})
pkg_check_modules(${library} ${search} ${ARGN} IMPORTED_TARGET)
pkg_search_module(${library} ${search} ${ARGN} IMPORTED_TARGET)
if((NOT ${library}_FOUND) AND (NOT ${RESOLVED_USE_SYSTEM_${upperlib}} STREQUAL "AUTO"))
message(FATAL_ERROR "No system ${library} was found. Please install it or set USE_SYSTEM_${upperlib} to AUTO or OFF.")
endif()

View file

@ -14,14 +14,13 @@ if(CMAKE_GENERATOR)
set(_DOLPHIN_POSTPROCESS_BUNDLE_MODULE_LOCATION "${CMAKE_CURRENT_LIST_FILE}")
function(dolphin_postprocess_bundle target)
add_custom_command(TARGET ${target} POST_BUILD
COMMAND ${CMAKE_COMMAND} -DDOLPHIN_BUNDLE_PATH="$<TARGET_FILE_DIR:${target}>/../.."
COMMAND ${CMAKE_COMMAND} "-D" "DOLPHIN_BUNDLE_PATH=$<TARGET_BUNDLE_DIR:${target}>"
-P "${_DOLPHIN_POSTPROCESS_BUNDLE_MODULE_LOCATION}"
)
endfunction()
return()
endif()
get_filename_component(DOLPHIN_BUNDLE_PATH "${DOLPHIN_BUNDLE_PATH}" ABSOLUTE)
message(STATUS "Fixing up application bundle: ${DOLPHIN_BUNDLE_PATH}")
# Make sure to fix up any additional shared libraries (like plugins) that are

View file

@ -7,7 +7,7 @@ if(GIT_FOUND)
OUTPUT_VARIABLE DOLPHIN_WC_REVISION
OUTPUT_STRIP_TRAILING_WHITESPACE)
# defines DOLPHIN_WC_DESCRIBE
execute_process(WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} describe --always --long --dirty
execute_process(WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
OUTPUT_VARIABLE DOLPHIN_WC_DESCRIBE
OUTPUT_STRIP_TRAILING_WHITESPACE)
@ -22,16 +22,18 @@ if(GIT_FOUND)
execute_process(WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} rev-list --count HEAD ^master
OUTPUT_VARIABLE DOLPHIN_WC_COMMITS_AHEAD_MASTER
OUTPUT_STRIP_TRAILING_WHITESPACE)
# defines DOLPHIN_WC_TAG
execute_process(WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} describe --exact-match HEAD
OUTPUT_VARIABLE DOLPHIN_WC_TAG
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET)
endif()
# version number
set(DOLPHIN_VERSION_MAJOR "5")
set(DOLPHIN_VERSION_MAJOR "2407")
set(DOLPHIN_VERSION_MINOR "0")
if(DOLPHIN_WC_BRANCH STREQUAL "stable")
set(DOLPHIN_VERSION_PATCH "0")
else()
set(DOLPHIN_VERSION_PATCH ${DOLPHIN_WC_REVISION})
endif()
set(DOLPHIN_VERSION_PATCH ${DOLPHIN_WC_REVISION})
# If Dolphin is not built from a Git repository, default the version info to
# reasonable values.
@ -42,11 +44,27 @@ if(NOT DOLPHIN_WC_REVISION)
set(DOLPHIN_WC_COMMITS_AHEAD_MASTER 0)
endif()
configure_file(
"${PROJECT_SOURCE_DIR}/Source/Core/Common/scmrev.h.in"
"${PROJECT_BINARY_DIR}/Source/Core/Common/scmrev.h.tmp"
)
# If this is a tag (i.e. a release), then set the current patch version and
# the number of commits ahead to zero.
if(DOLPHIN_WC_TAG)
set(DOLPHIN_VERSION_PATCH "0")
set(DOLPHIN_WC_COMMITS_AHEAD_MASTER 0)
endif()
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${PROJECT_BINARY_DIR}/Source/Core/Common/scmrev.h.tmp" "${PROJECT_BINARY_DIR}/Source/Core/Common/scmrev.h")
function(configure_source_file path)
configure_file(
"${PROJECT_SOURCE_DIR}/${path}.in"
"${PROJECT_BINARY_DIR}/${path}.tmp"
)
file(REMOVE "${PROJECT_BINARY_DIR}/Source/Core/Common/scmrev.h.tmp")
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${PROJECT_BINARY_DIR}/${path}.tmp" "${PROJECT_BINARY_DIR}/${path}")
file(REMOVE "${PROJECT_BINARY_DIR}/${path}.tmp")
endfunction()
configure_source_file("Source/Core/Common/scmrev.h")
if(APPLE)
configure_source_file("Source/Core/DolphinQt/Info.plist")
configure_source_file("Source/Core/MacUpdater/Info.plist")
endif()

View file

@ -47,13 +47,13 @@ if (COMPILER STREQUAL "GNU")
set(COMPILER "GCC") # perfer printing GCC instead of GNU
endif()
# Enforce minimium compiler versions that support the c++20 features we use
set (GCC_min_version 10)
set (Clang_min_version 12)
set (AppleClang_min_version 13.0.0)
set (min_xcode_version "13.0") # corrosponding xcode version for AppleClang_min_version
# Enforce minimum compiler versions that support the c++20 features we use
set (GCC_min_version 11)
set (Clang_min_version 14)
set (AppleClang_min_version 14.0.3)
set (min_xcode_version "14.0") # corresponding xcode version for AppleClang_min_version
set (MSVC_min_version 14.32)
set (min_vs_version "2022 17.2.3") # corrosponding Visual Studio version for MSVC_min_version
set (min_vs_version "2022 17.2.3") # corresponding Visual Studio version for MSVC_min_version
message(STATUS "Using ${COMPILER} ${CMAKE_CXX_COMPILER_VERSION}")
@ -104,7 +104,6 @@ option(ENABLE_VULKAN "Enables vulkan video backend" ON)
option(USE_DISCORD_PRESENCE "Enables Discord Rich Presence, show the current game on Discord" ON)
option(USE_MGBA "Enables GBA controllers emulation using libmgba" ON)
option(ENABLE_AUTOUPDATE "Enables support for automatic updates" ON)
option(STEAM "Creates a build for Steam" OFF)
option(USE_RETRO_ACHIEVEMENTS "Enables integration with retroachievements.org" ON)
# Maintainers: if you consider blanket disabling this for your users, please
@ -138,7 +137,6 @@ if(APPLE)
option(MACOS_CODE_SIGNING "Enable codesigning" ON)
option(USE_BUNDLED_MOLTENVK "Build MoltenVK from Externals with Dolphin-specific patches" ON)
set(MACOS_CODE_SIGNING_IDENTITY "-" CACHE STRING "The identity used for codesigning.")
set(MACOS_CODE_SIGNING_IDENTITY_UPDATER "-" CACHE STRING "The identity used for codesigning, for the updater.")
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
@ -392,7 +390,7 @@ if(ENABLE_LTO)
endif()
if(UNIX)
if(LINUX_LOCAL_DEV OR (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND STEAM))
if(LINUX_LOCAL_DEV)
add_definitions(-DLINUX_LOCAL_DEV)
endif()
endif()
@ -587,7 +585,7 @@ if(UNIX)
endif()
if(ENABLE_SDL)
dolphin_find_optional_system_library(SDL2 Externals/SDL 2.26.0)
dolphin_find_optional_system_library(SDL2 Externals/SDL 2.28.5)
endif()
if(ENABLE_ANALYTICS)
@ -628,7 +626,9 @@ if (_M_X86_64)
endif()
add_subdirectory(Externals/cpp-optparse)
dolphin_find_optional_system_library(fmt Externals/fmt 10.1)
dolphin_find_optional_system_library_pkgconfig(FMT
fmt>=10.1 fmt::fmt Externals/fmt
)
add_subdirectory(Externals/imgui)
add_subdirectory(Externals/implot)
@ -674,9 +674,9 @@ dolphin_find_optional_system_library_pkgconfig(ZSTD libzstd>=1.4.0 zstd::zstd Ex
dolphin_find_optional_system_library_pkgconfig(ZLIB zlib-ng ZLIB::ZLIB Externals/zlib-ng)
# https://github.com/zlib-ng/minizip-ng/commit/6c5f265a55f1a12a7a016cd2962feff91cff5d2e
add_definitions(-DMZ_COMPAT_VERSION=110) # This macro is for forwards compatibility with 4.0.4+
dolphin_find_optional_system_library_pkgconfig(MINIZIP minizip>=3.0.0 minizip::minizip Externals/minizip)
dolphin_find_optional_system_library_pkgconfig(MINIZIP
"minizip>=4.0.4" minizip::minizip Externals/minizip-ng
)
dolphin_find_optional_system_library(LZO Externals/LZO)
@ -703,7 +703,9 @@ include_directories(Externals/soundtouch)
dolphin_find_optional_system_library(CUBEB Externals/cubeb)
if(NOT ANDROID)
dolphin_find_optional_system_library(LibUSB Externals/libusb)
dolphin_find_optional_system_library_pkgconfig(
LibUSB libusb-1.0 LibUSB::LibUSB Externals/libusb
)
add_definitions(-D__LIBUSB__)
endif()
@ -750,10 +752,6 @@ else()
message(STATUS "libsystemd not found, disabling traversal server watchdog support")
endif()
if(STEAM)
add_definitions(-DSTEAM)
endif()
if (WIN32)
include_directories(Externals/WIL/include)
include_directories(Externals/OpenAL/include)
@ -784,14 +782,26 @@ if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/Common/scmrev.h)
file(TOUCH ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/Common/scmrev.h)
endif()
if(APPLE)
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/DolphinQt)
if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/DolphinQt/Info.plist)
file(TOUCH ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/DolphinQt/Info.plist)
endif()
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/MacUpdater)
if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/MacUpdater/Info.plist)
file(TOUCH ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/MacUpdater/Info.plist)
endif()
endif()
find_package(Git)
if(NOT GIT_FOUND)
set(GIT_EXECUTABLE "")
endif()
add_custom_target(
dolphin_scmrev
${CMAKE_COMMAND} -DPROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR} -DPROJECT_BINARY_DIR=${PROJECT_BINARY_DIR} -DDISTRIBUTOR=${DISTRIBUTOR} -DDOLPHIN_DEFAULT_UPDATE_TRACK=${DOLPHIN_DEFAULT_UPDATE_TRACK} -DGIT_FOUND=${GIT_FOUND} -DGIT_EXECUTABLE=${GIT_EXECUTABLE} -DDOLPHIN_WC_REVISION=${DOLPHIN_WC_REVISION} -DDOLPHIN_WC_DESCRIBE=${DOLPHIN_WC_DESCRIBE} -DDOLPHIN_WC_BRANCH=${DOLPHIN_WC_BRANCH} -P ${CMAKE_CURRENT_SOURCE_DIR}/CMake/ScmRevGen.cmake
BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/Source/Core/Common/scmrev.h
${CMAKE_COMMAND} -DPROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR} -DPROJECT_BINARY_DIR=${PROJECT_BINARY_DIR} -DDISTRIBUTOR=${DISTRIBUTOR} -DDOLPHIN_DEFAULT_UPDATE_TRACK=${DOLPHIN_DEFAULT_UPDATE_TRACK} -DGIT_FOUND=${GIT_FOUND} -DGIT_EXECUTABLE=${GIT_EXECUTABLE} -DDOLPHIN_WC_REVISION=${DOLPHIN_WC_REVISION} -DDOLPHIN_WC_DESCRIBE=${DOLPHIN_WC_DESCRIBE} -DDOLPHIN_WC_BRANCH=${DOLPHIN_WC_BRANCH} -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET} -P ${CMAKE_CURRENT_SOURCE_DIR}/CMake/ScmRevGen.cmake
BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/Source/Core/Common/scmrev.h" "${CMAKE_CURRENT_BINARY_DIR}/Source/Core/DolphinQt/Info.plist" "${CMAKE_CURRENT_BINARY_DIR}/Source/Core/MacUpdater/Info.plist"
VERBATIM
)

Binary file not shown.

View file

@ -1,30 +0,0 @@
@echo off
setlocal enabledelayedexpansion
REM Get a list of ISO files in the same directory as the script
for %%F in ("%~dp0*.iso") do (
set "iso_files=!iso_files! "%%F""
)
REM Check if there are no ISO files
if not defined iso_files (
echo.
echo No ISO files found in the same directory as the script.
echo Place the Mario Party 4 (USA) (v1.00) ISO in the script's directory and run it again.
echo.
pause
exit /b 0
)
REM Iterate over each ISO file and process it
for %%I in (%iso_files%) do (
echo.
echo Given "%%~I"
xdelta3.exe -d -s "%%~I" data.xdelta3 "Mario Party 4 (USA) (v1.01).iso"
echo Press Enter to exit.
set /p "=<" NUL
)
echo.
pause
exit /b 0

View file

@ -1 +0,0 @@
Place the Mario Party 4 (USA) (v1.00) ISO in the script's directory and run the patch script to patch it.

View file

@ -0,0 +1,28 @@
@echo off
REM Initialize the iso_file variable
set "iso_file="
REM Get the first ISO file in the same directory as the script
for %%F in ("%~dp0*.iso") do (
set "iso_file=%%~F"
goto :found_iso
)
:not_found
echo.
echo No ISO files found in the same directory as the script.
echo Place the Mario Party 4 (USA) (v1.01) ISO in the script's directory and run it again.
echo.
pause
exit /b 0
:found_iso
echo.
echo Given "%iso_file%"
xdelta3.exe -d -s "%iso_file%" data.xdelta3 "Mario Party 4 (USA) [Widescreen].iso"
echo.
echo Press Enter to exit.
pause
exit /b 0

View file

@ -0,0 +1,3 @@
Place the Mario Party 4 (USA) (v1.01) ISO in the script's directory and run the patch script to patch it.
This patch will convert your game to a widescreen version.

View file

@ -0,0 +1,28 @@
@echo off
REM Initialize the iso_file variable
set "iso_file="
REM Get the first ISO file in the same directory as the script
for %%F in ("%~dp0*.iso") do (
set "iso_file=%%~F"
goto :found_iso
)
:not_found
echo.
echo No ISO files found in the same directory as the script.
echo Place the Mario Party 4 (USA) (v1.00) ISO in the script's directory and run it again.
echo.
pause
exit /b 0
:found_iso
echo.
echo Given "%iso_file%"
xdelta3.exe -d -s "%iso_file%" data.xdelta3 "Mario Party 4 (USA) (v1.01).iso"
echo.
echo Press Enter to exit.
pause
exit /b 0

View file

@ -0,0 +1,3 @@
Place the Mario Party 4 (USA) (v1.00) ISO in the script's directory and run the patch script to patch it.
This patch will convert your game from a v1.00 rom to a v1.01 rom.

View file

@ -1,30 +0,0 @@
@echo off
setlocal enabledelayedexpansion
REM Get a list of ISO files in the same directory as the script
for %%F in ("%~dp0*.iso") do (
set "iso_files=!iso_files! "%%F""
)
REM Check if there are no ISO files
if not defined iso_files (
echo.
echo No ISO files found in the same directory as the script.
echo Place the Mario Party 4 (USA) (v1.01) ISO in the script's directory and run it again.
echo.
pause
exit /b 0
)
REM Iterate over each ISO file and process it
for %%I in (%iso_files%) do (
echo.
echo Given "%%~I"
xdelta3.exe -d -s "%%~I" data.xdelta3 "Mario Party 4 (USA) [Widescreen].iso"
echo Press Enter to exit.
set /p "=<" NUL
)
echo.
pause
exit /b 0

View file

@ -1 +0,0 @@
Place the Mario Party 4 (USA) (v1.01) ISO in the script's directory and run the patch script to patch it.

View file

@ -0,0 +1,28 @@
@echo off
REM Initialize the iso_file variable
set "iso_file="
REM Get the first ISO file in the same directory as the script
for %%F in ("%~dp0*.iso") do (
set "iso_file=%%~F"
goto :found_iso
)
:not_found
echo.
echo No ISO files found in the same directory as the script.
echo Place the Mario Party 5 (USA) ISO in the script's directory and run it again.
echo.
pause
exit /b 0
:found_iso
echo.
echo Given "%iso_file%"
xdelta3.exe -d -s "%iso_file%" data.xdelta3 "Mario Party 5 with Shops.iso"
echo.
echo Press Enter to exit.
pause
exit /b 0

View file

@ -1,4 +1,6 @@
Place the Mario Party 5 (USA) ISO in the script's directory and run the patch script to patch it.
This patch will convert your game to a version that adds shops.
Refer to this list for descriptions of capsules:
https://www.mariowiki.com/Mario_Party_5#Capsules

View file

@ -0,0 +1,28 @@
@echo off
REM Initialize the iso_file variable
set "iso_file="
REM Get the first ISO file in the same directory as the script
for %%F in ("%~dp0*.iso") do (
set "iso_file=%%~F"
goto :found_iso
)
:not_found
echo.
echo No ISO files found in the same directory as the script.
echo Place the Mario Party 5 (USA) ISO in the script's directory and run it again.
echo.
pause
exit /b 0
:found_iso
echo.
echo Given "%iso_file%"
xdelta3.exe -d -s "%iso_file%" data.xdelta3 "Mario Party 5 [Widescreen].iso"
echo.
echo Press Enter to exit.
pause
exit /b 0

View file

@ -0,0 +1,3 @@
Place the Mario Party 5 (USA) ISO in the script's directory and run the patch script to patch it.
This patch will convert your game to a widescreen version.

View file

@ -1,30 +0,0 @@
@echo off
setlocal enabledelayedexpansion
REM Get a list of ISO files in the same directory as the script
for %%F in ("%~dp0*.iso") do (
set "iso_files=!iso_files! "%%F""
)
REM Check if there are no ISO files
if not defined iso_files (
echo.
echo No ISO files found in the same directory as the script.
echo Place the Mario Party 5 (USA) ISO in the script's directory and run it again.
echo.
pause
exit /b 0
)
REM Iterate over each ISO file and process it
for %%I in (%iso_files%) do (
echo.
echo Given "%%~I"
xdelta3.exe -d -s "%%~I" data.xdelta3 "Mario Party 5 with Shops.iso"
echo Press Enter to exit.
set /p "=<" NUL
)
echo.
pause
exit /b 0

View file

@ -1,30 +0,0 @@
@echo off
setlocal enabledelayedexpansion
REM Get a list of ISO files in the same directory as the script
for %%F in ("%~dp0*.iso") do (
set "iso_files=!iso_files! "%%F""
)
REM Check if there are no ISO files
if not defined iso_files (
echo.
echo No ISO files found in the same directory as the script.
echo Place the Mario Party 5 (USA) ISO in the script's directory and run it again.
echo.
pause
exit /b 0
)
REM Iterate over each ISO file and process it
for %%I in (%iso_files%) do (
echo.
echo Given "%%~I"
xdelta3.exe -d -s "%%~I" data.xdelta3 "Mario Party 5 [Widescreen].iso"
echo Press Enter to exit.
set /p "=<" NUL
)
echo.
pause
exit /b 0

View file

@ -1 +0,0 @@
Place the Mario Party 5 (USA) ISO in the script's directory and run the patch script to patch it.

View file

@ -0,0 +1,115 @@
@echo off
title Mario Party 6 - Custom Orb Expansion Patcher
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo Mario Party 6 - Custom Orb Expansion Patcher!
echo How do you wish to export your game.
echo.
echo 1: RVZ (Recommended for Dolphin)
echo 2: ISO (Recommended for SwissGC)
echo 3: Exit Patcher
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
choice /c 123 > NUL
if errorlevel 3 exit
if errorlevel 2 set PATCHER=ISO
if errorlevel 1 set PATCHER=RVZ
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo Setting up patcher!
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
rmdir /s /q tmp
set "iso_files="
for %%F in ("%~dp0*.iso") do (
set "iso_files=!iso_files! !%%~F!"
)
for %%F in ("%~dp0*.rvz") do (
set "iso_files=!iso_files! !%%~F!"
)
if not defined iso_files (
cls
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo No ISO or RVZ files found in the same directory as the script.
echo Place the Mario Party 6 (USA^) ISO or RVZ in the script's directory and run it again.
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo.
echo Press any key to exit...
pause
exit /b 0
)
cls
mkdir tmp > NUL
for %%F in ("%~dp0*.rvz") do (
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo Converting RVZ to ISO! This is needed to patch the game...
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
"tools/dolphintool" convert -i "%%~F" -f "iso" -o "tmp/tmp.iso"
cls
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo Extracting Gamespace! This may take awhile depending on computer speed...
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
"tools/pyisotools" "tmp/tmp.iso" E "--dest=tmp/"
cls
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo Copying mod data!
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
xcopy "store" "tmp\root\" /s /y /e
cls
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo Rebuilding! This may take awhile depending on computer speed...
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
"tools/pyisotools" tmp/root/ B "--dest=../../game.iso"
rmdir /s /q tmp
)
for %%F in ("%~dp0*.iso") do (
cls
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo Extracting Gamespace! This may take awhile depending on computer speed...
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
"tools/pyisotools" "%%~F" E "--dest=tmp/"
cls
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo Copying mod data!
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
xcopy "store" "tmp\root\" /s /y /e
cls
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo Rebuilding! This may take awhile depending on computer speed...
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
"tools/pyisotools" tmp/root/ B "--dest=../../game.iso"
rmdir /s /q tmp
)
if "%PATCHER%"=="RVZ" (
cls
"tools/dolphintool" convert -i "game.iso" -o "Mario Party 6 (USA) [Custom Orb Expansion].rvz" -f "rvz" -b "131072" -c "zstd" -l "5"
del "game.iso"
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo Success! Your game is located in "Mario Party 6 (USA) [Custom Orb Expansion].rvz"
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
)
if "%PATCHER%"=="ISO" (
cls
move "game.iso" "Mario Party 6 (USA) [Custom Orb Expansion].iso"
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo Success! Your game is located in "Mario Party 6 (USA) [Custom Orb Expansion].iso"
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
)
echo.
echo Press any key to exit...
pause > NUL
exit /b 0

View file

@ -0,0 +1,5 @@
Place the Mario Party 6 (USA) ISO / RVZ in the script's directory and run the patch script to patch it.
This patch will convert your game to one with custom orbs.
Last updated Feb 8, 2024

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

View file

@ -0,0 +1,28 @@
@echo off
REM Initialize the iso_file variable
set "iso_file="
REM Get the first ISO file in the same directory as the script
for %%F in ("%~dp0*.iso") do (
set "iso_file=%%~F"
goto :found_iso
)
:not_found
echo.
echo No ISO files found in the same directory as the script.
echo Place the Mario Party 6 (USA) ISO in the script's directory and run it again.
echo.
pause
exit /b 0
:found_iso
echo.
echo Given "%iso_file%"
xdelta3.exe -d -s "%iso_file%" data.xdelta3 "Mario Party 6 [Widescreen].iso"
echo.
echo Press Enter to exit.
pause
exit /b 0

View file

@ -0,0 +1,3 @@
Place the Mario Party 6 (USA) ISO in the script's directory and run the patch script to patch it.
This patch will convert your game to a widescreen version.

View file

@ -1,30 +0,0 @@
@echo off
setlocal enabledelayedexpansion
REM Get a list of ISO files in the same directory as the script
for %%F in ("%~dp0*.iso") do (
set "iso_files=!iso_files! "%%F""
)
REM Check if there are no ISO files
if not defined iso_files (
echo.
echo No ISO files found in the same directory as the script.
echo Place the Mario Party 6 (USA) ISO in the script's directory and run it again.
echo.
pause
exit /b 0
)
REM Iterate over each ISO file and process it
for %%I in (%iso_files%) do (
echo.
echo Given "%%~I"
xdelta3.exe -d -s "%%~I" data.xdelta3 "Mario Party 6 [Widescreen].iso"
echo Press Enter to exit.
set /p "=<" NUL
)
echo.
pause
exit /b 0

View file

@ -1 +0,0 @@
Place the Mario Party 6 (USA) ISO in the script's directory and run the patch script to patch it.

View file

@ -0,0 +1,115 @@
@echo off
title Mario Party 7 - Custom Orb Expansion Patcher
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo Mario Party 7 - Custom Orb Expansion Patcher!
echo How do you wish to export your game.
echo.
echo 1: RVZ (Recommended for Dolphin)
echo 2: ISO (Recommended for SwissGC)
echo 3: Exit Patcher
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
choice /c 123 > NUL
if errorlevel 3 exit
if errorlevel 2 set PATCHER=ISO
if errorlevel 1 set PATCHER=RVZ
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo Setting up patcher!
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
rmdir /s /q tmp
set "iso_files="
for %%F in ("%~dp0*.iso") do (
set "iso_files=!iso_files! !%%~F!"
)
for %%F in ("%~dp0*.rvz") do (
set "iso_files=!iso_files! !%%~F!"
)
if not defined iso_files (
cls
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo No ISO or RVZ files found in the same directory as the script.
echo Place the Mario Party 7 (USA^) ISO or RVZ in the script's directory and run it again.
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo.
echo Press any key to exit...
pause
exit /b 0
)
cls
mkdir tmp > NUL
for %%F in ("%~dp0*.rvz") do (
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo Converting RVZ to ISO! This is needed to patch the game...
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
"tools/dolphintool" convert -i "%%~F" -f "iso" -o "tmp/tmp.iso"
cls
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo Extracting Gamespace! This may take awhile depending on computer speed...
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
"tools/pyisotools" "tmp/tmp.iso" E "--dest=tmp/"
cls
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo Copying mod data!
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
xcopy "store" "tmp\root\" /s /y /e
cls
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo Rebuilding! This may take awhile depending on computer speed...
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
"tools/pyisotools" tmp/root/ B "--dest=../../game.iso"
rmdir /s /q tmp
)
for %%F in ("%~dp0*.iso") do (
cls
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo Extracting Gamespace! This may take awhile depending on computer speed...
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
"tools/pyisotools" "%%~F" E "--dest=tmp/"
cls
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo Copying mod data!
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
xcopy "store" "tmp\root\" /s /y /e
cls
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo Rebuilding! This may take awhile depending on computer speed...
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
"tools/pyisotools" tmp/root/ B "--dest=../../game.iso"
rmdir /s /q tmp
)
if "%PATCHER%"=="RVZ" (
cls
"tools/dolphintool" convert -i "game.iso" -o "Mario Party 7 (USA) [Custom Orb Expansion].rvz" -f "rvz" -b "131072" -c "zstd" -l "5"
del "game.iso"
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo Success! Your game is located in "Mario Party 7 (USA) [Custom Orb Expansion].rvz"
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
)
if "%PATCHER%"=="ISO" (
cls
move "game.iso" "Mario Party 7 (USA) [Custom Orb Expansion].iso"
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
echo Success! Your game is located in "Mario Party 7 (USA) [Custom Orb Expansion].iso"
echo = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
)
echo.
echo Press any key to exit...
pause > NUL
exit /b 0

View file

@ -0,0 +1,6 @@
Place the Mario Party 7 (USA) (v1.02) ISO / RVZ in the script's directory and run the patch script to patch it.
This patch will convert your game to one with custom orbs.
Last updated Jul 11, 2024

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

View file

@ -0,0 +1,29 @@
@echo off
setlocal enabledelayedexpansion
REM Initialize the iso_file variable
set "iso_file="
REM Get the first ISO file in the same directory as the script
for %%F in ("%~dp0*.iso") do (
set "iso_file=%%~F"
goto :found_iso
)
:not_found
echo.
echo No ISO files found in the same directory as the script.
echo Place the Mario Party 7 (USA) (v1.02) ISO in the script's directory and run it again.
echo.
pause
exit /b 0
:found_iso
echo.
echo Given "%iso_file%"
xdelta3.exe -d -s "%iso_file%" data.xdelta3 "Mario Party 7 [Widescreen].iso"
echo.
echo Press Enter to exit.
pause
exit /b 0

View file

@ -0,0 +1,3 @@
Place the Mario Party 7 (USA) (v1.02) ISO in the script's directory and run the patch script to patch it.
This patch will convert your game to a widescreen version.

View file

@ -1,30 +0,0 @@
@echo off
setlocal enabledelayedexpansion
REM Get a list of ISO files in the same directory as the script
for %%F in ("%~dp0*.iso") do (
set "iso_files=!iso_files! "%%F""
)
REM Check if there are no ISO files
if not defined iso_files (
echo.
echo No ISO files found in the same directory as the script.
echo Place the Mario Party 7 (USA) ISO in the script's directory and run it again.
echo.
pause
exit /b 0
)
REM Iterate over each ISO file and process it
for %%I in (%iso_files%) do (
echo.
echo Given "%%~I"
xdelta3.exe -d -s "%%~I" data.xdelta3 "Mario Party 7 [Widescreen].iso"
echo Press Enter to exit.
set /p "=<" NUL
)
echo.
pause
exit /b 0

View file

@ -1 +0,0 @@
Place the Mario Party 7 (USA) (v1.02) ISO in the script's directory and run the patch script to patch it.

View file

@ -0,0 +1,49 @@
@echo off
REM Initialize the iso_files variable
set "iso_files="
REM Get a list of ISO and WBFS files in the same directory as the script
for %%F in ("%~dp0*.iso") do (
set "iso_files=!iso_files! "%%~F""
)
for %%F in ("%~dp0*.wbfs") do (
set "iso_files=!iso_files! "%%~F""
)
REM Check if there are no ISO or WBFS files
if not defined iso_files (
echo.
echo No ISO or WBFS files found in the same directory as the script.
echo Place the Mario Party 8 USA Revision 2 ISO or WBFS in the script's directory and run it again.
echo.
pause
exit /b 0
)
REM Iterate over each ISO or WBFS file and process it
for %%F in (%iso_files%) do (
echo.
echo Given %%F
"tools/wit" extract %%F --dest=temp
REM Determine the destination directory
set "dest_dir=temp"
if exist "temp\DATA" (
set "dest_dir=temp\DATA"
)
REM Copy files using xcopy
xcopy "mp8candy" "!dest_dir!" /s /y /e
"tools/wit" copy "temp" "..\Mario Party 8 (USA) [Extended Candy].wbfs"
rmdir /s /q temp
echo Press Enter to continue.
pause
)
echo.
echo Press Enter to exit.
pause
exit /b 0

View file

@ -0,0 +1,43 @@
#!/bin/bash
# Get a list of ISO and WBFS files in the same directory as the script
iso_files=$(find "$(dirname "$0")" -maxdepth 1 -type f \( -iname "*.iso" -o -iname "*.wbfs" \))
# Check if there are no ISO or WBFS files
if [ -z "$iso_files" ]; then
echo ""
echo "No ISO or WBFS files found in the same directory as the script."
echo "Place the Mario Party 8 (US) ISO or WBFS in the script's directory and run it again."
echo ""
read -p "Press Enter to exit..."
exit 0
fi
# Iterate over each ISO or WBFS file and process it
for originalISO in $iso_files; do
echo ""
echo "Constructing the Mario Party 8 Extended Candy WBFS for \"$originalISO\". Please stand by...."
cd "$(dirname "$0")/tools"
# Ensure temp directory exists
mkdir -p temp
wit extract "$originalISO" --dest=temp
if [ -d "temp/DATA" ]; then
cp -r "../mp8candy" "temp/DATA"
else
cp -r "../mp8candy" "temp"
fi
wit copy "temp" "../Mario Party 8 (USA) [Extended Candy].wbfs"
rm -rf temp
echo ""
echo "Construction complete for \"$originalISO\"!"
done
echo ""
read -p "Press Enter to exit..."
exit 0

View file

@ -0,0 +1,3 @@
Place the Mario Party 8 (USA, Asia) (Revision 2) ISO / WBFS in the script's directory and run the patch script to patch it.
This patch will convert your game to an edition that has the candy tables extended. This can be used for mods that patch candy values.

Some files were not shown because too many files have changed in this diff Show more