Compare commits

..

No commits in common. "master" and "2503" have entirely different histories.
master ... 2503

1215 changed files with 143335 additions and 117313 deletions

9
.gitmodules vendored
View File

@ -84,12 +84,3 @@
[submodule "Externals/Vulkan-Headers"] [submodule "Externals/Vulkan-Headers"]
path = Externals/Vulkan-Headers path = Externals/Vulkan-Headers
url = https://github.com/KhronosGroup/Vulkan-Headers.git url = https://github.com/KhronosGroup/Vulkan-Headers.git
[submodule "Externals/watcher/watcher"]
path = Externals/watcher/watcher
url = https://github.com/e-dant/watcher.git
[submodule "Externals/SFML/SFML"]
path = Externals/SFML/SFML
url = https://github.com/SFML/SFML.git
[submodule "Externals/zstd/zstd"]
path = Externals/zstd/zstd
url = https://github.com/facebook/zstd.git

View File

@ -57,9 +57,13 @@ DEFAULT_CONFIG = {
# SHA checksum to verify the integrity of the app. This doesn't # SHA checksum to verify the integrity of the app. This doesn't
# protect against malicious actors, but it does protect against # protect against malicious actors, but it does protect against
# running corrupted binaries and allows for access to the extended # running corrupted binaries and allows for access to the extended
# permissions needed for ARM builds # permisions needed for ARM builds
"codesign_identity": "-", "codesign_identity": "-",
# Minimum macOS version for each architecture slice
"arm64_mac_os_deployment_target": "11.0.0",
"x86_64_mac_os_deployment_target": "10.15.0",
# CMake Generator to use for building # CMake Generator to use for building
"generator": "Unix Makefiles", "generator": "Unix Makefiles",
"build_type": "Release", "build_type": "Release",
@ -73,7 +77,7 @@ DEFAULT_CONFIG = {
"distributor": "None" "distributor": "None"
} }
# Architectures to build for. This is explicitly left out of the command line # Architectures to build for. This is explicity left out of the command line
# config options for several reasons: # config options for several reasons:
# 1) Adding new architectures will generally require more code changes # 1) Adding new architectures will generally require more code changes
# 2) Single architecture builds should utilize the normal generated cmake # 2) Single architecture builds should utilize the normal generated cmake
@ -142,6 +146,11 @@ def parse_args(conf=DEFAULT_CONFIG):
help=f"Install path for {arch} qt5 libraries", help=f"Install path for {arch} qt5 libraries",
default=conf[arch+"_qt5_path"]) default=conf[arch+"_qt5_path"])
parser.add_argument(
f"--{arch}_mac_os_deployment_target",
help=f"Deployment architecture for {arch} slice",
default=conf[arch+"_mac_os_deployment_target"])
return vars(parser.parse_args()) return vars(parser.parse_args())
@ -288,7 +297,8 @@ def build(config):
"-DCMAKE_PREFIX_PATH="+prefix_path, "-DCMAKE_PREFIX_PATH="+prefix_path,
"-DCMAKE_SYSTEM_PROCESSOR="+arch, "-DCMAKE_SYSTEM_PROCESSOR="+arch,
"-DCMAKE_IGNORE_PATH="+ignore_path, "-DCMAKE_IGNORE_PATH="+ignore_path,
"-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0.0", "-DCMAKE_OSX_DEPLOYMENT_TARGET="
+ config[arch+"_mac_os_deployment_target"],
"-DMACOS_CODE_SIGNING_IDENTITY=" "-DMACOS_CODE_SIGNING_IDENTITY="
+ config["codesign_identity"], + config["codesign_identity"],
'-DMACOS_CODE_SIGNING="ON"', '-DMACOS_CODE_SIGNING="ON"',

View File

@ -11,7 +11,7 @@
# FFmpeg_LIBRARIES: aggregate all the paths to the libraries # FFmpeg_LIBRARIES: aggregate all the paths to the libraries
# FFmpeg_FOUND: True if all components have been found # FFmpeg_FOUND: True if all components have been found
# #
# This module defines the following targets, which are preferred over variables: # This module defines the following targets, which are prefered over variables:
# #
# FFmpeg::<component>: Target to use <component> directly, with include path, # FFmpeg::<component>: Target to use <component> directly, with include path,
# library and dependencies set up. If you are using a static build, you are # library and dependencies set up. If you are using a static build, you are

View File

@ -87,10 +87,9 @@ if(SFML_FIND_VERSION AND SFML_INCLUDE_DIR)
set(SFML_CONFIG_HPP_INPUT "${SFML_INCLUDE_DIR}/SFML/Config.hpp") set(SFML_CONFIG_HPP_INPUT "${SFML_INCLUDE_DIR}/SFML/Config.hpp")
endif() endif()
FILE(READ "${SFML_CONFIG_HPP_INPUT}" SFML_CONFIG_HPP_CONTENTS) FILE(READ "${SFML_CONFIG_HPP_INPUT}" SFML_CONFIG_HPP_CONTENTS)
STRING(REGEX MATCH "#define SFML_VERSION_MAJOR[ \t]+([0-9]+)" SFML_VERSION_MAJOR_MATCH "${SFML_CONFIG_HPP_CONTENTS}") STRING(REGEX MATCH ".*#define SFML_VERSION_MAJOR ([0-9]+).*#define SFML_VERSION_MINOR ([0-9]+).*" SFML_CONFIG_HPP_CONTENTS "${SFML_CONFIG_HPP_CONTENTS}")
STRING(REGEX MATCH "#define SFML_VERSION_MINOR[ \t]+([0-9]+)" SFML_VERSION_MINOR_MATCH "${SFML_CONFIG_HPP_CONTENTS}") STRING(REGEX REPLACE ".*#define SFML_VERSION_MAJOR ([0-9]+).*" "\\1" SFML_VERSION_MAJOR "${SFML_CONFIG_HPP_CONTENTS}")
STRING(REGEX REPLACE "#define SFML_VERSION_MAJOR[ \t]+([0-9]+)" "\\1" SFML_VERSION_MAJOR "${SFML_VERSION_MAJOR_MATCH}") STRING(REGEX REPLACE ".*#define SFML_VERSION_MINOR ([0-9]+).*" "\\1" SFML_VERSION_MINOR "${SFML_CONFIG_HPP_CONTENTS}")
STRING(REGEX REPLACE "#define SFML_VERSION_MINOR[ \t]+([0-9]+)" "\\1" SFML_VERSION_MINOR "${SFML_VERSION_MINOR_MATCH}")
math(EXPR SFML_REQUESTED_VERSION "${SFML_FIND_VERSION_MAJOR} * 10 + ${SFML_FIND_VERSION_MINOR}") math(EXPR SFML_REQUESTED_VERSION "${SFML_FIND_VERSION_MAJOR} * 10 + ${SFML_FIND_VERSION_MINOR}")
# if we could extract them, compare with the requested version number # if we could extract them, compare with the requested version number
@ -103,14 +102,10 @@ if(SFML_FIND_VERSION AND SFML_INCLUDE_DIR)
set(SFML_VERSION_OK FALSE) set(SFML_VERSION_OK FALSE)
endif() endif()
else() else()
# SFML version is < 3.0 # SFML version is < 2.0
if (SFML_REQUESTED_VERSION GREATER 29) if (SFML_REQUESTED_VERSION GREATER 19)
set(SFML_VERSION_OK FALSE) set(SFML_VERSION_OK FALSE)
if (SFML_REQUESTED_VERSION GREATER 19) set(SFML_VERSION_MAJOR 1)
set(SFML_VERSION_MAJOR 1)
else()
set(SFML_VERSION_MAJOR 2)
endif()
set(SFML_VERSION_MINOR x) set(SFML_VERSION_MINOR x)
endif() endif()
endif() endif()

View File

