mirror of
https://github.com/hedge-dev/UnleashedRecomp.git
synced 2025-04-28 21:37:58 +03:00
Implemented safer hooks for D-Pad movement (#129)
This commit is contained in:
parent
cdd801dcec
commit
b56c0b8209
8 changed files with 87 additions and 69 deletions
|
@ -155,8 +155,9 @@ set(SWA_PATCHES_CXX_SOURCES
|
||||||
"patches/aspect_ratio_patches.cpp"
|
"patches/aspect_ratio_patches.cpp"
|
||||||
"patches/audio_patches.cpp"
|
"patches/audio_patches.cpp"
|
||||||
"patches/camera_patches.cpp"
|
"patches/camera_patches.cpp"
|
||||||
"patches/CGameModeStageTitle_patches.cpp"
|
"patches/CGameModeStageTitle_patches.cpp"
|
||||||
"patches/fps_patches.cpp"
|
"patches/fps_patches.cpp"
|
||||||
|
"patches/input_patches.cpp"
|
||||||
"patches/inspire_patches.cpp"
|
"patches/inspire_patches.cpp"
|
||||||
"patches/misc_patches.cpp"
|
"patches/misc_patches.cpp"
|
||||||
"patches/object_patches.cpp"
|
"patches/object_patches.cpp"
|
||||||
|
@ -197,22 +198,22 @@ set(SWA_INSTALL_CXX_SOURCES
|
||||||
set(SWA_USER_CXX_SOURCES
|
set(SWA_USER_CXX_SOURCES
|
||||||
"user/achievement_data.cpp"
|
"user/achievement_data.cpp"
|
||||||
"user/config.cpp"
|
"user/config.cpp"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(SWA_MOD_CXX_SOURCES
|
set(SWA_MOD_CXX_SOURCES
|
||||||
"mod/mod_loader.cpp"
|
"mod/mod_loader.cpp"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(SWA_THIRDPARTY_SOURCES
|
set(SWA_THIRDPARTY_SOURCES
|
||||||
"${SWA_THIRDPARTY_ROOT}/imgui/backends/imgui_impl_sdl2.cpp"
|
"${SWA_THIRDPARTY_ROOT}/imgui/backends/imgui_impl_sdl2.cpp"
|
||||||
"${SWA_THIRDPARTY_ROOT}/imgui/imgui.cpp"
|
"${SWA_THIRDPARTY_ROOT}/imgui/imgui.cpp"
|
||||||
"${SWA_THIRDPARTY_ROOT}/imgui/imgui_demo.cpp"
|
"${SWA_THIRDPARTY_ROOT}/imgui/imgui_demo.cpp"
|
||||||
"${SWA_THIRDPARTY_ROOT}/imgui/imgui_draw.cpp"
|
"${SWA_THIRDPARTY_ROOT}/imgui/imgui_draw.cpp"
|
||||||
"${SWA_THIRDPARTY_ROOT}/imgui/imgui_tables.cpp"
|
"${SWA_THIRDPARTY_ROOT}/imgui/imgui_tables.cpp"
|
||||||
"${SWA_THIRDPARTY_ROOT}/imgui/imgui_widgets.cpp"
|
"${SWA_THIRDPARTY_ROOT}/imgui/imgui_widgets.cpp"
|
||||||
"${SWA_THIRDPARTY_ROOT}/implot/implot.cpp"
|
"${SWA_THIRDPARTY_ROOT}/implot/implot.cpp"
|
||||||
"${SWA_THIRDPARTY_ROOT}/implot/implot_demo.cpp"
|
"${SWA_THIRDPARTY_ROOT}/implot/implot_demo.cpp"
|
||||||
"${SWA_THIRDPARTY_ROOT}/implot/implot_items.cpp"
|
"${SWA_THIRDPARTY_ROOT}/implot/implot_items.cpp"
|
||||||
"${SWA_THIRDPARTY_ROOT}/libmspack/libmspack/mspack/lzxd.c"
|
"${SWA_THIRDPARTY_ROOT}/libmspack/libmspack/mspack/lzxd.c"
|
||||||
"${SWA_THIRDPARTY_ROOT}/tiny-AES-c/aes.c"
|
"${SWA_THIRDPARTY_ROOT}/tiny-AES-c/aes.c"
|
||||||
"${SWA_TOOLS_ROOT}/ShaderRecomp/thirdparty/smol-v/source/smolv.cpp"
|
"${SWA_TOOLS_ROOT}/ShaderRecomp/thirdparty/smol-v/source/smolv.cpp"
|
||||||
|
@ -221,7 +222,7 @@ set(SWA_THIRDPARTY_SOURCES
|
||||||
set(SWA_THIRDPARTY_INCLUDES
|
set(SWA_THIRDPARTY_INCLUDES
|
||||||
"${SWA_THIRDPARTY_ROOT}/concurrentqueue"
|
"${SWA_THIRDPARTY_ROOT}/concurrentqueue"
|
||||||
"${SWA_THIRDPARTY_ROOT}/ddspp"
|
"${SWA_THIRDPARTY_ROOT}/ddspp"
|
||||||
"${SWA_THIRDPARTY_ROOT}/imgui"
|
"${SWA_THIRDPARTY_ROOT}/imgui"
|
||||||
"${SWA_THIRDPARTY_ROOT}/implot"
|
"${SWA_THIRDPARTY_ROOT}/implot"
|
||||||
"${SWA_THIRDPARTY_ROOT}/libmspack/libmspack/mspack"
|
"${SWA_THIRDPARTY_ROOT}/libmspack/libmspack/mspack"
|
||||||
"${SWA_THIRDPARTY_ROOT}/magic_enum/include"
|
"${SWA_THIRDPARTY_ROOT}/magic_enum/include"
|
||||||
|
@ -248,7 +249,7 @@ set(SWA_CXX_SOURCES
|
||||||
"exports.cpp"
|
"exports.cpp"
|
||||||
"main.cpp"
|
"main.cpp"
|
||||||
"misc_impl.cpp"
|
"misc_impl.cpp"
|
||||||
"stdafx.cpp"
|
"stdafx.cpp"
|
||||||
"version.cpp"
|
"version.cpp"
|
||||||
|
|
||||||
${SWA_KERNEL_CXX_SOURCES}
|
${SWA_KERNEL_CXX_SOURCES}
|
||||||
|
@ -261,7 +262,7 @@ set(SWA_CXX_SOURCES
|
||||||
${SWA_PATCHES_CXX_SOURCES}
|
${SWA_PATCHES_CXX_SOURCES}
|
||||||
${SWA_UI_CXX_SOURCES}
|
${SWA_UI_CXX_SOURCES}
|
||||||
${SWA_INSTALL_CXX_SOURCES}
|
${SWA_INSTALL_CXX_SOURCES}
|
||||||
${SWA_USER_CXX_SOURCES}
|
${SWA_USER_CXX_SOURCES}
|
||||||
${SWA_MOD_CXX_SOURCES}
|
${SWA_MOD_CXX_SOURCES}
|
||||||
${SWA_THIRDPARTY_SOURCES}
|
${SWA_THIRDPARTY_SOURCES}
|
||||||
)
|
)
|
||||||
|
@ -275,7 +276,7 @@ else()
|
||||||
add_executable(UnleashedRecomp ${SWA_CXX_SOURCES})
|
add_executable(UnleashedRecomp ${SWA_CXX_SOURCES})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set_target_properties(UnleashedRecomp PROPERTIES OUTPUT_NAME ${TARGET_NAME})
|
set_target_properties(UnleashedRecomp PROPERTIES OUTPUT_NAME ${TARGET_NAME})
|
||||||
|
|
||||||
if (SWA_FLATPAK)
|
if (SWA_FLATPAK)
|
||||||
target_compile_definitions(UnleashedRecomp PRIVATE "GAME_INSTALL_DIRECTORY=\"/var/data\"")
|
target_compile_definitions(UnleashedRecomp PRIVATE "GAME_INSTALL_DIRECTORY=\"/var/data\"")
|
||||||
|
@ -381,8 +382,8 @@ function(compile_pixel_shader FILE_PATH)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
compile_vertex_shader(copy_vs)
|
compile_vertex_shader(copy_vs)
|
||||||
compile_pixel_shader(csd_filter_ps)
|
compile_pixel_shader(csd_filter_ps)
|
||||||
compile_vertex_shader(csd_no_tex_vs)
|
compile_vertex_shader(csd_no_tex_vs)
|
||||||
compile_vertex_shader(csd_vs)
|
compile_vertex_shader(csd_vs)
|
||||||
compile_pixel_shader(enhanced_motion_blur_ps)
|
compile_pixel_shader(enhanced_motion_blur_ps)
|
||||||
compile_pixel_shader(gaussian_blur_3x3)
|
compile_pixel_shader(gaussian_blur_3x3)
|
||||||
|
@ -426,21 +427,21 @@ generate_aggregate_header(
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/api"
|
"${CMAKE_CURRENT_SOURCE_DIR}/api"
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/api/SWA.h"
|
"${CMAKE_CURRENT_SOURCE_DIR}/api/SWA.h"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Only show build type if not Release.
|
# Only show build type if not Release.
|
||||||
set(IS_BUILD_TYPE_IN_VER_STRING 0)
|
set(IS_BUILD_TYPE_IN_VER_STRING 0)
|
||||||
if (NOT ${CMAKE_BUILD_TYPE} MATCHES "Release")
|
if (NOT ${CMAKE_BUILD_TYPE} MATCHES "Release")
|
||||||
set(IS_BUILD_TYPE_IN_VER_STRING 1)
|
set(IS_BUILD_TYPE_IN_VER_STRING 1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include("version.cmake")
|
include("version.cmake")
|
||||||
GenerateVersionSources(
|
GenerateVersionSources(
|
||||||
OUTPUT_DIR "${PROJECT_SOURCE_DIR}"
|
OUTPUT_DIR "${PROJECT_SOURCE_DIR}"
|
||||||
VERSION_TXT "${PROJECT_SOURCE_DIR}/res/version.txt"
|
VERSION_TXT "${PROJECT_SOURCE_DIR}/res/version.txt"
|
||||||
H_TEMPLATE "${PROJECT_SOURCE_DIR}/res/version.h.template"
|
H_TEMPLATE "${PROJECT_SOURCE_DIR}/res/version.h.template"
|
||||||
CXX_TEMPLATE "${PROJECT_SOURCE_DIR}/res/version.cpp.template"
|
CXX_TEMPLATE "${PROJECT_SOURCE_DIR}/res/version.cpp.template"
|
||||||
BUILD_TYPE ${CMAKE_BUILD_TYPE}
|
BUILD_TYPE ${CMAKE_BUILD_TYPE}
|
||||||
IS_BUILD_TYPE_IN_VER_STRING ${IS_BUILD_TYPE_IN_VER_STRING}
|
IS_BUILD_TYPE_IN_VER_STRING ${IS_BUILD_TYPE_IN_VER_STRING}
|
||||||
IS_GIT_REPO 1
|
IS_GIT_REPO 1
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -470,7 +471,6 @@ BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/in
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/installer/pulse_install.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/installer/pulse_install.dds" ARRAY_NAME "g_pulse_install" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/installer/pulse_install.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/installer/pulse_install.dds" ARRAY_NAME "g_pulse_install" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/achievement_notifications.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/achievement_notifications.dds" ARRAY_NAME "g_achievement_notifications" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/achievement_notifications.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/achievement_notifications.dds" ARRAY_NAME "g_achievement_notifications" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/allow_background_input.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/allow_background_input.dds" ARRAY_NAME "g_allow_background_input" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/allow_background_input.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/allow_background_input.dds" ARRAY_NAME "g_allow_background_input" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/allow_dpad_movement.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/allow_dpad_movement.dds" ARRAY_NAME "g_allow_dpad_movement" COMPRESSION_TYPE "zstd")
|
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/antialiasing.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/antialiasing.dds" ARRAY_NAME "g_antialiasing" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/antialiasing.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/antialiasing.dds" ARRAY_NAME "g_antialiasing" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/aspect_ratio.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/aspect_ratio.dds" ARRAY_NAME "g_aspect_ratio" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/aspect_ratio.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/aspect_ratio.dds" ARRAY_NAME "g_aspect_ratio" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/battle_theme.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/battle_theme.dds" ARRAY_NAME "g_battle_theme" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/battle_theme.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/battle_theme.dds" ARRAY_NAME "g_battle_theme" COMPRESSION_TYPE "zstd")
|
||||||
|
|
|
@ -117,11 +117,6 @@ CONFIG_DEFINE_LOCALE(AllowBackgroundInput)
|
||||||
{ ELanguage::English, { "Allow Background Input", "Allow controller input whilst the game window is unfocused." } }
|
{ ELanguage::English, { "Allow Background Input", "Allow controller input whilst the game window is unfocused." } }
|
||||||
};
|
};
|
||||||
|
|
||||||
CONFIG_DEFINE_LOCALE(AllowDPadMovement)
|
|
||||||
{
|
|
||||||
{ ELanguage::English, { "Allow D-Pad Movement", "Allow the player to also be controlled using the directional pad." } }
|
|
||||||
};
|
|
||||||
|
|
||||||
CONFIG_DEFINE_LOCALE(MasterVolume)
|
CONFIG_DEFINE_LOCALE(MasterVolume)
|
||||||
{
|
{
|
||||||
{ ELanguage::English, { "Master Volume", "Adjust the overall volume." } }
|
{ ELanguage::English, { "Master Volume", "Adjust the overall volume." } }
|
||||||
|
|
35
UnleashedRecomp/patches/input_patches.cpp
Normal file
35
UnleashedRecomp/patches/input_patches.cpp
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
#include <api/SWA.h>
|
||||||
|
|
||||||
|
static void SetDPadAnalogDirectionX(PPCRegister& pPadState, PPCRegister& x, bool negate)
|
||||||
|
{
|
||||||
|
auto pGuestPadState = (SWA::SPadState*)g_memory.Translate(pPadState.u32);
|
||||||
|
|
||||||
|
if (pGuestPadState->IsDown(SWA::eKeyState_DpadLeft))
|
||||||
|
x.f64 = negate ? 1.0f : -1.0f;
|
||||||
|
|
||||||
|
if (pGuestPadState->IsDown(SWA::eKeyState_DpadRight))
|
||||||
|
x.f64 = negate ? -1.0f : 1.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void SetDPadAnalogDirectionY(PPCRegister& pPadState, PPCRegister& y, bool negate)
|
||||||
|
{
|
||||||
|
auto pGuestPadState = (SWA::SPadState*)g_memory.Translate(pPadState.u32);
|
||||||
|
|
||||||
|
if (pGuestPadState->IsDown(SWA::eKeyState_DpadUp))
|
||||||
|
y.f64 = negate ? -1.0f : 1.0f;
|
||||||
|
|
||||||
|
if (pGuestPadState->IsDown(SWA::eKeyState_DpadDown))
|
||||||
|
y.f64 = negate ? 1.0f : -1.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
void PostureDPadSupportMidAsmHook(PPCRegister& pPadState, PPCRegister& x, PPCRegister& y)
|
||||||
|
{
|
||||||
|
SetDPadAnalogDirectionX(pPadState, x, false);
|
||||||
|
SetDPadAnalogDirectionY(pPadState, y, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void PostureDPadSupportPathLocalMidAsmHook(PPCRegister& pPadState, PPCRegister& x, PPCRegister& y)
|
||||||
|
{
|
||||||
|
SetDPadAnalogDirectionX(pPadState, x, false);
|
||||||
|
SetDPadAnalogDirectionY(pPadState, y, false);
|
||||||
|
}
|
|
@ -10,26 +10,6 @@ static uint32_t g_lastTrickScore;
|
||||||
static float g_lastDarkGaiaEnergy;
|
static float g_lastDarkGaiaEnergy;
|
||||||
static bool g_isUnleashCancelled;
|
static bool g_isUnleashCancelled;
|
||||||
|
|
||||||
void PostureDPadSupportMidAsmHook(PPCRegister& r3)
|
|
||||||
{
|
|
||||||
if (!Config::AllowDPadMovement)
|
|
||||||
return;
|
|
||||||
|
|
||||||
auto pPadState = (SWA::SPadState*)g_memory.Translate(r3.u32);
|
|
||||||
|
|
||||||
if (pPadState->IsDown(SWA::eKeyState_DpadUp))
|
|
||||||
pPadState->LeftStickVertical = 1.0f;
|
|
||||||
|
|
||||||
if (pPadState->IsDown(SWA::eKeyState_DpadDown))
|
|
||||||
pPadState->LeftStickVertical = -1.0f;
|
|
||||||
|
|
||||||
if (pPadState->IsDown(SWA::eKeyState_DpadLeft))
|
|
||||||
pPadState->LeftStickHorizontal = -1.0f;
|
|
||||||
|
|
||||||
if (pPadState->IsDown(SWA::eKeyState_DpadRight))
|
|
||||||
pPadState->LeftStickHorizontal = 1.0f;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Hook function for when checkpoints are activated
|
/* Hook function for when checkpoints are activated
|
||||||
to preserve the current checkpoint score. */
|
to preserve the current checkpoint score. */
|
||||||
PPC_FUNC_IMPL(__imp__sub_82624308);
|
PPC_FUNC_IMPL(__imp__sub_82624308);
|
||||||
|
|
|
@ -894,7 +894,6 @@ static void DrawConfigOptions()
|
||||||
DrawConfigOption(rowCount++, yOffset, &Config::InvertCameraY, true);
|
DrawConfigOption(rowCount++, yOffset, &Config::InvertCameraY, true);
|
||||||
DrawConfigOption(rowCount++, yOffset, &Config::Vibration, true);
|
DrawConfigOption(rowCount++, yOffset, &Config::Vibration, true);
|
||||||
DrawConfigOption(rowCount++, yOffset, &Config::AllowBackgroundInput, true);
|
DrawConfigOption(rowCount++, yOffset, &Config::AllowBackgroundInput, true);
|
||||||
DrawConfigOption(rowCount++, yOffset, &Config::AllowDPadMovement, true);
|
|
||||||
DrawConfigOption(rowCount++, yOffset, &Config::ControllerIcons, true);
|
DrawConfigOption(rowCount++, yOffset, &Config::ControllerIcons, true);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
// TODO (Hyper): lower the resolution of these textures once final.
|
// TODO (Hyper): lower the resolution of these textures once final.
|
||||||
#include <res/images/options_menu/thumbnails/achievement_notifications.dds.h>
|
#include <res/images/options_menu/thumbnails/achievement_notifications.dds.h>
|
||||||
#include <res/images/options_menu/thumbnails/allow_background_input.dds.h>
|
#include <res/images/options_menu/thumbnails/allow_background_input.dds.h>
|
||||||
#include <res/images/options_menu/thumbnails/allow_dpad_movement.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/antialiasing.dds.h>
|
#include <res/images/options_menu/thumbnails/antialiasing.dds.h>
|
||||||
#include <res/images/options_menu/thumbnails/aspect_ratio.dds.h>
|
#include <res/images/options_menu/thumbnails/aspect_ratio.dds.h>
|
||||||
#include <res/images/options_menu/thumbnails/battle_theme.dds.h>
|
#include <res/images/options_menu/thumbnails/battle_theme.dds.h>
|
||||||
|
@ -78,7 +77,6 @@ void LoadThumbnails()
|
||||||
g_configThumbnails[&Config::InvertCameraY] = LOAD_ZSTD_TEXTURE(g_invert_camera_y);
|
g_configThumbnails[&Config::InvertCameraY] = LOAD_ZSTD_TEXTURE(g_invert_camera_y);
|
||||||
g_configThumbnails[&Config::Vibration] = LOAD_ZSTD_TEXTURE(g_vibration);
|
g_configThumbnails[&Config::Vibration] = LOAD_ZSTD_TEXTURE(g_vibration);
|
||||||
g_configThumbnails[&Config::AllowBackgroundInput] = LOAD_ZSTD_TEXTURE(g_allow_background_input);
|
g_configThumbnails[&Config::AllowBackgroundInput] = LOAD_ZSTD_TEXTURE(g_allow_background_input);
|
||||||
g_configThumbnails[&Config::AllowDPadMovement] = LOAD_ZSTD_TEXTURE(g_allow_dpad_movement);
|
|
||||||
g_configThumbnails[&Config::ControllerIcons] = LOAD_ZSTD_TEXTURE(g_controller_icons);
|
g_configThumbnails[&Config::ControllerIcons] = LOAD_ZSTD_TEXTURE(g_controller_icons);
|
||||||
g_configThumbnails[&Config::MasterVolume] = LOAD_ZSTD_TEXTURE(g_master_volume);
|
g_configThumbnails[&Config::MasterVolume] = LOAD_ZSTD_TEXTURE(g_master_volume);
|
||||||
g_configThumbnails[&Config::MusicVolume] = LOAD_ZSTD_TEXTURE(g_music_volume);
|
g_configThumbnails[&Config::MusicVolume] = LOAD_ZSTD_TEXTURE(g_music_volume);
|
||||||
|
|
|
@ -614,7 +614,6 @@ public:
|
||||||
CONFIG_DEFINE_LOCALISED("Input", bool, InvertCameraY, false);
|
CONFIG_DEFINE_LOCALISED("Input", bool, InvertCameraY, false);
|
||||||
CONFIG_DEFINE_LOCALISED("Input", bool, Vibration, true);
|
CONFIG_DEFINE_LOCALISED("Input", bool, Vibration, true);
|
||||||
CONFIG_DEFINE_LOCALISED("Input", bool, AllowBackgroundInput, false);
|
CONFIG_DEFINE_LOCALISED("Input", bool, AllowBackgroundInput, false);
|
||||||
CONFIG_DEFINE_LOCALISED("Input", bool, AllowDPadMovement, false);
|
|
||||||
CONFIG_DEFINE_ENUM_LOCALISED("Input", EControllerIcons, ControllerIcons, EControllerIcons::Auto);
|
CONFIG_DEFINE_ENUM_LOCALISED("Input", EControllerIcons, ControllerIcons, EControllerIcons::Auto);
|
||||||
|
|
||||||
CONFIG_DEFINE_LOCALISED("Audio", float, MasterVolume, 1.0f);
|
CONFIG_DEFINE_LOCALISED("Audio", float, MasterVolume, 1.0f);
|
||||||
|
|
|
@ -551,26 +551,38 @@ address = 0x824DC9D4
|
||||||
# CPlayerSpeedPostureInputOnPath
|
# CPlayerSpeedPostureInputOnPath
|
||||||
[[midasm_hook]]
|
[[midasm_hook]]
|
||||||
name = "PostureDPadSupportMidAsmHook"
|
name = "PostureDPadSupportMidAsmHook"
|
||||||
address = 0x8234F174
|
address = 0x8234F194
|
||||||
registers = ["r3"]
|
registers = ["r31", "f13", "f0"]
|
||||||
|
|
||||||
# CPlayerSpeedPostureInputOnPathLocal
|
# CPlayerSpeedPostureInputOnPathLocal
|
||||||
[[midasm_hook]]
|
[[midasm_hook]]
|
||||||
name = "PostureDPadSupportMidAsmHook"
|
name = "PostureDPadSupportPathLocalMidAsmHook"
|
||||||
address = 0x8234F518
|
address = 0x8234F610
|
||||||
registers = ["r3"]
|
registers = ["r30", "f0", "f13"]
|
||||||
|
|
||||||
# CPlayerSpeedPostureInput3DStandard
|
# CPlayerSpeedPostureInput3DStandard
|
||||||
[[midasm_hook]]
|
[[midasm_hook]]
|
||||||
name = "PostureDPadSupportMidAsmHook"
|
name = "PostureDPadSupportMidAsmHook"
|
||||||
address = 0x8234EEC8
|
address = 0x8234EEE8
|
||||||
registers = ["r3"]
|
registers = ["r31", "f12", "f13"]
|
||||||
|
|
||||||
# CEvilPostureInputStandard
|
# CEvilPostureInputStandard
|
||||||
[[midasm_hook]]
|
[[midasm_hook]]
|
||||||
name = "PostureDPadSupportMidAsmHook"
|
name = "PostureDPadSupportMidAsmHook"
|
||||||
address = 0x823CDA2C
|
address = 0x823CDA60
|
||||||
registers = ["r3"]
|
registers = ["r3", "f11", "f12"]
|
||||||
|
|
||||||
|
# CEvilPostureInputStandard
|
||||||
|
[[midasm_hook]]
|
||||||
|
name = "PostureDPadSupportXMidAsmHook"
|
||||||
|
address = 0x823CDA74
|
||||||
|
registers = ["r3", "f0"]
|
||||||
|
|
||||||
|
# CEvilPostureInputStandard
|
||||||
|
[[midasm_hook]]
|
||||||
|
name = "PostureDPadSupportYMidAsmHook"
|
||||||
|
address = 0x823CDA88
|
||||||
|
registers = ["r3", "f12"]
|
||||||
|
|
||||||
[[midasm_hook]]
|
[[midasm_hook]]
|
||||||
name = "LoadingUpdateMidAsmHook"
|
name = "LoadingUpdateMidAsmHook"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue