This commit is contained in:
Nayla Hanegan 2023-06-05 14:59:15 -04:00
commit 14d3c60d22
No known key found for this signature in database
GPG key ID: BAFE9001DA16CFA2
1071 changed files with 159471 additions and 31684 deletions

View file

@ -1,11 +1,11 @@
app-id: org.DolphinEmu.dolphin-mpn
branch: master
runtime: org.kde.Platform
runtime-version: 5.15
runtime-version: 6.4
sdk: org.kde.Sdk
command: dolphin-emu-wrapper
rename-desktop-file: dolphin-emu.desktop
rename-icon: dolphin-emu
command: dolphin-mpn-wrapper
rename-desktop-file: dolphin-mpn.desktop
rename-icon: dolphin-mpn
finish-args:
- --device=all # need for controllers
# the file picker uses portals but the set
@ -106,11 +106,11 @@ modules:
cleanup:
- /share/man
post-install:
- install -D -t ${FLATPAK_DEST}/bin/ dolphin-emu-wrapper
- desktop-file-edit --set-key=Exec --set-value='/app/bin/dolphin-emu-wrapper'
/app/share/applications/dolphin-emu.desktop
- install -D -t ${FLATPAK_DEST}/bin/ dolphin-mpn-wrapper
- desktop-file-edit --set-key=Exec --set-value='/app/bin/dolphin-mpn-wrapper'
/app/share/applications/dolphin-mpn.desktop
- desktop-file-edit --set-key=Name --set-value='Dolphin MPN'
/app/share/applications/dolphin-emu.desktop
/app/share/applications/dolphin-mpn.desktop
sources:
- type: git
url: https://github.com/MarioPartyNetplay/Dolphin-MPN-src.git
@ -127,5 +127,5 @@ modules:
test -S $XDG_RUNTIME_DIR/discord-ipc-$i ||
ln -sf {app/com.discordapp.Discord,$XDG_RUNTIME_DIR}/discord-ipc-$i;
done
dolphin-emu "$@"
dest-filename: dolphin-emu-wrapper
dolphin-mpn "$@"
dest-filename: dolphin-mpn-wrapper

45
.github/workflows/linux.yml vendored Normal file
View file

@ -0,0 +1,45 @@
name: Linux CI
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
pull_request:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
# Submoudle
- name: Checkout Submodles
run: git submodule update --init --recursive
# Setup CMake
- name: Setup CMake
uses: Symbitic/install-cmake@v0.1.1
with:
platform: linux
# Setup Packages
- name: Setup Packages
run: sudo apt update && sudo apt upgrade && sudo apt install p7zip-full build-essential git cmake ffmpeg libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libevdev-dev libusb-1.0-0-dev libxrandr-dev libxi-dev libpangocairo-1.0-0 qt6-base-private-dev libbluetooth-dev libasound2-dev libpulse-dev libgl1-mesa-dev libudev-dev libsystemd-dev dpkg-dev
# Run CMake
- name: Run CMake
run: mkdir build && cd build && cmake .. -G Ninja -DLINUX_LOCAL_DEV=true -DCPACK_PACKAGE_CONTACT="Mario Party Netplay" -DDISTRIBUTOR="Mario Party Netplay"
# Build Project
- name: Run Make
run: cd build && ninja -j$(nproc)
# Configure Dolphin
- name: Configure Dolphin
run: cd build && cp -r ../Data/Sys/ Binaries/ && cp -r ../Data/User/ Binaries/ && cp -r ../Data/dolphin-mpn.png Binaries/ && touch Binaries/portable.txt && mv Binaries/User Binaries/user
# Upload Artifact
- name: Upload Build Artifact
uses: actions/upload-artifact@v2
with:
name: DolphinMPN-Linux
path: /home/runner/work/Dolphin-MPN/Dolphin-MPN/build/Binaries/

45
.github/workflows/macOS.yml vendored Normal file
View file