@ -33,7 +33,7 @@ endif()
string(TIMESTAMP DOLPHIN_WC_BUILD_DATE "%Y-%m-%d" UTC) string(TIMESTAMP DOLPHIN_WC_BUILD_DATE "%Y-%m-%d" UTC)
# version number # version number
set(DOLPHIN_VERSION_MAJOR "2506") set(DOLPHIN_VERSION_MAJOR "2503")
set(DOLPHIN_VERSION_MINOR "0") set(DOLPHIN_VERSION_MINOR "0")
set(DOLPHIN_VERSION_PATCH ${DOLPHIN_WC_REVISION}) set(DOLPHIN_VERSION_PATCH ${DOLPHIN_WC_REVISION})

View File

@ -24,7 +24,7 @@ endif()
# Minimum OS X version. # Minimum OS X version.
# This is inserted into the Info.plist as well. # This is inserted into the Info.plist as well.
set(CMAKE_OSX_DEPLOYMENT_TARGET "11.0.0" CACHE STRING "") set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15.0" CACHE STRING "")
set(CMAKE_USER_MAKE_RULES_OVERRIDE "${CMAKE_CURRENT_SOURCE_DIR}/CMake/FlagsOverride.cmake") set(CMAKE_USER_MAKE_RULES_OVERRIDE "${CMAKE_CURRENT_SOURCE_DIR}/CMake/FlagsOverride.cmake")
@ -44,7 +44,7 @@ endif()
set(COMPILER ${CMAKE_CXX_COMPILER_ID}) set(COMPILER ${CMAKE_CXX_COMPILER_ID})
if (COMPILER STREQUAL "GNU") if (COMPILER STREQUAL "GNU")
set(COMPILER "GCC") # prefer printing GCC instead of GNU set(COMPILER "GCC") # perfer printing GCC instead of GNU
endif() endif()
# Enforce minimum compiler versions that support the c++20 features we use # Enforce minimum compiler versions that support the c++20 features we use
@ -124,11 +124,6 @@ option(OPROFILING "Enable profiling" OFF)
# TODO: Add DSPSpy # TODO: Add DSPSpy
option(DSPTOOL "Build dsptool" OFF) option(DSPTOOL "Build dsptool" OFF)
# RetroAchievements developer tools require Windows hooks
if(WIN32)
option(RC_CLIENT_SUPPORTS_RAINTEGRATION "Enables RetroAchievements developer tools" ON)
endif()
# Enable SDL by default on operating systems that aren't Android. # Enable SDL by default on operating systems that aren't Android.
if(NOT ANDROID) if(NOT ANDROID)
option(ENABLE_SDL "Enables SDL as a generic controller backend" ON) option(ENABLE_SDL "Enables SDL as a generic controller backend" ON)
@ -137,8 +132,6 @@ else()
endif() endif()
if(APPLE) if(APPLE)
enable_language(OBJC)
enable_language(OBJCXX)
option(MACOS_USE_DEFAULT_SEARCH_PATH "Don't prioritize system library paths" OFF) option(MACOS_USE_DEFAULT_SEARCH_PATH "Don't prioritize system library paths" OFF)
option(SKIP_POSTPROCESS_BUNDLE "Skip postprocessing bundle for redistributability" OFF) option(SKIP_POSTPROCESS_BUNDLE "Skip postprocessing bundle for redistributability" OFF)
# Enable adhoc code signing by default (otherwise makefile builds on ARM will not work) # Enable adhoc code signing by default (otherwise makefile builds on ARM will not work)
@ -151,7 +144,6 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
option(ENABLE_VTUNE "Enable Intel VTune integration for JIT code." OFF) option(ENABLE_VTUNE "Enable Intel VTune integration for JIT code." OFF)
if(NOT ANDROID) if(NOT ANDROID)
option(ENABLE_HWDB "Enables the udev hardware database" ON)
option(ENABLE_EVDEV "Enables the evdev controller backend" ON) option(ENABLE_EVDEV "Enables the evdev controller backend" ON)
endif() endif()
endif() endif()
@ -415,7 +407,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L/usr/local/lib") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L/usr/local/lib")
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 14.0) if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 14.0)
# Workaround: the llvm libc++ and versions of clang earlier than 14 have a bug with consteval # Workaround: the llvm libc++ and versions of clang eariler than 14 have a bug with consteval
# so we define FMT_CONSTEVAL to blank to just disable consteval in fmt # so we define FMT_CONSTEVAL to blank to just disable consteval in fmt
add_definitions(-DFMT_CONSTEVAL=) add_definitions(-DFMT_CONSTEVAL=)
endif() endif()
@ -574,16 +566,6 @@ if(OPROFILING)
endif() endif()
endif() endif()
if(ENABLE_HWDB)
find_package(LIBUDEV REQUIRED)
if(LIBUDEV_FOUND)
message(STATUS "libudev found, enabling hardware database")
add_definitions(-DHAVE_LIBUDEV=1)
else()
message(FATAL_ERROR "Couldn't find libudev. Can't build hardware database.\nDisable ENABLE_HWDB if you wish to build without hardware database support")
endif()
endif()
if(ENABLE_EVDEV) if(ENABLE_EVDEV)
find_package(LIBUDEV REQUIRED) find_package(LIBUDEV REQUIRED)
find_package(LIBEVDEV REQUIRED) find_package(LIBEVDEV REQUIRED)
@ -604,7 +586,7 @@ if(UNIX)
endif() endif()
if(ENABLE_SDL) if(ENABLE_SDL)
dolphin_find_optional_system_library(SDL3 Externals/SDL 3.2.0) dolphin_find_optional_system_library(SDL2 Externals/SDL 2.30.9)
endif() endif()
if(ENABLE_ANALYTICS) if(ENABLE_ANALYTICS)
@ -691,10 +673,10 @@ dolphin_make_imported_target_if_missing(LibLZMA::LibLZMA LIBLZMA)
dolphin_find_optional_system_library_pkgconfig(ZSTD libzstd>=1.4.0 zstd::zstd Externals/zstd) dolphin_find_optional_system_library_pkgconfig(ZSTD libzstd>=1.4.0 zstd::zstd Externals/zstd)
dolphin_find_optional_system_library_pkgconfig(ZLIB zlib>=1.3.1 ZLIB::ZLIB Externals/zlib-ng) add_subdirectory(Externals/zlib-ng)
dolphin_find_optional_system_library_pkgconfig(minizip-ng dolphin_find_optional_system_library_pkgconfig(MINIZIP
"minizip-ng>=4.0.4" minizip-ng::minizip-ng Externals/minizip-ng "minizip>=4.0.4" minizip::minizip Externals/minizip-ng
) )
dolphin_find_optional_system_library(LZO Externals/LZO) dolphin_find_optional_system_library(LZO Externals/LZO)
@ -714,6 +696,11 @@ if (APPLE OR WIN32)
include_directories(Externals/ed25519) include_directories(Externals/ed25519)
endif() endif()
# Using static soundtouch from Externals
# Unable to use system soundtouch library: We require shorts, not floats.
add_subdirectory(Externals/soundtouch)
include_directories(Externals/soundtouch)
if(ENABLE_CUBEB) if(ENABLE_CUBEB)
dolphin_find_optional_system_library(CUBEB Externals/cubeb) dolphin_find_optional_system_library(CUBEB Externals/cubeb)
add_definitions(-DHAVE_CUBEB) add_definitions(-DHAVE_CUBEB)
@ -726,7 +713,7 @@ if(NOT ANDROID)
add_definitions(-D__LIBUSB__) add_definitions(-D__LIBUSB__)
endif() endif()
dolphin_find_optional_system_library(SFML Externals/SFML 3.0 COMPONENTS Network System) dolphin_find_optional_system_library(SFML Externals/SFML 2.1 COMPONENTS network system)
if(USE_UPNP) if(USE_UPNP)
dolphin_find_optional_system_library(MINIUPNPC Externals/miniupnpc 1.6) dolphin_find_optional_system_library(MINIUPNPC Externals/miniupnpc 1.6)
@ -786,8 +773,6 @@ if (USE_RETRO_ACHIEVEMENTS)
add_subdirectory(Externals/rcheevos) add_subdirectory(Externals/rcheevos)
endif() endif()
add_subdirectory(Externals/watcher)
######################################## ########################################
# Pre-build events: Define configuration variables and write SCM info header # Pre-build events: Define configuration variables and write SCM info header
# #

