mirror of
https://github.com/hedge-dev/UnleashedRecomp.git
synced 2026-04-27 12:51:42 +00:00
Merge branch 'main' into linux
This commit is contained in:
commit
a50498f6d0
16 changed files with 631 additions and 466 deletions
|
|
@ -70,6 +70,11 @@ set(SWA_KERNEL_CXX_SOURCES
|
||||||
"kernel/io/file_system.cpp"
|
"kernel/io/file_system.cpp"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set(SWA_LOCALE_CXX_SOURCES
|
||||||
|
"locale/config_locale.cpp"
|
||||||
|
"locale/locale.cpp"
|
||||||
|
)
|
||||||
|
|
||||||
set(SWA_OS_CXX_SOURCES
|
set(SWA_OS_CXX_SOURCES
|
||||||
"os/logger.cpp"
|
"os/logger.cpp"
|
||||||
"os/media.cpp"
|
"os/media.cpp"
|
||||||
|
|
@ -143,6 +148,7 @@ set(SWA_UI_CXX_SOURCES
|
||||||
"ui/button_guide.cpp"
|
"ui/button_guide.cpp"
|
||||||
"ui/fader.cpp"
|
"ui/fader.cpp"
|
||||||
"ui/message_window.cpp"
|
"ui/message_window.cpp"
|
||||||
|
"ui/options_menu_thumbnails.cpp"
|
||||||
"ui/options_menu.cpp"
|
"ui/options_menu.cpp"
|
||||||
"ui/sdl_listener.cpp"
|
"ui/sdl_listener.cpp"
|
||||||
"ui/window.cpp"
|
"ui/window.cpp"
|
||||||
|
|
@ -191,6 +197,7 @@ set(SWA_CXX_SOURCES
|
||||||
"stdafx.cpp"
|
"stdafx.cpp"
|
||||||
|
|
||||||
${SWA_KERNEL_CXX_SOURCES}
|
${SWA_KERNEL_CXX_SOURCES}
|
||||||
|
${SWA_LOCALE_CXX_SOURCES}
|
||||||
${SWA_OS_CXX_SOURCES}
|
${SWA_OS_CXX_SOURCES}
|
||||||
${SWA_CPU_CXX_SOURCES}
|
${SWA_CPU_CXX_SOURCES}
|
||||||
${SWA_GPU_CXX_SOURCES}
|
${SWA_GPU_CXX_SOURCES}
|
||||||
|
|
@ -404,35 +411,48 @@ 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")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/brightness.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/brightness.dds" ARRAY_NAME "g_brightness" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/brightness.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/brightness.dds" ARRAY_NAME "g_brightness" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/control_tutorial.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/control_tutorial.dds" ARRAY_NAME "g_control_tutorial" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/control_tutorial.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/control_tutorial.dds" ARRAY_NAME "g_control_tutorial" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/controller_icons.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/controller_icons.dds" ARRAY_NAME "g_controller_icons" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/controller_icons.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/controller_icons.dds" ARRAY_NAME "g_controller_icons" COMPRESSION_TYPE "zstd")
|
||||||
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/default.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/default.dds" ARRAY_NAME "g_default" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/effects_volume.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/effects_volume.dds" ARRAY_NAME "g_effects_volume" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/effects_volume.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/effects_volume.dds" ARRAY_NAME "g_effects_volume" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/fps.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/fps.dds" ARRAY_NAME "g_fps" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/fps.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/fps.dds" ARRAY_NAME "g_fps" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/fullscreen.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/fullscreen.dds" ARRAY_NAME "g_fullscreen" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/fullscreen.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/fullscreen.dds" ARRAY_NAME "g_fullscreen" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/gi_texture_filtering.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/gi_texture_filtering.dds" ARRAY_NAME "g_gi_texture_filtering" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/gi_texture_filtering_bilinear.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/gi_texture_filtering_bilinear.dds" ARRAY_NAME "g_gi_texture_filtering_bilinear" COMPRESSION_TYPE "zstd")
|
||||||
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/gi_texture_filtering_bicubic.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/gi_texture_filtering_bicubic.dds" ARRAY_NAME "g_gi_texture_filtering_bicubic" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/hints.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/hints.dds" ARRAY_NAME "g_hints" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/hints.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/hints.dds" ARRAY_NAME "g_hints" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/invert_camera_x.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/invert_camera_x.dds" ARRAY_NAME "g_invert_camera_x" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/invert_camera_x.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/invert_camera_x.dds" ARRAY_NAME "g_invert_camera_x" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/invert_camera_y.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/invert_camera_y.dds" ARRAY_NAME "g_invert_camera_y" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/invert_camera_y.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/invert_camera_y.dds" ARRAY_NAME "g_invert_camera_y" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/language.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/language.dds" ARRAY_NAME "g_language" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/language.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/language.dds" ARRAY_NAME "g_language" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/monitor.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/monitor.dds" ARRAY_NAME "g_monitor" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/monitor.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/monitor.dds" ARRAY_NAME "g_monitor" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/motion_blur.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/motion_blur.dds" ARRAY_NAME "g_motion_blur" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/motion_blur_off.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/motion_blur_off.dds" ARRAY_NAME "g_motion_blur_off" COMPRESSION_TYPE "zstd")
|
||||||
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/motion_blur_original.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/motion_blur_original.dds" ARRAY_NAME "g_motion_blur_original" COMPRESSION_TYPE "zstd")
|
||||||
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/motion_blur_enhanced.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/motion_blur_enhanced.dds" ARRAY_NAME "g_motion_blur_enhanced" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/movie_scale_mode.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/movie_scale_mode.dds" ARRAY_NAME "g_movie_scale_mode" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/movie_scale_mode.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/movie_scale_mode.dds" ARRAY_NAME "g_movie_scale_mode" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/music_attenuation.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/music_attenuation.dds" ARRAY_NAME "g_music_attenuation" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/music_attenuation.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/music_attenuation.dds" ARRAY_NAME "g_music_attenuation" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/music_volume.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/music_volume.dds" ARRAY_NAME "g_music_volume" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/music_volume.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/music_volume.dds" ARRAY_NAME "g_music_volume" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/resolution_scale.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/resolution_scale.dds" ARRAY_NAME "g_resolution_scale" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/resolution_scale.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/resolution_scale.dds" ARRAY_NAME "g_resolution_scale" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/shadow_resolution.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/shadow_resolution.dds" ARRAY_NAME "g_shadow_resolution" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/shadow_resolution_original.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/shadow_resolution_original.dds" ARRAY_NAME "g_shadow_resolution_original" COMPRESSION_TYPE "zstd")
|
||||||
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/shadow_resolution_x512.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/shadow_resolution_x512.dds" ARRAY_NAME "g_shadow_resolution_x512" COMPRESSION_TYPE "zstd")
|
||||||
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/shadow_resolution_x1024.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/shadow_resolution_x1024.dds" ARRAY_NAME "g_shadow_resolution_x1024" COMPRESSION_TYPE "zstd")
|
||||||
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/shadow_resolution_x2048.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/shadow_resolution_x2048.dds" ARRAY_NAME "g_shadow_resolution_x2048" COMPRESSION_TYPE "zstd")
|
||||||
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/shadow_resolution_x4096.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/shadow_resolution_x4096.dds" ARRAY_NAME "g_shadow_resolution_x4096" COMPRESSION_TYPE "zstd")
|
||||||
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/shadow_resolution_x8192.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/shadow_resolution_x8192.dds" ARRAY_NAME "g_shadow_resolution_x8192" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/subtitles.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/subtitles.dds" ARRAY_NAME "g_subtitles" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/subtitles.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/subtitles.dds" ARRAY_NAME "g_subtitles" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/time_of_day_transition.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/time_of_day_transition.dds" ARRAY_NAME "g_time_of_day_transition" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/time_of_day_transition_xbox.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/time_of_day_transition_xbox.dds" ARRAY_NAME "g_time_of_day_transition_xbox" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/transparency_antialiasing.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/transparency_antialiasing.dds" ARRAY_NAME "g_transparency_antialiasing" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/time_of_day_transition_playstation.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/time_of_day_transition_playstation.dds" ARRAY_NAME "g_time_of_day_transition_playstation" COMPRESSION_TYPE "zstd")
|
||||||
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/transparency_antialiasing_false.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/transparency_antialiasing_false.dds" ARRAY_NAME "g_transparency_antialiasing_false" COMPRESSION_TYPE "zstd")
|
||||||
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/transparency_antialiasing_true.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/transparency_antialiasing_true.dds" ARRAY_NAME "g_transparency_antialiasing_true" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/ui_scale_mode.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/ui_scale_mode.dds" ARRAY_NAME "g_ui_scale_mode" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/ui_scale_mode.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/ui_scale_mode.dds" ARRAY_NAME "g_ui_scale_mode" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/voice_language.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/voice_language.dds" ARRAY_NAME "g_voice_language" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/voice_language.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/voice_language.dds" ARRAY_NAME "g_voice_language" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/vsync.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/vsync.dds" ARRAY_NAME "g_vsync" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/vsync.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/vsync.dds" ARRAY_NAME "g_vsync" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/window_size.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/window_size.dds" ARRAY_NAME "g_window_size" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/window_size.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/window_size.dds" ARRAY_NAME "g_window_size" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/xbox_color_correction.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/xbox_color_correction.dds" ARRAY_NAME "g_xbox_color_correction" COMPRESSION_TYPE "zstd")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/xbox_color_correction_false.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/xbox_color_correction_false.dds" ARRAY_NAME "g_xbox_color_correction_false" COMPRESSION_TYPE "zstd")
|
||||||
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/options_menu/thumbnails/xbox_color_correction_true.dds" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/options_menu/thumbnails/xbox_color_correction_true.dds" ARRAY_NAME "g_xbox_color_correction_true" COMPRESSION_TYPE "zstd")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/game_icon.bmp" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/game_icon.bmp" ARRAY_NAME "g_game_icon")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/game_icon.bmp" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/game_icon.bmp" ARRAY_NAME "g_game_icon")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/game_icon_night.bmp" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/game_icon_night.bmp" ARRAY_NAME "g_game_icon_night")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/images/game_icon_night.bmp" DEST_FILE "${RESOURCES_OUTPUT_PATH}/images/game_icon_night.bmp" ARRAY_NAME "g_game_icon_night")
|
||||||
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/sounds/sys_worldmap_cursor.ogg" DEST_FILE "${RESOURCES_OUTPUT_PATH}/sounds/sys_worldmap_cursor.ogg" ARRAY_NAME "g_sys_worldmap_cursor")
|
BIN2C(TARGET_OBJ UnleashedRecomp SOURCE_FILE "${RESOURCES_SOURCE_PATH}/sounds/sys_worldmap_cursor.ogg" DEST_FILE "${RESOURCES_OUTPUT_PATH}/sounds/sys_worldmap_cursor.ogg" ARRAY_NAME "g_sys_worldmap_cursor")
|
||||||
|
|
|
||||||
|
|
@ -213,15 +213,6 @@ void ImFontAtlasSnapshot::GenerateGlyphRanges()
|
||||||
GetGlyphs(glyphs, value);
|
GetGlyphs(glyphs, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (auto& [language, locale] : g_bool_locale)
|
|
||||||
{
|
|
||||||
for (auto& [value, nameAndDesc] : locale)
|
|
||||||
{
|
|
||||||
GetGlyphs(glyphs, std::get<0>(nameAndDesc));
|
|
||||||
GetGlyphs(glyphs, std::get<1>(nameAndDesc));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (size_t i = XDBF_LANGUAGE_ENGLISH; i <= XDBF_LANGUAGE_ITALIAN; i++)
|
for (size_t i = XDBF_LANGUAGE_ENGLISH; i <= XDBF_LANGUAGE_ITALIAN; i++)
|
||||||
{
|
{
|
||||||
auto achievements = g_xdbfWrapper.GetAchievements(static_cast<EXDBFLanguage>(i));
|
auto achievements = g_xdbfWrapper.GetAchievements(static_cast<EXDBFLanguage>(i));
|
||||||
|
|
|
||||||
|
|
@ -1582,7 +1582,7 @@ static void BeginCommandList()
|
||||||
|
|
||||||
if (g_swapChainValid)
|
if (g_swapChainValid)
|
||||||
{
|
{
|
||||||
bool applyingGammaCorrection = Config::XboxColourCorrection || abs(Config::Brightness - 0.5f) > 0.001f;
|
bool applyingGammaCorrection = Config::XboxColorCorrection || abs(Config::Brightness - 0.5f) > 0.001f;
|
||||||
|
|
||||||
if (applyingGammaCorrection)
|
if (applyingGammaCorrection)
|
||||||
{
|
{
|
||||||
|
|
@ -2100,7 +2100,7 @@ static void ProcPresent(const RenderCommand& cmd)
|
||||||
uint32_t textureDescriptorIndex;
|
uint32_t textureDescriptorIndex;
|
||||||
} constants;
|
} constants;
|
||||||
|
|
||||||
if (Config::XboxColourCorrection)
|
if (Config::XboxColorCorrection)
|
||||||
{
|
{
|
||||||
constants.gammaR = 1.2f;
|
constants.gammaR = 1.2f;
|
||||||
constants.gammaG = 1.17f;
|
constants.gammaG = 1.17f;
|
||||||
|
|
|
||||||
|
|
@ -1,58 +1,11 @@
|
||||||
#pragma once
|
#include <user/config.h>
|
||||||
|
|
||||||
#include <user/config_detail.h>
|
#include <user/config_detail.h>
|
||||||
|
|
||||||
#define CONFIG_DEFINE_LOCALE(name) \
|
#define CONFIG_DEFINE_LOCALE(name) \
|
||||||
inline std::unordered_map<ELanguage, std::tuple<std::string, std::string>> g_##name##_locale =
|
CONFIG_LOCALE Config::g_##name##_locale =
|
||||||
|
|
||||||
#define CONFIG_DEFINE_ENUM_LOCALE(type) \
|
#define CONFIG_DEFINE_ENUM_LOCALE(type) \
|
||||||
inline std::unordered_map<ELanguage, std::unordered_map<type, std::tuple<std::string, std::string>>> g_##type##_locale =
|
CONFIG_ENUM_LOCALE(type) Config::g_##type##_locale =
|
||||||
|
|
||||||
CONFIG_DEFINE_ENUM_LOCALE(bool)
|
|
||||||
{
|
|
||||||
{
|
|
||||||
ELanguage::English,
|
|
||||||
{
|
|
||||||
{ true, { "ON", "" } },
|
|
||||||
{ false, { "OFF", "" } }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ELanguage::Japanese,
|
|
||||||
{
|
|
||||||
{ true, { "オン", "" } },
|
|
||||||
{ false, { "オフ", "" } }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ELanguage::German,
|
|
||||||
{
|
|
||||||
{ true, { "EIN", "" } },
|
|
||||||
{ false, { "AUS", "" } }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ELanguage::French,
|
|
||||||
{
|
|
||||||
{ true, { "OUI", "" } },
|
|
||||||
{ false, { "NON", "" } }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ELanguage::Spanish,
|
|
||||||
{
|
|
||||||
{ true, { "SÍ", "" } },
|
|
||||||
{ false, { "NO", "" } }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
ELanguage::Italian,
|
|
||||||
{
|
|
||||||
{ true, { "SÌ", "" } },
|
|
||||||
{ false, { "NO", "" } }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
CONFIG_DEFINE_LOCALE(Language)
|
CONFIG_DEFINE_LOCALE(Language)
|
||||||
{
|
{
|
||||||
|
|
@ -142,6 +95,11 @@ CONFIG_DEFINE_LOCALE(AllowBackgroundInput)
|
||||||
{ ELanguage::English, { "Allow Background Input", "Accept controller input whilst the game window is unfocused." } }
|
{ ELanguage::English, { "Allow Background Input", "Accept 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(MusicVolume)
|
CONFIG_DEFINE_LOCALE(MusicVolume)
|
||||||
{
|
{
|
||||||
{ ELanguage::English, { "Music Volume", "Adjust the volume for the music." } }
|
{ ELanguage::English, { "Music Volume", "Adjust the volume for the music." } }
|
||||||
|
|
@ -183,6 +141,11 @@ CONFIG_DEFINE_LOCALE(BattleTheme)
|
||||||
{ ELanguage::English, { "Battle Theme", "Play the Werehog battle theme during combat.\n\nThis option will apply the next time you're in combat." } }
|
{ ELanguage::English, { "Battle Theme", "Play the Werehog battle theme during combat.\n\nThis option will apply the next time you're in combat." } }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
CONFIG_DEFINE_LOCALE(Monitor)
|
||||||
|
{
|
||||||
|
{ ELanguage::English, { "Monitor", "Change which monitor to display the game on." } }
|
||||||
|
};
|
||||||
|
|
||||||
CONFIG_DEFINE_LOCALE(AspectRatio)
|
CONFIG_DEFINE_LOCALE(AspectRatio)
|
||||||
{
|
{
|
||||||
{ ELanguage::English, { "Aspect Ratio", "Change the aspect ratio." } }
|
{ ELanguage::English, { "Aspect Ratio", "Change the aspect ratio." } }
|
||||||
|
|
@ -293,7 +256,7 @@ CONFIG_DEFINE_ENUM_LOCALE(EMotionBlur)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
CONFIG_DEFINE_LOCALE(XboxColourCorrection)
|
CONFIG_DEFINE_LOCALE(XboxColorCorrection)
|
||||||
{
|
{
|
||||||
{ ELanguage::English, { "Xbox Color Correction", "Use the warm tint from the Xbox version of the game." } }
|
{ ELanguage::English, { "Xbox Color Correction", "Use the warm tint from the Xbox version of the game." } }
|
||||||
};
|
};
|
||||||
333
UnleashedRecomp/locale/locale.cpp
Normal file
333
UnleashedRecomp/locale/locale.cpp
Normal file
|
|
@ -0,0 +1,333 @@
|
||||||
|
#include <locale/locale.h>
|
||||||
|
|
||||||
|
std::unordered_map<std::string, std::unordered_map<ELanguage, std::string>> g_locale =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
"Options_Category_System",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "SYSTEM" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Options_Category_Input",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "INPUT" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Options_Category_Audio",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "AUDIO" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Options_Category_Video",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "VIDEO" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Options_Value_Max",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "MAX" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Options_Name_WindowSize",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "Window Size" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Options_Desc_WindowSize",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "Adjust the size of the game window in windowed mode." }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Options_Desc_NotAvailable",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "This option is not available at this location." }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Options_Desc_NotAvailableMSAA",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "This option is not available without MSAA." }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Options_Desc_OSNotSupported",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "This option is not supported by your operating system." }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Options_Message_Restart",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "The game will now restart." }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Achievements_Name",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "Achievements" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Achievements_Name_Uppercase",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "ACHIEVEMENTS" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Achievements_Unlock",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "Achievement Unlocked!" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Header_Installer",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "INSTALLER" },
|
||||||
|
{ ELanguage::Spanish, "INSTALADOR" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Header_Installing",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "INSTALLING" },
|
||||||
|
{ ELanguage::Spanish, "INSTALANDO" },
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Page_SelectLanguage",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "Please select a language." }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Page_Introduction",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "Welcome to Unleashed Recompiled!\n\nYou'll need an Xbox 360 copy\nof Sonic Unleashed in order to proceed with the installation." }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Page_SelectGameAndUpdate",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "Add the files for the game and its title update. You can use digital dumps or pre-extracted folders containing the necessary files." }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Page_SelectDLC",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "Add the files for the DLC. You can use digital dumps or pre-extracted folders containing the necessary files." }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Page_CheckSpace",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "The content will be installed to the program's folder. Please confirm you have enough free space.\n\n" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Page_Installing",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "Please wait while the content is being installed..." }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Page_InstallSucceeded",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "Installation complete.\n\nThis project is brought to you by:\n\n" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Page_InstallFailed",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "Installation failed.\n\nError:\n\n" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Step_Game",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "GAME" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Step_Update",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "UPDATE" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Step_RequiredSpace",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "Required space: %2.2f GiB" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Step_AvailableSpace",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "Available space: %2.2f GiB" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Button_Next",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "NEXT" },
|
||||||
|
{ ELanguage::Spanish, "SIGUIENTE" },
|
||||||
|
{ ELanguage::German, "WEITER" },
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Button_Skip",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "SKIP" },
|
||||||
|
{ ELanguage::Spanish, "SALTAR" },
|
||||||
|
{ ELanguage::German, "ÜBERSPRINGEN" },
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Button_AddFiles",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "ADD FILES" },
|
||||||
|
{ ELanguage::Spanish, "AÑADIR ARCHIVOS" },
|
||||||
|
{ ELanguage::German, "DATEIEN HINZUFÜGEN" },
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Button_AddFolder",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "ADD FOLDER" },
|
||||||
|
{ ELanguage::Spanish, "AÑADIR CARPETA" },
|
||||||
|
{ ELanguage::German, "ORDNER HINZUFÜGEN" },
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Message_InvalidFilesList",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "The following selected files are invalid:" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Message_InvalidFiles",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "Some of the files that have\nbeen provided are not valid.\n\nPlease make sure all the\nspecified files are correct\nand try again." }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Message_IncompatibleGameData",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "The specified game and\nupdate file are incompatible.\n\nPlease ensure the files are\nfor the same version and\nregion and try again." }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Message_DLCWarning",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "It is highly recommended\nthat you install all of the\nDLC, as it includes high\nquality lighting textures\nfor the base game.\n\nAre you sure you want to\nskip this step?" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Message_TitleMissingDLC",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "This will restart the game to\nallow you to install any DLC\nthat you are missing.\n\nInstalling DLC will improve the\nlighting quality across the game.\n\nWould you like to install missing\ncontent?" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Installer_Message_Title",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "This restarts the game to\nallow you to install any DLC\nthat you may be missing.\n\nYou are not currently\nmissing any DLC.\n\nWould you like to proceed\nanyway?" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Title_Message_Quit",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "Are you sure you want to quit?" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Common_On",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "ON" },
|
||||||
|
{ ELanguage::Japanese, "オン" },
|
||||||
|
{ ELanguage::German, "EIN" },
|
||||||
|
{ ELanguage::French, "OUI" },
|
||||||
|
{ ELanguage::Spanish, "SÍ" },
|
||||||
|
{ ELanguage::Italian, "SÌ" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Common_Off",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "OFF" },
|
||||||
|
{ ELanguage::Japanese, "オフ" },
|
||||||
|
{ ELanguage::German, "AUS" },
|
||||||
|
{ ELanguage::French, "NON" },
|
||||||
|
{ ELanguage::Spanish, "NO" },
|
||||||
|
{ ELanguage::Italian, "NO" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Common_Yes",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "Yes" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Common_No",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "No" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Common_Next",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "Next" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Common_Select",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "Select" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Common_Back",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "Back" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Common_Reset",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "Reset" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Common_Switch",
|
||||||
|
{
|
||||||
|
{ ELanguage::English, "Switch" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
std::string& Localise(const char* key)
|
||||||
|
{
|
||||||
|
if (!g_locale.count(key))
|
||||||
|
return g_localeMissing;
|
||||||
|
|
||||||
|
if (!g_locale[key].count(Config::Language))
|
||||||
|
{
|
||||||
|
if (g_locale[key].count(ELanguage::English))
|
||||||
|
{
|
||||||
|
return g_locale[key][ELanguage::English];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return g_localeMissing;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return g_locale[key][Config::Language];
|
||||||
|
}
|
||||||
|
|
@ -4,312 +4,6 @@
|
||||||
|
|
||||||
inline std::string g_localeMissing = "<missing string>";
|
inline std::string g_localeMissing = "<missing string>";
|
||||||
|
|
||||||
inline std::unordered_map<std::string, std::unordered_map<ELanguage, std::string>> g_locale
|
extern std::unordered_map<std::string, std::unordered_map<ELanguage, std::string>> g_locale;
|
||||||
{
|
|
||||||
{
|
|
||||||
"Options_Category_System",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "SYSTEM" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Options_Category_Input",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "INPUT" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Options_Category_Audio",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "AUDIO" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Options_Category_Video",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "VIDEO" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Options_Value_Max",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "MAX" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Options_Name_WindowSize",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "Window Size" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Options_Desc_WindowSize",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "Adjust the size of the game window in windowed mode." }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Options_Desc_NotAvailable",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "This option is not available at this location." }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Options_Desc_NotAvailableMSAA",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "This option is not available without MSAA." }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Options_Desc_OSNotSupported",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "This option is not supported by your operating system." }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Options_Message_Restart",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "The game will now restart." }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Achievements_Name",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "Achievements" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Achievements_Name_Uppercase",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "ACHIEVEMENTS" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Achievements_Unlock",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "Achievement Unlocked!" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Header_Installer",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "INSTALLER" },
|
|
||||||
{ ELanguage::Spanish, "INSTALADOR" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Header_Installing",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "INSTALLING" },
|
|
||||||
{ ELanguage::Spanish, "INSTALANDO" },
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Page_SelectLanguage",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "Please select a language." }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Page_Introduction",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "Welcome to Unleashed Recompiled!\n\nYou'll need an Xbox 360 copy\nof Sonic Unleashed in order to proceed with the installation." }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Page_SelectGameAndUpdate",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "Add the files for the game and its title update. You can use digital dumps or pre-extracted folders containing the necessary files." }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Page_SelectDLC",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "Add the files for the DLC. You can use digital dumps or pre-extracted folders containing the necessary files." }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Page_CheckSpace",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "The content will be installed to the program's folder. Please confirm you have enough free space.\n\n" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Page_Installing",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "Please wait while the content is being installed..." }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Page_InstallSucceeded",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "Installation complete.\n\nThis project is brought to you by:\n\n" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Page_InstallFailed",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "Installation failed.\n\nError:\n\n" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Step_Game",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "GAME" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Step_Update",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "UPDATE" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Step_RequiredSpace",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "Required space: %2.2f GiB" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Step_AvailableSpace",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "Available space: %2.2f GiB" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Button_Next",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "NEXT" },
|
|
||||||
{ ELanguage::Spanish, "SIGUIENTE" },
|
|
||||||
{ ELanguage::German, "WEITER" },
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Button_Skip",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "SKIP" },
|
|
||||||
{ ELanguage::Spanish, "SALTAR" },
|
|
||||||
{ ELanguage::German, "ÜBERSPRINGEN" },
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Button_AddFiles",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "ADD FILES" },
|
|
||||||
{ ELanguage::Spanish, "AÑADIR ARCHIVOS" },
|
|
||||||
{ ELanguage::German, "DATEIEN HINZUFÜGEN" },
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Button_AddFolder",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "ADD FOLDER" },
|
|
||||||
{ ELanguage::Spanish, "AÑADIR CARPETA" },
|
|
||||||
{ ELanguage::German, "ORDNER HINZUFÜGEN" },
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Message_InvalidFilesList",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "The following selected files are invalid:" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Message_InvalidFiles",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "Some of the files that have\nbeen provided are not valid.\n\nPlease make sure all the\nspecified files are correct\nand try again." }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Message_IncompatibleGameData",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "The specified game and\nupdate file are incompatible.\n\nPlease ensure the files are\nfor the same version and\nregion and try again." }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Message_DLCWarning",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "It is highly recommended\nthat you install all of the\nDLC, as it includes high\nquality lighting textures\nfor the base game.\n\nAre you sure you want to\nskip this step?" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Message_TitleMissingDLC",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "This will restart the game to\nallow you to install any DLC\nthat you are missing.\n\nInstalling DLC will improve the\nlighting quality across the game.\n\nWould you like to install missing\ncontent?" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Installer_Message_Title",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "This restarts the game to\nallow you to install any DLC\nthat you may be missing.\n\nYou are not currently\nmissing any DLC.\n\nWould you like to proceed\nanyway?" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Title_Message_Quit",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "Are you sure you want to quit?" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Common_Yes",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "Yes" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Common_No",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "No" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Common_Next",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "Next" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Common_Select",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "Select" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Common_Back",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "Back" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Common_Reset",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "Reset" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Common_Switch",
|
|
||||||
{
|
|
||||||
{ ELanguage::English, "Switch" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
inline std::string& Localise(const char* key)
|
std::string& Localise(const char* key);
|
||||||
{
|
|
||||||
if (!g_locale.count(key))
|
|
||||||
return g_localeMissing;
|
|
||||||
|
|
||||||
if (!g_locale[key].count(Config::Language))
|
|
||||||
{
|
|
||||||
if (g_locale[key].count(ELanguage::English))
|
|
||||||
{
|
|
||||||
return g_locale[key][ELanguage::English];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return g_localeMissing;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return g_locale[key][Config::Language];
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,26 @@ uint32_t m_lastCheckpointScore = 0;
|
||||||
float m_lastDarkGaiaEnergy = 0.0f;
|
float m_lastDarkGaiaEnergy = 0.0f;
|
||||||
bool m_isUnleashCancelled = false;
|
bool m_isUnleashCancelled = false;
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
|
||||||
|
|
@ -1105,6 +1105,7 @@ static void InstallerStart()
|
||||||
{
|
{
|
||||||
g_currentPage = WizardPage::Installing;
|
g_currentPage = WizardPage::Installing;
|
||||||
g_installerStartTime = ImGui::GetTime();
|
g_installerStartTime = ImGui::GetTime();
|
||||||
|
g_installerEndTime = DBL_MAX;
|
||||||
g_installerProgressRatioCurrent = 0.0f;
|
g_installerProgressRatioCurrent = 0.0f;
|
||||||
g_installerProgressRatioTarget = 0.0f;
|
g_installerProgressRatioTarget = 0.0f;
|
||||||
g_installerFailed = false;
|
g_installerFailed = false;
|
||||||
|
|
|
||||||
|
|
@ -809,6 +809,7 @@ static void DrawConfigOptions()
|
||||||
DrawConfigOption(rowCount++, yOffset, &Config::InvertCameraX, true);
|
DrawConfigOption(rowCount++, yOffset, &Config::InvertCameraX, true);
|
||||||
DrawConfigOption(rowCount++, yOffset, &Config::InvertCameraY, true);
|
DrawConfigOption(rowCount++, yOffset, &Config::InvertCameraY, 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;
|
||||||
case 2: // AUDIO
|
case 2: // AUDIO
|
||||||
|
|
@ -832,7 +833,7 @@ static void DrawConfigOptions()
|
||||||
DrawConfigOption(rowCount++, yOffset, &Config::ShadowResolution, true);
|
DrawConfigOption(rowCount++, yOffset, &Config::ShadowResolution, true);
|
||||||
DrawConfigOption(rowCount++, yOffset, &Config::GITextureFiltering, true);
|
DrawConfigOption(rowCount++, yOffset, &Config::GITextureFiltering, true);
|
||||||
DrawConfigOption(rowCount++, yOffset, &Config::MotionBlur, true);
|
DrawConfigOption(rowCount++, yOffset, &Config::MotionBlur, true);
|
||||||
DrawConfigOption(rowCount++, yOffset, &Config::XboxColourCorrection, true);
|
DrawConfigOption(rowCount++, yOffset, &Config::XboxColorCorrection, true);
|
||||||
DrawConfigOption(rowCount++, yOffset, &Config::MovieScaleMode, true);
|
DrawConfigOption(rowCount++, yOffset, &Config::MovieScaleMode, true);
|
||||||
DrawConfigOption(rowCount++, yOffset, &Config::UIScaleMode, true);
|
DrawConfigOption(rowCount++, yOffset, &Config::UIScaleMode, true);
|
||||||
break;
|
break;
|
||||||
|
|
@ -952,8 +953,10 @@ static void DrawInfoPanel()
|
||||||
if (g_selectedItem)
|
if (g_selectedItem)
|
||||||
{
|
{
|
||||||
auto desc = g_selectedItem->GetDescription();
|
auto desc = g_selectedItem->GetDescription();
|
||||||
|
auto thumbnail = GetThumbnail(g_selectedItem);
|
||||||
|
|
||||||
drawList->AddImage(GetThumbnail(g_selectedItem->GetName()), clipRectMin, thumbnailMax);
|
if (thumbnail)
|
||||||
|
drawList->AddImage(thumbnail, clipRectMin, thumbnailMax);
|
||||||
|
|
||||||
if (g_inaccessibleReason)
|
if (g_inaccessibleReason)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
181
UnleashedRecomp/ui/options_menu_thumbnails.cpp
Normal file
181
UnleashedRecomp/ui/options_menu_thumbnails.cpp
Normal file
|
|
@ -0,0 +1,181 @@
|
||||||
|
#include <ui/options_menu_thumbnails.h>
|
||||||
|
#include <decompressor.h>
|
||||||
|
|
||||||
|
// 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/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/aspect_ratio.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/battle_theme.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/brightness.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/control_tutorial.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/controller_icons.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/default.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/effects_volume.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/fps.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/fullscreen.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/gi_texture_filtering_bilinear.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/gi_texture_filtering_bicubic.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/hints.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/invert_camera_x.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/invert_camera_y.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/language.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/monitor.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/motion_blur_off.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/motion_blur_original.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/motion_blur_enhanced.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/movie_scale_mode.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/music_attenuation.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/music_volume.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/resolution_scale.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/shadow_resolution_original.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/shadow_resolution_x512.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/shadow_resolution_x1024.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/shadow_resolution_x2048.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/shadow_resolution_x4096.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/shadow_resolution_x8192.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/subtitles.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/time_of_day_transition_xbox.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/time_of_day_transition_playstation.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/transparency_antialiasing_false.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/transparency_antialiasing_true.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/ui_scale_mode.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/voice_language.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/vsync.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/window_size.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/xbox_color_correction_false.dds.h>
|
||||||
|
#include <res/images/options_menu/thumbnails/xbox_color_correction_true.dds.h>
|
||||||
|
|
||||||
|
#define VALUE_THUMBNAIL_MAP(type) std::unordered_map<type, std::unique_ptr<GuestTexture>>
|
||||||
|
|
||||||
|
static std::unordered_map<std::string_view, std::unique_ptr<GuestTexture>> g_namedThumbnails;
|
||||||
|
static std::unordered_map<const IConfigDef*, std::unique_ptr<GuestTexture>> g_configThumbnails;
|
||||||
|
|
||||||
|
static VALUE_THUMBNAIL_MAP(ETimeOfDayTransition) g_timeOfDayTransitionThumbnails;
|
||||||
|
static VALUE_THUMBNAIL_MAP(bool) g_transparencyAntiAliasingThumbnails;
|
||||||
|
static VALUE_THUMBNAIL_MAP(EShadowResolution) g_shadowResolutionThumbnails;
|
||||||
|
static VALUE_THUMBNAIL_MAP(EGITextureFiltering) g_giTextureFilteringThumbnails;
|
||||||
|
static VALUE_THUMBNAIL_MAP(EMotionBlur) g_motionBlurThumbnails;
|
||||||
|
static VALUE_THUMBNAIL_MAP(bool) g_xboxColorCorrectionThumbnails;
|
||||||
|
|
||||||
|
void LoadThumbnails()
|
||||||
|
{
|
||||||
|
g_namedThumbnails["Default"] = LOAD_ZSTD_TEXTURE(g_default);
|
||||||
|
g_namedThumbnails["WindowSize"] = LOAD_ZSTD_TEXTURE(g_window_size);
|
||||||
|
|
||||||
|
g_configThumbnails[&Config::Language] = LOAD_ZSTD_TEXTURE(g_language);
|
||||||
|
g_configThumbnails[&Config::Hints] = LOAD_ZSTD_TEXTURE(g_hints);
|
||||||
|
g_configThumbnails[&Config::ControlTutorial] = LOAD_ZSTD_TEXTURE(g_control_tutorial);
|
||||||
|
g_configThumbnails[&Config::AchievementNotifications] = LOAD_ZSTD_TEXTURE(g_achievement_notifications);
|
||||||
|
|
||||||
|
g_timeOfDayTransitionThumbnails[ETimeOfDayTransition::Xbox] = LOAD_ZSTD_TEXTURE(g_time_of_day_transition_xbox);
|
||||||
|
g_timeOfDayTransitionThumbnails[ETimeOfDayTransition::PlayStation] = LOAD_ZSTD_TEXTURE(g_time_of_day_transition_playstation);
|
||||||
|
|
||||||
|
g_configThumbnails[&Config::InvertCameraX] = LOAD_ZSTD_TEXTURE(g_invert_camera_x);
|
||||||
|
g_configThumbnails[&Config::InvertCameraY] = LOAD_ZSTD_TEXTURE(g_invert_camera_y);
|
||||||
|
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::MusicVolume] = LOAD_ZSTD_TEXTURE(g_music_volume);
|
||||||
|
g_configThumbnails[&Config::EffectsVolume] = LOAD_ZSTD_TEXTURE(g_effects_volume);
|
||||||
|
g_configThumbnails[&Config::VoiceLanguage] = LOAD_ZSTD_TEXTURE(g_voice_language);
|
||||||
|
g_configThumbnails[&Config::Subtitles] = LOAD_ZSTD_TEXTURE(g_subtitles);
|
||||||
|
g_configThumbnails[&Config::MusicAttenuation] = LOAD_ZSTD_TEXTURE(g_music_attenuation);
|
||||||
|
g_configThumbnails[&Config::BattleTheme] = LOAD_ZSTD_TEXTURE(g_battle_theme);
|
||||||
|
g_configThumbnails[&Config::Monitor] = LOAD_ZSTD_TEXTURE(g_monitor);
|
||||||
|
g_configThumbnails[&Config::AspectRatio] = LOAD_ZSTD_TEXTURE(g_aspect_ratio);
|
||||||
|
g_configThumbnails[&Config::ResolutionScale] = LOAD_ZSTD_TEXTURE(g_resolution_scale);
|
||||||
|
g_configThumbnails[&Config::Fullscreen] = LOAD_ZSTD_TEXTURE(g_fullscreen);
|
||||||
|
g_configThumbnails[&Config::VSync] = LOAD_ZSTD_TEXTURE(g_vsync);
|
||||||
|
g_configThumbnails[&Config::FPS] = LOAD_ZSTD_TEXTURE(g_fps);
|
||||||
|
g_configThumbnails[&Config::Brightness] = LOAD_ZSTD_TEXTURE(g_brightness);
|
||||||
|
g_configThumbnails[&Config::AntiAliasing] = LOAD_ZSTD_TEXTURE(g_antialiasing);
|
||||||
|
|
||||||
|
g_transparencyAntiAliasingThumbnails[false] = LOAD_ZSTD_TEXTURE(g_transparency_antialiasing_false);
|
||||||
|
g_transparencyAntiAliasingThumbnails[true] = LOAD_ZSTD_TEXTURE(g_transparency_antialiasing_true);
|
||||||
|
|
||||||
|
g_shadowResolutionThumbnails[EShadowResolution::Original] = LOAD_ZSTD_TEXTURE(g_shadow_resolution_original);
|
||||||
|
g_shadowResolutionThumbnails[EShadowResolution::x512] = LOAD_ZSTD_TEXTURE(g_shadow_resolution_x512);
|
||||||
|
g_shadowResolutionThumbnails[EShadowResolution::x1024] = LOAD_ZSTD_TEXTURE(g_shadow_resolution_x1024);
|
||||||
|
g_shadowResolutionThumbnails[EShadowResolution::x2048] = LOAD_ZSTD_TEXTURE(g_shadow_resolution_x2048);
|
||||||
|
g_shadowResolutionThumbnails[EShadowResolution::x4096] = LOAD_ZSTD_TEXTURE(g_shadow_resolution_x4096);
|
||||||
|
g_shadowResolutionThumbnails[EShadowResolution::x8192] = LOAD_ZSTD_TEXTURE(g_shadow_resolution_x8192);
|
||||||
|
|
||||||
|
g_giTextureFilteringThumbnails[EGITextureFiltering::Bilinear] = LOAD_ZSTD_TEXTURE(g_gi_texture_filtering_bilinear);
|
||||||
|
g_giTextureFilteringThumbnails[EGITextureFiltering::Bicubic] = LOAD_ZSTD_TEXTURE(g_gi_texture_filtering_bicubic);
|
||||||
|
|
||||||
|
g_motionBlurThumbnails[EMotionBlur::Off] = LOAD_ZSTD_TEXTURE(g_motion_blur_off);
|
||||||
|
g_motionBlurThumbnails[EMotionBlur::Original] = LOAD_ZSTD_TEXTURE(g_motion_blur_original);
|
||||||
|
g_motionBlurThumbnails[EMotionBlur::Enhanced] = LOAD_ZSTD_TEXTURE(g_motion_blur_enhanced);
|
||||||
|
|
||||||
|
g_xboxColorCorrectionThumbnails[false] = LOAD_ZSTD_TEXTURE(g_xbox_color_correction_false);
|
||||||
|
g_xboxColorCorrectionThumbnails[true] = LOAD_ZSTD_TEXTURE(g_xbox_color_correction_true);
|
||||||
|
|
||||||
|
g_configThumbnails[&Config::MovieScaleMode] = LOAD_ZSTD_TEXTURE(g_movie_scale_mode);
|
||||||
|
g_configThumbnails[&Config::UIScaleMode] = LOAD_ZSTD_TEXTURE(g_ui_scale_mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
bool TryGetValueThumbnail(const IConfigDef* cfg, VALUE_THUMBNAIL_MAP(T)* thumbnails, GuestTexture** texture)
|
||||||
|
{
|
||||||
|
if (!texture)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (!cfg->GetValue())
|
||||||
|
return false;
|
||||||
|
|
||||||
|
auto result = thumbnails->at(*(T*)cfg->GetValue()).get();
|
||||||
|
|
||||||
|
if (!result)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
*texture = result;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
GuestTexture* GetThumbnail(const std::string_view name)
|
||||||
|
{
|
||||||
|
if (!g_namedThumbnails.count(name))
|
||||||
|
return g_namedThumbnails["Default"].get();
|
||||||
|
|
||||||
|
return g_namedThumbnails[name].get();
|
||||||
|
}
|
||||||
|
|
||||||
|
GuestTexture* GetThumbnail(const IConfigDef* cfg)
|
||||||
|
{
|
||||||
|
if (!g_configThumbnails.count(cfg))
|
||||||
|
{
|
||||||
|
auto texture = g_namedThumbnails["Default"].get();
|
||||||
|
|
||||||
|
if (cfg == &Config::TimeOfDayTransition)
|
||||||
|
{
|
||||||
|
TryGetValueThumbnail<ETimeOfDayTransition>(cfg, &g_timeOfDayTransitionThumbnails, &texture);
|
||||||
|
}
|
||||||
|
else if (cfg == &Config::TransparencyAntiAliasing)
|
||||||
|
{
|
||||||
|
TryGetValueThumbnail<bool>(cfg, &g_transparencyAntiAliasingThumbnails, &texture);
|
||||||
|
}
|
||||||
|
else if (cfg == &Config::ShadowResolution)
|
||||||
|
{
|
||||||
|
TryGetValueThumbnail<EShadowResolution>(cfg, &g_shadowResolutionThumbnails, &texture);
|
||||||
|
}
|
||||||
|
else if (cfg == &Config::GITextureFiltering)
|
||||||
|
{
|
||||||
|
TryGetValueThumbnail<EGITextureFiltering>(cfg, &g_giTextureFilteringThumbnails, &texture);
|
||||||
|
}
|
||||||
|
else if (cfg == &Config::MotionBlur)
|
||||||
|
{
|
||||||
|
TryGetValueThumbnail<EMotionBlur>(cfg, &g_motionBlurThumbnails, &texture);
|
||||||
|
}
|
||||||
|
else if (cfg == &Config::XboxColorCorrection)
|
||||||
|
{
|
||||||
|
TryGetValueThumbnail<bool>(cfg, &g_xboxColorCorrectionThumbnails, &texture);
|
||||||
|
}
|
||||||
|
|
||||||
|
return texture;
|
||||||
|
}
|
||||||
|
|
||||||
|
return g_configThumbnails[cfg].get();
|
||||||
|
}
|
||||||
|
|
@ -2,81 +2,8 @@
|
||||||
|
|
||||||
#include <gpu/video.h>
|
#include <gpu/video.h>
|
||||||
#include <user/config.h>
|
#include <user/config.h>
|
||||||
#include <decompressor.h>
|
|
||||||
|
|
||||||
#include <res/images/options_menu/thumbnails/achievement_notifications.dds.h>
|
void LoadThumbnails();
|
||||||
#include <res/images/options_menu/thumbnails/allow_background_input.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/battle_theme.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/brightness.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/control_tutorial.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/controller_icons.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/effects_volume.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/fps.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/fullscreen.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/gi_texture_filtering.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/hints.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/invert_camera_x.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/invert_camera_y.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/language.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/monitor.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/motion_blur.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/movie_scale_mode.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/music_attenuation.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/music_volume.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/resolution_scale.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/shadow_resolution.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/subtitles.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/time_of_day_transition.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/transparency_antialiasing.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/ui_scale_mode.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/voice_language.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/vsync.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/window_size.dds.h>
|
|
||||||
#include <res/images/options_menu/thumbnails/xbox_color_correction.dds.h>
|
|
||||||
|
|
||||||
inline std::unordered_map<std::string_view, std::unique_ptr<GuestTexture>> g_thumbnails;
|
GuestTexture* GetThumbnail(const std::string_view name);
|
||||||
|
GuestTexture* GetThumbnail(const IConfigDef* cfg);
|
||||||
inline void LoadThumbnails()
|
|
||||||
{
|
|
||||||
g_thumbnails[Config::Language.Name] = LOAD_ZSTD_TEXTURE(g_language);
|
|
||||||
g_thumbnails[Config::Hints.Name] = LOAD_ZSTD_TEXTURE(g_hints);
|
|
||||||
g_thumbnails[Config::ControlTutorial.Name] = LOAD_ZSTD_TEXTURE(g_control_tutorial);
|
|
||||||
g_thumbnails[Config::AchievementNotifications.Name] = LOAD_ZSTD_TEXTURE(g_achievement_notifications);
|
|
||||||
g_thumbnails[Config::TimeOfDayTransition.Name] = LOAD_ZSTD_TEXTURE(g_time_of_day_transition);
|
|
||||||
g_thumbnails[Config::InvertCameraX.Name] = LOAD_ZSTD_TEXTURE(g_invert_camera_x);
|
|
||||||
g_thumbnails[Config::InvertCameraY.Name] = LOAD_ZSTD_TEXTURE(g_invert_camera_y);
|
|
||||||
g_thumbnails[Config::AllowBackgroundInput.Name] = LOAD_ZSTD_TEXTURE(g_allow_background_input);
|
|
||||||
g_thumbnails[Config::ControllerIcons.Name] = LOAD_ZSTD_TEXTURE(g_controller_icons);
|
|
||||||
g_thumbnails[Config::MusicVolume.Name] = LOAD_ZSTD_TEXTURE(g_music_volume);
|
|
||||||
g_thumbnails[Config::EffectsVolume.Name] = LOAD_ZSTD_TEXTURE(g_effects_volume);
|
|
||||||
g_thumbnails[Config::VoiceLanguage.Name] = LOAD_ZSTD_TEXTURE(g_voice_language);
|
|
||||||
g_thumbnails[Config::Subtitles.Name] = LOAD_ZSTD_TEXTURE(g_subtitles);
|
|
||||||
g_thumbnails[Config::MusicAttenuation.Name] = LOAD_ZSTD_TEXTURE(g_music_attenuation);
|
|
||||||
g_thumbnails[Config::BattleTheme.Name] = LOAD_ZSTD_TEXTURE(g_battle_theme);
|
|
||||||
g_thumbnails["WindowSize"] = LOAD_ZSTD_TEXTURE(g_window_size);
|
|
||||||
g_thumbnails["Monitor"] = LOAD_ZSTD_TEXTURE(g_monitor);
|
|
||||||
g_thumbnails[Config::AspectRatio.Name] = LOAD_ZSTD_TEXTURE(g_aspect_ratio);
|
|
||||||
g_thumbnails[Config::ResolutionScale.Name] = LOAD_ZSTD_TEXTURE(g_resolution_scale);
|
|
||||||
g_thumbnails[Config::Fullscreen.Name] = LOAD_ZSTD_TEXTURE(g_fullscreen);
|
|
||||||
g_thumbnails[Config::VSync.Name] = LOAD_ZSTD_TEXTURE(g_vsync);
|
|
||||||
g_thumbnails[Config::FPS.Name] = LOAD_ZSTD_TEXTURE(g_fps);
|
|
||||||
g_thumbnails[Config::Brightness.Name] = LOAD_ZSTD_TEXTURE(g_brightness);
|
|
||||||
g_thumbnails[Config::AntiAliasing.Name] = LOAD_ZSTD_TEXTURE(g_antialiasing);
|
|
||||||
g_thumbnails[Config::TransparencyAntiAliasing.Name] = LOAD_ZSTD_TEXTURE(g_transparency_antialiasing);
|
|
||||||
g_thumbnails[Config::ShadowResolution.Name] = LOAD_ZSTD_TEXTURE(g_shadow_resolution);
|
|
||||||
g_thumbnails[Config::GITextureFiltering.Name] = LOAD_ZSTD_TEXTURE(g_gi_texture_filtering);
|
|
||||||
g_thumbnails[Config::MotionBlur.Name] = LOAD_ZSTD_TEXTURE(g_motion_blur);
|
|
||||||
g_thumbnails[Config::XboxColourCorrection.Name] = LOAD_ZSTD_TEXTURE(g_xbox_color_correction);
|
|
||||||
g_thumbnails[Config::MovieScaleMode.Name] = LOAD_ZSTD_TEXTURE(g_movie_scale_mode);
|
|
||||||
g_thumbnails[Config::UIScaleMode.Name] = LOAD_ZSTD_TEXTURE(g_ui_scale_mode);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline GuestTexture* GetThumbnail(const std::string_view name)
|
|
||||||
{
|
|
||||||
if (!g_thumbnails.count(name))
|
|
||||||
return nullptr;
|
|
||||||
|
|
||||||
return g_thumbnails[name].get();
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <user/config_detail.h>
|
#include <user/config_detail.h>
|
||||||
#include <locale/config_locale.h>
|
|
||||||
#include <user/paths.h>
|
#include <user/paths.h>
|
||||||
#include <exports.h>
|
#include <exports.h>
|
||||||
|
|
||||||
|
|
@ -19,6 +18,7 @@ public:
|
||||||
CONFIG_DEFINE_LOCALISED("Input", bool, InvertCameraX, false);
|
CONFIG_DEFINE_LOCALISED("Input", bool, InvertCameraX, false);
|
||||||
CONFIG_DEFINE_LOCALISED("Input", bool, InvertCameraY, false);
|
CONFIG_DEFINE_LOCALISED("Input", bool, InvertCameraY, false);
|
||||||
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, MusicVolume, 1.0f);
|
CONFIG_DEFINE_LOCALISED("Audio", float, MusicVolume, 1.0f);
|
||||||
|
|
@ -39,6 +39,7 @@ public:
|
||||||
CONFIG_DEFINE("Video", int32_t, WindowWidth, 1280);
|
CONFIG_DEFINE("Video", int32_t, WindowWidth, 1280);
|
||||||
CONFIG_DEFINE("Video", int32_t, WindowHeight, 720);
|
CONFIG_DEFINE("Video", int32_t, WindowHeight, 720);
|
||||||
CONFIG_DEFINE_ENUM("Video", EWindowState, WindowState, EWindowState::Normal);
|
CONFIG_DEFINE_ENUM("Video", EWindowState, WindowState, EWindowState::Normal);
|
||||||
|
CONFIG_DEFINE_LOCALISED("Video", size_t, Monitor, 0);
|
||||||
CONFIG_DEFINE_ENUM_LOCALISED("Video", EAspectRatio, AspectRatio, EAspectRatio::Auto);
|
CONFIG_DEFINE_ENUM_LOCALISED("Video", EAspectRatio, AspectRatio, EAspectRatio::Auto);
|
||||||
|
|
||||||
CONFIG_DEFINE_CALLBACK("Video", float, ResolutionScale, 1.0f,
|
CONFIG_DEFINE_CALLBACK("Video", float, ResolutionScale, 1.0f,
|
||||||
|
|
@ -65,7 +66,7 @@ public:
|
||||||
CONFIG_DEFINE_ENUM_LOCALISED("Video", EGITextureFiltering, GITextureFiltering, EGITextureFiltering::Bicubic);
|
CONFIG_DEFINE_ENUM_LOCALISED("Video", EGITextureFiltering, GITextureFiltering, EGITextureFiltering::Bicubic);
|
||||||
CONFIG_DEFINE_ENUM("Video", EDepthOfFieldQuality, DepthOfFieldQuality, EDepthOfFieldQuality::Auto);
|
CONFIG_DEFINE_ENUM("Video", EDepthOfFieldQuality, DepthOfFieldQuality, EDepthOfFieldQuality::Auto);
|
||||||
CONFIG_DEFINE_ENUM_LOCALISED("Video", EMotionBlur, MotionBlur, EMotionBlur::Original);
|
CONFIG_DEFINE_ENUM_LOCALISED("Video", EMotionBlur, MotionBlur, EMotionBlur::Original);
|
||||||
CONFIG_DEFINE_LOCALISED("Video", bool, XboxColourCorrection, false);
|
CONFIG_DEFINE_LOCALISED("Video", bool, XboxColorCorrection, false);
|
||||||
CONFIG_DEFINE_ENUM_LOCALISED("Video", EMovieScaleMode, MovieScaleMode, EMovieScaleMode::Fit);
|
CONFIG_DEFINE_ENUM_LOCALISED("Video", EMovieScaleMode, MovieScaleMode, EMovieScaleMode::Fit);
|
||||||
CONFIG_DEFINE_ENUM_LOCALISED("Video", EUIScaleMode, UIScaleMode, EUIScaleMode::Edge);
|
CONFIG_DEFINE_ENUM_LOCALISED("Video", EUIScaleMode, UIScaleMode, EUIScaleMode::Edge);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "config_detail.h"
|
#include "config_detail.h"
|
||||||
|
#include <locale/locale.h>
|
||||||
|
|
||||||
// CONFIG_DEFINE
|
// CONFIG_DEFINE
|
||||||
template<typename T>
|
template<typename T>
|
||||||
|
|
@ -100,7 +101,9 @@ std::string ConfigDef<T>::GetValueLocalised() const
|
||||||
}
|
}
|
||||||
else if constexpr (std::is_same_v<T, bool>)
|
else if constexpr (std::is_same_v<T, bool>)
|
||||||
{
|
{
|
||||||
locale = &g_bool_locale;
|
return Value
|
||||||
|
? Localise("Common_On")
|
||||||
|
: Localise("Common_Off");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!locale)
|
if (!locale)
|
||||||
|
|
@ -138,7 +141,7 @@ std::string ConfigDef<T>::GetValueDescription() const
|
||||||
}
|
}
|
||||||
else if constexpr (std::is_same_v<T, bool>)
|
else if constexpr (std::is_same_v<T, bool>)
|
||||||
{
|
{
|
||||||
locale = &g_bool_locale;
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!locale)
|
if (!locale)
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,30 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#define CONFIG_LOCALE std::unordered_map<ELanguage, std::tuple<std::string, std::string>>
|
||||||
|
#define CONFIG_ENUM_LOCALE(type) std::unordered_map<ELanguage, std::unordered_map<type, std::tuple<std::string, std::string>>>
|
||||||
|
|
||||||
#define CONFIG_DEFINE(section, type, name, defaultValue) \
|
#define CONFIG_DEFINE(section, type, name, defaultValue) \
|
||||||
static inline ConfigDef<type> name{section, #name, defaultValue};
|
static inline ConfigDef<type> name{section, #name, defaultValue};
|
||||||
|
|
||||||
#define CONFIG_DEFINE_LOCALISED(section, type, name, defaultValue) \
|
#define CONFIG_DEFINE_LOCALISED(section, type, name, defaultValue) \
|
||||||
|
static CONFIG_LOCALE g_##name##_locale; \
|
||||||
static inline ConfigDef<type> name{section, #name, &g_##name##_locale, defaultValue};
|
static inline ConfigDef<type> name{section, #name, &g_##name##_locale, defaultValue};
|
||||||
|
|
||||||
#define CONFIG_DEFINE_ENUM(section, type, name, defaultValue) \
|
#define CONFIG_DEFINE_ENUM(section, type, name, defaultValue) \
|
||||||
static inline ConfigDef<type> name{section, #name, defaultValue, &g_##type##_template};
|
static inline ConfigDef<type> name{section, #name, defaultValue, &g_##type##_template};
|
||||||
|
|
||||||
#define CONFIG_DEFINE_ENUM_LOCALISED(section, type, name, defaultValue) \
|
#define CONFIG_DEFINE_ENUM_LOCALISED(section, type, name, defaultValue) \
|
||||||
|
static CONFIG_LOCALE g_##name##_locale; \
|
||||||
|
static CONFIG_ENUM_LOCALE(type) g_##type##_locale; \
|
||||||
static inline ConfigDef<type> name{section, #name, &g_##name##_locale, defaultValue, &g_##type##_template, &g_##type##_locale};
|
static inline ConfigDef<type> name{section, #name, &g_##name##_locale, defaultValue, &g_##type##_template, &g_##type##_locale};
|
||||||
|
|
||||||
#define CONFIG_DEFINE_CALLBACK(section, type, name, defaultValue, readCallback) \
|
#define CONFIG_DEFINE_CALLBACK(section, type, name, defaultValue, readCallback) \
|
||||||
|
static CONFIG_LOCALE g_##name##_locale; \
|
||||||
static inline ConfigDef<type> name{section, #name, defaultValue, [](ConfigDef<type>* def) readCallback};
|
static inline ConfigDef<type> name{section, #name, defaultValue, [](ConfigDef<type>* def) readCallback};
|
||||||
|
|
||||||
#define CONFIG_DEFINE_ENUM_TEMPLATE(type) \
|
#define CONFIG_DEFINE_ENUM_TEMPLATE(type) \
|
||||||
inline std::unordered_map<std::string, type> g_##type##_template =
|
inline std::unordered_map<std::string, type> g_##type##_template =
|
||||||
|
|
||||||
#define CONFIG_LOCALE std::unordered_map<ELanguage, std::tuple<std::string, std::string>>
|
|
||||||
#define CONFIG_ENUM_LOCALE(type) std::unordered_map<ELanguage, std::unordered_map<type, std::tuple<std::string, std::string>>>
|
|
||||||
|
|
||||||
#define WINDOWPOS_CENTRED 0x2FFF0000
|
#define WINDOWPOS_CENTRED 0x2FFF0000
|
||||||
|
|
||||||
enum class ELanguage : uint32_t
|
enum class ELanguage : uint32_t
|
||||||
|
|
@ -76,8 +80,8 @@ enum class EControllerIcons : uint32_t
|
||||||
|
|
||||||
CONFIG_DEFINE_ENUM_TEMPLATE(EControllerIcons)
|
CONFIG_DEFINE_ENUM_TEMPLATE(EControllerIcons)
|
||||||
{
|
{
|
||||||
{ "Auto", EControllerIcons::Auto },
|
{ "Auto", EControllerIcons::Auto },
|
||||||
{ "Xbox", EControllerIcons::Xbox },
|
{ "Xbox", EControllerIcons::Xbox },
|
||||||
{ "PlayStation", EControllerIcons::PlayStation }
|
{ "PlayStation", EControllerIcons::PlayStation }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -146,8 +150,8 @@ enum class ETripleBuffering : uint32_t
|
||||||
CONFIG_DEFINE_ENUM_TEMPLATE(ETripleBuffering)
|
CONFIG_DEFINE_ENUM_TEMPLATE(ETripleBuffering)
|
||||||
{
|
{
|
||||||
{ "Auto", ETripleBuffering::Auto },
|
{ "Auto", ETripleBuffering::Auto },
|
||||||
{ "On", ETripleBuffering::On },
|
{ "On", ETripleBuffering::On },
|
||||||
{ "Off", ETripleBuffering::Off }
|
{ "Off", ETripleBuffering::Off }
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class EAntiAliasing : uint32_t
|
enum class EAntiAliasing : uint32_t
|
||||||
|
|
|
||||||
|
|
@ -564,3 +564,27 @@ jump_address = 0x82585480
|
||||||
[[midasm_hook]]
|
[[midasm_hook]]
|
||||||
name = "LoadingScreenControllerMidAsmHook"
|
name = "LoadingScreenControllerMidAsmHook"
|
||||||
address = 0x824DC9D4
|
address = 0x824DC9D4
|
||||||
|
|
||||||
|
# CPlayerSpeedPostureInputOnPath
|
||||||
|
[[midasm_hook]]
|
||||||
|
name = "PostureDPadSupportMidAsmHook"
|
||||||
|
address = 0x8234F174
|
||||||
|
registers = ["r3"]
|
||||||
|
|
||||||
|
# CPlayerSpeedPostureInputOnPathLocal
|
||||||
|
[[midasm_hook]]
|
||||||
|
name = "PostureDPadSupportMidAsmHook"
|
||||||
|
address = 0x8234F518
|
||||||
|
registers = ["r3"]
|
||||||
|
|
||||||
|
# CPlayerSpeedPostureInput3DStandard
|
||||||
|
[[midasm_hook]]
|
||||||
|
name = "PostureDPadSupportMidAsmHook"
|
||||||
|
address = 0x8234EEC8
|
||||||
|
registers = ["r3"]
|
||||||
|
|
||||||
|
# CEvilPostureInputStandard
|
||||||
|
[[midasm_hook]]
|
||||||
|
name = "PostureDPadSupportMidAsmHook"
|
||||||
|
address = 0x823CDA2C
|
||||||
|
registers = ["r3"]
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
Subproject commit 7179a84509ac565edd07bddeee131fb229e0e99f
|
Subproject commit a9f556b4435cd7217411219dea23760624266ef2
|
||||||
Loading…
Add table
Reference in a new issue