@ -0,0 +1,45 @@
name: macOS CI
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
pull_request:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: macos-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
# Submoudle
- name: Checkout Submodles
run: git submodule update --init --recursive
# Setup Packages
- name: Setup Packages
run: brew install qt6 p7zip pkgconfig
# Setup CMake
- name: Setup CMake
uses: Symbitic/install-cmake@v0.1.1
with:
platform: mac
# Use Static ZSTD
- name: Remove ZSTD
run: brew uninstall zstd curl php --force --ignore-dependencies
# Run CMake
- name: Run CMake
run: mkdir -p build && cd build && cmake .. -G Ninja -DCMAKE_CXX_FLAGS="-Xclang -fcolor-diagnostics" -DCMAKE_PREFIX_PATH=$(brew --prefix qt6) -DDISTRIBUTOR="Mario Party Netplay"
# Build Project
- name: Run Ninja
run: cd build && ninja -j8
# Upload Artifact
- name: Upload Build Artifact
uses: actions/upload-artifact@v2
with:
name: DolphinMPN-macOS
path: /Users/runner/work/Dolphin-MPN/Dolphin-MPN/build/Binaries/

43
.github/workflows/nsis.yml vendored Normal file
View file

@ -0,0 +1,43 @@
name: Windows NSIS CI
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
pull_request:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: windows-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
# Submoudle
- name: Checkout Submodles
run: git submodule update --init --recursive
# Setup MSBuild For Later Usage
- name: Setup MSBuild
uses: microsoft/setup-msbuild@v1.0.2
with:
vs-version: '16.6.2'
# Run MSBuild
- name: Build Solution
run: msbuild "D:\a\Dolphin-MPN\Dolphin-MPN\Source\dolphin-emu.sln" /verbosity:minimal /property:Configuration=Release /property:Platform=x64
# Package NSIS
- name: Package NSIS
uses: joncloud/makensis-action@v4
with:
script-file: "D:/a/Dolphin-MPN/Dolphin-MPN/Installer/Installer.nsi"
arguments: "/DDOLPHIN_ARCH=x64 /PRODUCT_VERSION=MPN /V3"
# Upload Artifact
- name: Upload Build Artifact
uses: actions/upload-artifact@v2
with:
name: DolphinMPN-win32
path: D:\a\Dolphin-MPN\Dolphin-MPN\Binary\x64

36
.github/workflows/win32.yml vendored Normal file
View file

@ -0,0 +1,36 @@
name: Windows CI
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
pull_request:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: windows-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
# Submoudle
- name: Checkout Submodles
run: git submodule update --init --recursive
# Setup MSBuild For Later Usage
- name: Setup MSBuild
uses: microsoft/setup-msbuild@v1.0.2
with:
vs-version: '16.6.2'
# Run MSBuild
- name: Build Solution
run: msbuild "D:\a\Dolphin-MPN\Dolphin-MPN\Source\dolphin-emu.sln" /verbosity:minimal /property:Configuration=Release /property:Platform=x64
# Upload Artifact
- name: Upload Build Artifact
uses: actions/upload-artifact@v2
with:
name: DolphinMPN-win32
path: D:\a\Dolphin-MPN\Dolphin-MPN\Binary\x64

View file