View File

@ -39,7 +39,7 @@ This guide is for developers who wish to contribute to the Dolphin codebase. It
Following this guide and formatting your code as detailed will likely get your pull request merged much faster than if you don't (assuming the code itself has no mistakes). Following this guide and formatting your code as detailed will likely get your pull request merged much faster than if you don't (assuming the code itself has no mistakes).
This project uses clang-format 19.1 to check for common style issues. In case of conflicts between this guide and clang-format rules, the latter should be followed instead of this guide. This project uses clang-format 13.0 to check for common style issues. In case of conflicts between this guide and clang-format rules, the latter should be followed instead of this guide.
## <a name="intro-formatting-issues"></a>Checking and fixing formatting issues ## <a name="intro-formatting-issues"></a>Checking and fixing formatting issues
@ -49,7 +49,7 @@ In most cases, clang-format can and **should** be used to automatically reformat
- To run clang-format on all staged files: - To run clang-format on all staged files:
``` ```
git diff --cached --name-only | grep -E '[.](cpp|h|mm)$' | xargs -I {} clang-format -i {} git diff --cached --name-only | egrep '[.](cpp|h|mm)$' | xargs clang-format -i
``` ```
- Formatting issues can be checked for before committing with a lint script that is included with the codebase. To enable it as a pre-commit hook (assuming you are in the repository root): - Formatting issues can be checked for before committing with a lint script that is included with the codebase. To enable it as a pre-commit hook (assuming you are in the repository root):

File diff suppressed because one or more lines are too long

View File

@ -9,9 +9,9 @@ SafeTextureCacheColorSamples = 0
[Video_Hacks] [Video_Hacks]
# Some very early NES releases use a version of the NES emulator that doesn't require EFB2Ram. # Some very early NES releases use a version of the NES emulator that doesn't require EFB2Ram.
# All US releases before February 2007 use this version (with all remaining US releases requiring EFB2Ram). # All US releases before Feburary 2007 use this version (with all remaining US releases requiring EFB2Ram).
# But in the PAL region the same games don't necessarily have the same emulator version and # But in the PAL region the same games don't necessarily have the same emulator version and
# only a few of the pre-February 2007 releases don't require EFB2Ram. # only a few of the pre-Feburary 2007 releases don't require EFB2Ram.
# #
# Because of this, Inifiles that override this setting should only be created for the explicit region # Because of this, Inifiles that override this setting should only be created for the explicit region
# that was tested and they should not be merged. # that was tested and they should not be merged.

View File

@ -1,5 +1,5 @@
# FAAE01 - Donkey Kong # FAAE01 - Donkey Kong
[Video_Hacks] [Video_Hacks]
# All US NES VC titles released before February 2007 don't need EFB2ram # All US NES VC titles released before Feburary 2007 don't need EFB2ram
EFBToTextureEnable = EFBToTextureEnable =

View File

@ -1,5 +1,5 @@
# FAGE01 - Super Mario Bros. # FAGE01 - Super Mario Bros.
[Video_Hacks] [Video_Hacks]
# All US NES VC titles released before February 2007 don't need EFB2ram # All US NES VC titles released before Feburary 2007 don't need EFB2ram
EFBToTextureEnable = EFBToTextureEnable =

View File

@ -1,11 +0,0 @@
# G97E01, G97P01, G97U01 - Interactive Multi Game Demo Disc v3
[Core]
# Values set here will override the main Dolphin settings.
CPUThread = False
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.

View File

@ -1,13 +0,0 @@
# GCAE5H - Cubix Robots for Everyone: Showdown
[Core]
# Values set here will override the main Dolphin settings.
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.
[Video_Hacks]
ImmediateXFBEnable = False

View File

@ -1,11 +1,14 @@
# GRAE5Z, GRAP75 - Rally Championship # GFBE5D - FireBlade
[Core] [Core]
# Values set here will override the main Dolphin settings. # Values set here will override the main Dolphin settings.
CPUThread = False
[OnFrame] [OnFrame]
# Add memory patches to be applied every frame here. # Add memory patches to be applied every frame here.
[ActionReplay] [ActionReplay]
# Add action replay cheats here. # Add action replay cheats here.
[Video_Hacks]
EFBToTextureEnable = True

View File

@ -1,17 +0,0 @@
# GFWE78 - The Fairly OddParents: Breakin' Da Rules
[Core]
# Values set here will override the main Dolphin settings.
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.
[Video_Settings]
# Needed for some FMVs.
SafeTextureCacheColorSamples = 512
[Video_Hacks]
ImmediateXFBEnable = False

View File

@ -1,5 +0,0 @@
# GIHP78 - Scooby-Doo! Night of 100 Frights
[Video_Settings]
# Fixes video stuttering on FMVs encoded at 25 FPS
SafeTextureCacheColorSamples = 512

View File

@ -1,4 +1,4 @@
# GJNP78, GJNE78, GJND78 - Jimmy Neutron Boy Genius # GJNE78 - Jimmy Neutron Boy Genius
[Core] [Core]
# Values set here will override the main Dolphin settings. # Values set here will override the main Dolphin settings.
@ -12,7 +12,4 @@
[Video_Settings] [Video_Settings]
[Video_Hacks] [Video_Hacks]
# Fixes missing splash logo at boot, title screen, and loading screens.
EFBAccessEnable = True
# Fixes FMVs not showing.
ImmediateXFBEnable = False ImmediateXFBEnable = False

View File

@ -1,14 +0,0 @@
# GJYE78, GJYP78 - The Adventures of Jimmy Neutron Boy Genius: Attack of the Twonkies
[Core]
# Values set here will override the main Dolphin settings.
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.
[Video_Settings]
# Needed for some FMVs.
SafeTextureCacheColorSamples = 512

View File

@ -11,9 +11,3 @@
[Video_Hacks] [Video_Hacks]
EFBToTextureEnable = False EFBToTextureEnable = False
DeferEFBCopies = False
[Gecko]
$Widescreen 16:9 (Region Free)
04007B7C 38600001
*Renders the game in Widescreen 16:9

View File

@ -1,9 +1,8 @@
# GM2E8P, GM2J8P, GM2P8P - Super Monkey Ball 2 # GM2E8P, GM2J8P, GM2P8P - SUPER MONKEY BALL 2
[Core] [Core]
# Values set here will override the main Dolphin settings. # Values set here will override the main Dolphin settings.
FPRF = True FPRF = True
CPUThread = False
[OnFrame] [OnFrame]
# Add memory patches to be applied every frame here. # Add memory patches to be applied every frame here.

View File

@ -3,7 +3,6 @@
[Core] [Core]
# Values set here will override the main Dolphin settings. # Values set here will override the main Dolphin settings.
FPRF = True FPRF = True
CPUThread = False
[OnFrame] [OnFrame]
# Add memory patches to be applied every frame here. # Add memory patches to be applied every frame here.

View File

@ -1,4 +1,4 @@
# GNOE78, GNOX78 - Nicktoons Unite! # GNOE78 - Nicktoons Unite!
[Core] [Core]
# Values set here will override the main Dolphin settings. # Values set here will override the main Dolphin settings.

View File

@ -968,7 +968,7 @@ $Minigame: Memory Lane - No Trail [Airsola]
204d6a0f 00000000 204d6a0f 00000000
044d699f 0000003f 044d699f 0000003f
e2000002 80008000 e2000002 80008000
*Shy Guy will no longer leave a trail during the demo in the minigame Memory Lane. *Shy Guy will no longer leave a trail durning the demo in the minigame Memory Lane.
$Minigame: Mole It All Moles are Worth 3 Points [gamemasterplc] $Minigame: Mole It All Moles are Worth 3 Points [gamemasterplc]
204D57F0 A8A10008 204D57F0 A8A10008

View File