@ -1,135 +0,0 @@
name: Win-macOS-Linux CI
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
pull_request:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
# Submoudle
- name: Checkout Submodles
run: git submodule update --init --recursive
# Install 7zip
- name: Install 7zip
if: matrix.os == 'windows-latest'
run: choco install 7zip
# Setup Packages
- name: Setup Packages
if: matrix.os == 'macos-latest'
run: brew install qt6 p7zip pkgconfig
# Setup MSBuild For Later Usage
- name: Setup MSBuild
if: matrix.os == 'windows-latest'
uses: microsoft/setup-msbuild@v1.0.2
with:
vs-version: '16.6.2'
# Setup CMake
- name: Setup CMake
if: matrix.os == 'macos-latest'
uses: Symbitic/install-cmake@v0.1.1
with:
platform: mac
# Setup CMake
- name: Setup CMake
if: matrix.os == 'ubuntu-latest'
uses: Symbitic/install-cmake@v0.1.1
with:
platform: linux
# Use Static ZSTD
- name: Remove ZSTD
if: matrix.os == 'macos-latest'
run: brew uninstall zstd curl php --force --ignore-dependencies
# Run CMake
- name: Run CMake
if: matrix.os == 'macos-latest'
run: mkdir -p build && cd build && cmake .. -G Ninja -DCMAKE_CXX_FLAGS="-Xclang -fcolor-diagnostics" -DCMAKE_PREFIX_PATH=$(brew --prefix qt6) -DDISTRIBUTOR="Mario Party Netplay"
# Build Project
- name: Run Ninja
if: matrix.os == 'macos-latest'
run: cd build && ninja -j4
# Run MSBuild
- name: Build Solution
if: matrix.os == 'windows-latest'
run: msbuild "D:\a\Dolphin-MPN\Dolphin-MPN\Source\dolphin-emu.sln" /verbosity:minimal /property:Configuration=Release /property:Platform=x64
# Setup Packages
- name: Setup Packages
if: matrix.os == 'ubuntu-latest'
run: sudo apt update && sudo apt upgrade && sudo apt install p7zip-full build-essential git cmake ffmpeg libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libevdev-dev libusb-1.0-0-dev libxrandr-dev libxi-dev libpangocairo-1.0-0 qt6-base-private-dev libbluetooth-dev libasound2-dev libpulse-dev libgl1-mesa-dev libudev-dev libsystemd-dev dpkg-dev
# Run CMake
- name: Run CMake
if: matrix.os == 'ubuntu-latest'
run: mkdir build && cd build && cmake .. -G Ninja -DLINUX_LOCAL_DEV=true -DCPACK_PACKAGE_CONTACT="Mario Party Netplay" -DDISTRIBUTOR="Mario Party Netplay"
# Build Project
- name: Run Make
if: matrix.os == 'ubuntu-latest'
run: cd build && ninja -j$(nproc)
# Configure Dolphin
- name: Configure Dolphin
if: matrix.os == 'ubuntu-latest'
run: cd build && cp -r ../Data/Sys/ Binaries/ && cp -r ../Data/User/ Binaries/ && cp -r ../Data/dolphin-emu.png Binaries/ && touch Binaries/portable.txt
# Upload Artifact
- name: Upload Build Artifact
if: matrix.os == 'windows-latest'
uses: actions/upload-artifact@v2
with:
name: DolphinMPN-win32
path: D:\a\Dolphin-MPN\Dolphin-MPN\Binary\x64
# Upload Artifact
- name: Upload Build Artifact
if: matrix.os == 'macos-latest'
uses: actions/upload-artifact@v2
with:
name: DolphinMPN-macOS
path: /Users/runner/work/Dolphin-MPN/Dolphin-MPN/build/Binaries/
# Upload Artifact
- name: Upload Build Artifact
if: matrix.os == 'ubuntu-latest'
uses: actions/upload-artifact@v2
with:
name: DolphinMPN-Linux
path: /home/runner/work/Dolphin-MPN/Dolphin-MPN/build/Binaries/
# Zip Artifact
- name: Zip Artifact
if: matrix.os == 'ubuntu-latest' && startsWith(github.ref, 'refs/tags/')
run: 7z a -tzip /home/runner/DolphinMPN-linux /home/runner/work/Dolphin-MPN/Dolphin-MPN/build/Binaries/*
# New Release
- name: New Release
if: matrix.os == 'ubuntu-latest' && startsWith(github.ref, 'refs/tags/')
uses: ncipollo/release-action@v1.12.0
with:
artifacts: /home/runner/DolphinMPN-linux.7z
# Zip Artifact
- name: Zip Artifact
if: matrix.os == 'macos-latest' && startsWith(github.ref, 'refs/tags/')
run: 7z a -tzip /Users/runner/DolphinMPN-macOS-intel /Users/runner/work/Dolphin-MPN/Dolphin-MPN/build/Binaries/*
# New Release
- name: New Release
if: matrix.os == 'macos-latest' && startsWith(github.ref, 'refs/tags/')
uses: ncipollo/release-action@v1.12.0
with:
artifacts: /Users/runner/DolphinMPN-macOS-intel.7z
# Zip Artifact
- name: Zip Artifact
if: matrix.os == 'windows-latest' && startsWith(github.ref, 'refs/tags/')
run: 7z a -tzip D:/DolphinMPN-win32 D:/a/Dolphin-MPN/Dolphin-MPN/Binary/x64/*
# New Release
- name: New Release
if: matrix.os == 'windows-latest' && startsWith(github.ref, 'refs/tags/')
uses: ncipollo/release-action@v1.12.0
with:
artifacts: D:/DolphinMPN-win32.7z

2
.gitignore vendored
View file

@ -8,6 +8,8 @@ Source/Core/Common/scmrev.h
# Ignore files output by build
/[Bb]uild*/
/[Bb]inary*/
/AppDir*/
*.AppImage
/obj/
# Ignore files output by Android cmake build
/Source/Android/app/.cxx/

View file

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

101
CMake/FindIconv.cmake Normal file
View file

@ -0,0 +1,101 @@
# Based on CMake's FindIconv.cmake
# Modified to prefer non-built-in iconv over the built-in one
# See https://gitlab.kitware.com/cmake/cmake/-/issues/24695 for details
# This file can be deleted once that issue has been closed and the fix has
# made it into a satisfactory number of cmake versions. FreeBSD is the only
# system known to hit this so far, so "satisfactory" can probably be defined
# as "enough that most FreeBSD users have a fixed cmake".
find_path(Iconv_INCLUDE_DIR
NAMES "iconv.h"
DOC "iconv include directory")
mark_as_advanced(Iconv_INCLUDE_DIR)
find_library(Iconv_LIBRARY
NAMES iconv libiconv
NAMES_PER_DIR
DOC "iconv library (if not in the C library)")
mark_as_advanced(Iconv_LIBRARY)
# iconv can only be provided in libc on a POSIX system.
if(UNIX AND (NOT Iconv_INCLUDE_DIR OR NOT Iconv_LIBRARY))
include(CMakePushCheckState)
include(CheckCXXSourceCompiles)
cmake_push_check_state(RESET)
# We always suppress the message here: Otherwise on supported systems
# not having iconv in their C library (e.g. those using libiconv)
# would always display a confusing "Looking for iconv - not found" message
set(CMAKE_FIND_QUIETLY TRUE)
# The following code will not work, but it's sufficient to see if it compiles.
# Note: libiconv will define the iconv functions as macros, so CheckSymbolExists
# will not yield correct results.
set(Iconv_IMPLICIT_TEST_CODE
"
#include <stddef.h>
#include <iconv.h>
int main() {
char *a, *b;
size_t i, j;
iconv_t ic;
ic = iconv_open(\"to\", \"from\");
iconv(ic, &a, &i, &b, &j);
iconv_close(ic);
}
"
)
check_cxx_source_compiles("${Iconv_IMPLICIT_TEST_CODE}" Iconv_IS_BUILT_IN)
cmake_pop_check_state()
if(Iconv_IS_BUILT_IN)
unset(Iconv_INCLUDE_DIR)
unset(Iconv_LIBRARY)
endif()
else()
set(Iconv_IS_BUILT_IN FALSE)
endif()
set(_Iconv_REQUIRED_VARS)
if(Iconv_IS_BUILT_IN)
set(_Iconv_REQUIRED_VARS _Iconv_IS_BUILT_IN_MSG)
set(_Iconv_IS_BUILT_IN_MSG "built in to C library")
else()
set(_Iconv_REQUIRED_VARS Iconv_LIBRARY Iconv_INCLUDE_DIR)
endif()
# NOTE: glibc's iconv.h does not define _LIBICONV_VERSION
if(Iconv_INCLUDE_DIR AND EXISTS "${Iconv_INCLUDE_DIR}/iconv.h")
file(STRINGS ${Iconv_INCLUDE_DIR}/iconv.h Iconv_VERSION_DEFINE REGEX "_LIBICONV_VERSION (.*)")
if(Iconv_VERSION_DEFINE MATCHES "(0x[A-Fa-f0-9]+)")
set(Iconv_VERSION_NUMBER "${CMAKE_MATCH_1}")
# encoding -> version number: (major<<8) + minor
math(EXPR Iconv_VERSION_MAJOR "${Iconv_VERSION_NUMBER} >> 8" OUTPUT_FORMAT HEXADECIMAL)
math(EXPR Iconv_VERSION_MINOR "${Iconv_VERSION_NUMBER} - (${Iconv_VERSION_MAJOR} << 8)" OUTPUT_FORMAT HEXADECIMAL)
math(EXPR Iconv_VERSION_MAJOR "${Iconv_VERSION_MAJOR}" OUTPUT_FORMAT DECIMAL)
math(EXPR Iconv_VERSION_MINOR "${Iconv_VERSION_MINOR}" OUTPUT_FORMAT DECIMAL)
set(Iconv_VERSION "${Iconv_VERSION_MAJOR}.${Iconv_VERSION_MINOR}")
endif()
unset(Iconv_VERSION_DEFINE)
unset(Iconv_VERSION_NUMBER)
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Iconv
REQUIRED_VARS ${_Iconv_REQUIRED_VARS}
VERSION_VAR Iconv_VERSION)
if(Iconv_FOUND)
if(Iconv_IS_BUILT_IN)
set(Iconv_INCLUDE_DIRS "")
set(Iconv_LIBRARIES "")
else()
set(Iconv_INCLUDE_DIRS "${Iconv_INCLUDE_DIR}")
set(Iconv_LIBRARIES "${Iconv_LIBRARY}")
endif()
if(NOT TARGET Iconv::Iconv)
add_library(Iconv::Iconv INTERFACE IMPORTED)
set_property(TARGET Iconv::Iconv PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${Iconv_INCLUDE_DIRS}")
set_property(TARGET Iconv::Iconv PROPERTY INTERFACE_LINK_LIBRARIES "${Iconv_LIBRARIES}")
endif()
endif()

View file

@ -28,7 +28,7 @@ set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15.0" CACHE STRING "")
set(CMAKE_USER_MAKE_RULES_OVERRIDE "CMake/FlagsOverride.cmake")
project(dolphin-emu)
project(dolphin-mpn)
if (MSVC)
if (POLICY CMP0117)
@ -42,6 +42,31 @@ if (MSVC)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
endif()
set(COMPILER ${CMAKE_CXX_COMPILER_ID})
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
set (MSVC_min_version 14.32)
set (min_vs_version "2022 17.2.3") # corrosponding Visual Studio version for MSVC_min_version
message(STATUS "Using ${COMPILER} ${CMAKE_CXX_COMPILER_VERSION}")
if ("-" STREQUAL "${${COMPILER}_min_version}-")
message(WARNING "Unknown compiler ${COMPILER}, assuming it is new enough")
else()
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS ${${COMPILER}_min_version})
message(FATAL_ERROR "Requires GCC ${GCC_min_version}, Clang ${Clang_min_version},"
" AppleClang ${AppleClang_min_version} (Xcode ${min_xcode_version}),"
" or MSVC ${MSVC_min_version} (Visual Studio ${min_vs_version}) or higher")
endif()
endif()
# Name of the Dolphin distributor. If you redistribute Dolphin builds (forks,
# unofficial builds) please consider identifying your distribution with a
# unique name here.
@ -144,7 +169,7 @@ include(RemoveCompileFlag)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
# Set up paths
set(datadir ${CMAKE_INSTALL_FULL_DATADIR}/dolphin-emu CACHE PATH "datadir")
set(datadir ${CMAKE_INSTALL_FULL_DATADIR}/dolphin-mpn CACHE PATH "datadir")
add_definitions(-DDATA_DIR="${datadir}/")
if(CMAKE_SYSROOT)
@ -260,12 +285,6 @@ else()
" Enable generic build if you really want a JIT-less binary.")
endif()
# Enforce minimum GCC version
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0)
message(FATAL_ERROR "Dolphin requires at least GCC 7.0 (found ${CMAKE_CXX_COMPILER_VERSION})")
endif()
if(CMAKE_GENERATOR MATCHES "Ninja")
check_and_add_flag(DIAGNOSTICS_COLOR -fdiagnostics-color)
elseif(CMAKE_GENERATOR MATCHES "Visual Studio")
@ -919,18 +938,15 @@ else()
endif()
if(NOT ANDROID)
find_library(ICONV_LIBRARIES NAMES iconv libiconv libiconv-2 c)
find_path(ICONV_INCLUDE_DIR NAMES iconv.h)
find_package(Iconv)
endif()
if (NOT ANDROID AND ICONV_LIBRARIES AND ICONV_INCLUDE_DIR)
mark_as_advanced(ICONV_INCLUDE_DIR ICONV_LIBRARIES)
if(TARGET Iconv::Iconv)
message(STATUS "Using shared iconv")
else()
check_vendoring_approved(iconv)
message(STATUS "Using static iconv from Externals")
include_directories(Externals/libiconv-1.14/include)
add_subdirectory(Externals/libiconv-1.14)
set(ICONV_LIBRARIES iconv)
endif()
if(NOT ANDROID)
@ -1035,19 +1051,19 @@ if(NOT CMAKE_SYSTEM_NAME MATCHES "Linux|FreeBSD|OpenBSD|Darwin")
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Linux|FreeBSD|OpenBSD")
# Install the application icon and menu item
install(FILES Data/dolphin-emu.png
install(FILES Data/dolphin-mpn.png
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/256x256/apps)
install(FILES Data/dolphin-emu.desktop
install(FILES Data/dolphin-mpn.desktop
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications)
# Install manpages
install(FILES Data/dolphin-emu.6
install(FILES Data/dolphin-mpn.6
DESTINATION ${CMAKE_INSTALL_MANDIR}/man6)
install(FILES Data/dolphin-emu-nogui.6
install(FILES Data/dolphin-mpn-nogui.6
DESTINATION ${CMAKE_INSTALL_MANDIR}/man6)
endif()
# packaging information
set(CPACK_PACKAGE_NAME "dolphin-emu")
set(CPACK_PACKAGE_NAME "dolphin-mpn")
set(CPACK_PACKAGE_VENDOR "Dolphin Team")
set(CPACK_PACKAGE_VERSION_MAJOR ${DOLPHIN_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${DOLPHIN_VERSION_MINOR})

View file

@ -173,7 +173,8 @@ Summary:
- [Classes and Structs](#cpp-code-classes-and-structs)
## <a name="cpp-code-general"></a>General
- The codebase currently uses C++17.
- The codebase currently uses C++20, though not all compilers support all C++20 features.
- See CMakeLists.txt "Enforce minimium compiler versions" for the currently supported compilers.
- Use the [nullptr](https://en.cppreference.com/w/cpp/language/nullptr) type over the macro `NULL`.
- If a [range-based for loop](https://en.cppreference.com/w/cpp/language/range-for) can be used instead of container iterators, use it.
- Obviously, try not to use `goto` unless you have a *really* good reason for it.

Binary file not shown.

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE datafile PUBLIC "-//Logiqx//DTD ROM Management Datafile//EN" "http://www.logiqx.com/Dats/datafile.dtd"[]>
<datafile>
<header>
<name>Custom Dat</name>
<description>Created by NKit</description>
<category>Games</category>
<version>1</version>
<date>20180614</date>
<author>You</author>
<email>-not specified-</email>
<homepage>-not specified-</homepage>
<url>-not specified-</url>
<comment>-not specified-</comment>
<clrmamepro />
</header>
</datafile>

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE datafile PUBLIC "-//Logiqx//DTD ROM Management Datafile//EN" "http://www.logiqx.com/Dats/datafile.dtd"[]>
<datafile>
<header>
<name>Custom Dat</name>
<description>Created by NKit</description>
<category>Games</category>
<version>1</version>
<date>20180614</date>
<author>You</author>
<email>-not specified-</email>
<homepage>-not specified-</homepage>
<url>-not specified-</url>
<comment>-not specified-</comment>
<clrmamepro />
</header>
</datafile>

View file

@ -0,0 +1 @@
https://www.gametdb.com/wiitdb.txt

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE datafile PUBLIC "-//Logiqx//DTD ROM Management Datafile//EN" "http://www.logiqx.com/Dats/datafile.dtd"[]>
<datafile>
<header>
<name> REPLACE THIS FILE WITH THE WII REDUMP.DAT </name>
<description>Created by NKit</description>
<category>Games</category>
<version>1</version>
<date>20180614</date>
<author>You</author>
<email>-not specified-</email>
<homepage>-not specified-</homepage>
<url>-not specified-</url>
<comment>-not specified-</comment>
<clrmamepro />
</header>
</datafile>

Binary file not shown.

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,84 @@
- - - - - -__- - -.- - - -.- - -.- - -.- - \|/.- - -.- - -.-__- -.- - - -
. . ___/ |__ . __ . . . . . --O--. __ . ___/ | _____ . .
\__ + \ ___/ |__ __ . __ /|\___/ |__ \__ |/ + / .
. . / | + \\__ \ ___/ |__.___/ |__ \__ \ ./ | / .
. /+ | \/ _| \\__ \\__ \ / | \/ + + /_ .
. / |+ \ \_ \/ | \/ | \/ | \ | \ . .
. / + | + \_ | \_ | \_ | \_ | \_+ | + \ .
. _/ + |_______/ |______/ |_____/ ______/ _______/ | \_ .
.\ + |==\______|===\_____|==\_____|==\______|==\______|+ + /
- - \_______| - - - - - - - Proudly Presents - - - - - - - |_______/ - -
NKit - Tools to Recover / Preserve Wii and GameCube Disc Images
.
. . .
Overview
----------------------------------------------------------------------------
NKit is a Nintendo ToolKit that can Recover and Preserve Wii and GameCube
disc images
Recovery is the ability to rebuild source images to match the known good
images verified by Redump
Preserve is the ability to shrink any image and convert it back to the
source iso
NKit can convert to ISO and NKit format. The NKit format is designed to
shrink an image to it's smallest while ensuring it can be restored back to
the original source data. NKit images are also playable by Dolphin
Read the Docs :) - https://wiki.gbatemp.net/wiki/NKit
.
. . .
Features
----------------------------------------------------------------------------
- Recovery and Preservation of GameCube and Wii images
- NKit Format (smallest format, Dolphin compatible, GC is h/w compatible)
- GC NKit format aligns audio and tgc files to 32k for playability
- Wii NKit format removes hashes and encryption (Dolphin Compatible)
- Reusable library for use in other projects
- Test Mode
- Summary log of all conversions
- Rename images that match Dat file entries to a configurable mask
- Supports 100% of Redump images (Unlicensed, All Regions, Multi Disc etc)
- Scrubbed and Hacked preservation support
Formats
- GCZ support
- ISO.DEC read support
- WBFS read support
- ISO support
- RVT-R Wii ISO read support
- NKit Format support (smallest format and Dolphin compatible)
- Read the above images from Rar/Zip/7zip etc
Recovery Abilities
- Insert missing Wii Update (inc rare extra data), Channel / VC partitions
- Replace Brickblocked Update partitions
- Auto fixes modified disc headers (where the Data header remains intact)
- Fixes rare corrupt Wii partition table (caused by WBM)
- Fixes scrubbed trailing file 0's
- Fixes truncated Wii images (where the Data partition is intact)
- Fixes slightly overdumped images (from descramble tools)
- Fixes Wii Data partitions moved before 0xF800000 to save space
- Fixes compacted GC images
- Fixes moved and reordered GC files
- Fixes modified GC headers (inc. title, region hacks)
- Fixes mod chip modified GC apploaders
- Fixes GC images with non conformant junk
- Fixes modified Wii region and ratings
- Support for GC images with junk not generated with the image ID
.
. . .
Requirements
- Windows | Linux | Mac
- .Net or Mono 4.6.1 (Will be ported to dotnet core 3.0 soon)
- Wine for Apps under Linux and Mac
.
. . .

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