@ -1164,7 +1164,7 @@ $Mechanics - Use Multiple Orbs in the Same Turn [Ralf]
041E3764 3860FFFF 041E3764 3860FFFF
*Does not work with CPUs *Does not work with CPUs
$Mechanics - Vacuum Orb Always Steals 5 Coins $Mechanics - Vaccum Orb Always Steals 5 Coins
041c8a34 38600005 041c8a34 38600005
$Minigame: Balloonatic - 25 Second Timer [Airsola] $Minigame: Balloonatic - 25 Second Timer [Airsola]

View File

@ -1,11 +0,0 @@
# GPLE9G, GPLP9G, GPLD9G, GPLF9G - Piglet's Big Game
[Core]
# Values set here will override the main Dolphin settings.
CPUThread = False
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.

View File

@ -12,7 +12,4 @@
[Video_Settings] [Video_Settings]
[Video_Hacks] [Video_Hacks]
# Fixes FMVs tearing
EarlyXFBOutput = False
# Fixes FMVs not showing
ImmediateXFBEnable = False ImmediateXFBEnable = False

View File

@ -10,6 +10,5 @@ MemoryCardSize = 2
[ActionReplay] [ActionReplay]
# Add action replay cheats here. # Add action replay cheats here.
[Video_Settings]
# Needed for some FMVs.
SafeTextureCacheColorSamples = 512

View File

@ -1,12 +0,0 @@
# GQNE5D - Mortal Kombat: Deception
[Core]
# Values set here will override the main Dolphin settings.
# Dual Core mode causes FIFO error
CPUThread = False
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.

View File

@ -1,14 +0,0 @@
# GQQD78, GQQE78, GQQF78, GQQH78, GQQP78 - SpongeBob SquarePants: Lights, Camera, Pants!
[Core]
# Values set here will override the main Dolphin settings.
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.
[Video_Settings]
# Needed for some FMVs.
SafeTextureCacheColorSamples = 512

File diff suppressed because it is too large Load Diff

View File

@ -12,7 +12,6 @@
[Video] [Video]
[Video_Settings] [Video_Settings]
SuggestedAspectRatio = 2
[Video_Hacks] [Video_Hacks]
ImmediateXFBEnable = False ImmediateXFBEnable = False

View File

@ -1,14 +0,0 @@
# GU6E78 - Nicktoons: Battle for Volcano Island
[Core]
# Values set here will override the main Dolphin settings.
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.
[Video_Hacks]
# Needed for some FMVs.
ImmediateXFBEnable = False

View File

@ -2,7 +2,6 @@
[Core] [Core]
# Values set here will override the main Dolphin settings. # Values set here will override the main Dolphin settings.
CPUThread = False
[OnFrame] [OnFrame]
# Add memory patches to be applied every frame here. # Add memory patches to be applied every frame here.

View File

@ -1,13 +1,12 @@
# GVSP8P, GVSE8P, GVSJ8P - Virtua Striker 2002 (GC) # GVSE8P, GVSP8P - Virtua Striker 3 ver. 2002
# GVSJ8P - Virtua Striker 2002 (Triforce), Virtua Striker 4, Virtua Striker 4 ver. 2006
[Core] [Core]
# Values set here will override the main Dolphin settings. # Values set here will override the main Dolphin settings.
FPRF = True FPRF = True
CPUThread = False
[OnFrame] [OnFrame]
# Add memory patches to be applied every frame here. # Add memory patches to be applied every frame here.
[ActionReplay] [ActionReplay]
# Add action replay cheats here. # Add action replay cheats here.

View File

@ -0,0 +1,18 @@
# GVS46E, GVS46J - Virtua Striker 4 ver. 2006
# Because Triforce games have weird IDs, properties are inherited from GVS.ini (Virtua Striker 3 ver. 2002)!
[Core]
# Values set here will override the main Dolphin settings.
FPRF = True
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.
[Video]
# Add memory patches to be applied every frame here.
[Video_Settings]

View File

@ -0,0 +1,18 @@
# GVS46E, GVS46J - Virtua Striker 4 ver. 2006
# Because Triforce games have weird IDs, properties are inherited from GVS.ini (Virtua Striker 3 ver. 2002)!
[Core]
# Values set here will override the main Dolphin settings.
FPRF = True
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.
[Video]
# Add memory patches to be applied every frame here.
[Video_Settings]

View File

@ -1,11 +0,0 @@
# GWHP41, GWHE41 - Winnie the Pooh's Rumbly Tumbly Adventure
[Core]
# Values set here will override the main Dolphin settings.
CPUThread = False
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.

View File

@ -9,10 +9,6 @@
[ActionReplay] [ActionReplay]
# Add action replay cheats here. # Add action replay cheats here.
[Video_Settings]
# Needed for some FMVs.
SafeTextureCacheColorSamples = 0
[Video_Hacks] [Video_Hacks]
EFBToTextureEnable = False EFBToTextureEnable = False
DeferEFBCopies = False DeferEFBCopies = False

View File

@ -362,7 +362,7 @@ $Can Walk Ontop of Deep Snow (Twilight Spectre)
$Run Normal Speed With Iron Boots On (brkirch) $Run Normal Speed With Iron Boots On (brkirch)
040BB53C 38600000 040BB53C 38600000
040B2D18 4800004C 040B2D18 4800004C
$Always Perform Dive When Jumping (brkirch) $Alywas Preform Dive When Jumping (brkirch)
040B6618 60000000 040B6618 60000000
$Can Always Flourish Sword (brkirch) $Can Always Flourish Sword (brkirch)
040B9B68 60000000 040B9B68 60000000
@ -514,7 +514,7 @@ $Mute BG Music (Twilight Spectre)
043DC3D0 00000000 043DC3D0 00000000
$BG music muted v2 (Twilight Spectre) $BG music muted v2 (Twilight Spectre)
044507F4 00000000 044507F4 00000000
$Environment muted (Twilight Spectre) $Enviornment muted (Twilight Spectre)
04450814 00000000 04450814 00000000
$Link makes no noise (Twilight Spectre) $Link makes no noise (Twilight Spectre)
044507FC 00000000 044507FC 00000000

View File

@ -7,7 +7,7 @@
# Add action replay cheats here. # Add action replay cheats here.
$==========The Legend of Zelda========== $==========The Legend of Zelda==========
001D73B0 000000FB 001D73B0 000000FB
$Max/Infinite Health $Max/Infinte Health
001D73AF 000000FF 001D73AF 000000FF
001D73B0 000000FB 001D73B0 000000FB
$Max/Infinite Rupees $Max/Infinite Rupees

View File

@ -1,5 +0,0 @@
# R2DJEP, R2DEEB, R2DPJW - Dokapon Kingdom
[Video_Hacks]
# Prevents flickering throughout the game.
ImmediateXFBEnable = False

View File

@ -9,13 +9,8 @@
[ActionReplay] [ActionReplay]
# Add action replay cheats here. # Add action replay cheats here.
[Video_Enhancements]
# Fixes FMVs
ForceTextureFiltering = False
[Video_Settings] [Video_Settings]
# Needed for some FMVs. SafeTextureCacheColorSamples = 512
SafeTextureCacheColorSamples = 0
[Video_Hacks] [Video_Hacks]
EFBToTextureEnable = False EFBToTextureEnable = False

View File

@ -1,8 +0,0 @@
# R6APPU - Baby and Me
[OnFrame]
# The game busyloops for frame pacing but not in a way Dolphin can
# currently optimize, so lots of CPU time is wasted.
# This patch adds a call to VIWaitForRetrace to avoid this.
$Performance hack
0x80016E28:dword:0x4807BD89

View File

@ -10,13 +10,8 @@
# Add action replay cheats here. # Add action replay cheats here.
[Video_Enhancements] [Video_Enhancements]
# Fixes FMVs
ForceTextureFiltering = False ForceTextureFiltering = False
[Video_Settings]
# Needed for some FMVs.
SafeTextureCacheColorSamples = 0
[Video_Hacks] [Video_Hacks]
EFBToTextureEnable = False EFBToTextureEnable = False
DeferEFBCopies = False DeferEFBCopies = False

View File

@ -10,7 +10,5 @@
# Add action replay cheats here. # Add action replay cheats here.
[Video_Hacks] [Video_Hacks]
# Needed for some FMVs.
ImmediateXFBEnable = False
EFBToTextureEnable = False EFBToTextureEnable = False
DeferEFBCopies = False DeferEFBCopies = False

View File

@ -1,17 +1,18 @@
# GFOE78, GFOP78 - The Fairly OddParents: Shadow Showdown # RELJAB - SegaBoot
[Core] [Core]
# Values set here will override the main Dolphin settings. # Values set here will override the main Dolphin settings.
[OnFrame] [OnFrame]
# Add memory patches to be applied every frame here. # Add memory patches to be applied every frame here.
$DI Seed Blanker
0x80000000:dword:0x00000000
0x80000004:dword:0x00000000
0x80000008:dword:0x00000000
[Patches_RetroAchievements_Verified]
$DI Seed Blanker
[ActionReplay] [ActionReplay]
# Add action replay cheats here. # Add action replay cheats here.
[Video_Settings]
# Needed for some FMVs.
SafeTextureCacheColorSamples = 512
[Video_Hacks]
ImmediateXFBEnable = False

View File

@ -2,8 +2,6 @@
[Core] [Core]
# Values set here will override the main Dolphin settings. # Values set here will override the main Dolphin settings.
# The JIT cache causes problems with emulated icache invalidation in this game resulting in areas failing to load
DisableICache = True
[OnFrame] [OnFrame]
# Add memory patches to be applied every frame here. # Add memory patches to be applied every frame here.

View File

@ -1,17 +0,0 @@
# RKMP5D, RKME5D - Mortal Kombat: Armageddon
[Core]
# Values set here will override the main Dolphin settings.
# Dual Core mode causes FIFO error
CPUThread = False
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.
[Video_Hacks]
# Fixes shadows at higher resolution.
# Option has no effect at 1x IR, so no reason not to enable.
VertexRounding = True

View File

@ -1,4 +0,0 @@
# RKPJ52, RKPE52, RKPY52, RKPK52, RKPV52, RKPP52, RKPX52 - Kung Fu Panda
[Core]
CPUThread = False

View File

@ -1,12 +0,0 @@
# RL6E69 - NERF N-Strike Elite
[Core]
# Values set here will override the main Dolphin settings.
# Dual Core mode causes FIFO error
CPUThread = False
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.

View File

@ -1,5 +1,5 @@
# RLIE64, RLIP64 - Lego Indiana Jones: The Original Adventures # RLIE64, RLIP64 - Lego Indiana Jones: The Original Adventures
[Video_Hacks] [Video_Hacks]
# Fixes the alpha value of glyph puzzles; see https://bugs.dolphin-emu.org/issues/12987 # Fixes the alpha value of glpyh puzzles; see https://bugs.dolphin-emu.org/issues/12987
MissingColorValue = 0xFFFFFF82 MissingColorValue = 0xFFFFFF82

View File

@ -542,7 +542,7 @@ de000000 80008180
30012d2c 2c000000 30012d2c 2c000000
14012d54 38030000 14012d54 38030000
e0000000 80008000 e0000000 80008000
*Carry Infinite Boosts instead of 3 in the minigame Cosmic Slalom *Carry Infinite Boosts instad of 3 in the minigame Cosmic Slalom
$Minigame - Lob to Rob: All Targets Worth 30 Points [gamemasterplc] $Minigame - Lob to Rob: All Targets Worth 30 Points [gamemasterplc]
48000000 800030c8 48000000 800030c8

View File

@ -11,4 +11,3 @@
[Video_Hacks] [Video_Hacks]
ImmediateXFBEnable = False ImmediateXFBEnable = False
EFBAccessEnable = True

View File

@ -1,18 +0,0 @@
# RN3J78, RN3E78, RN3P78, RN3X78 - Nicktoons: Attack of the Toybots
[Core]
# Values set here will override the main Dolphin settings.
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.
[Video_Enhancements]
# Fixes FMVs
ForceTextureFiltering = False
[Video_Settings]
# Needed for some FMVs.
SafeTextureCacheColorSamples = 0

View File

@ -1,12 +0,0 @@
# RNKE69, RNKP69 - NERF N-Strike
[Core]
# Values set here will override the main Dolphin settings.
# Dual Core mode causes FIFO error
CPUThread = False
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.

View File

@ -1,16 +1,4 @@
# RQ4E78, RQ4J78, RQ4P78 - SpongeBob SquarePants: Creature from the Krusty Krab [Wii] # RQ4E78, RQ4J78, RQ4P78 - SpongeBob SquarePants: Creature from the Krusty Krab
[Core]
# Values set here will override the main Dolphin settings.
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.
[Video_Settings] [Video_Settings]
SuggestedAspectRatio = 2 SuggestedAspectRatio = 2
[Video_Hacks]
ImmediateXFBEnable = False

View File

@ -13,7 +13,4 @@
SuggestedAspectRatio = 2 SuggestedAspectRatio = 2
[Video_Hacks] [Video_Hacks]
# Avoid purple screen.
XFBToTextureEnable = False
# Make Wiimote pointer visible.
ImmediateXFBEnable = False ImmediateXFBEnable = False

View File

@ -1,15 +1,4 @@
# RSAE78, RSAP78 - SpongeBob's Atlantis SquarePantis # RSAE78, RSAP78 - SpongeBob's Atlantis SquarePantis
[Core]
# Values set here will override the main Dolphin settings.
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.
[Video_Settings] [Video_Settings]
SuggestedAspectRatio = 2 SuggestedAspectRatio = 2
# Needed for some FMVs.
SafeTextureCacheColorSamples = 512

View File

@ -1,18 +0,0 @@
# RUSX78, RUSK78, RUSE78, RUSP78, RUSY78 - SpongeBob SquarePants featuring Nicktoons: Globs of Doom
[Core]
# Values set here will override the main Dolphin settings.
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.
[Video_Enhancements]
# Fixes FMVs
ForceTextureFiltering = False
[Video_Settings]
# Needed for some FMVs.
SafeTextureCacheColorSamples = 0

View File

@ -1,14 +1,4 @@
# RVBERS, RVBPRS - Alvin and the Chipmunks # RVBERS, RVBPRS - Alvin and the Chipmunks
[Core]
# Values set here will override the main Dolphin settings.
# Dual Core mode causes FIFO error
CPUThread = False
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.
[Video_Settings] [Video_Settings]
SuggestedAspectRatio = 2 SuggestedAspectRatio = 2

View File

@ -1,5 +0,0 @@
# S3CENR - Triple Crown Championship Snowboarding
[Video_Hacks]
# Fixes shadows.
EFBToTextureEnable = False

View File

@ -1,5 +0,0 @@
# S7BE69, S7BP69 - Trivial Pursuit: Bet You Know It
[Video_Hacks]
# Avoid purple flickering.
XFBToTextureEnable = False

View File

@ -1,8 +0,0 @@
# SBLE5G - A Boy and His Blob
[OnFrame]
$Fix selecting right-most bean
0x800BD308:dword:0x4181000C
[OnFrame_Enabled]
$Fix selecting right-most bean

View File

@ -1,8 +0,0 @@
# SBLP5G - A Boy and His Blob
[OnFrame]
$Fix selecting right-most bean
0x800BE268:dword:0x4181000C
[OnFrame_Enabled]
$Fix selecting right-most bean

View File

@ -1,9 +0,0 @@
# SCYE4Q - Cars 2
[OnFrame]
#This speedhack modifies the way the game manages memory to run faster in Dolphin.
$BAT Speedhack
0x8019CB1C:dword:0x48000180
[OnFrame_Enabled]
$BAT Speedhack

View File

@ -1,9 +0,0 @@
# SCYP4Q - Cars 2
[OnFrame]
#This speedhack modifies the way the game manages memory to run faster in Dolphin.
$BAT Speedhack
0x8019CB1C:dword:0x48000180
[OnFrame_Enabled]
$BAT Speedhack

View File

@ -1,9 +0,0 @@
# SCYR4Q - Cars 2
[OnFrame]
#This speedhack modifies the way the game manages memory to run faster in Dolphin.
$BAT Speedhack
0x8019B4EC:dword:0x48000180
[OnFrame_Enabled]
$BAT Speedhack

View File

@ -1,9 +0,0 @@
# SCYX4Q - Cars 2
[OnFrame]
#This speedhack modifies the way the game manages memory to run faster in Dolphin.
$BAT Speedhack
0x8019CBBC:dword:0x48000180
[OnFrame_Enabled]
$BAT Speedhack

View File

@ -1,9 +0,0 @@
# SCYY4Q - Cars 2
[OnFrame]
#This speedhack modifies the way the game manages memory to run faster in Dolphin.
$BAT Speedhack
0x8019B55C:dword:0x48000180
[OnFrame_Enabled]
$BAT Speedhack

View File

@ -1,9 +0,0 @@
# SCYZ4Q - Cars 2
[OnFrame]
#This speedhack modifies the way the game manages memory to run faster in Dolphin.
$BAT Speedhack
0x8019B55C:dword:0x48000180
[OnFrame_Enabled]
$BAT Speedhack

View File

@ -1,35 +0,0 @@
# SDAE5G - The Daring Game for Girls
[OnFrame]
# The game registers an AX callback function that uses a pointer which is only
# initialized afterwards. The race condition depends on AID interrupt timing.
# This patch moves the pointer initialization from 0x801C9E5C to 0x801C9DFC,
# shifting the instructions in-between down.
$Fix startup crash
0x801C9DFC:dword:0x93EDBAB0
0x801C9E00:dword:0x48030721
0x801C9E04:dword:0x48032B8D
0x801C9E08:dword:0x48063A89
0x801C9E0C:dword:0x5460063F
0x801C9E10:dword:0x41820018
0x801C9E14:dword:0x2C000001
0x801C9E18:dword:0x41820024
0x801C9E1C:dword:0x2C000002
0x801C9E20:dword:0x41820030
0x801C9E24:dword:0x4800003C
0x801C9E28:dword:0x38600000
0x801C9E2C:dword:0x4802FF85
0x801C9E30:dword:0x38600000
0x801C9E34:dword:0x48032C9D
0x801C9E38:dword:0x48000028
0x801C9E3C:dword:0x38600000
0x801C9E40:dword:0x4802FF71
0x801C9E44:dword:0x38600001
0x801C9E48:dword:0x48032C89
0x801C9E4C:dword:0x48000014
0x801C9E50:dword:0x38600001
0x801C9E54:dword:0x4802FF5D
0x801C9E58:dword:0x38600002
0x801C9E5C:dword:0x48032C75
[OnFrame_Enabled]
$Fix startup crash

View File

@ -10,13 +10,8 @@
# Add action replay cheats here. # Add action replay cheats here.
[Video_Enhancements] [Video_Enhancements]
# Fixes FMVs
ForceTextureFiltering = False ForceTextureFiltering = False
[Video_Settings]
# Needed for some FMVs.
SafeTextureCacheColorSamples = 0
[Video_Hacks] [Video_Hacks]
EFBToTextureEnable = False EFBToTextureEnable = False
DeferEFBCopies = False DeferEFBCopies = False

View File

@ -1,5 +0,0 @@
# SH8E52, SH8P52 - Cabela's Adventure Camp
[Video_Hacks]
# This keeps the in-game bloom effect from becoming brighter and brighter.
EFBToTextureEnable = False

View File

@ -1,4 +0,0 @@
# SK4P52, SK4E52, SK4I52 - Shrek Forever After
[Core]
CPUThread = False

View File

@ -2,6 +2,9 @@
[OnFrame] [OnFrame]
# Add memory patches to be applied every frame here. # Add memory patches to be applied every frame here.
$Speed hack
0x801D5B10:dword:0x60000000
0x801D5B14:dword:0x60000000
[ActionReplay] [ActionReplay]
# Add action replay cheats here. # Add action replay cheats here.

View File

@ -1,12 +0,0 @@
# SN2E69, SN2P69 - NERF N-Strike Double Blast Bundle
[Core]
# Values set here will override the main Dolphin settings.
# Dual Core mode causes FIFO error
CPUThread = False
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.

View File

@ -1,4 +1,4 @@
# SQIE4Q, SQIP4Q, SQIY4Q - Disney Infinity # SQIE4Q, SQIP4Q - Disney Infinity
[Core] [Core]
# Values set here will override the main Dolphin settings. # Values set here will override the main Dolphin settings.

View File

@ -1,9 +0,0 @@
# SQIE4Q - Disney Infinity
[OnFrame]
#This speedhack modifies the way the game manages memory to run faster in Dolphin.
$BAT Speedhack
0x8008E60C:dword:0x48000180
[OnFrame_Enabled]
$BAT Speedhack

View File

@ -1,9 +0,0 @@
# SQIP4Q - Disney Infinity
[OnFrame]
#This speedhack modifies the way the game manages memory to run faster in Dolphin.
$BAT Speedhack
0x8008E60C:dword:0x48000180
[OnFrame_Enabled]
$BAT Speedhack

View File

@ -1,9 +0,0 @@
# SQIY4Q - Disney Infinity
[OnFrame]
#This speedhack modifies the way the game manages memory to run faster in Dolphin.
$BAT Speedhack
0x8008E60C:dword:0x48000180
[OnFrame_Enabled]
$BAT Speedhack

View File

@ -2,7 +2,6 @@
[Core] [Core]
# Values set here will override the main Dolphin settings. # Values set here will override the main Dolphin settings.
CPUThread = False
[OnFrame] [OnFrame]
# Add memory patches to be applied every frame here. # Add memory patches to be applied every frame here.

View File

@ -1,9 +0,0 @@
# STSE4Q - Toy Story 3
[OnFrame]
#This speedhack modifies the way the game manages memory to run faster in Dolphin.
$BAT Speedhack
0x801FA2E4:dword:0x48000180
[OnFrame_Enabled]
$BAT Speedhack

View File

@ -1,9 +0,0 @@
# STSP4Q - Toy Story 3
[OnFrame]
#This speedhack modifies the way the game manages memory to run faster in Dolphin.
$BAT Speedhack
0x801FA2E4:dword:0x48000180
[OnFrame_Enabled]
$BAT Speedhack

View File

@ -1,9 +0,0 @@
# STSP4Q - Toy Story 3
[OnFrame]
#This speedhack modifies the way the game manages memory to run faster in Dolphin.
$BAT Speedhack
0x801FA354:dword:0x48000180
[OnFrame_Enabled]
$BAT Speedhack

View File

@ -1,9 +0,0 @@
# STSX4Q - Toy Story 3
[OnFrame]
#This speedhack modifies the way the game manages memory to run faster in Dolphin.
$BAT Speedhack
0x801FA354:dword:0x48000180
[OnFrame_Enabled]
$BAT Speedhack

View File

@ -1,9 +0,0 @@
# STSY4Q - Toy Story 3
[OnFrame]
#This speedhack modifies the way the game manages memory to run faster in Dolphin.
$BAT Speedhack
0x801FA2E4:dword:0x48000180
[OnFrame_Enabled]
$BAT Speedhack

View File

@ -1,9 +0,0 @@
# STSY4Q - Toy Story 3
[OnFrame]
#This speedhack modifies the way the game manages memory to run faster in Dolphin.
$BAT Speedhack
0x801FA354:dword:0x48000180
[OnFrame_Enabled]
$BAT Speedhack

View File

@ -1,9 +0,0 @@
# STSZ4Q - Toy Story 3 Toy Box Special Edition
[OnFrame]
#This speedhack modifies the way the game manages memory to run faster in Dolphin.
$BAT Speedhack
0x801FA2E4:dword:0x48000180
[OnFrame_Enabled]
$BAT Speedhack

View File

@ -1,5 +0,0 @@
# SUVE52, SUVP52 - Cabela's Dangerous Hunts 2013
[Video_Hacks]
# This keeps the in-game bloom effect from becoming brighter and brighter.
EFBToTextureEnable = False

View File

@ -1,7 +0,0 @@
# WMOEE9 - Moki Moki
[OnFrame_Enabled]
$Fix startup hang
[OnFrame]
$Fix startup hang
0x8001729C:dword:0x4182FFF8

View File

@ -1,7 +0,0 @@
# WMOJE9 - Anata ga Mawashite Sukuu Puzzle - Mochi Mochi Q
[OnFrame_Enabled]
$Fix startup hang
[OnFrame]
$Fix startup hang
0x80018894:dword:0x4182FFF8

View File

@ -1,7 +0,0 @@
# WMOPE9 - Moki Moki
[OnFrame_Enabled]
$Fix startup hang
[OnFrame]
$Fix startup hang
0x8001729C:dword:0x4182FFF8

View File

@ -165,7 +165,7 @@
{ {
"type": "draw_started", "type": "draw_started",
"prettyname": "Button Prompt Y", "prettyname": "Buttom Prompt Y",
"texture_filename": "tex1_32x32_15f350b2b7f46481_66860824280a89bf_8" "texture_filename": "tex1_32x32_15f350b2b7f46481_66860824280a89bf_8"
}, },
{ {
@ -180,7 +180,7 @@
}, },
{ {
"type": "draw_started", "type": "draw_started",
"prettyname": "Button Prompt B", "prettyname": "Buttom Prompt B",
"texture_filename": "tex1_32x32_ce62786fc1170192_70b585e07941e91c_8" "texture_filename": "tex1_32x32_ce62786fc1170192_70b585e07941e91c_8"
}, },
{ {
@ -195,7 +195,7 @@
}, },
{ {
"type": "draw_started", "type": "draw_started",
"prettyname": "Button Prompt X", "prettyname": "Buttom Prompt X",
"texture_filename": "tex1_32x32_b52817e68be0e2d7_d1b283ce04ce1c7c_8" "texture_filename": "tex1_32x32_b52817e68be0e2d7_d1b283ce04ce1c7c_8"
}, },
{ {
@ -205,7 +205,7 @@
}, },
{ {
"type": "draw_started", "type": "draw_started",
"prettyname": "Button Prompt A", "prettyname": "Buttom Prompt A",
"texture_filename": "tex1_32x32_630cfa888a9d005a_d95570935377e345_8" "texture_filename": "tex1_32x32_630cfa888a9d005a_d95570935377e345_8"
}, },
{ {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

View File

@ -106,14 +106,14 @@ void main()
// scaling while also being able to use the luminance channel. // scaling while also being able to use the luminance channel.
float4 ictcp_color = LinearRGBToICtCP(color); float4 ictcp_color = LinearRGBToICtCP(color);
// Scale the color in perceptual space depending on the perceived luminance. // Scale the color in perceptual space depending on the percieved luminance.
// //
// At low luminances, ~0.0, pow(AMPLIFICATION, ~0.0) ~= 1.0, so the // At low luminances, ~0.0, pow(AMPLIFICATION, ~0.0) ~= 1.0, so the
// color will appear to be unchanged. This is important as we don't want to // color will appear to be unchanged. This is important as we don't want to
// over expose dark colors which would not have otherwise been seen. // over expose dark colors which would not have otherwise been seen.
// //
// At high luminances, ~1.0, pow(AMPLIFICATION, ~1.0) ~= AMPLIFICATION, // At high luminances, ~1.0, pow(AMPLIFICATION, ~1.0) ~= AMPLIFICATION,
// which is equivalent to scaling the color by AMPLIFICATION. This is // which is equivilant to scaling the color by AMPLIFICATION. This is
// important as we want to get the most out of the display, and we want to // important as we want to get the most out of the display, and we want to
// get bright colors to hit their target brightness. // get bright colors to hit their target brightness.
// //

View File

@ -391,7 +391,7 @@ bool supportsSIMD(uint simd_width)
#endif #endif
} }
// "Error: The AsciiArt shader requires the missing GPU extension KHR_shader_subgroup." // "Error: The AsciiArt shader requires the missing GPU extention KHR_shader_subgroup."
const uint missing_subgroup_warning_len = 82; const uint missing_subgroup_warning_len = 82;
const uint missing_subgroup_warning[missing_subgroup_warning_len] = { const uint missing_subgroup_warning[missing_subgroup_warning_len] = {
37, 82, 82, 79, 82, 26, 95, 52, 72, 69, 95, 33, 83, 67, 73, 73, 33, 82, 84, 95, 83, 37, 82, 82, 79, 82, 26, 95, 52, 72, 69, 95, 33, 83, 67, 73, 73, 33, 82, 84, 95, 83,

View File

@ -38,22 +38,6 @@ float3 LinearTosRGBGamma(float3 color)
return color; return color;
} }
float3 Rec709_Luminance = float3(0.2126, 0.7152, 0.0722);
float Luminance(float3 color, bool native_color_space)
{
if (native_color_space && OptionEnabled(correct_color_space))
{
if (game_color_space == 0)
color *= from_NTSCM;
else if (game_color_space == 1)
color *= from_NTSCJ;
else if (game_color_space == 2)
color *= from_PAL;
}
return dot(color, Rec709_Luminance);
}
/***** COLOR SAMPLING *****/ /***** COLOR SAMPLING *****/
// Non filtered gamma corrected sample (nearest neighbor) // Non filtered gamma corrected sample (nearest neighbor)
@ -105,23 +89,7 @@ float4 BilinearSample(float3 uvw, float gamma)
float4 c22 = QuickSampleByPixel(int_pixel + float2(1.5, 1.5), uvw.z, gamma); float4 c22 = QuickSampleByPixel(int_pixel + float2(1.5, 1.5), uvw.z, gamma);
// Blend the 4 samples by their weight // Blend the 4 samples by their weight
float4 avg_c = lerp(lerp(c11, c21, frac_pixel.x), lerp(c12, c22, frac_pixel.x), frac_pixel.y); return lerp(lerp(c11, c21, frac_pixel.x), lerp(c12, c22, frac_pixel.x), frac_pixel.y);
// Calculate the average of the gamma space luminance, as that can be used to
// properly determine the perceptual brightness the color should have.
float l11 = pow(Luminance(c11.rgb, true), 1.0 / gamma);
float l21 = pow(Luminance(c21.rgb, true), 1.0 / gamma);
float l12 = pow(Luminance(c12.rgb, true), 1.0 / gamma);
float l22 = pow(Luminance(c22.rgb, true), 1.0 / gamma);
float target_avg_c_lum = lerp(lerp(l11, l21, frac_pixel.x), lerp(l12, l22, frac_pixel.x), frac_pixel.y);
float avg_c_lum = Luminance(avg_c.rgb, true);
if (avg_c_lum != 0.0)
{
avg_c.rgb *= pow(target_avg_c_lum, gamma) / avg_c_lum;
}
return avg_c;
} }
/***** Bicubic Interpolation *****/ /***** Bicubic Interpolation *****/
@ -205,7 +173,7 @@ float4 SharpBilinearSample(float3 uvw, float gamma)
float2 texel = uvw.xy * source_size; float2 texel = uvw.xy * source_size;
float2 texel_floored = floor(texel); float2 texel_floored = floor(texel);
float2 s = fract(texel); float2 s = fract(texel);
float scale = max(floor(max(target_size.x * inverted_source_size.x, target_size.y * inverted_source_size.y)), 1.0); float scale = max(floor(max(target_size.x * inverted_source_size.x, target_size.y * inverted_source_size.y)), 1.f);
float region_range = 0.5 - (0.5 / scale); float region_range = 0.5 - (0.5 / scale);
// Figure out where in the texel to sample to get correct pre-scaled bilinear. // Figure out where in the texel to sample to get correct pre-scaled bilinear.
@ -260,28 +228,15 @@ float4 AreaSampling(float3 uvw, float gamma)
// Initialize the color accumulator. // Initialize the color accumulator.
float4 avg_color = float4(0.0, 0.0, 0.0, 0.0); float4 avg_color = float4(0.0, 0.0, 0.0, 0.0);
float avg_luminance = 0.0;
float4 temp_color;
float luminance_gamma = gamma; // For now, default to the user selected gamma (alternatively we could fix it to anything between 2.2 and 3.0)
float luminance_inv_gamma = 1.0 / luminance_gamma;
// Prevents rounding errors due to the coordinates flooring above // Prevents rounding errors due to the coordinates flooring above
const float2 offset = float2(0.5, 0.5); const float2 offset = float2(0.5, 0.5);
// Accumulate corner pixels. // Accumulate corner pixels.
temp_color = QuickSampleByPixel(float2(f_beg.x, f_beg.y) + offset, uvw.z, gamma); avg_color += area_nw * QuickSampleByPixel(float2(f_beg.x, f_beg.y) + offset, uvw.z, gamma);
avg_color += area_nw * temp_color; avg_color += area_ne * QuickSampleByPixel(float2(f_end.x, f_beg.y) + offset, uvw.z, gamma);
avg_luminance += area_nw * pow(Luminance(temp_color.rgb, true), luminance_inv_gamma); avg_color += area_sw * QuickSampleByPixel(float2(f_beg.x, f_end.y) + offset, uvw.z, gamma);
temp_color = QuickSampleByPixel(float2(f_end.x, f_beg.y) + offset, uvw.z, gamma); avg_color += area_se * QuickSampleByPixel(float2(f_end.x, f_end.y) + offset, uvw.z, gamma);
avg_color += area_ne * temp_color;
avg_luminance += area_ne * pow(Luminance(temp_color.rgb, true), luminance_inv_gamma);
temp_color = QuickSampleByPixel(float2(f_beg.x, f_end.y) + offset, uvw.z, gamma);
avg_color += area_sw * temp_color;
avg_luminance += area_sw * pow(Luminance(temp_color.rgb, true), luminance_inv_gamma);
temp_color = QuickSampleByPixel(float2(f_end.x, f_end.y) + offset, uvw.z, gamma);
avg_color += area_se * temp_color;
avg_luminance += area_se * pow(Luminance(temp_color.rgb, true), luminance_inv_gamma);
// Determine the size of the pixel box. // Determine the size of the pixel box.
int x_range = int(f_end.x - f_beg.x - 0.5); int x_range = int(f_end.x - f_beg.x - 0.5);
@ -303,12 +258,8 @@ float4 AreaSampling(float3 uvw, float gamma)
if (ix < x_range) if (ix < x_range)
{ {
float x = f_beg.x + 1.0 + float(ix); float x = f_beg.x + 1.0 + float(ix);
temp_color = QuickSampleByPixel(float2(x, f_beg.y) + offset, uvw.z, gamma); avg_color += area_n * QuickSampleByPixel(float2(x, f_beg.y) + offset, uvw.z, gamma);
avg_color += area_n * temp_color; avg_color += area_s * QuickSampleByPixel(float2(x, f_end.y) + offset, uvw.z, gamma);
avg_luminance += area_n * pow(Luminance(temp_color.rgb, true), luminance_inv_gamma);
temp_color = QuickSampleByPixel(float2(x, f_end.y) + offset, uvw.z, gamma);
avg_color += area_s * temp_color;
avg_luminance += area_s * pow(Luminance(temp_color.rgb, true), luminance_inv_gamma);
} }
} }
@ -319,21 +270,15 @@ float4 AreaSampling(float3 uvw, float gamma)
{ {
float y = f_beg.y + 1.0 + float(iy); float y = f_beg.y + 1.0 + float(iy);
temp_color = QuickSampleByPixel(float2(f_beg.x, y) + offset, uvw.z, gamma); avg_color += area_w * QuickSampleByPixel(float2(f_beg.x, y) + offset, uvw.z, gamma);
avg_color += area_w * temp_color; avg_color += area_e * QuickSampleByPixel(float2(f_end.x, y) + offset, uvw.z, gamma);
avg_luminance += area_w * pow(Luminance(temp_color.rgb, true), luminance_inv_gamma);
temp_color = QuickSampleByPixel(float2(f_end.x, y) + offset, uvw.z, gamma);
avg_color += area_e * temp_color;
avg_luminance += area_e * pow(Luminance(temp_color.rgb, true), luminance_inv_gamma);
for (int ix = 0; ix < max_iterations; ++ix) for (int ix = 0; ix < max_iterations; ++ix)
{ {
if (ix < x_range) if (ix < x_range)
{ {
float x = f_beg.x + 1.0 + float(ix); float x = f_beg.x + 1.0 + float(ix);
temp_color = QuickSampleByPixel(float2(x, y) + offset, uvw.z, gamma); avg_color += QuickSampleByPixel(float2(x, y) + offset, uvw.z, gamma);
avg_color += temp_color;
avg_luminance += pow(Luminance(temp_color.rgb, true), luminance_inv_gamma);
} }
} }
} }
@ -344,21 +289,8 @@ float4 AreaSampling(float3 uvw, float gamma)
float area_edges = float(x_range) * (area_n + area_s) + float(y_range) * (area_w + area_e); float area_edges = float(x_range) * (area_n + area_s) + float(y_range) * (area_w + area_e);
float area_center = float(x_range) * float(y_range); float area_center = float(x_range) * float(y_range);
float4 nrm_color = avg_color / (area_corners + area_edges + area_center);
float target_nrm_color_luminance = avg_luminance / (area_corners + area_edges + area_center);
// Restore the averaged "gamma" space luminance, for better gamma correction.
// This retains the best feature of gamma correct sampling (no hue shifts),
// while also maintaining the perceptual "brightness" level of blending two colors with an alpha
// (in linear space a 0.5 alpha won't produce a color that has a perceptual brightness in the middle point of the two source colors).
float nrm_color_luminance = Luminance(nrm_color.rgb, true);
if (nrm_color_luminance != 0.0)
{
nrm_color.rgb *= pow(target_nrm_color_luminance, luminance_gamma) / nrm_color_luminance;
}
// Return the normalized average color. // Return the normalized average color.
return nrm_color; return avg_color / (area_corners + area_edges + area_center);
} }
/***** Main Functions *****/ /***** Main Functions *****/
@ -421,7 +353,7 @@ void main()
// Doing linear sampling in "gamma space" on linear texture formats isn't correct. // Doing linear sampling in "gamma space" on linear texture formats isn't correct.
// If the source and target resolutions don't match, the GPU will return a color // If the source and target resolutions don't match, the GPU will return a color
// that is the average of 4 gamma space colors, but gamma space colors can't be blended together, // that is the average of 4 gamma space colors, but gamma space colors can't be blended together,
// gamma needs to be de-applied first. This makes a big difference if colors change // gamma neeeds to be de-applied first. This makes a big difference if colors change
// drastically between two pixels. // drastically between two pixels.
color = LinearGammaCorrectedSample(game_gamma); color = LinearGammaCorrectedSample(game_gamma);
@ -469,7 +401,7 @@ void main()
// Restore the original gamma without changes // Restore the original gamma without changes
else else
{ {
color.rgb = pow(color.rgb, float3(1.0 / game_gamma)); color.rgb = pow(color.rgb, float3(1.0 / game_gamma));
} }
SetOutput(color); SetOutput(color);

View File

@ -40,7 +40,7 @@ void main()
/*****inline square root routines*****/ /*****inline square root routines*****/
// bit of a performance bottleneck. // bit of a performance bottleneck.
// necessary to make the darkened area rounded // neccessary to make the darkened area rounded
// instead of rhombus-shaped. // instead of rhombus-shaped.
float sqrt = x / 10.0; float sqrt = x / 10.0;

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