mirror of
https://github.com/thejerf/baijiSteamVR.git
synced 2026-10-18 03:01:53 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
85c4266b29 | ||
|
|
a7885b3c71 | ||
|
|
6575095298 | ||
|
|
c28b2ba0f8 | ||
|
|
ca5e69a427 | ||
|
|
06fc90a0bf | ||
|
|
e94d5122cb | ||
|
|
3ddf87e56e | ||
|
|
05d91da8bf | ||
|
|
b38bebb869 | ||
|
|
0b3f728999 | ||
|
|
1d807900ff | ||
|
|
39b0718a3c | ||
|
|
56261dca10 | ||
|
|
c42e41c88e | ||
|
|
6814e0b955 | ||
|
|
a39dce8432 | ||
|
|
5a01a4a673 | ||
|
|
655b65af7a | ||
|
|
a409877f3d | ||
|
|
6ff81b072f | ||
|
|
a5f7dd1084 | ||
|
|
d85e292b12 | ||
|
|
f3d3975fe2 | ||
|
|
b4796daa35 | ||
|
|
fc00505bab | ||
|
|
095656b05b | ||
|
|
f4c435dc3b | ||
|
|
a72e99fd4b | ||
|
|
ba2baf3a52 | ||
|
|
e9da12534f | ||
|
|
d52a468f14 | ||
|
|
3f7bab1a03 | ||
|
|
e963819d00 | ||
|
|
8a6747efdd | ||
|
|
1793f16d6d | ||
|
|
5f651538d3 | ||
|
|
a5d08016a4 | ||
|
|
eca3105a0b | ||
|
|
8aa116d0e2 | ||
|
|
e7662f3c8b | ||
|
|
7ba102775f | ||
|
|
d94a5a0cfe | ||
|
|
2aa5f3b2ca | ||
|
|
b44ac1f850 | ||
|
|
405f30d211 | ||
|
|
e77555d766 | ||
|
|
4825e49442 | ||
|
|
63a8bf0714 | ||
|
|
d5466347e8 | ||
|
|
a77f7c85d3 | ||
|
|
e61053a0ba | ||
|
|
053caf07ce | ||
|
|
cad9760185 | ||
|
|
dbafa8bdf4 | ||
|
|
a4a4eec869 | ||
|
|
3bfa9ad3ec | ||
|
|
490695d83f | ||
|
|
19d89d4ba0 | ||
|
|
493b440411 | ||
|
|
7ad9950f70 | ||
|
|
1db9a150c7 | ||
|
|
ff556da459 | ||
|
|
ed0f0d5beb | ||
|
|
2ba044173d | ||
|
|
90274522bf | ||
|
|
2e40b8337b | ||
|
|
f3850f13a5 | ||
|
|
f97441c943 | ||
|
|
cb29dca54f | ||
|
|
b5c0d83c96 | ||
|
|
f500c46df1 | ||
|
|
758d2915e4 | ||
|
|
d752744646 | ||
|
|
aade5408f1 | ||
|
|
528a4f0a50 | ||
|
|
38b8ac85b6 | ||
|
|
6417d5ab79 | ||
|
|
74181b5ea2 | ||
|
|
102605f2da | ||
|
|
d9565464a9 | ||
|
|
04538b0724 | ||
|
|
bc7a7dbe67 | ||
|
|
a5e3bbf159 | ||
|
|
f7abfcd745 | ||
|
|
8be828f64d | ||
|
|
44e1fef3ad | ||
|
|
fc43c99159 | ||
|
|
7bfd649cca | ||
|
|
64f2644f95 | ||
|
|
7fe1f88e36 | ||
|
|
0bfc92ee6d | ||
|
|
ec0211452b |
No files matched your search
+122
-118
@@ -1,118 +1,6 @@
|
||||
[submodule "Externals/Qt"]
|
||||
path = Externals/Qt
|
||||
url = https://github.com/dolphin-emu/ext-win-qt.git
|
||||
shallow = true
|
||||
[submodule "Externals/mGBA/mgba"]
|
||||
path = Externals/mGBA/mgba
|
||||
url = https://github.com/mgba-emu/mgba.git
|
||||
shallow = true
|
||||
[submodule "Externals/FFmpeg-bin"]
|
||||
path = Externals/FFmpeg-bin
|
||||
url = https://github.com/dolphin-emu/ext-win-ffmpeg.git
|
||||
shallow = true
|
||||
[submodule "libusb"]
|
||||
path = Externals/libusb/libusb
|
||||
url = https://github.com/libusb/libusb.git
|
||||
shallow = true
|
||||
[submodule "Externals/spirv_cross/SPIRV-Cross"]
|
||||
path = Externals/spirv_cross/SPIRV-Cross
|
||||
url = https://github.com/KhronosGroup/SPIRV-Cross.git
|
||||
shallow = true
|
||||
[submodule "SDL"]
|
||||
path = Externals/SDL/SDL
|
||||
url = https://github.com/libsdl-org/SDL.git
|
||||
shallow = true
|
||||
[submodule "Externals/zlib-ng/zlib-ng"]
|
||||
path = Externals/zlib-ng/zlib-ng
|
||||
url = https://github.com/zlib-ng/zlib-ng.git
|
||||
shallow = true
|
||||
[submodule "Externals/libspng/libspng"]
|
||||
path = Externals/libspng/libspng
|
||||
url = https://github.com/randy408/libspng.git
|
||||
shallow = true
|
||||
[submodule "Externals/VulkanMemoryAllocator"]
|
||||
path = Externals/VulkanMemoryAllocator
|
||||
url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
|
||||
shallow = true
|
||||
[submodule "Externals/cubeb/cubeb"]
|
||||
path = Externals/cubeb/cubeb
|
||||
url = https://github.com/mozilla/cubeb.git
|
||||
shallow = true
|
||||
[submodule "Externals/implot/implot"]
|
||||
path = Externals/implot/implot
|
||||
url = https://github.com/epezent/implot.git
|
||||
shallow = true
|
||||
[submodule "Externals/gtest"]
|
||||
path = Externals/gtest
|
||||
url = https://github.com/google/googletest.git
|
||||
shallow = true
|
||||
[submodule "Externals/rcheevos/rcheevos"]
|
||||
path = Externals/rcheevos/rcheevos
|
||||
url = https://github.com/RetroAchievements/rcheevos.git
|
||||
shallow = true
|
||||
[submodule "Externals/libadrenotools"]
|
||||
path = Externals/libadrenotools
|
||||
url = https://github.com/bylaws/libadrenotools.git
|
||||
shallow = true
|
||||
[submodule "Externals/curl/curl"]
|
||||
path = Externals/curl/curl
|
||||
url = https://github.com/curl/curl.git
|
||||
shallow = true
|
||||
[submodule "Externals/fmt/fmt"]
|
||||
path = Externals/fmt/fmt
|
||||
url = https://github.com/fmtlib/fmt.git
|
||||
shallow = true
|
||||
[submodule "Externals/lz4/lz4"]
|
||||
path = Externals/lz4/lz4
|
||||
url = https://github.com/lz4/lz4.git
|
||||
shallow = true
|
||||
[submodule "Externals/xxhash/xxHash"]
|
||||
path = Externals/xxhash/xxHash
|
||||
url = https://github.com/Cyan4973/xxHash.git
|
||||
shallow = true
|
||||
[submodule "Externals/enet/enet"]
|
||||
path = Externals/enet/enet
|
||||
url = https://github.com/lsalzman/enet.git
|
||||
shallow = true
|
||||
[submodule "hidapi-src"]
|
||||
path = Externals/hidapi/hidapi-src
|
||||
url = https://github.com/libusb/hidapi.git
|
||||
shallow = true
|
||||
[submodule "Externals/tinygltf/tinygltf"]
|
||||
path = Externals/tinygltf/tinygltf
|
||||
url = https://github.com/syoyo/tinygltf.git
|
||||
shallow = true
|
||||
[submodule "Externals/minizip-ng/minizip-ng"]
|
||||
path = Externals/minizip-ng/minizip-ng
|
||||
url = https://github.com/zlib-ng/minizip-ng.git
|
||||
shallow = true
|
||||
[submodule "Externals/Vulkan-Headers"]
|
||||
path = Externals/Vulkan-Headers
|
||||
url = https://github.com/KhronosGroup/Vulkan-Headers.git
|
||||
shallow = true
|
||||
[submodule "Externals/watcher/watcher"]
|
||||
path = Externals/watcher/watcher
|
||||
url = https://github.com/e-dant/watcher.git
|
||||
shallow = true
|
||||
[submodule "Externals/SFML/SFML"]
|
||||
path = Externals/SFML/SFML
|
||||
url = https://github.com/SFML/SFML.git
|
||||
shallow = true
|
||||
[submodule "Externals/zstd/zstd"]
|
||||
path = Externals/zstd/zstd
|
||||
url = https://github.com/facebook/zstd.git
|
||||
shallow = true
|
||||
[submodule "Externals/miniupnpc/miniupnp"]
|
||||
path = Externals/miniupnpc/miniupnp
|
||||
url = https://github.com/miniupnp/miniupnp.git
|
||||
shallow = true
|
||||
[submodule "Externals/glslang/glslang"]
|
||||
path = Externals/glslang/glslang
|
||||
url = https://github.com/KhronosGroup/glslang.git
|
||||
shallow = true
|
||||
[submodule "Externals/pugixml/pugixml"]
|
||||
path = Externals/pugixml/pugixml
|
||||
url = https://github.com/zeux/pugixml.git
|
||||
[submodule "Externals/bzip2/bzip2"]
|
||||
path = Externals/bzip2/bzip2
|
||||
url = https://gitlab.com/bzip2/bzip2.git
|
||||
shallow = true
|
||||
[submodule "Externals/cpp-ipc/cpp-ipc"]
|
||||
path = Externals/cpp-ipc/cpp-ipc
|
||||
@@ -122,15 +10,131 @@
|
||||
path = Externals/cpp-optparse/cpp-optparse
|
||||
url = https://github.com/weisslj/cpp-optparse.git
|
||||
shallow = true
|
||||
[submodule "Externals/bzip2/bzip2"]
|
||||
path = Externals/bzip2/bzip2
|
||||
url = https://gitlab.com/bzip2/bzip2.git
|
||||
[submodule "Externals/cubeb/cubeb"]
|
||||
path = Externals/cubeb/cubeb
|
||||
url = https://github.com/mozilla/cubeb.git
|
||||
shallow = true
|
||||
[submodule "Externals/curl/curl"]
|
||||
path = Externals/curl/curl
|
||||
url = https://github.com/curl/curl.git
|
||||
shallow = true
|
||||
[submodule "Externals/enet/enet"]
|
||||
path = Externals/enet/enet
|
||||
url = https://github.com/lsalzman/enet.git
|
||||
shallow = true
|
||||
[submodule "Externals/FFmpeg-bin"]
|
||||
path = Externals/FFmpeg-bin
|
||||
url = https://github.com/dolphin-emu/ext-win-ffmpeg.git
|
||||
shallow = true
|
||||
[submodule "Externals/fmt/fmt"]
|
||||
path = Externals/fmt/fmt
|
||||
url = https://github.com/fmtlib/fmt.git
|
||||
shallow = true
|
||||
[submodule "Externals/glslang/glslang"]
|
||||
path = Externals/glslang/glslang
|
||||
url = https://github.com/KhronosGroup/glslang.git
|
||||
shallow = true
|
||||
[submodule "Externals/gtest"]
|
||||
path = Externals/gtest
|
||||
url = https://github.com/google/googletest.git
|
||||
shallow = true
|
||||
[submodule "Externals/imgui/imgui"]
|
||||
path = Externals/imgui/imgui
|
||||
url = https://github.com/ocornut/imgui.git
|
||||
shallow = true
|
||||
[submodule "Externals/implot/implot"]
|
||||
path = Externals/implot/implot
|
||||
url = https://github.com/epezent/implot.git
|
||||
shallow = true
|
||||
[submodule "Externals/libadrenotools"]
|
||||
path = Externals/libadrenotools
|
||||
url = https://github.com/bylaws/libadrenotools.git
|
||||
shallow = true
|
||||
[submodule "Externals/libspng/libspng"]
|
||||
path = Externals/libspng/libspng
|
||||
url = https://github.com/randy408/libspng.git
|
||||
shallow = true
|
||||
[submodule "Externals/lz4/lz4"]
|
||||
path = Externals/lz4/lz4
|
||||
url = https://github.com/lz4/lz4.git
|
||||
shallow = true
|
||||
[submodule "Externals/mGBA/mgba"]
|
||||
path = Externals/mGBA/mgba
|
||||
url = https://github.com/mgba-emu/mgba.git
|
||||
shallow = true
|
||||
[submodule "Externals/miniupnpc/miniupnp"]
|
||||
path = Externals/miniupnpc/miniupnp
|
||||
url = https://github.com/miniupnp/miniupnp.git
|
||||
shallow = true
|
||||
[submodule "Externals/minizip-ng/minizip-ng"]
|
||||
path = Externals/minizip-ng/minizip-ng
|
||||
url = https://github.com/zlib-ng/minizip-ng.git
|
||||
shallow = true
|
||||
[submodule "Externals/OpenXR"]
|
||||
path = Externals/OpenXR
|
||||
url = https://github.com/KhronosGroup/OpenXR-SDK
|
||||
shallow = true
|
||||
[submodule "Externals/pugixml/pugixml"]
|
||||
path = Externals/pugixml/pugixml
|
||||
url = https://github.com/zeux/pugixml.git
|
||||
shallow = true
|
||||
[submodule "Externals/Qt"]
|
||||
path = Externals/Qt
|
||||
url = https://github.com/dolphin-emu/ext-win-qt.git
|
||||
shallow = true
|
||||
[submodule "Externals/rcheevos/rcheevos"]
|
||||
path = Externals/rcheevos/rcheevos
|
||||
url = https://github.com/RetroAchievements/rcheevos.git
|
||||
shallow = true
|
||||
[submodule "Externals/SFML/SFML"]
|
||||
path = Externals/SFML/SFML
|
||||
url = https://github.com/SFML/SFML.git
|
||||
shallow = true
|
||||
[submodule "Externals/spirv_cross/SPIRV-Cross"]
|
||||
path = Externals/spirv_cross/SPIRV-Cross
|
||||
url = https://github.com/KhronosGroup/SPIRV-Cross.git
|
||||
shallow = true
|
||||
[submodule "Externals/tinygltf/tinygltf"]
|
||||
path = Externals/tinygltf/tinygltf
|
||||
url = https://github.com/syoyo/tinygltf.git
|
||||
shallow = true
|
||||
[submodule "Externals/Vulkan-Headers"]
|
||||
path = Externals/Vulkan-Headers
|
||||
url = https://github.com/KhronosGroup/Vulkan-Headers.git
|
||||
shallow = true
|
||||
[submodule "Externals/VulkanMemoryAllocator"]
|
||||
path = Externals/VulkanMemoryAllocator
|
||||
url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
|
||||
shallow = true
|
||||
[submodule "Externals/watcher/watcher"]
|
||||
path = Externals/watcher/watcher
|
||||
url = https://github.com/e-dant/watcher.git
|
||||
shallow = true
|
||||
[submodule "Externals/wil"]
|
||||
path = Externals/wil
|
||||
url = https://github.com/microsoft/wil.git
|
||||
shallow = true
|
||||
[submodule "Externals/xxhash/xxHash"]
|
||||
path = Externals/xxhash/xxHash
|
||||
url = https://github.com/Cyan4973/xxHash.git
|
||||
shallow = true
|
||||
[submodule "Externals/zlib-ng/zlib-ng"]
|
||||
path = Externals/zlib-ng/zlib-ng
|
||||
url = https://github.com/zlib-ng/zlib-ng.git
|
||||
shallow = true
|
||||
[submodule "Externals/zstd/zstd"]
|
||||
path = Externals/zstd/zstd
|
||||
url = https://github.com/facebook/zstd.git
|
||||
shallow = true
|
||||
[submodule "hidapi-src"]
|
||||
path = Externals/hidapi/hidapi-src
|
||||
url = https://github.com/libusb/hidapi.git
|
||||
shallow = true
|
||||
[submodule "libusb"]
|
||||
path = Externals/libusb/libusb
|
||||
url = https://github.com/libusb/libusb.git
|
||||
shallow = true
|
||||
[submodule "SDL"]
|
||||
path = Externals/SDL/SDL
|
||||
url = https://github.com/libsdl-org/SDL.git
|
||||
shallow = true
|
||||
+6
-3
@@ -93,7 +93,7 @@ option(ENABLE_CUBEB "Enables Cubeb sound backend" ON)
|
||||
option(ENABLE_LLVM "Enables LLVM support, for disassembly" ON)
|
||||
option(ENABLE_TESTS "Enables building the unit tests" ON)
|
||||
option(ENABLE_VULKAN "Enables vulkan video backend" ON)
|
||||
option(ENABLE_VR "Enables VR support via OpenXR (Windows D3D/Vulkan, Linux Vulkan, Android Vulkan)" OFF)
|
||||
option(ENABLE_VR "Enables VR support via OpenXR (Windows D3D/Vulkan/OpenGL, Linux Vulkan/OpenGL, Android Vulkan/GLES)" OFF)
|
||||
option(USE_DISCORD_PRESENCE "Enables Discord Rich Presence, show the current game on Discord" ON)
|
||||
option(USE_MGBA "Enables GBA controllers emulation using libmgba" ON)
|
||||
option(ENABLE_AUTOUPDATE "Enables support for automatic updates" ON)
|
||||
@@ -661,18 +661,21 @@ endif()
|
||||
|
||||
if(ENABLE_VR AND NOT DOLPHIN_OPENXR_SUPPORTED_PLATFORM)
|
||||
message(WARNING "OpenXR VR is only supported on Windows, desktop Linux, and Android; disabling ENABLE_VR.")
|
||||
set(ENABLE_VR OFF CACHE BOOL "Enables VR support via OpenXR (Windows D3D/Vulkan, Linux Vulkan, Android Vulkan)" FORCE)
|
||||
set(ENABLE_VR OFF CACHE BOOL "Enables VR support via OpenXR (Windows D3D/Vulkan/OpenGL, Linux Vulkan/OpenGL, Android Vulkan/GLES)" FORCE)
|
||||
endif()
|
||||
|
||||
if(ENABLE_VR AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT ENABLE_VULKAN)
|
||||
message(FATAL_ERROR "Desktop Linux OpenXR VR requires ENABLE_VULKAN=ON.")
|
||||
# OpenGL (GLX) is always built on desktop Linux, so VR remains usable without Vulkan.
|
||||
message(STATUS "Desktop Linux OpenXR VR without ENABLE_VULKAN: only the OpenGL backend will support VR.")
|
||||
endif()
|
||||
|
||||
if(ENABLE_VR)
|
||||
add_definitions(-DENABLE_VR)
|
||||
# Build only the OpenXR loader from the Khronos SDK; skip tests, conformance, and samples.
|
||||
set(BUILD_API_LAYERS OFF CACHE BOOL "" FORCE)
|
||||
set(BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
||||
set(BUILD_CONFORMANCE_TESTS OFF CACHE BOOL "" FORCE)
|
||||
set(BUILD_SDK_TESTS OFF CACHE BOOL "" FORCE)
|
||||
set(DYNAMIC_LOADER OFF CACHE BOOL "" FORCE)
|
||||
add_subdirectory(Externals/OpenXR "${CMAKE_BINARY_DIR}/Externals/OpenXR" EXCLUDE_FROM_ALL)
|
||||
endif()
|
||||
|
||||
@@ -1,147 +1,44 @@
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 1.5
|
||||
[ShaderOverride_Enable]
|
||||
$HUD Scan Effect
|
||||
$HUD Scan color
|
||||
[ShaderOverride]
|
||||
$Warning_Health
|
||||
Hash=00000000b9ec5b5f
|
||||
Type=PS
|
||||
handling=screen
|
||||
|
||||
$FMV
|
||||
Hash=000000002b158db5
|
||||
Type=PS
|
||||
handling=screen
|
||||
|
||||
$HUD Life
|
||||
Hash=00000000076435a1
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
hash_family=1
|
||||
family_signature=51808225deb2b85f
|
||||
texture_mode=include
|
||||
texture=4c1106bc3e129423
|
||||
texture=91627895056f2669
|
||||
texture=d3735622b3206ab0
|
||||
texture=de81ade3d6923bae
|
||||
texture=e3cfb7a4cb2e46bc
|
||||
|
||||
$HUD Visor Types
|
||||
Hash=00000000476d615f
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
hash_family=1
|
||||
family_signature=8cc4ffb088e48af3
|
||||
|
||||
$HUD Radar
|
||||
Hash=000000006d51147b
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
hash_family=1
|
||||
family_signature=18c2fb058f6ea8b9
|
||||
texture_mode=include
|
||||
texture=378cc384e8052923
|
||||
texture=9e01777affbe3954
|
||||
texture=c7687d7264fc0495
|
||||
|
||||
$HUD Border
|
||||
Hash=0000000090f766ee
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
hash_family=1
|
||||
family_signature=3d5d14f35f02bdc5
|
||||
texture_mode=include
|
||||
texture=378cc384e8052923
|
||||
texture=4659c82198269108
|
||||
texture=6213dc7b4cea2067
|
||||
texture=65029fc7530c2556
|
||||
texture=6770fbe0cce927a9
|
||||
texture=847faa3fbc72fafd
|
||||
texture=ab6e64b461e598b4
|
||||
texture=acfb2c156818d9b4
|
||||
texture=d3735622b3206ab0
|
||||
|
||||
$HUD Scan
|
||||
Hash=000000001386f342
|
||||
Type=PS
|
||||
handling=screen
|
||||
hash_family=1
|
||||
family_signature=ed817a3f2923b114
|
||||
|
||||
$HUD Scan Border
|
||||
Hash=000000000f312e21
|
||||
Type=PS
|
||||
handling=screen
|
||||
|
||||
$HUD Scan Effect
|
||||
Hash=0000000075945182
|
||||
Type=PS
|
||||
handling=skip
|
||||
|
||||
$HUD Scan color
|
||||
Hash=000000004bb35a60
|
||||
Type=PS
|
||||
handling=skip
|
||||
|
||||
$HUD Minimap Yellow
|
||||
Hash=00000000e5329dc4
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
hash_family=1
|
||||
|
||||
$HUD Blue Dot Radar
|
||||
Hash=000000004684e694
|
||||
Type=GS
|
||||
handling=headlocked
|
||||
texture_mode=include
|
||||
texture=4659c82198269108
|
||||
|
||||
$Unnamed Shader
|
||||
Hash=00000000b9ec5b5f
|
||||
Type=PS
|
||||
handling=skip
|
||||
|
||||
[ElementsGroupOverride_Enable]
|
||||
$Metroid Profile HUD and Visor
|
||||
$Metroid Profile Screen Effects
|
||||
$Metroid Profile Hidden Layers
|
||||
$Scan zoom
|
||||
$Scan color
|
||||
[ElementsGroupOverride]
|
||||
$Metroid Profile HUD and Visor
|
||||
format=element_profile_v1
|
||||
handling=headlocked
|
||||
profile=metroid_prime_2_gc
|
||||
profile_layer=METROID_HUD
|
||||
profile_layer=METROID_UNKNOWN_HUD
|
||||
profile_layer=METROID_DARK_VISOR_HUD
|
||||
profile_layer=METROID_VISOR
|
||||
profile_layer=METROID_HELMET
|
||||
profile_layer=METROID_DARK_CENTRAL
|
||||
profile_layer=METROID_VISOR_RADAR_HINT
|
||||
profile_layer=METROID_RADAR_DOT
|
||||
profile_layer=METROID_SCAN_RETICLE
|
||||
profile_layer=METROID_SCAN_TEXT
|
||||
profile_layer=METROID_SCAN_HOLOGRAM
|
||||
profile_layer=METROID_VISOR_BOOTUP
|
||||
profile_layer=METROID_MAP_OR_HINT
|
||||
profile_layer=METROID_MAP
|
||||
|
||||
$Metroid Profile Screen Effects
|
||||
format=element_profile_v1
|
||||
handling=fullscreen
|
||||
profile=metroid_prime_2_gc
|
||||
profile_layer=METROID_SCREEN_FADE
|
||||
profile_layer=METROID_SCREEN_OVERLAY
|
||||
profile_layer=METROID_ECHO_EFFECT
|
||||
profile_layer=METROID_DARK_EFFECT
|
||||
profile_layer=METROID_VISOR_DIRT
|
||||
profile_layer=METROID_SCAN_DARKEN
|
||||
profile_layer=METROID_SCAN_HIGHLIGHTER
|
||||
|
||||
$Metroid Profile Hidden Layers
|
||||
format=element_profile_v1
|
||||
handling=skip
|
||||
profile=metroid_prime_2_gc
|
||||
profile_layer=METROID_EFB_COPY
|
||||
profile_layer=METROID_BLACK_BARS
|
||||
profile_layer=METROID_SCAN_BOX
|
||||
format = element_only_v6
|
||||
handling = skip
|
||||
profile = metroid_prime_2_gc
|
||||
profile_layer = METROID_SCAN_BOX
|
||||
sig_perspective = 1
|
||||
sig_persp_hfov = 175
|
||||
sig_persp_vfov = 175
|
||||
sig_persp_near = 100
|
||||
sig_persp_far = 100
|
||||
sig_ortho_left = 0
|
||||
sig_ortho_right = 0
|
||||
sig_ortho_top = 0
|
||||
sig_ortho_bottom = 0
|
||||
sig_use_projection = 0
|
||||
sig_use_projection_type = 0
|
||||
sig_use_layer = 0
|
||||
sig_use_viewport = 1
|
||||
sig_use_scissor = 1
|
||||
sig_use_render_state = 1
|
||||
sig_layer = 0
|
||||
sig_vp_x = 374
|
||||
sig_vp_y = 758
|
||||
sig_vp_w = 32
|
||||
sig_vp_h = 32
|
||||
sig_sc_l = 342
|
||||
sig_sc_t = 726
|
||||
sig_sc_r = 405
|
||||
sig_sc_b = 789
|
||||
sig_alpha = 007f0000
|
||||
sig_ztest = 1
|
||||
sig_zupdate = 1
|
||||
sig_zfunc = 3
|
||||
sig_blend_color = 1
|
||||
sig_blend_alpha = 1
|
||||
[Graphics.VR]
|
||||
MetroidThermalVisorFix = True
|
||||
DetectSkybox = True
|
||||
@@ -0,0 +1,75 @@
|
||||
[ElementsGroupOverride_Enable]
|
||||
$Minimap
|
||||
$FMV
|
||||
[ElementsGroupOverride]
|
||||
$Minimap
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$FMV
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
[Graphics.VR]
|
||||
DontClearScreen = False
|
||||
UnitsPerMeter = 2.6384351
|
||||
VirtualScreen = False
|
||||
@@ -1,11 +1,203 @@
|
||||
[ShaderOverride_Enable]
|
||||
[HideObjectCodes]
|
||||
Type = 128bits
|
||||
Upper = 0x0000000000000000
|
||||
Lower = 0x3F7FFFFF00000000
|
||||
[ShaderOverride]
|
||||
Hash = 00000000deb89407
|
||||
Type = PS
|
||||
match_mode = exact_hash
|
||||
handling = skip
|
||||
passthrough_opacity = 0
|
||||
family_version = 2
|
||||
hash_family = 1
|
||||
family_signature = 182b4f6db39e05aa
|
||||
[Graphics.VR]
|
||||
DetectRenderTargets = False
|
||||
DetectSkybox = False
|
||||
DontClearScreen = False
|
||||
FrameSizeFromXFB = False
|
||||
MetroidThermalVisorFix = False
|
||||
OrthoScissorFix = False
|
||||
RemoveCinematicBars = False
|
||||
SmallViewportsOnScreen = False
|
||||
UnitsPerMeter = 50.00
|
||||
[TextureElementOverride_Enable]
|
||||
$Title Screen
|
||||
$File Select
|
||||
$File Select Prompt
|
||||
$Main Menu
|
||||
$Chalenge Menu
|
||||
$HUD
|
||||
[TextureElementOverride]
|
||||
$Title Screen
|
||||
handling=screen
|
||||
texture=0ea0e7ac012220d3
|
||||
texture=0ff29d0427eebd34
|
||||
texture=149a3b76ff82e2c7
|
||||
texture=1c3039e695a8a8a9
|
||||
texture=3d044c0c7748b67c
|
||||
texture=42e313c957924c24
|
||||
texture=4ee37523f7385720
|
||||
texture=6d9a91ba5cbd3f7f
|
||||
texture=73ca69c9a27ed65d
|
||||
texture=7d2f09ecccfb5635
|
||||
texture=ac0089ac58ff54d4
|
||||
texture=c8c5147119fb3a1a
|
||||
texture=d1d856488a5d82d2
|
||||
texture=ee47f4f4840f5449
|
||||
texture=f173dec99b32afa4
|
||||
texture=f88e0b142f45c216
|
||||
|
||||
$File Select
|
||||
handling=screen
|
||||
texture=0c32aef0edbbd237
|
||||
texture=157b1d43706b5f6e
|
||||
texture=1ea3a4c99fd2e49f
|
||||
texture=1f7733a7ba57f325
|
||||
texture=38e06f63482473c3
|
||||
texture=62ad628b3609ed38
|
||||
texture=7990e94ec311f4a9
|
||||
texture=984c3618dbaed493
|
||||
texture=9c6676e26aa911f6
|
||||
texture=c46f43aba09999a3
|
||||
texture=f7dca127bb53c5e9
|
||||
|
||||
$File Select Prompt
|
||||
handling=screen
|
||||
texture=119e2b932a4a2e7c
|
||||
texture=2df5c0cf5e20b54f
|
||||
texture=916fab1a884ac497
|
||||
texture=e17820ab5ed56b69
|
||||
|
||||
$Main Menu
|
||||
handling=screen
|
||||
texture=0991eaeb8d0fe7d6
|
||||
texture=0a66ae22ed2c1a24
|
||||
texture=0c32aef0edbbd237
|
||||
texture=114b9e8cf9115a86
|
||||
texture=157b1d43706b5f6e
|
||||
texture=1638b22107012129
|
||||
texture=1ea3a4c99fd2e49f
|
||||
texture=1f7733a7ba57f325
|
||||
texture=35c4d3b72b599985
|
||||
texture=3adf5d3908fb6659
|
||||
texture=4825a0f7277e87dc
|
||||
texture=4b1dd894b91c4a37
|
||||
texture=4ec82ea171319864
|
||||
texture=70ff2f5fe8b3f815
|
||||
texture=7105d8f9da8e3184
|
||||
texture=7ba79057b46b1989
|
||||
texture=8a8c91bd2a0659d4
|
||||
texture=9468da6db0040e97
|
||||
texture=a35acf80abd10385
|
||||
texture=b025b5ee70b2711f
|
||||
texture=b25b7d580e919be4
|
||||
texture=c882063f8763e3d6
|
||||
texture=c88db77d831871f7
|
||||
texture=cc7e69137962c780
|
||||
texture=ccc53802c6e4f9ef
|
||||
texture=dc460770514bbbdd
|
||||
texture=e224ab6cfbffd889
|
||||
texture=e332c550b190d644
|
||||
texture=e3aaf1c17d21c212
|
||||
texture=e4d4b0e4d93fc124
|
||||
texture=e6e805cb8f26f46b
|
||||
texture=efbcd448a80edd95
|
||||
texture=f6fb40f6f3f11a9b
|
||||
texture=f7dca127bb53c5e9
|
||||
texture=ffbd87995d0eacbc
|
||||
|
||||
$Chalenge Menu
|
||||
handling=screen
|
||||
texture=02ae7099e4164bd3
|
||||
texture=02c6668ccd849503
|
||||
texture=02d61d3445c3d5db
|
||||
texture=045ba7652cca0f56
|
||||
texture=068359cc6d0b816e
|
||||
texture=06a72d9020e5f770
|
||||
texture=0760a9f79c2691b2
|
||||
texture=11710741daa69655
|
||||
texture=12fc713c04305b9a
|
||||
texture=15165896080f17cd
|
||||
texture=1b9cdf65a8e48c44
|
||||
texture=1c4f11fd9398c357
|
||||
texture=370edb4ac2e22efb
|
||||
texture=3a344d59feaae7b7
|
||||
texture=3c4d23b0bd6a7399
|
||||
texture=43c38af8757e39de
|
||||
texture=4597e29390a7c547
|
||||
texture=586883f1bdc1905b
|
||||
texture=59fe078f078d1ded
|
||||
texture=5b8970d1297debf5
|
||||
texture=690bb97f8297e123
|
||||
texture=6e261811c9eca781
|
||||
texture=6e817b864f0e8502
|
||||
texture=72da6a4a1666236d
|
||||
texture=75b0c23f0c582589
|
||||
texture=7990e94ec311f4a9
|
||||
texture=8e8f51ac937e6122
|
||||
texture=9468da6db0040e97
|
||||
texture=95c9a6ea5542314b
|
||||
texture=97443701d6d65377
|
||||
texture=9cbd490f4265de4b
|
||||
texture=9f28114b0e6eab59
|
||||
texture=a498bd551dac0cca
|
||||
texture=a5d670c271cb7818
|
||||
texture=a84472edab7b0764
|
||||
texture=aa821caaceb7206e
|
||||
texture=ac69a2927831b757
|
||||
texture=b7626a0dc76e11fd
|
||||
texture=ba57a7e760208ae5
|
||||
texture=c0fafeb2697d916d
|
||||
texture=c66dfc93fcf7c16e
|
||||
texture=d02bec94aa5e506c
|
||||
texture=d05ebc31e7f72aaa
|
||||
texture=d61f6308f169096f
|
||||
texture=da5c54cba97bbfce
|
||||
texture=daf01c2b7b36d64d
|
||||
texture=dce3538d3c8f6898
|
||||
texture=e289ea04cefb233e
|
||||
texture=e4cb9c1f53e0ca38
|
||||
texture=e60ba5f3d41ddb1f
|
||||
texture=e8efecd931bc7c7a
|
||||
texture=ea30737d58a7e0ff
|
||||
texture=ed99952ee70f5869
|
||||
texture=f2668047b7761baa
|
||||
texture=f8dd692f6264200d
|
||||
|
||||
$HUD
|
||||
handling=screen
|
||||
texture=091555bc4ec6eaf4
|
||||
texture=198b0513b9249bf0
|
||||
texture=38d272479e6a4813
|
||||
texture=5dfc4f1ae0dcc253
|
||||
texture=5f4d3f73a3bca830
|
||||
texture=608d2f0042a0c46c
|
||||
texture=6866a7fbcf3273f1
|
||||
texture=96d1ba6e8ff22ea8
|
||||
texture=a02dc613df3921ff
|
||||
texture=a5ff2bb17574ec16
|
||||
texture=c677f6a517adec0b
|
||||
texture=cc8300fcc020ef69
|
||||
texture=d76817671438a908
|
||||
texture=d8e83a904ac21990
|
||||
texture=fef48910c2651a58
|
||||
|
||||
$Sonic
|
||||
handling=camera_anchor
|
||||
anchor_up=0.7
|
||||
anchor_hide=1
|
||||
anchor_rotation=yaw
|
||||
anchor_upm=10
|
||||
texture=aae3bc7c46a2a3e5
|
||||
[ElementsGroupOverride_Enable]
|
||||
$HUD
|
||||
$Shadows
|
||||
$Shadows 2
|
||||
$Items
|
||||
[ElementsGroupOverride]
|
||||
$Element Draw 24
|
||||
format=element_only_v5
|
||||
$HUD
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=6
|
||||
@@ -17,6 +209,7 @@ sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
@@ -36,11 +229,140 @@ sig_zupdate=1
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
[HideObjectCodes_Enabled]
|
||||
$Black screen
|
||||
[HideObjectCodes]
|
||||
$Black screen
|
||||
Type=128bits
|
||||
Upper=0x0000000000000000
|
||||
Lower=0x3F7FFFFF00000000
|
||||
|
||||
$Shadows
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=2
|
||||
sig_persp_vfov=2
|
||||
sig_persp_near=100
|
||||
sig_persp_far=25
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=406
|
||||
sig_vp_y=406
|
||||
sig_vp_w=62
|
||||
sig_vp_h=62
|
||||
sig_sc_l=344
|
||||
sig_sc_t=344
|
||||
sig_sc_r=467
|
||||
sig_sc_b=467
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Shadows 2
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=344
|
||||
sig_sc_t=344
|
||||
sig_sc_r=467
|
||||
sig_sc_b=467
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$FMV
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Items
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
@@ -1,37 +1,339 @@
|
||||
[ShaderOverride_Enable]
|
||||
[ShaderOverride]
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 25.00
|
||||
[ElementsGroupOverride_Enable]
|
||||
$FMV
|
||||
Hash=00000000bcbf5145
|
||||
Type=PS
|
||||
$Player indicator
|
||||
$Sky
|
||||
$Text
|
||||
$Training Menu
|
||||
[ElementsGroupOverride]
|
||||
$FMV
|
||||
format=element_only_v5
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=-48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$FMV effects
|
||||
format=element_only_v5
|
||||
handling=screen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=12016
|
||||
sig_persp_vfov=11000
|
||||
sig_persp_near=1000
|
||||
sig_persp_far=500000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Player indicator
|
||||
format=element_only_v5
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=-48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Sky
|
||||
format=element_only_v5
|
||||
handling=fullscreen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=3495
|
||||
sig_persp_vfov=2900
|
||||
sig_persp_near=100
|
||||
sig_persp_far=1638400
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Text
|
||||
Hash=000000007905c727
|
||||
Type=PS
|
||||
format=element_only_v5
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=-48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=00640000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=0
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Character_indicator
|
||||
Hash=0000000029d6fcdb
|
||||
Type=PS
|
||||
$Training Menu
|
||||
format=element_only_v5
|
||||
handling=screen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=4954
|
||||
sig_persp_vfov=4154
|
||||
sig_persp_near=1000
|
||||
sig_persp_far=350000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Timer_also
|
||||
Hash=00000000fb6ceffb
|
||||
Type=PS
|
||||
$Stage clear 02
|
||||
format=element_only_v5
|
||||
handling=screen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=3019
|
||||
sig_persp_vfov=2500
|
||||
sig_persp_near=10000
|
||||
sig_persp_far=500000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=00640000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=0
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
[TextureElementOverride_Enable]
|
||||
$Text
|
||||
[TextureElementOverride]
|
||||
$FD Skybox
|
||||
handling=passthrough
|
||||
passthrough_opacity=0
|
||||
texture=177ced97ab0fbdf8
|
||||
texture=271d7767587319b1
|
||||
texture=5b58122972585ba0
|
||||
texture=68e192c45f086f1e
|
||||
texture=82593a6682ca4f43
|
||||
texture=abc3fb3dbe7f95d2
|
||||
texture=bb8ebd7d4cfc5f4a
|
||||
|
||||
$Credits_hud
|
||||
Hash=000000007d095f4c
|
||||
Type=PS
|
||||
$test
|
||||
handling=passthrough
|
||||
passthrough_opacity=0
|
||||
texture=aa026b61ff59b5a3
|
||||
|
||||
$Text
|
||||
handling=screen
|
||||
|
||||
$Crosshair
|
||||
Hash=00000000fc0d4ed9
|
||||
texture=0b0443b8c4287d74
|
||||
texture=5d168984c40f0d87
|
||||
texture=69e55e920337d4aa
|
||||
texture=71b030e1cf17f53a
|
||||
texture=89139319fa0a2a19
|
||||
texture=babea042c3cd59fe
|
||||
[ShaderOverride_Enable]
|
||||
$FD Skybox
|
||||
$FD Skybox Middle
|
||||
[ShaderOverride]
|
||||
$Unnamed Shader 1
|
||||
Hash=000000001d9cb526
|
||||
Type=PS
|
||||
handling=screen
|
||||
match_mode=exact_hash
|
||||
handling=skip
|
||||
family_version=1
|
||||
|
||||
$Congratulation_picture
|
||||
Hash=000000002b158db5
|
||||
$Unnamed Shader 2
|
||||
Hash=00000000000dbf5d
|
||||
Type=PS
|
||||
handling=screen
|
||||
match_mode=exact_hash
|
||||
handling=passthrough
|
||||
passthrough_opacity=0
|
||||
family_version=1
|
||||
|
||||
$Unnamed Shader 3
|
||||
Hash=000000003f6b961d
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=skip
|
||||
family_version=1
|
||||
|
||||
$Unnamed Shader 4
|
||||
Hash=00000000a484eaa4
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=skip
|
||||
family_version=1
|
||||
|
||||
$Unnamed Shader 5
|
||||
Hash=000000009e2ad039
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=skip
|
||||
family_version=1
|
||||
|
||||
$Unnamed Shader 6
|
||||
Hash=00000000b54c073f
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=skip
|
||||
family_version=1
|
||||
|
||||
$FD Skybox
|
||||
Hash=00000000491248f7
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=182b4f6db39e05aa
|
||||
|
||||
$FD Skybox Middle
|
||||
Hash=00000000387b372a
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=passthrough
|
||||
passthrough_opacity=0
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=ab5f736ec2e8171b
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
[Graphics.VR]
|
||||
DontClearScreen = True
|
||||
@@ -0,0 +1,252 @@
|
||||
[TextureElementOverride_Enable]
|
||||
[TextureElementOverride]
|
||||
[ShaderOverride_Enable]
|
||||
$Red Effect
|
||||
[ShaderOverride]
|
||||
$Red Effect
|
||||
Hash=00000000e53922bf
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=fullscreen
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=f9e0bf87af1230da
|
||||
[ElementsGroupOverride_Enable]
|
||||
$Underwater Effect
|
||||
[ElementsGroupOverride]
|
||||
$HUD
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
selected_match_mode=include
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-32000
|
||||
sig_ortho_right=32000
|
||||
sig_ortho_top=24000
|
||||
sig_ortho_bottom=-24000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003c0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
selected_match_0_family_version=1
|
||||
selected_match_0_vs_family=0000000004f4437c
|
||||
selected_match_0_ps_family=2d04083ee70f20bf
|
||||
selected_match_0_gs_family=00000000b97119f0
|
||||
selected_match_0_texture=aa1efcaffddc8d25
|
||||
selected_match_0_texture=f560f1efe14cb438
|
||||
selected_match_1_family_version=1
|
||||
selected_match_1_vs_family=0000000004f4437c
|
||||
selected_match_1_ps_family=2d04083ee70f20bf
|
||||
selected_match_1_gs_family=00000000b97119f0
|
||||
selected_match_1_texture=a4fe42c2ccbae06b
|
||||
selected_match_1_texture=f560f1efe14cb438
|
||||
selected_match_2_family_version=1
|
||||
selected_match_2_vs_family=000000005b02c5c2
|
||||
selected_match_2_ps_family=468c9fbbf6749adf
|
||||
selected_match_2_gs_family=00000000b97119f0
|
||||
selected_match_2_texture=aa1efcaffddc8d25
|
||||
selected_match_2_texture=f560f1efe14cb438
|
||||
selected_match_3_family_version=1
|
||||
selected_match_3_vs_family=000000005b02c5c2
|
||||
selected_match_3_ps_family=468c9fbbf6749adf
|
||||
selected_match_3_gs_family=00000000b97119f0
|
||||
selected_match_3_texture=942fd3454ca980b0
|
||||
selected_match_3_texture=aa1efcaffddc8d25
|
||||
selected_match_4_family_version=1
|
||||
selected_match_4_vs_family=000000005b02c5c2
|
||||
selected_match_4_ps_family=468c9fbbf6749adf
|
||||
selected_match_4_gs_family=00000000b97119f0
|
||||
selected_match_4_texture=7a795c9c70fb3620
|
||||
selected_match_4_texture=aa1efcaffddc8d25
|
||||
selected_match_5_family_version=1
|
||||
selected_match_5_vs_family=000000005b02c5c2
|
||||
selected_match_5_ps_family=468c9fbbf6749adf
|
||||
selected_match_5_gs_family=00000000b97119f0
|
||||
selected_match_5_texture=4757d09b75d73ab4
|
||||
selected_match_5_texture=aa1efcaffddc8d25
|
||||
selected_match_6_family_version=1
|
||||
selected_match_6_vs_family=000000005b02c5c2
|
||||
selected_match_6_ps_family=468c9fbbf6749adf
|
||||
selected_match_6_gs_family=00000000b97119f0
|
||||
selected_match_6_texture=85d3ff2198c2c546
|
||||
selected_match_6_texture=aa1efcaffddc8d25
|
||||
selected_match_7_family_version=1
|
||||
selected_match_7_vs_family=000000005b02c5c2
|
||||
selected_match_7_ps_family=468c9fbbf6749adf
|
||||
selected_match_7_gs_family=00000000b97119f0
|
||||
selected_match_7_texture=5c359480567fe6f5
|
||||
selected_match_7_texture=aa1efcaffddc8d25
|
||||
selected_match_8_family_version=1
|
||||
selected_match_8_vs_family=000000005b02c5c2
|
||||
selected_match_8_ps_family=468c9fbbf6749adf
|
||||
selected_match_8_gs_family=00000000b97119f0
|
||||
selected_match_8_texture=3d768e912ae7350c
|
||||
selected_match_8_texture=aa1efcaffddc8d25
|
||||
selected_match_9_family_version=1
|
||||
selected_match_9_vs_family=000000005b02c5c2
|
||||
selected_match_9_ps_family=468c9fbbf6749adf
|
||||
selected_match_9_gs_family=00000000b97119f0
|
||||
selected_match_9_texture=aa1efcaffddc8d25
|
||||
selected_match_9_texture=fe9dbd473314684c
|
||||
selected_match_10_family_version=1
|
||||
selected_match_10_vs_family=000000005b02c5c2
|
||||
selected_match_10_ps_family=468c9fbbf6749adf
|
||||
selected_match_10_gs_family=00000000b97119f0
|
||||
selected_match_10_texture=a10ac56e6f228fe1
|
||||
selected_match_10_texture=aa1efcaffddc8d25
|
||||
selected_match_11_family_version=1
|
||||
selected_match_11_vs_family=000000005b02c5c2
|
||||
selected_match_11_ps_family=468c9fbbf6749adf
|
||||
selected_match_11_gs_family=00000000b97119f0
|
||||
selected_match_11_texture=205ce8b1a67303b2
|
||||
selected_match_11_texture=aa1efcaffddc8d25
|
||||
selected_match_12_family_version=1
|
||||
selected_match_12_vs_family=000000005b02c5c2
|
||||
selected_match_12_ps_family=468c9fbbf6749adf
|
||||
selected_match_12_gs_family=00000000b97119f0
|
||||
selected_match_12_texture=a2d4e9f2fc62cf5a
|
||||
selected_match_12_texture=aa1efcaffddc8d25
|
||||
selected_match_13_family_version=1
|
||||
selected_match_13_vs_family=000000005b02c5c2
|
||||
selected_match_13_ps_family=468c9fbbf6749adf
|
||||
selected_match_13_gs_family=00000000b97119f0
|
||||
selected_match_13_texture=4bea559cdf493e01
|
||||
selected_match_13_texture=aa1efcaffddc8d25
|
||||
selected_match_14_family_version=1
|
||||
selected_match_14_vs_family=000000005b02c5c2
|
||||
selected_match_14_ps_family=468c9fbbf6749adf
|
||||
selected_match_14_gs_family=00000000b97119f0
|
||||
selected_match_14_texture=2aae2ab50f19d746
|
||||
selected_match_14_texture=aa1efcaffddc8d25
|
||||
selected_match_15_family_version=1
|
||||
selected_match_15_vs_family=000000005b02c5c2
|
||||
selected_match_15_ps_family=468c9fbbf6749adf
|
||||
selected_match_15_gs_family=00000000b97119f0
|
||||
selected_match_15_texture=aa1efcaffddc8d25
|
||||
selected_match_15_texture=c6411e6acf9f433a
|
||||
selected_match_16_family_version=1
|
||||
selected_match_16_vs_family=000000005b02c5c2
|
||||
selected_match_16_ps_family=468c9fbbf6749adf
|
||||
selected_match_16_gs_family=00000000b97119f0
|
||||
selected_match_16_texture=3f4feaec4c69b2c3
|
||||
selected_match_16_texture=aa1efcaffddc8d25
|
||||
selected_match_17_family_version=1
|
||||
selected_match_17_vs_family=000000005b02c5c2
|
||||
selected_match_17_ps_family=468c9fbbf6749adf
|
||||
selected_match_17_gs_family=00000000b97119f0
|
||||
selected_match_17_texture=3eb5a4a751996d9d
|
||||
selected_match_17_texture=aa1efcaffddc8d25
|
||||
selected_match_18_family_version=1
|
||||
selected_match_18_vs_family=000000005b02c5c2
|
||||
selected_match_18_ps_family=468c9fbbf6749adf
|
||||
selected_match_18_gs_family=00000000b97119f0
|
||||
selected_match_18_texture=aa1efcaffddc8d25
|
||||
selected_match_18_texture=ba02994678dba91e
|
||||
selected_match_19_family_version=1
|
||||
selected_match_19_vs_family=000000005b02c5c2
|
||||
selected_match_19_ps_family=468c9fbbf6749adf
|
||||
selected_match_19_gs_family=00000000b97119f0
|
||||
selected_match_19_texture=1a729e45818a3094
|
||||
selected_match_19_texture=aa1efcaffddc8d25
|
||||
selected_match_20_family_version=1
|
||||
selected_match_20_vs_family=000000005b02c5c2
|
||||
selected_match_20_ps_family=468c9fbbf6749adf
|
||||
selected_match_20_gs_family=00000000b97119f0
|
||||
selected_match_20_texture=19ba9ba5ca1a4e2b
|
||||
selected_match_20_texture=aa1efcaffddc8d25
|
||||
selected_match_21_family_version=1
|
||||
selected_match_21_vs_family=000000005b02c5c2
|
||||
selected_match_21_ps_family=468c9fbbf6749adf
|
||||
selected_match_21_gs_family=00000000b97119f0
|
||||
selected_match_21_texture=3d5bd6ece8ff6955
|
||||
selected_match_21_texture=aa1efcaffddc8d25
|
||||
selected_match_22_family_version=1
|
||||
selected_match_22_vs_family=000000005b02c5c2
|
||||
selected_match_22_ps_family=468c9fbbf6749adf
|
||||
selected_match_22_gs_family=00000000b97119f0
|
||||
selected_match_22_texture=624bfe5b87e97bb1
|
||||
selected_match_22_texture=aa1efcaffddc8d25
|
||||
selected_match_23_family_version=1
|
||||
selected_match_23_vs_family=000000005b02c5c2
|
||||
selected_match_23_ps_family=468c9fbbf6749adf
|
||||
selected_match_23_gs_family=00000000b97119f0
|
||||
selected_match_23_texture=aa1efcaffddc8d25
|
||||
selected_match_23_texture=c51fbbfac0fc358d
|
||||
selected_match_24_family_version=1
|
||||
selected_match_24_vs_family=000000005b02c5c2
|
||||
selected_match_24_ps_family=468c9fbbf6749adf
|
||||
selected_match_24_gs_family=00000000b97119f0
|
||||
selected_match_24_texture=68daa88814c2be8e
|
||||
selected_match_24_texture=aa1efcaffddc8d25
|
||||
selected_match_25_family_version=1
|
||||
selected_match_25_vs_family=000000005b02c5c2
|
||||
selected_match_25_ps_family=468c9fbbf6749adf
|
||||
selected_match_25_gs_family=00000000b97119f0
|
||||
selected_match_25_texture=aa1efcaffddc8d25
|
||||
selected_match_25_texture=acf055485e42c060
|
||||
selected_match_26_family_version=1
|
||||
selected_match_26_vs_family=000000005b02c5c2
|
||||
selected_match_26_ps_family=468c9fbbf6749adf
|
||||
selected_match_26_gs_family=00000000b97119f0
|
||||
selected_match_26_texture=aa1efcaffddc8d25
|
||||
selected_match_26_texture=f46f3e244fdf6a20
|
||||
|
||||
$Underwater Effect
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
preserve_stereo_efb=1
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-32000
|
||||
sig_ortho_right=32000
|
||||
sig_ortho_top=24000
|
||||
sig_ortho_bottom=-24000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=0
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
[Graphics.VR]
|
||||
AutoNativeEfbEffects = True
|
||||
DontClearScreen = True
|
||||
ExactScreenDepth = True
|
||||
VirtualScreen = True
|
||||
@@ -0,0 +1,152 @@
|
||||
[TextureElementOverride_Enable]
|
||||
$A
|
||||
$HUD
|
||||
[TextureElementOverride]
|
||||
handling = screen
|
||||
texture = ce0cc943428f8650
|
||||
[Graphics.VR]
|
||||
FrameSizeFromXFB = True
|
||||
RemoveCinematicBars = True
|
||||
MetroidThermalVisorFix = False
|
||||
[ElementsGroupOverride_Enable]
|
||||
$HUD - Power bar
|
||||
$HUD - Club select & More
|
||||
$HUD - Course logo
|
||||
$Star Pointer
|
||||
[ElementsGroupOverride]
|
||||
$HUD - Power bar
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003e0001
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$HUD - Club select & More
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$HUD - Course logo
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Star Pointer
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
@@ -0,0 +1,337 @@
|
||||
[ShaderOverride_Enable]
|
||||
$Machine Settings - black overlay
|
||||
[ShaderOverride]
|
||||
$Machine Settings - black overlay
|
||||
Hash=000000009184ac43
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=fullscreen
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=9bfa9614d1e63c4e
|
||||
|
||||
$Unnamed Shader 1
|
||||
Hash=000000002eae5761
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=1b8f3df3a2f27200
|
||||
[Graphics.VR]
|
||||
DetectRenderTargets = True
|
||||
DisableCPUCull = False
|
||||
DontClearScreen = True
|
||||
FrameSizeFromXFB = False
|
||||
OrthoScissorFix = True
|
||||
RemoveCinematicBars = False
|
||||
SmallViewportsOnScreen = True
|
||||
UnitsPerMeter = 10.00
|
||||
VirtualScreen = True
|
||||
[ElementsGroupOverride_Enable]
|
||||
$HUD
|
||||
$Track Preview screen
|
||||
$Machine Settings - Character
|
||||
$Machine Settings - Machine
|
||||
$Machine Settings - Other
|
||||
$Select Machine - Other
|
||||
$Select Machine - Selected Machine
|
||||
$Select Machine - Ships
|
||||
[ElementsGroupOverride]
|
||||
$HUD
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=566
|
||||
sig_vp_w=320
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=789
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Track Preview screen
|
||||
format=element_only_v6
|
||||
handling=screen_pane
|
||||
units_per_meter=10
|
||||
screen_pane_depth=flat
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=6398
|
||||
sig_persp_vfov=5500
|
||||
sig_persp_near=100
|
||||
sig_persp_far=9000000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=521
|
||||
sig_vp_w=192
|
||||
sig_vp_h=179
|
||||
sig_sc_l=470
|
||||
sig_sc_t=342
|
||||
sig_sc_r=852
|
||||
sig_sc_b=699
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Machine Settings - Character
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=4402
|
||||
sig_persp_vfov=3000
|
||||
sig_persp_near=100
|
||||
sig_persp_far=9000000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=540
|
||||
sig_vp_w=320
|
||||
sig_vp_h=198
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=737
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Machine Settings - Machine
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=3859
|
||||
sig_persp_vfov=3000
|
||||
sig_persp_near=100
|
||||
sig_persp_far=9000000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=622
|
||||
sig_vp_y=542
|
||||
sig_vp_w=280
|
||||
sig_vp_h=200
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=901
|
||||
sig_sc_b=741
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Machine Settings - Other
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=4402
|
||||
sig_persp_vfov=3000
|
||||
sig_persp_near=100
|
||||
sig_persp_far=9000000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=540
|
||||
sig_vp_w=320
|
||||
sig_vp_h=198
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=737
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Select Machine - Other
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=6587
|
||||
sig_persp_vfov=5500
|
||||
sig_persp_near=100
|
||||
sig_persp_far=9000000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Select Machine - Selected Machine
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=6953
|
||||
sig_persp_vfov=5500
|
||||
sig_persp_near=100
|
||||
sig_persp_far=9000000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=502
|
||||
sig_vp_y=454
|
||||
sig_vp_w=160
|
||||
sig_vp_h=112
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=661
|
||||
sig_sc_b=565
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Select Machine - Ships
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=6587
|
||||
sig_persp_vfov=5500
|
||||
sig_persp_near=100
|
||||
sig_persp_far=9000000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
[TextureElementOverride_Enable]
|
||||
$C. Falcon Helmet
|
||||
$C. Falcon Body
|
||||
[TextureElementOverride]
|
||||
$C. Falcon Helmet
|
||||
handling=camera_anchor
|
||||
anchor_up=0.1
|
||||
anchor_hide=1
|
||||
anchor_upm=2
|
||||
flag=FPV
|
||||
texture=78f9834de2e68714
|
||||
|
||||
$C. Falcon Body
|
||||
handling=skip
|
||||
condition=FPV
|
||||
condition_mode=activate
|
||||
texture=2b836ba24b2c2bd4
|
||||
texture=2be2364e596f5f83
|
||||
texture=33655b18f0ec9718
|
||||
texture=45413ed5ca6a5f80
|
||||
texture=aa5561dcc5e40a13
|
||||
texture=bc2d7580ac99d2f4
|
||||
texture=e1913370f6d9456b
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
[Graphics.VR]
|
||||
DetectRenderTargets = True
|
||||
VirtualScreen = True
|
||||
[TextureElementOverride_Enable]
|
||||
$tacos test
|
||||
[TextureElementOverride]
|
||||
$tacos test
|
||||
handling=screen
|
||||
texture=1028a70f1f5fe7bd
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
[ElementsGroupOverride_Enable]
|
||||
$Weird effect
|
||||
$Room Shadows
|
||||
$Shadows
|
||||
[ElementsGroupOverride]
|
||||
$Weird effect
|
||||
format=element_only_v6
|
||||
handling=skip
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=44800
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=566
|
||||
sig_vp_w=320
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=789
|
||||
sig_alpha=001cff00
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Room Shadows
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=100
|
||||
sig_ortho_top=100
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Shadows
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-10000
|
||||
sig_ortho_right=10000
|
||||
sig_ortho_top=10000
|
||||
sig_ortho_bottom=-10000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=001cff00
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 1.00
|
||||
[HideObjectCodes_Enabled]
|
||||
$Black Bar Bottom
|
||||
$Black Bar top
|
||||
@@ -13,11 +11,25 @@ $Black Bar top
|
||||
Type=128bits
|
||||
Upper=0x000000003F440001
|
||||
Lower=0x00000000000000FF
|
||||
[TextureElementOverride_Enable]
|
||||
[TextureElementOverride]
|
||||
$H Eyes
|
||||
handling=skip
|
||||
texture=50309b2f7f87bbe5
|
||||
|
||||
$Texture 6267f33da767b68c
|
||||
handling=camera_anchor
|
||||
anchor_up=0.7
|
||||
anchor_hide=1
|
||||
anchor_rotation=yaw
|
||||
anchor_upm=1
|
||||
texture=6267f33da767b68c
|
||||
[ElementsGroupOverride_Enable]
|
||||
$Minimap Road
|
||||
$Minimap new
|
||||
$Car glass
|
||||
[ElementsGroupOverride]
|
||||
$Minimap Road
|
||||
format=element_only_v5
|
||||
format=element_only_v6
|
||||
handling=skip
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=9
|
||||
@@ -29,6 +41,7 @@ sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
@@ -50,7 +63,7 @@ sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$FMV
|
||||
format=element_only_v5
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
@@ -62,6 +75,7 @@ sig_ortho_right=50
|
||||
sig_ortho_top=38
|
||||
sig_ortho_bottom=-38
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
@@ -82,3 +96,115 @@ sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Fmv new
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-50
|
||||
sig_ortho_right=50
|
||||
sig_ortho_top=38
|
||||
sig_ortho_bottom=-38
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Minimap new
|
||||
format=element_only_v6
|
||||
handling=skip
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=9000
|
||||
sig_persp_vfov=9000
|
||||
sig_persp_near=1000
|
||||
sig_persp_far=800000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=872
|
||||
sig_vp_y=722
|
||||
sig_vp_w=60
|
||||
sig_vp_h=60
|
||||
sig_sc_l=812
|
||||
sig_sc_t=662
|
||||
sig_sc_r=931
|
||||
sig_sc_b=781
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Car glass
|
||||
format=element_only_v6
|
||||
handling=camera_anchor
|
||||
anchor_up=0.6
|
||||
anchor_hide=1
|
||||
comments=Keeps jumping left/right
|
||||
selected_match_mode=include
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=7812
|
||||
sig_persp_vfov=6265
|
||||
sig_persp_near=1000
|
||||
sig_persp_far=800000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
selected_match_0_family_version=2
|
||||
selected_match_0_vs_family=25d00027e1d6a5ce
|
||||
selected_match_0_ps_family=9d787892a4e9865b
|
||||
selected_match_0_gs_family=9a65ac00c545d41f
|
||||
selected_match_0_texture=863021b30fda28e6
|
||||
selected_match_0_texture=e610a9b60b3feb19
|
||||
|
||||
@@ -1,15 +1,7 @@
|
||||
[ShaderOverride_Enable]
|
||||
[ShaderOverride]
|
||||
$Unnamed Shader 1
|
||||
Hash=000000001410f7c7
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
[ElementsGroupOverride_Enable]
|
||||
$HUD
|
||||
[ElementsGroupOverride]
|
||||
$HUD
|
||||
format=element_only_v5
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
@@ -21,6 +13,7 @@ sig_ortho_right=32
|
||||
sig_ortho_top=24
|
||||
sig_ortho_bottom=-24
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
@@ -40,6 +33,25 @@ sig_zupdate=1
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 50.00
|
||||
VirtualScreen = False
|
||||
[ShaderOverride_Enable]
|
||||
$Unnamed Shader 2
|
||||
[ShaderOverride]
|
||||
$Unnamed Shader 1
|
||||
Hash=000000001410f7c7
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
family_version=1
|
||||
|
||||
$Unnamed Shader 2
|
||||
Hash=00000000cbf93e9e
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=camera_anchor
|
||||
anchor_up=1
|
||||
anchor_hide=1
|
||||
anchor_upm=10
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=c5d588563a94c74b
|
||||
|
||||
@@ -0,0 +1,304 @@
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 5.00
|
||||
[TextureElementOverride_Enable]
|
||||
$HUD
|
||||
$Numbers
|
||||
$Text
|
||||
$Minimap
|
||||
$Abilities Icon
|
||||
[TextureElementOverride]
|
||||
$HUD
|
||||
handling=screen
|
||||
texture=000feab48fee8c58
|
||||
texture=092e69959b902dd0
|
||||
texture=2190cae106e5e83f
|
||||
texture=4bee45a819f8bb5e
|
||||
texture=4eb176e754fbf774
|
||||
texture=706dee3bd02bc003
|
||||
texture=79bf7486becb290f
|
||||
texture=a4a984dc1a7bfb22
|
||||
texture=c2f5d305ba9a1eb6
|
||||
texture=d0cc204ca95d690f
|
||||
texture=db82f2b3286bf55c
|
||||
texture=e081e42af0931321
|
||||
texture=e70f08b827057365
|
||||
texture=efdb751179b7a51a
|
||||
|
||||
$Numbers
|
||||
handling=screen
|
||||
texture=000feab48fee8c58
|
||||
texture=0529335e876e8cab
|
||||
texture=0551e48a4428aa63
|
||||
texture=1f86104a804c2b65
|
||||
texture=2190cae106e5e83f
|
||||
texture=21ff23ce1127704e
|
||||
texture=2315d5969c28b6d7
|
||||
texture=2d01603371cf3633
|
||||
texture=30c06b50c2b6110c
|
||||
texture=311b1f3d09871b17
|
||||
texture=389c9e5f9661c073
|
||||
texture=3c2fafe1e7f1556b
|
||||
texture=3e4c32129bd30598
|
||||
texture=46c67c44d6bc9d49
|
||||
texture=4796d64e2ca00b39
|
||||
texture=49cbcf7c4bb5f8e0
|
||||
texture=4bae813951fb0d93
|
||||
texture=5282d6e83e8099d8
|
||||
texture=61fee5520d0de8ec
|
||||
texture=677c741d0cafb1a6
|
||||
texture=7829f962c0bc14ec
|
||||
texture=79bf7486becb290f
|
||||
texture=7eca49b4790ccd80
|
||||
texture=8ac7f3900af11152
|
||||
texture=a4a984dc1a7bfb22
|
||||
texture=add83018e4f7e24c
|
||||
texture=af1ab2d0a576c895
|
||||
texture=b2204a805de726b1
|
||||
texture=b91be7c3aec21e6b
|
||||
texture=c5f4f5d565de6efc
|
||||
texture=cba42a3fd57f8765
|
||||
texture=d0cc204ca95d690f
|
||||
texture=d4cb44c6651a0e06
|
||||
texture=e081e42af0931321
|
||||
texture=e5257571ca5013ed
|
||||
texture=e70f08b827057365
|
||||
texture=e8b8fffd46b5bce2
|
||||
texture=efcc66d7e2deb7eb
|
||||
texture=efdb751179b7a51a
|
||||
texture=f3ce0b2de9d72a54
|
||||
texture=f755183ca0024ec5
|
||||
|
||||
$Text
|
||||
handling=screen
|
||||
texture=04c66b651bc95943
|
||||
texture=07b64736724232f0
|
||||
texture=089cec1b0553a8bb
|
||||
texture=0a1def28f641297d
|
||||
texture=1e32c15e33599113
|
||||
texture=24091644e5fb98ed
|
||||
texture=24f6ec8be5e32761
|
||||
texture=35074e710c532e93
|
||||
texture=36cbd1e4289bb97f
|
||||
texture=44996b07cb345a37
|
||||
texture=50cb94aca7ec97b5
|
||||
texture=5accb137a890e948
|
||||
texture=5afb864b2c552aac
|
||||
texture=665b45d24176e41f
|
||||
texture=681c37116ae53d9e
|
||||
texture=69b3d30a27d29936
|
||||
texture=913e1975ffd4e592
|
||||
texture=92a1216a845fb6cd
|
||||
texture=92d763e178807ea2
|
||||
texture=964cfa7c7309c0b0
|
||||
texture=9a2691ee1d45bfda
|
||||
texture=9f8bd738c39d299d
|
||||
texture=a428846c536e9264
|
||||
texture=adaf235e29e77ea6
|
||||
texture=b670c2aae778b652
|
||||
texture=b865b3284c9b0f2d
|
||||
texture=b9ed1bbb310cde68
|
||||
texture=c07bc68c2dbcf7f2
|
||||
texture=c187aa217ae751cb
|
||||
texture=c190ebacbb4ab2a1
|
||||
texture=c3ac65bf337071e3
|
||||
texture=c7569d94799d5805
|
||||
texture=d4ca8142907bfdc3
|
||||
texture=d4cb44c6651a0e06
|
||||
texture=d8cec25cbf1d03cc
|
||||
texture=d9a03313d846878f
|
||||
texture=df92c2854dc68647
|
||||
texture=e029fe8239fb5e02
|
||||
texture=e362b2e98d72d149
|
||||
texture=ee9ddb0d0171e208
|
||||
texture=f5d7a7b1fccda51f
|
||||
texture=fda1b8660587789f
|
||||
texture=feb48a9794bc6a02
|
||||
|
||||
$Minimap
|
||||
handling=screen
|
||||
texture=6eb09ee517db7750
|
||||
|
||||
$Abilities Icon
|
||||
handling=screen
|
||||
texture=1885f4bbd0ec2859
|
||||
texture=1e9d9592ceb30d5e
|
||||
texture=282eb5226e9c47b1
|
||||
texture=53281c16970c6186
|
||||
texture=7264c9e36936a7ae
|
||||
texture=df1f286f4e35d324
|
||||
texture=f0a967b0a64e098c
|
||||
texture=fae7a31f7d0fdf1c
|
||||
[ElementsGroupOverride_Enable]
|
||||
$HUD
|
||||
$Element Draw 1
|
||||
[ElementsGroupOverride]
|
||||
$HUD
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=3110
|
||||
sig_persp_vfov=2500
|
||||
sig_persp_near=1000
|
||||
sig_persp_far=100000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$HUD Tags
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=6400
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=-4800
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Text
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=-48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=00640000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=0
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$FMV
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Element Draw 1
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=25600
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=19200
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=470
|
||||
sig_vp_y=438
|
||||
sig_vp_w=128
|
||||
sig_vp_h=96
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=597
|
||||
sig_sc_b=533
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
@@ -0,0 +1,228 @@
|
||||
[TextureElementOverride_Enable]
|
||||
[TextureElementOverride]
|
||||
$Lamp Torch
|
||||
handling=controller_anchor
|
||||
anchor_hand=right
|
||||
anchor_rotation=full
|
||||
texture=6fbbed05423d4967
|
||||
texture=a9a59173f8247547
|
||||
texture=dfffdb604847eab9
|
||||
texture=fc30c7dabe1e6376
|
||||
|
||||
$Luigi Moustache
|
||||
handling=camera_anchor
|
||||
anchor_hide=0
|
||||
anchor_rotation=yaw
|
||||
anchor_upm=50
|
||||
texture=4b5ae2d1b071af60
|
||||
[Graphics.VR]
|
||||
OrthoScissorFix = True
|
||||
SmallViewportsOnScreen = False
|
||||
[ElementsGroupOverride_Enable]
|
||||
$Lighting in Lab
|
||||
$Gameboy horror minimap
|
||||
[ElementsGroupOverride]
|
||||
$Lighting in Lab
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=2254
|
||||
sig_persp_vfov=1700
|
||||
sig_persp_near=3000000
|
||||
sig_persp_far=500000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=660
|
||||
sig_vp_y=580
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=341
|
||||
sig_sc_t=341
|
||||
sig_sc_r=978
|
||||
sig_sc_b=818
|
||||
sig_alpha=00240000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Element Draw 298
|
||||
format=element_only_v6
|
||||
handling=headlocked
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=3048
|
||||
sig_persp_vfov=2600
|
||||
sig_persp_near=1000
|
||||
sig_persp_far=32768000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=872
|
||||
sig_vp_y=744
|
||||
sig_vp_w=55
|
||||
sig_vp_h=42
|
||||
sig_sc_l=817
|
||||
sig_sc_t=702
|
||||
sig_sc_r=926
|
||||
sig_sc_b=785
|
||||
sig_alpha=00240000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Lighting Foyer
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=2254
|
||||
sig_persp_vfov=1700
|
||||
sig_persp_near=3000000
|
||||
sig_persp_far=500000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=660
|
||||
sig_vp_y=580
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=341
|
||||
sig_sc_t=341
|
||||
sig_sc_r=978
|
||||
sig_sc_b=818
|
||||
sig_alpha=00640000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Lighting Foyer 2
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=2254
|
||||
sig_persp_vfov=1700
|
||||
sig_persp_near=3000000
|
||||
sig_persp_far=500000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=660
|
||||
sig_vp_y=580
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=341
|
||||
sig_sc_t=341
|
||||
sig_sc_r=978
|
||||
sig_sc_b=693
|
||||
sig_alpha=00640000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Luigi Lighting
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=2254
|
||||
sig_persp_vfov=1700
|
||||
sig_persp_near=3000000
|
||||
sig_persp_far=500000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=660
|
||||
sig_vp_y=580
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=341
|
||||
sig_sc_t=341
|
||||
sig_sc_r=978
|
||||
sig_sc_b=818
|
||||
sig_alpha=00240000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Gameboy horror minimap
|
||||
format=element_only_v6
|
||||
handling=screen_pane
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=3422
|
||||
sig_persp_vfov=2600
|
||||
sig_persp_near=16000
|
||||
sig_persp_far=819200
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=660
|
||||
sig_vp_y=580
|
||||
sig_vp_w=208
|
||||
sig_vp_h=156
|
||||
sig_sc_l=452
|
||||
sig_sc_t=424
|
||||
sig_sc_r=867
|
||||
sig_sc_b=735
|
||||
sig_alpha=00640000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
@@ -0,0 +1,228 @@
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 500.00
|
||||
VirtualScreen = True
|
||||
ExactScreenDepth = False
|
||||
OrthoScissorFix = True
|
||||
DetectRenderTargets = True
|
||||
SmallViewportsOnScreen = True
|
||||
FrameSizeFromXFB = False
|
||||
RemoveCinematicBars = False
|
||||
[ShaderOverride_Enable]
|
||||
[ShaderOverride]
|
||||
[ElementsGroupOverride_Enable]
|
||||
$Character Select - Characters & Kart
|
||||
[ElementsGroupOverride]
|
||||
$HUD
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=60
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=44
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=566
|
||||
sig_vp_w=304
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=789
|
||||
sig_alpha=00640000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Shadows
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=60
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=44
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=566
|
||||
sig_vp_w=304
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=789
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=0
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$EFB
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=60
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=44
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=1
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=566
|
||||
sig_vp_w=304
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=789
|
||||
sig_alpha=00640000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=0
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Shadow w Proj
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=60
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=44
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=1
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=0
|
||||
sig_use_scissor=0
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=566
|
||||
sig_vp_w=304
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=789
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=0
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Shadows on Daisy Cruiser
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=60
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=44
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=1
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=0
|
||||
sig_use_scissor=0
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=566
|
||||
sig_vp_w=304
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=789
|
||||
sig_alpha=00640000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=0
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Character Select - Characters & Kart
|
||||
format=element_only_v6
|
||||
handling=screen_pane
|
||||
screen_pane_depth=vr
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=5017
|
||||
sig_persp_vfov=3000
|
||||
sig_persp_near=10000
|
||||
sig_persp_far=20000000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=0
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=616
|
||||
sig_vp_w=304
|
||||
sig_vp_h=174
|
||||
sig_sc_l=342
|
||||
sig_sc_t=442
|
||||
sig_sc_r=949
|
||||
sig_sc_b=789
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
[TextureElementOverride_Enable]
|
||||
[TextureElementOverride]
|
||||
$Mario
|
||||
handling=camera_anchor
|
||||
anchor_up=0.5
|
||||
anchor_forward=0.3
|
||||
anchor_hide=0
|
||||
anchor_upm=50
|
||||
texture=3a2498c371e850ad
|
||||
|
||||
@@ -1,178 +0,0 @@
|
||||
[ShaderOverride_Enable]
|
||||
[ShaderOverride]
|
||||
$EFB Effects
|
||||
Hash=000000003d877e91
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=fullscreen
|
||||
|
||||
$Character_Shadows
|
||||
Hash=000000006c367f0c
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=fullscreen
|
||||
|
||||
$EFB Effects 2
|
||||
Hash=000000005347e90a
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=fullscreen
|
||||
|
||||
$HUD
|
||||
Hash=00000000198dabb4
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
|
||||
$Main menu stars
|
||||
Hash=00000000dd2e5970
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
|
||||
$Main menu background
|
||||
Hash=00000000d527ab2a
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
|
||||
$Main menu up
|
||||
Hash=000000008d2ef813
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
|
||||
$Main menu blue
|
||||
Hash=00000000516da5d0
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
|
||||
$Main menu arrows
|
||||
Hash=00000000118459ee
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
|
||||
$Blue Square
|
||||
Hash=000000002b3a6cc8
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
|
||||
$EFB Desert
|
||||
Hash=0000000026e1b10a
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=fullscreen
|
||||
|
||||
$EFB Desert 2
|
||||
Hash=0000000082d8dfce
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=fullscreen
|
||||
[ElementsGroupOverride_Enable]
|
||||
$EFB
|
||||
$Shadow
|
||||
[ElementsGroupOverride]
|
||||
$HUD
|
||||
format=element_only_v5
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=60
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=44
|
||||
sig_use_projection=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=566
|
||||
sig_vp_w=304
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=789
|
||||
sig_alpha=00640000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$EFB
|
||||
format=element_only_v5
|
||||
handling=fullscreen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=60
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=44
|
||||
sig_use_projection=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=566
|
||||
sig_vp_w=304
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=789
|
||||
sig_alpha=00640000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=0
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Shadow
|
||||
format=element_only_v5
|
||||
handling=fullscreen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=60
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=44
|
||||
sig_use_projection=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=566
|
||||
sig_vp_w=304
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=789
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=0
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 500.00
|
||||
VirtualScreen = True
|
||||
@@ -1,55 +0,0 @@
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 500.00
|
||||
|
||||
[ShaderOverride_Enable]
|
||||
[ShaderOverride]
|
||||
$HUD
|
||||
Hash=00000000387e78c8
|
||||
Type=PS
|
||||
handling=screen
|
||||
|
||||
$HUD2
|
||||
Hash=00000000c94c4d5f
|
||||
Type=PS
|
||||
handling=screen
|
||||
|
||||
$HUD item
|
||||
Hash=00000000ecdd6992
|
||||
Type=PS
|
||||
handling=screen
|
||||
|
||||
[ElementsGroupOverride_Enable]
|
||||
[ElementsGroupOverride]
|
||||
$Element Draw 815
|
||||
format=element_only_v5
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=60,800
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=44,800
|
||||
sig_use_projection=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=566
|
||||
sig_vp_w=304
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=789
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
@@ -1,52 +1,101 @@
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 1.5
|
||||
HudThickness = 0.5
|
||||
|
||||
[ElementsGroupOverride_Enable]
|
||||
$Metroid Profile HUD and Visor
|
||||
$Metroid Profile Screen Effects
|
||||
$Metroid Profile Hidden Layers
|
||||
$Black Box on the Left Side
|
||||
$Menu
|
||||
$Menu 2
|
||||
$Canon test
|
||||
[ElementsGroupOverride]
|
||||
$Metroid Profile HUD and Visor
|
||||
format=element_profile_v1
|
||||
handling=headlocked
|
||||
profile=metroid_prime_1_gc
|
||||
profile_layer=METROID_HUD
|
||||
profile_layer=METROID_UNKNOWN_HUD
|
||||
profile_layer=METROID_DARK_VISOR_HUD
|
||||
profile_layer=METROID_XRAY_HUD
|
||||
profile_layer=METROID_VISOR
|
||||
profile_layer=METROID_HELMET
|
||||
profile_layer=METROID_VISOR_RADAR_HINT
|
||||
profile_layer=METROID_RADAR_DOT
|
||||
profile_layer=METROID_SCAN_RETICLE
|
||||
profile_layer=METROID_SCAN_TEXT
|
||||
profile_layer=METROID_SCAN_HOLOGRAM
|
||||
profile_layer=METROID_VISOR_BOOTUP
|
||||
profile_layer=METROID_MAP_OR_HINT
|
||||
profile_layer=METROID_MAP
|
||||
format = element_only_v6
|
||||
handling = controller_anchor
|
||||
profile = metroid_prime_1_gc
|
||||
profile_layer = METROID_VISOR_DIRT
|
||||
sig_perspective = 1
|
||||
sig_persp_hfov = 8243
|
||||
sig_persp_vfov = 6500
|
||||
sig_persp_near = 1000
|
||||
sig_persp_far = 409600
|
||||
sig_ortho_left = 0
|
||||
sig_ortho_right = 0
|
||||
sig_ortho_top = 0
|
||||
sig_ortho_bottom = 0
|
||||
sig_use_projection = 0
|
||||
sig_use_projection_type = 0
|
||||
sig_use_layer = 0
|
||||
sig_use_viewport = 0
|
||||
sig_use_scissor = 0
|
||||
sig_use_render_state = 1
|
||||
sig_layer = 0
|
||||
sig_vp_x = 662
|
||||
sig_vp_y = 566
|
||||
sig_vp_w = 320
|
||||
sig_vp_h = 224
|
||||
sig_sc_l = 342
|
||||
sig_sc_t = 342
|
||||
sig_sc_r = 981
|
||||
sig_sc_b = 789
|
||||
sig_alpha = 007f0000
|
||||
sig_ztest = 1
|
||||
sig_zupdate = 1
|
||||
sig_zfunc = 3
|
||||
sig_blend_color = 1
|
||||
sig_blend_alpha = 1
|
||||
anchor_hand = right
|
||||
anchor_rotation = full
|
||||
anchor_pitch = -90
|
||||
texture_mode = include
|
||||
texture = 2c8729df85edbaf7
|
||||
[Graphics.VR]
|
||||
AutoNativeEfbEffects = False
|
||||
DetectRenderTargets = False
|
||||
DetectSkybox = True
|
||||
DisableCPUCull = True
|
||||
DontClearScreen = True
|
||||
ExactScreenDepth = False
|
||||
FrameSizeFromXFB = False
|
||||
MetroidThermalVisorFix = True
|
||||
RemoveCinematicBars = True
|
||||
SmallViewportsOnScreen = False
|
||||
UnitsPerMeter = 1.50
|
||||
VirtualScreen = False
|
||||
[ShaderOverride_Enable]
|
||||
[ShaderOverride]
|
||||
[TextureElementOverride_Enable]
|
||||
$Logos
|
||||
$Press Start
|
||||
$Menu Text
|
||||
$Cannon
|
||||
[TextureElementOverride]
|
||||
$Logos
|
||||
handling=screen
|
||||
texture=71f924e0cffdc1af
|
||||
texture=7d6faa0461b7ccbe
|
||||
texture=9a427b09ac8ce161
|
||||
|
||||
$Metroid Profile Screen Effects
|
||||
format=element_profile_v1
|
||||
handling=fullscreen
|
||||
profile=metroid_prime_1_gc
|
||||
profile_layer=METROID_SCREEN_FADE
|
||||
profile_layer=METROID_SCREEN_OVERLAY
|
||||
profile_layer=METROID_ECHO_EFFECT
|
||||
profile_layer=METROID_THERMAL_EFFECT
|
||||
profile_layer=METROID_THERMAL_EFFECT_GUN
|
||||
profile_layer=METROID_CHARGE_BEAM_EFFECT
|
||||
profile_layer=METROID_XRAY_EFFECT
|
||||
profile_layer=METROID_DARK_EFFECT
|
||||
profile_layer=METROID_VISOR_DIRT
|
||||
profile_layer=METROID_SCAN_DARKEN
|
||||
profile_layer=METROID_SCAN_HIGHLIGHTER
|
||||
$Press Start
|
||||
handling=screen
|
||||
texture=d1994fd7bf879660
|
||||
|
||||
$Metroid Profile Hidden Layers
|
||||
format=element_profile_v1
|
||||
handling=skip
|
||||
profile=metroid_prime_1_gc
|
||||
profile_layer=METROID_EFB_COPY
|
||||
profile_layer=METROID_BLACK_BARS
|
||||
profile_layer=METROID_SCAN_BOX
|
||||
$Menu Text
|
||||
handling=screen
|
||||
texture=98d66e7812c70dd8
|
||||
texture=bb21e8755f36b2f0
|
||||
|
||||
$Cannon
|
||||
handling=controller_anchor
|
||||
anchor_hand=right
|
||||
anchor_rotation=full
|
||||
anchor_pitch=-90
|
||||
texture=1789add6ac081b19
|
||||
texture=3c6ded49d64d30f2
|
||||
texture=4f80b529b06db3fa
|
||||
texture=702d953c2f22b5c6
|
||||
texture=74b69a5b06b07925
|
||||
texture=8d6f00b5d395f22f
|
||||
texture=9fa941b46459adc5
|
||||
texture=bd189f9434910a83
|
||||
texture=bec6d78ea7dd739e
|
||||
texture=ca5af9af518b322d
|
||||
texture=f0180e008485ac86
|
||||
|
||||
@@ -1,19 +1,9 @@
|
||||
[HideObjectCodes_Enabled]
|
||||
[HideObjectCodes]
|
||||
$remove orb
|
||||
Type=8bits
|
||||
Upper=0x0000000000000000
|
||||
Lower=0x000000000000003F
|
||||
|
||||
$remove shadow 2
|
||||
Type=8bits
|
||||
Upper=0x0000000000000000
|
||||
Lower=0x0000000000000000
|
||||
[ElementsGroupOverride_Enable]
|
||||
$Circle and Shadow
|
||||
$Big Shadow
|
||||
$Bomb timer
|
||||
[ElementsGroupOverride]
|
||||
$HUD
|
||||
format=element_only_v5
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
@@ -25,6 +15,7 @@ sig_ortho_right=64
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
@@ -46,7 +37,7 @@ sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Circle and Shadow
|
||||
format=element_only_v5
|
||||
format=element_only_v6
|
||||
handling=skip
|
||||
texture_mode=exclude
|
||||
texture=2f9ac52528781aae
|
||||
@@ -62,6 +53,7 @@ sig_ortho_right=64
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
@@ -81,6 +73,159 @@ sig_zupdate=1
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Big Shadow
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=7518
|
||||
sig_persp_vfov=6000
|
||||
sig_persp_near=100
|
||||
sig_persp_far=2000000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=660
|
||||
sig_vp_y=564
|
||||
sig_vp_w=320
|
||||
sig_vp_h=224
|
||||
sig_sc_l=340
|
||||
sig_sc_t=340
|
||||
sig_sc_r=979
|
||||
sig_sc_b=787
|
||||
sig_alpha=00240000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Bomb timer
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=7518
|
||||
sig_persp_vfov=6000
|
||||
sig_persp_near=10
|
||||
sig_persp_far=2000000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=660
|
||||
sig_vp_y=564
|
||||
sig_vp_w=320
|
||||
sig_vp_h=224
|
||||
sig_sc_l=340
|
||||
sig_sc_t=340
|
||||
sig_sc_r=979
|
||||
sig_sc_b=787
|
||||
sig_alpha=00240000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Bonus Stage Floor
|
||||
format=element_only_v6
|
||||
handling=skip
|
||||
selected_match_mode=include
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=7517
|
||||
sig_persp_vfov=6000
|
||||
sig_persp_near=100
|
||||
sig_persp_far=2000000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=660
|
||||
sig_vp_y=564
|
||||
sig_vp_w=320
|
||||
sig_vp_h=224
|
||||
sig_sc_l=340
|
||||
sig_sc_t=340
|
||||
sig_sc_r=979
|
||||
sig_sc_b=787
|
||||
sig_alpha=00240000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
selected_match_0_family_version=2
|
||||
selected_match_0_vs_family=d0d904e1e81de8fd
|
||||
selected_match_0_ps_family=d335d27bc08aa10d
|
||||
selected_match_0_gs_family=9a65ac00c545d41f
|
||||
selected_match_0_texture=164d0a0148d81b23
|
||||
selected_match_0_texture=769e44967c15d4ff
|
||||
selected_match_0_texture=aa889e25b7fd62d4
|
||||
selected_match_0_texture=d19c357c078982c8
|
||||
|
||||
$Element Draw 574
|
||||
format=element_only_v6
|
||||
handling=flag
|
||||
flag=test
|
||||
clear_efb=1
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=7517
|
||||
sig_persp_vfov=6000
|
||||
sig_persp_near=100
|
||||
sig_persp_far=2000000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=0
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=660
|
||||
sig_vp_y=564
|
||||
sig_vp_w=320
|
||||
sig_vp_h=224
|
||||
sig_sc_l=340
|
||||
sig_sc_t=340
|
||||
sig_sc_r=979
|
||||
sig_sc_b=787
|
||||
sig_alpha=00240000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
[Graphics.VR]
|
||||
AutoNativeEfbEffects = True
|
||||
DetectRenderTargets = False
|
||||
ExactScreenDepth = True
|
||||
SmallViewportsOnScreen = True
|
||||
VirtualScreen = True
|
||||
[ShaderOverride_Enable]
|
||||
[ShaderOverride]
|
||||
$HUD
|
||||
@@ -88,12 +233,43 @@ Hash=0000000056886e42
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
family_version=1
|
||||
|
||||
$Bonus Stage Floor
|
||||
Hash=000000002baf3bf9
|
||||
Hash=00000000713b4a71
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 1.00
|
||||
VirtualScreen = True
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=d335d27bc08aa10d
|
||||
|
||||
$Ball
|
||||
Hash=000000002620f3f8
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=camera_anchor
|
||||
anchor_up=0.2
|
||||
anchor_hide=0
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=49e5f87e14eb6b09
|
||||
[TextureElementOverride_Enable]
|
||||
[TextureElementOverride]
|
||||
$AiAi Body
|
||||
handling=skip
|
||||
flag=FPV
|
||||
texture=52269039af1be269
|
||||
texture=6f235d58652912ae
|
||||
texture=792fe286a81d74c9
|
||||
texture=7acaa6e811b2ca35
|
||||
texture=ed14a87a06a211b3
|
||||
|
||||
$Test skip
|
||||
handling=skip
|
||||
texture=190fd677cb984dad
|
||||
texture=2606765b829f5012
|
||||
texture=2ee02bd60fa4aecb
|
||||
texture=44eb3efaa20066fe
|
||||
texture=84e46e215eb0d680
|
||||
|
||||
@@ -0,0 +1,605 @@
|
||||
[Graphics.VR]
|
||||
AutoNativeEfbEffects = False
|
||||
DetectRenderTargets = True
|
||||
DontClearScreen = True
|
||||
ExactScreenDepth = False
|
||||
OrthoScissorFix = True
|
||||
UnitsPerMeter = 500.00
|
||||
VirtualScreen = False
|
||||
[ShaderOverride_Enable]
|
||||
$Water fix
|
||||
[ShaderOverride]
|
||||
$Skybox 01
|
||||
Hash=000000003abc7c0c
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=df6a556b00c84d5d
|
||||
|
||||
$Skybox 02
|
||||
Hash=00000000272321e4
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=105cc88e658e66b5
|
||||
|
||||
$Water fix
|
||||
Hash=00000000cea766ad
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=d90279e5c7903380
|
||||
|
||||
$Delphino Ground
|
||||
Hash=000000004e214c78
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=9d787892a4e9865b
|
||||
|
||||
$Select Data Water (AR)
|
||||
Hash=000000009698a276
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=476921b225ef82dc
|
||||
|
||||
$Select Data Water
|
||||
Hash=000000006b85185b
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=2daec1ad3d2c6482
|
||||
|
||||
$Select Data Shadows
|
||||
Hash=00000000a43a43f0
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=944b215517cc3cdb
|
||||
[ElementsGroupOverride_Enable]
|
||||
$FMV
|
||||
$Level Select
|
||||
[ElementsGroupOverride]
|
||||
$EFB
|
||||
format=element_only_v6
|
||||
handling=skip
|
||||
texture_mode=exclude
|
||||
texture=0b15cd9b3c7aadc5
|
||||
texture=0deebc4f6cbf8fd7
|
||||
texture=1c96069e3a43461a
|
||||
texture=2a424a5892944eb4
|
||||
texture=39f5a44bd06af71c
|
||||
texture=7429ab5919c19776
|
||||
texture=780c14f682f381a4
|
||||
texture=863ba9ae1f747853
|
||||
texture=a0ee80f74dd3b117
|
||||
texture=a2420b3ad5c8fbbe
|
||||
texture=a31a15e8e436f22f
|
||||
texture=ab271635b24499b1
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=6
|
||||
sig_persp_vfov=5
|
||||
sig_persp_near=10
|
||||
sig_persp_far=30
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=1
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=0
|
||||
sig_use_scissor=0
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=566
|
||||
sig_vp_w=320
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=789
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$HUD
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=60
|
||||
sig_ortho_top=1
|
||||
sig_ortho_bottom=46
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=1
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=0
|
||||
sig_use_scissor=0
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=566
|
||||
sig_vp_w=320
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=789
|
||||
sig_alpha=00640000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$FMV
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=44
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=1
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=0
|
||||
sig_use_scissor=0
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=566
|
||||
sig_vp_w=320
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=789
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$EFB 02
|
||||
format=element_only_v6
|
||||
handling=skip
|
||||
texture_mode=exclude
|
||||
texture=1c96069e3a43461a
|
||||
texture=2a424a5892944eb4
|
||||
texture=7429ab5919c19776
|
||||
texture=780c14f682f381a4
|
||||
texture=863ba9ae1f747853
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=6
|
||||
sig_persp_vfov=5
|
||||
sig_persp_near=10
|
||||
sig_persp_far=30
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=1
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=0
|
||||
sig_use_scissor=0
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=566
|
||||
sig_vp_w=320
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=789
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Bianco Hill Water
|
||||
format=element_only_v6
|
||||
handling=skip
|
||||
texture_mode=exclude
|
||||
texture=5bbe7c36b7331e6d
|
||||
texture=7e14bcc72be82e94
|
||||
texture=eaea00e24e6aacab
|
||||
texture=f9baa54de002fa39
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=6
|
||||
sig_persp_vfov=5
|
||||
sig_persp_near=10
|
||||
sig_persp_far=30
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=1
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=566
|
||||
sig_vp_w=320
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=789
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Level Select
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=60
|
||||
sig_ortho_top=1
|
||||
sig_ortho_bottom=46
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=1
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=566
|
||||
sig_vp_w=320
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=789
|
||||
sig_alpha=00640000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Parts of Delphino Plaza Ground (AR)
|
||||
format=element_only_v6
|
||||
handling=skip
|
||||
selected_match_mode=include
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=7932
|
||||
sig_persp_vfov=5000
|
||||
sig_persp_near=10000
|
||||
sig_persp_far=30000004
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=0
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=566
|
||||
sig_vp_w=320
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=789
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
selected_match_0_family_version=2
|
||||
selected_match_0_vs_family=f4c7570ded246939
|
||||
selected_match_0_ps_family=9d787892a4e9865b
|
||||
selected_match_0_gs_family=9a65ac00c545d41f
|
||||
selected_match_0_texture=09223f92a4d83e02
|
||||
selected_match_0_texture=8777328373eb7bd4
|
||||
selected_match_0_texture=bed8fbefe21d43cb
|
||||
selected_match_0_texture=da6f0a689f43eeb7
|
||||
selected_match_1_family_version=2
|
||||
selected_match_1_vs_family=f4c7570ded246939
|
||||
selected_match_1_ps_family=9d787892a4e9865b
|
||||
selected_match_1_gs_family=9a65ac00c545d41f
|
||||
selected_match_1_texture=09223f92a4d83e02
|
||||
selected_match_1_texture=66f988b1dcbd9332
|
||||
selected_match_1_texture=bed8fbefe21d43cb
|
||||
selected_match_1_texture=da6f0a689f43eeb7
|
||||
selected_match_2_family_version=2
|
||||
selected_match_2_vs_family=f4c7570ded246939
|
||||
selected_match_2_ps_family=9d787892a4e9865b
|
||||
selected_match_2_gs_family=9a65ac00c545d41f
|
||||
selected_match_2_texture=09223f92a4d83e02
|
||||
selected_match_2_texture=1abd04cf35cee8d9
|
||||
selected_match_2_texture=bed8fbefe21d43cb
|
||||
selected_match_2_texture=da6f0a689f43eeb7
|
||||
selected_match_3_family_version=2
|
||||
selected_match_3_vs_family=f4c7570ded246939
|
||||
selected_match_3_ps_family=9d787892a4e9865b
|
||||
selected_match_3_gs_family=9a65ac00c545d41f
|
||||
selected_match_3_texture=09223f92a4d83e02
|
||||
selected_match_3_texture=bed8fbefe21d43cb
|
||||
selected_match_3_texture=c799aadbd949538c
|
||||
selected_match_3_texture=da6f0a689f43eeb7
|
||||
[TextureElementOverride_Enable]
|
||||
$60fps Stars Glitch
|
||||
$Behind Wall Mask
|
||||
$Bianco Water
|
||||
$File Select
|
||||
$Heat Haze
|
||||
$HUD
|
||||
$HUD DEBS Alert
|
||||
$Intro
|
||||
$Level Select
|
||||
$Option Menu
|
||||
$Pause
|
||||
$Pianta Village Water
|
||||
$Title Screen
|
||||
[TextureElementOverride]
|
||||
$60fps Stars Glitch
|
||||
handling=skip
|
||||
texture=2224ef94600e4349
|
||||
|
||||
$Behind Wall Mask
|
||||
handling=screen
|
||||
texture=5c94b2c6f1649dab
|
||||
|
||||
$Bianco Water
|
||||
handling=skip
|
||||
texture=2dbb67e72bf8db05
|
||||
|
||||
$File Select
|
||||
handling=screen
|
||||
texture=111712b37213dc89
|
||||
texture=2bcba8ce6e1fee64
|
||||
texture=6105f7f114ae84e7
|
||||
texture=64cee6c1e447fbf5
|
||||
texture=76b33b6f37ae8f08
|
||||
texture=943d2098e5ffb086
|
||||
texture=999fa683890afc1f
|
||||
texture=9bee06d8439a0efe
|
||||
texture=9c61a1bda7d4df9f
|
||||
texture=b760aadb1bf764e0
|
||||
texture=b94d3c8dca426fb1
|
||||
texture=bfd444847a23c61e
|
||||
texture=ce5aff1cbf2eba90
|
||||
texture=db199ec86a691416
|
||||
texture=de4a444d21adeed6
|
||||
texture=df56f15d71e7931b
|
||||
texture=e1cd20bd2d00f48e
|
||||
texture=e7663bdd3c3cb815
|
||||
texture=e97372586eae7429
|
||||
|
||||
$Heat Haze
|
||||
handling=skip
|
||||
texture=a0ee80f74dd3b117
|
||||
|
||||
$HUD
|
||||
handling=screen
|
||||
texture=01a60a7d9b5f51c6
|
||||
texture=0304896aa9adb0bf
|
||||
texture=06f47ce9bd931cee
|
||||
texture=0a330a53679495bf
|
||||
texture=0a54fa0b5aed213f
|
||||
texture=0ba0790584347690
|
||||
texture=0ea77fbdffc6c900
|
||||
texture=1d2547e8adb554d6
|
||||
texture=1f600918722ebeca
|
||||
texture=2701922b8bcb194e
|
||||
texture=297479f41223c960
|
||||
texture=2b9217f127a85419
|
||||
texture=2f55b1232cb71f4f
|
||||
texture=3c592f7ac2031d10
|
||||
texture=45c7276ea8caa916
|
||||
texture=47d941afe5ba76d6
|
||||
texture=487a463bc0bd633c
|
||||
texture=5014839063e2ef73
|
||||
texture=509db83a57ea4dbf
|
||||
texture=5231f8de769a7cfc
|
||||
texture=577835acbee525ad
|
||||
texture=6066c75478ca20d4
|
||||
texture=60a4929bcf9cd85e
|
||||
texture=62e4eac7f139141f
|
||||
texture=6464ad542de196db
|
||||
texture=6743827d94362afb
|
||||
texture=6b299accc8ead586
|
||||
texture=81765f96d3131cb7
|
||||
texture=8381c728f194b3a0
|
||||
texture=87785edd2c5550f9
|
||||
texture=91ea110f64b641e9
|
||||
texture=a1ad681e6c073750
|
||||
texture=ab2ac66087591747
|
||||
texture=ac9911596ff44f0f
|
||||
texture=b048589bbf6e9ee3
|
||||
texture=c9717b966554213f
|
||||
texture=cc7ac949d09c6974
|
||||
texture=cc7feca077d90013
|
||||
texture=cfda62185dc4dd01
|
||||
texture=d15419e685bdc648
|
||||
texture=d7c966dd2344803f
|
||||
texture=d9373485e4145137
|
||||
texture=e2bbf85f32171071
|
||||
texture=e6165ba3644fdb51
|
||||
texture=e89c5b7615d307c1
|
||||
texture=f5ea51068b0c1499
|
||||
texture=f67b3c91df63d217
|
||||
texture=f6abdf32379ebea3
|
||||
texture=f9fe79ad514ef888
|
||||
|
||||
$HUD DEBS Alert
|
||||
handling=screen
|
||||
texture=0a87e259c524a5d8
|
||||
texture=2e07a25ba44f339a
|
||||
texture=31fac1826440ee46
|
||||
texture=7cbd1245339e6d49
|
||||
texture=e4b383fc9bacc672
|
||||
|
||||
$Intro
|
||||
handling=screen
|
||||
texture=071adce31d1747d7
|
||||
texture=36ca6146c24274b5
|
||||
texture=9972628edb9c9d47
|
||||
texture=a3d41495fb684298
|
||||
|
||||
$Level Select
|
||||
handling=screen
|
||||
texture=105257d41ba3e61e
|
||||
texture=16b63e57c5e0243d
|
||||
texture=17ae6a23b59bcca2
|
||||
texture=3cf0229711b06588
|
||||
texture=46e34569265f7c42
|
||||
texture=4d3e0661ddb61b36
|
||||
texture=59bc2ea535ba329e
|
||||
texture=5e1c3f78243abc9e
|
||||
texture=7250a07aa00e1945
|
||||
texture=794a9f476d81b933
|
||||
texture=8132f4fab5486027
|
||||
texture=8fc7d5531e087f0e
|
||||
texture=941522d8ecb92a3a
|
||||
texture=a47578f9e9b2bf49
|
||||
texture=d13c18fe0a5750c3
|
||||
texture=d18624c1b46d499b
|
||||
texture=df05609140aeab06
|
||||
texture=ea1730eb5fcfb672
|
||||
|
||||
$Option Menu
|
||||
handling=screen
|
||||
texture=1938181691fd5852
|
||||
texture=1a782ff042c4b249
|
||||
texture=37c9486b56315198
|
||||
texture=37f4664824187eff
|
||||
texture=3d2c9e30df1aaea7
|
||||
texture=42a9b940b954a929
|
||||
texture=50a451179c363bbb
|
||||
texture=575fdba3a0f96cd6
|
||||
texture=59e73f976091c40e
|
||||
texture=654be1348658e4d1
|
||||
texture=73f81d1173f84f5f
|
||||
texture=881db0dbdb0fa6fb
|
||||
texture=8b53dbe78fd9fa38
|
||||
texture=8e4db6f51d2d8111
|
||||
texture=ac03be30836f9c0a
|
||||
texture=bfd444847a23c61e
|
||||
texture=d050b33048b1b9d8
|
||||
texture=d265f4c2fef089fd
|
||||
texture=e98ce39a636fbb6d
|
||||
texture=ee4d085b52d705a9
|
||||
texture=fd17a9dba897c0de
|
||||
|
||||
$Pause
|
||||
handling=screen
|
||||
texture=07ad01cc9aad815b
|
||||
texture=163f61548493efbb
|
||||
texture=1f600918722ebeca
|
||||
texture=27ee7e00861cefcc
|
||||
texture=3c088294fd759555
|
||||
texture=3f55bae1c2fec217
|
||||
texture=45745a8a34f7c96b
|
||||
texture=47d941afe5ba76d6
|
||||
texture=53756de2f2c92144
|
||||
texture=7ac1574dcb272c0c
|
||||
texture=86e0a9cf002228b2
|
||||
texture=88859e110db31a95
|
||||
texture=8c76342201dcb87d
|
||||
texture=973c2944edf640cc
|
||||
texture=ac07ced61532d478
|
||||
texture=b75b0aa81b91ef4e
|
||||
texture=bf4c87f19404c73d
|
||||
texture=c26a83dda44dc8b6
|
||||
texture=d002bb380a37badf
|
||||
texture=df435df4c810c026
|
||||
texture=f16b6f03d9f2e288
|
||||
|
||||
$Pianta Village Water
|
||||
handling=skip
|
||||
texture=71d5a751cde6f897
|
||||
|
||||
$Select Data Ground
|
||||
handling=skip
|
||||
texture=21e544278a7fd949
|
||||
texture=585fb96c9419590e
|
||||
texture=f4e8f85b6d9d58d2
|
||||
texture=fa92c42b02bdf884
|
||||
|
||||
$Title Screen
|
||||
handling=screen
|
||||
texture=0d72d804518cea76
|
||||
texture=12c49516720224e9
|
||||
texture=279b4ad929624e26
|
||||
texture=2be218765ba946e5
|
||||
texture=2e27761d897de1df
|
||||
texture=2fca46cc2b0490f7
|
||||
texture=332159b50e854264
|
||||
texture=3d4469f3f4244b44
|
||||
texture=4ab33179eab62b19
|
||||
texture=4b8ca4ade2f87739
|
||||
texture=4c10e4d1b62542a5
|
||||
texture=549930ecad1ce7e9
|
||||
texture=61538f252127d0a3
|
||||
texture=665023fb85f9f4f3
|
||||
texture=6838167583403da0
|
||||
texture=6e965c8d22068600
|
||||
texture=72093b9f0baf0279
|
||||
texture=85af4308ecb3ed0e
|
||||
texture=8d3df377ee98a246
|
||||
texture=97e935152f7829cd
|
||||
texture=9fcb17a7c98a957c
|
||||
texture=ba65636909cf153e
|
||||
texture=bd65da845999d990
|
||||
texture=c69cbfa116116e04
|
||||
texture=ca2e8e7c99a658fa
|
||||
texture=ce88bfceeea828f7
|
||||
texture=d0cba9c0255db427
|
||||
texture=e5c071c1099ac762
|
||||
texture=edab4e6c89e0c0d9
|
||||
texture=f14f900999f6b99d
|
||||
texture=f4101eefd907a066
|
||||
|
||||
@@ -1,37 +1,66 @@
|
||||
[ShaderOverride_Enable]
|
||||
$Water fix
|
||||
$Dark overlay
|
||||
[ShaderOverride]
|
||||
$Save hud
|
||||
+Hash=000000001fa28974
|
||||
+Type=PS
|
||||
+handling=screen
|
||||
Hash=000000001fa28974
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
family_version=1
|
||||
|
||||
$Savescreen text
|
||||
+Hash=000000004b5ec958
|
||||
+Type=PS
|
||||
+handling=screen
|
||||
Hash=000000004b5ec958
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
family_version=1
|
||||
|
||||
$Unnamed Shader
|
||||
+Hash=000000002b3a6cc8
|
||||
+Type=VS
|
||||
+handling=screen
|
||||
|
||||
$Unnamed Shader
|
||||
+Hash=0000000031c70e24
|
||||
+Type=VS
|
||||
+handling=screen
|
||||
Hash=0000000031c70e24
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
family_version=1
|
||||
|
||||
$Fludd Water Tank
|
||||
+Hash=000000003a9e6320
|
||||
+Type=VS
|
||||
+handling=screen
|
||||
Hash=000000003a9e6320
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
family_version=1
|
||||
|
||||
$EFB
|
||||
+Hash=00000000c071a3a6
|
||||
+Type=VS
|
||||
+handling=skip
|
||||
Hash=00000000c071a3a6
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=skip
|
||||
family_version=1
|
||||
|
||||
$Fludd Water Tank background
|
||||
+Hash=00000000fe3d91e4
|
||||
+Type=VS
|
||||
+handling=screen
|
||||
Hash=00000000fe3d91e4
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
family_version=1
|
||||
|
||||
$Water fix
|
||||
Hash=00000000ce0b0cff
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=d90279e5c7903380
|
||||
|
||||
$Dark overlay
|
||||
Hash=00000000d805a87d
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=3c7345b940c3b6fd
|
||||
[Graphics.VR]
|
||||
DetectRenderTargets = True
|
||||
OrthoScissorFix = True
|
||||
@@ -1,239 +1,91 @@
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 500.00
|
||||
[TextureElementOverride_Enable]
|
||||
$Water Effect
|
||||
$Heat Haze
|
||||
$HUD
|
||||
$HUD DEBS Alert
|
||||
$Pause
|
||||
$Level Select
|
||||
$Bianco Water
|
||||
$60fps Stars Glitch
|
||||
$Behind Wall Mask
|
||||
$Title Screen
|
||||
$File Select
|
||||
$Option Menu
|
||||
$Intro
|
||||
$Pianta Village Water
|
||||
[TextureElementOverride]
|
||||
$Water Effect
|
||||
[ShaderOverride_Enable]
|
||||
[ShaderOverride]
|
||||
$Startupscreen box
|
||||
Hash=00000000516da5d0
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
|
||||
$Startupscreen box 2
|
||||
Hash=000000002b3a6cc8
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
|
||||
$Startupscreen text 2
|
||||
Hash=0000000031c70e24
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
|
||||
$Startupscreen_sprite
|
||||
Hash=00000000467b2d0a
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
|
||||
$Water
|
||||
Hash=00000000443bad5c
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=fullscreen
|
||||
|
||||
$efb01
|
||||
Hash=00000000c071a3a6
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=skip
|
||||
texture=2a424a5892944eb4
|
||||
|
||||
$Heat Haze
|
||||
$Flud water tank
|
||||
Hash=000000001ea4eedd
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
|
||||
$Flud water tank bac
|
||||
Hash=0000000080fd3758
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
|
||||
$Water reflect
|
||||
Hash=000000008bc1329c
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=skip
|
||||
texture=a0ee80f74dd3b117
|
||||
|
||||
$HUD
|
||||
handling=screen
|
||||
texture=01a60a7d9b5f51c6
|
||||
texture=0304896aa9adb0bf
|
||||
texture=06f47ce9bd931cee
|
||||
texture=0a330a53679495bf
|
||||
texture=0a54fa0b5aed213f
|
||||
texture=0ba0790584347690
|
||||
texture=0ea77fbdffc6c900
|
||||
texture=1d2547e8adb554d6
|
||||
texture=1f600918722ebeca
|
||||
texture=2701922b8bcb194e
|
||||
texture=297479f41223c960
|
||||
texture=2b9217f127a85419
|
||||
texture=2f55b1232cb71f4f
|
||||
texture=3c592f7ac2031d10
|
||||
texture=45c7276ea8caa916
|
||||
texture=47d941afe5ba76d6
|
||||
texture=487a463bc0bd633c
|
||||
texture=5014839063e2ef73
|
||||
texture=509db83a57ea4dbf
|
||||
texture=5231f8de769a7cfc
|
||||
texture=577835acbee525ad
|
||||
texture=6066c75478ca20d4
|
||||
texture=60a4929bcf9cd85e
|
||||
texture=62e4eac7f139141f
|
||||
texture=6464ad542de196db
|
||||
texture=6743827d94362afb
|
||||
texture=6b299accc8ead586
|
||||
texture=81765f96d3131cb7
|
||||
texture=8381c728f194b3a0
|
||||
texture=87785edd2c5550f9
|
||||
texture=91ea110f64b641e9
|
||||
texture=a1ad681e6c073750
|
||||
texture=ab2ac66087591747
|
||||
texture=ac9911596ff44f0f
|
||||
texture=b048589bbf6e9ee3
|
||||
texture=c9717b966554213f
|
||||
texture=cc7ac949d09c6974
|
||||
texture=cc7feca077d90013
|
||||
texture=cfda62185dc4dd01
|
||||
texture=d15419e685bdc648
|
||||
texture=d7c966dd2344803f
|
||||
texture=d9373485e4145137
|
||||
texture=e2bbf85f32171071
|
||||
texture=e6165ba3644fdb51
|
||||
texture=e89c5b7615d307c1
|
||||
texture=f5ea51068b0c1499
|
||||
texture=f67b3c91df63d217
|
||||
texture=f6abdf32379ebea3
|
||||
texture=f9fe79ad514ef888
|
||||
|
||||
$HUD DEBS Alert
|
||||
handling=screen
|
||||
texture=0a87e259c524a5d8
|
||||
texture=2e07a25ba44f339a
|
||||
texture=31fac1826440ee46
|
||||
texture=7cbd1245339e6d49
|
||||
texture=e4b383fc9bacc672
|
||||
|
||||
$Pause
|
||||
handling=screen
|
||||
texture=07ad01cc9aad815b
|
||||
texture=163f61548493efbb
|
||||
texture=1f600918722ebeca
|
||||
texture=27ee7e00861cefcc
|
||||
texture=3c088294fd759555
|
||||
texture=3f55bae1c2fec217
|
||||
texture=45745a8a34f7c96b
|
||||
texture=47d941afe5ba76d6
|
||||
texture=53756de2f2c92144
|
||||
texture=7ac1574dcb272c0c
|
||||
texture=86e0a9cf002228b2
|
||||
texture=88859e110db31a95
|
||||
texture=8c76342201dcb87d
|
||||
texture=973c2944edf640cc
|
||||
texture=ac07ced61532d478
|
||||
texture=b75b0aa81b91ef4e
|
||||
texture=bf4c87f19404c73d
|
||||
texture=c26a83dda44dc8b6
|
||||
texture=d002bb380a37badf
|
||||
texture=df435df4c810c026
|
||||
texture=f16b6f03d9f2e288
|
||||
|
||||
$Level Select
|
||||
handling=screen
|
||||
texture=105257d41ba3e61e
|
||||
texture=16b63e57c5e0243d
|
||||
texture=17ae6a23b59bcca2
|
||||
texture=3cf0229711b06588
|
||||
texture=46e34569265f7c42
|
||||
texture=4d3e0661ddb61b36
|
||||
texture=59bc2ea535ba329e
|
||||
texture=5e1c3f78243abc9e
|
||||
texture=7250a07aa00e1945
|
||||
texture=794a9f476d81b933
|
||||
texture=8132f4fab5486027
|
||||
texture=8fc7d5531e087f0e
|
||||
texture=941522d8ecb92a3a
|
||||
texture=a47578f9e9b2bf49
|
||||
texture=d13c18fe0a5750c3
|
||||
texture=d18624c1b46d499b
|
||||
texture=df05609140aeab06
|
||||
texture=ea1730eb5fcfb672
|
||||
|
||||
$Bianco Water
|
||||
$Water effect 02
|
||||
Hash=00000000d0bca5e8
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=skip
|
||||
texture=2dbb67e72bf8db05
|
||||
|
||||
$60fps Stars Glitch
|
||||
$EFB
|
||||
Hash=00000000a2d9736d
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=skip
|
||||
texture=2224ef94600e4349
|
||||
|
||||
$Behind Wall Mask
|
||||
handling=screen
|
||||
texture=5c94b2c6f1649dab
|
||||
$Unnamed Shader 1
|
||||
Hash=00000000ca9e5764
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=skip
|
||||
|
||||
$Title Screen
|
||||
handling=screen
|
||||
texture=0d72d804518cea76
|
||||
texture=12c49516720224e9
|
||||
texture=279b4ad929624e26
|
||||
texture=2be218765ba946e5
|
||||
texture=2e27761d897de1df
|
||||
texture=2fca46cc2b0490f7
|
||||
texture=332159b50e854264
|
||||
texture=3d4469f3f4244b44
|
||||
texture=4ab33179eab62b19
|
||||
texture=4b8ca4ade2f87739
|
||||
texture=4c10e4d1b62542a5
|
||||
texture=549930ecad1ce7e9
|
||||
texture=61538f252127d0a3
|
||||
texture=665023fb85f9f4f3
|
||||
texture=6838167583403da0
|
||||
texture=6e965c8d22068600
|
||||
texture=72093b9f0baf0279
|
||||
texture=85af4308ecb3ed0e
|
||||
texture=8d3df377ee98a246
|
||||
texture=97e935152f7829cd
|
||||
texture=9fcb17a7c98a957c
|
||||
texture=ba65636909cf153e
|
||||
texture=bd65da845999d990
|
||||
texture=c69cbfa116116e04
|
||||
texture=ca2e8e7c99a658fa
|
||||
texture=ce88bfceeea828f7
|
||||
texture=d0cba9c0255db427
|
||||
texture=e5c071c1099ac762
|
||||
texture=edab4e6c89e0c0d9
|
||||
texture=f14f900999f6b99d
|
||||
texture=f4101eefd907a066
|
||||
$Sun
|
||||
Hash=00000000eb4202b1
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=skip
|
||||
|
||||
$File Select
|
||||
handling=screen
|
||||
texture=111712b37213dc89
|
||||
texture=2bcba8ce6e1fee64
|
||||
texture=6105f7f114ae84e7
|
||||
texture=64cee6c1e447fbf5
|
||||
texture=76b33b6f37ae8f08
|
||||
texture=943d2098e5ffb086
|
||||
texture=999fa683890afc1f
|
||||
texture=9bee06d8439a0efe
|
||||
texture=9c61a1bda7d4df9f
|
||||
texture=b760aadb1bf764e0
|
||||
texture=b94d3c8dca426fb1
|
||||
texture=bfd444847a23c61e
|
||||
texture=ce5aff1cbf2eba90
|
||||
texture=db199ec86a691416
|
||||
texture=de4a444d21adeed6
|
||||
texture=df56f15d71e7931b
|
||||
texture=e1cd20bd2d00f48e
|
||||
texture=e7663bdd3c3cb815
|
||||
texture=e97372586eae7429
|
||||
|
||||
$Option Menu
|
||||
handling=screen
|
||||
texture=1938181691fd5852
|
||||
texture=1a782ff042c4b249
|
||||
texture=37c9486b56315198
|
||||
texture=37f4664824187eff
|
||||
texture=3d2c9e30df1aaea7
|
||||
texture=42a9b940b954a929
|
||||
texture=50a451179c363bbb
|
||||
texture=575fdba3a0f96cd6
|
||||
texture=59e73f976091c40e
|
||||
texture=654be1348658e4d1
|
||||
texture=73f81d1173f84f5f
|
||||
texture=881db0dbdb0fa6fb
|
||||
texture=8b53dbe78fd9fa38
|
||||
texture=8e4db6f51d2d8111
|
||||
texture=ac03be30836f9c0a
|
||||
texture=bfd444847a23c61e
|
||||
texture=d050b33048b1b9d8
|
||||
texture=d265f4c2fef089fd
|
||||
texture=e98ce39a636fbb6d
|
||||
texture=ee4d085b52d705a9
|
||||
texture=fd17a9dba897c0de
|
||||
|
||||
$Intro
|
||||
handling=screen
|
||||
texture=071adce31d1747d7
|
||||
texture=36ca6146c24274b5
|
||||
texture=9972628edb9c9d47
|
||||
texture=a3d41495fb684298
|
||||
|
||||
$Pianta Village Water
|
||||
$Unnamed Shader 2
|
||||
Hash=00000000381d0018
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=skip
|
||||
texture=71d5a751cde6f897
|
||||
[ElementsGroupOverride_Enable]
|
||||
$FMV
|
||||
$Level Select
|
||||
$Level Select PAL
|
||||
[ElementsGroupOverride]
|
||||
$EFB
|
||||
format=element_only_v5
|
||||
@@ -463,3 +315,268 @@ sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Level Select PAL
|
||||
format=element_only_v5
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-11
|
||||
sig_ortho_right=71
|
||||
sig_ortho_top=1
|
||||
sig_ortho_bottom=46
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=1
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=0
|
||||
sig_use_scissor=0
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=522
|
||||
sig_vp_w=320
|
||||
sig_vp_h=180
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=701
|
||||
sig_alpha=00640000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
[TextureElementOverride_Enable]
|
||||
$Water Effect
|
||||
$Heat Haze
|
||||
$HUD
|
||||
$HUD DEBS Alert
|
||||
$Pause
|
||||
$Level Select
|
||||
$Bianco Water
|
||||
$Behind Wall Mask
|
||||
$Title Screen
|
||||
$File Select
|
||||
$Option Menu
|
||||
$Intro
|
||||
$Pianta Village Water
|
||||
[TextureElementOverride]
|
||||
$Water Effect
|
||||
handling=skip
|
||||
texture=2a424a5892944eb4
|
||||
|
||||
$Heat Haze
|
||||
handling=skip
|
||||
texture=a0ee80f74dd3b117
|
||||
|
||||
$HUD
|
||||
handling=screen
|
||||
texture=01a60a7d9b5f51c6
|
||||
texture=0304896aa9adb0bf
|
||||
texture=06f47ce9bd931cee
|
||||
texture=0a330a53679495bf
|
||||
texture=0a54fa0b5aed213f
|
||||
texture=0ba0790584347690
|
||||
texture=0ea77fbdffc6c900
|
||||
texture=1d2547e8adb554d6
|
||||
texture=1f600918722ebeca
|
||||
texture=2701922b8bcb194e
|
||||
texture=297479f41223c960
|
||||
texture=2b9217f127a85419
|
||||
texture=2f55b1232cb71f4f
|
||||
texture=3c592f7ac2031d10
|
||||
texture=45c7276ea8caa916
|
||||
texture=47d941afe5ba76d6
|
||||
texture=487a463bc0bd633c
|
||||
texture=5014839063e2ef73
|
||||
texture=509db83a57ea4dbf
|
||||
texture=5231f8de769a7cfc
|
||||
texture=577835acbee525ad
|
||||
texture=6066c75478ca20d4
|
||||
texture=60a4929bcf9cd85e
|
||||
texture=62e4eac7f139141f
|
||||
texture=6464ad542de196db
|
||||
texture=6743827d94362afb
|
||||
texture=6b299accc8ead586
|
||||
texture=81765f96d3131cb7
|
||||
texture=8381c728f194b3a0
|
||||
texture=87785edd2c5550f9
|
||||
texture=91ea110f64b641e9
|
||||
texture=a1ad681e6c073750
|
||||
texture=ab2ac66087591747
|
||||
texture=ac9911596ff44f0f
|
||||
texture=b048589bbf6e9ee3
|
||||
texture=c9717b966554213f
|
||||
texture=cc7ac949d09c6974
|
||||
texture=cc7feca077d90013
|
||||
texture=cfda62185dc4dd01
|
||||
texture=d15419e685bdc648
|
||||
texture=d7c966dd2344803f
|
||||
texture=d9373485e4145137
|
||||
texture=e2bbf85f32171071
|
||||
texture=e6165ba3644fdb51
|
||||
texture=e89c5b7615d307c1
|
||||
texture=f5ea51068b0c1499
|
||||
texture=f67b3c91df63d217
|
||||
texture=f6abdf32379ebea3
|
||||
texture=f9fe79ad514ef888
|
||||
|
||||
$HUD DEBS Alert
|
||||
handling=screen
|
||||
texture=0a87e259c524a5d8
|
||||
texture=2e07a25ba44f339a
|
||||
texture=31fac1826440ee46
|
||||
texture=3805b95c880e2ed2
|
||||
texture=7cbd1245339e6d49
|
||||
texture=e4b383fc9bacc672
|
||||
|
||||
$Pause
|
||||
handling=screen
|
||||
texture=07ad01cc9aad815b
|
||||
texture=163f61548493efbb
|
||||
texture=1f600918722ebeca
|
||||
texture=27ee7e00861cefcc
|
||||
texture=3c088294fd759555
|
||||
texture=3f55bae1c2fec217
|
||||
texture=45745a8a34f7c96b
|
||||
texture=47d941afe5ba76d6
|
||||
texture=53756de2f2c92144
|
||||
texture=7ac1574dcb272c0c
|
||||
texture=86e0a9cf002228b2
|
||||
texture=88859e110db31a95
|
||||
texture=8c76342201dcb87d
|
||||
texture=973c2944edf640cc
|
||||
texture=ac07ced61532d478
|
||||
texture=b75b0aa81b91ef4e
|
||||
texture=bf4c87f19404c73d
|
||||
texture=c26a83dda44dc8b6
|
||||
texture=d002bb380a37badf
|
||||
texture=df435df4c810c026
|
||||
texture=f16b6f03d9f2e288
|
||||
|
||||
$Level Select
|
||||
handling=screen
|
||||
texture=105257d41ba3e61e
|
||||
texture=16b63e57c5e0243d
|
||||
texture=17ae6a23b59bcca2
|
||||
texture=3cf0229711b06588
|
||||
texture=46e34569265f7c42
|
||||
texture=4d3e0661ddb61b36
|
||||
texture=59bc2ea535ba329e
|
||||
texture=5e1c3f78243abc9e
|
||||
texture=7250a07aa00e1945
|
||||
texture=794a9f476d81b933
|
||||
texture=8132f4fab5486027
|
||||
texture=8fc7d5531e087f0e
|
||||
texture=941522d8ecb92a3a
|
||||
texture=a47578f9e9b2bf49
|
||||
texture=d13c18fe0a5750c3
|
||||
texture=d18624c1b46d499b
|
||||
texture=df05609140aeab06
|
||||
texture=ea1730eb5fcfb672
|
||||
|
||||
$Bianco Water
|
||||
handling=skip
|
||||
texture=2dbb67e72bf8db05
|
||||
|
||||
$60fps Stars Glitch
|
||||
handling=skip
|
||||
texture=2224ef94600e4349
|
||||
|
||||
$Behind Wall Mask
|
||||
handling=screen
|
||||
texture=5c94b2c6f1649dab
|
||||
|
||||
$Title Screen
|
||||
handling=screen
|
||||
texture=0d72d804518cea76
|
||||
texture=12c49516720224e9
|
||||
texture=279b4ad929624e26
|
||||
texture=2be218765ba946e5
|
||||
texture=2e27761d897de1df
|
||||
texture=2fca46cc2b0490f7
|
||||
texture=332159b50e854264
|
||||
texture=3d4469f3f4244b44
|
||||
texture=4ab33179eab62b19
|
||||
texture=4b8ca4ade2f87739
|
||||
texture=4c10e4d1b62542a5
|
||||
texture=549930ecad1ce7e9
|
||||
texture=61538f252127d0a3
|
||||
texture=665023fb85f9f4f3
|
||||
texture=6838167583403da0
|
||||
texture=6e965c8d22068600
|
||||
texture=72093b9f0baf0279
|
||||
texture=85af4308ecb3ed0e
|
||||
texture=8d3df377ee98a246
|
||||
texture=97e935152f7829cd
|
||||
texture=9fcb17a7c98a957c
|
||||
texture=ba65636909cf153e
|
||||
texture=bd65da845999d990
|
||||
texture=c69cbfa116116e04
|
||||
texture=ca2e8e7c99a658fa
|
||||
texture=ce88bfceeea828f7
|
||||
texture=d0cba9c0255db427
|
||||
texture=e5c071c1099ac762
|
||||
texture=edab4e6c89e0c0d9
|
||||
texture=f14f900999f6b99d
|
||||
texture=f4101eefd907a066
|
||||
|
||||
$File Select
|
||||
handling=screen
|
||||
texture=111712b37213dc89
|
||||
texture=2bcba8ce6e1fee64
|
||||
texture=6105f7f114ae84e7
|
||||
texture=64cee6c1e447fbf5
|
||||
texture=76b33b6f37ae8f08
|
||||
texture=943d2098e5ffb086
|
||||
texture=999fa683890afc1f
|
||||
texture=9bee06d8439a0efe
|
||||
texture=9c61a1bda7d4df9f
|
||||
texture=b760aadb1bf764e0
|
||||
texture=b94d3c8dca426fb1
|
||||
texture=bfd444847a23c61e
|
||||
texture=ce5aff1cbf2eba90
|
||||
texture=db199ec86a691416
|
||||
texture=de4a444d21adeed6
|
||||
texture=df56f15d71e7931b
|
||||
texture=e1cd20bd2d00f48e
|
||||
texture=e7663bdd3c3cb815
|
||||
texture=e97372586eae7429
|
||||
|
||||
$Option Menu
|
||||
handling=screen
|
||||
texture=1938181691fd5852
|
||||
texture=1a782ff042c4b249
|
||||
texture=37c9486b56315198
|
||||
texture=37f4664824187eff
|
||||
texture=3d2c9e30df1aaea7
|
||||
texture=42a9b940b954a929
|
||||
texture=50a451179c363bbb
|
||||
texture=575fdba3a0f96cd6
|
||||
texture=59e73f976091c40e
|
||||
texture=654be1348658e4d1
|
||||
texture=73f81d1173f84f5f
|
||||
texture=881db0dbdb0fa6fb
|
||||
texture=8b53dbe78fd9fa38
|
||||
texture=8e4db6f51d2d8111
|
||||
texture=ac03be30836f9c0a
|
||||
texture=bfd444847a23c61e
|
||||
texture=d050b33048b1b9d8
|
||||
texture=d265f4c2fef089fd
|
||||
texture=e98ce39a636fbb6d
|
||||
texture=ee4d085b52d705a9
|
||||
texture=fd17a9dba897c0de
|
||||
|
||||
$Intro
|
||||
handling=screen
|
||||
texture=071adce31d1747d7
|
||||
texture=36ca6146c24274b5
|
||||
texture=9972628edb9c9d47
|
||||
texture=a3d41495fb684298
|
||||
|
||||
$Pianta Village Water
|
||||
handling=skip
|
||||
texture=71d5a751cde6f897
|
||||
|
||||
@@ -1,38 +1,11 @@
|
||||
[ElementsGroupOverride_Enable]
|
||||
[ElementsGroupOverride]
|
||||
[ShaderOverride_Enable]
|
||||
[ShaderOverride]
|
||||
$HUD Small Square
|
||||
Hash=00000000f1389fad
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=skip
|
||||
texture_mode=include
|
||||
texture=be8114e36b01a3c1
|
||||
|
||||
$HUD Small Square 2
|
||||
Hash=00000000051c200c
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
hash_family=1
|
||||
family_signature=72991ea47245d747
|
||||
texture_mode=include
|
||||
texture=be8114e36b01a3c1
|
||||
[TextureElementOverride_Enable]
|
||||
$Ninja Face
|
||||
[TextureElementOverride]
|
||||
handling = camera_anchor
|
||||
anchor_hide = 1
|
||||
anchor_upm = 1
|
||||
texture = b2b0a10fc32706a3
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 4.00
|
||||
EnableOpenXR = True
|
||||
OrthoScissorFix = True
|
||||
VirtualScreen = True
|
||||
[HideObjectCodes_Enabled]
|
||||
$Cinematic Bar Down
|
||||
$Cinematic Bar Up
|
||||
[HideObjectCodes]
|
||||
$Cinematic Bar Down
|
||||
Type=128bits
|
||||
Upper=0xFF95019000030000
|
||||
Lower=0x00000000000002EB
|
||||
|
||||
$Cinematic Bar Up
|
||||
Type=128bits
|
||||
Upper=0xFF95FFD000030000
|
||||
Lower=0x00000000000002EB
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
[Graphics.VR]
|
||||
AutoNativeEfbEffects = True
|
||||
ExactScreenDepth = True
|
||||
SmallViewportsOnScreen = False
|
||||
VirtualScreen = True
|
||||
@@ -1,17 +1,12 @@
|
||||
[ShaderOverride_Enable]
|
||||
[ShaderOverride]
|
||||
$Motion Blur
|
||||
Hash=0000000032dabdfb
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=skip
|
||||
[ElementsGroupOverride_Enable]
|
||||
$Motion Blur
|
||||
$Motion Blur new
|
||||
$HUD
|
||||
$Hit Points
|
||||
[ElementsGroupOverride]
|
||||
$Motion Blur
|
||||
format=element_only_v5
|
||||
format=element_only_v6
|
||||
handling=skip
|
||||
comments= Looks like a drunk filter
|
||||
comments=Looks like a drunk filter
|
||||
credits=iChris4
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
@@ -23,6 +18,7 @@ sig_ortho_right=64
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
@@ -42,5 +38,106 @@ sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 100.00
|
||||
|
||||
$Motion Blur new
|
||||
format=element_only_v6
|
||||
handling=skip
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=660
|
||||
sig_vp_y=580
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=340
|
||||
sig_sc_t=340
|
||||
sig_sc_r=979
|
||||
sig_sc_b=819
|
||||
sig_alpha=000eff00
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$HUD
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=3932
|
||||
sig_persp_vfov=3000
|
||||
sig_persp_near=1000
|
||||
sig_persp_far=500000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=660
|
||||
sig_vp_y=580
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=340
|
||||
sig_sc_t=340
|
||||
sig_sc_r=979
|
||||
sig_sc_b=818
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Hit Points
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=660
|
||||
sig_vp_y=580
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=340
|
||||
sig_sc_t=340
|
||||
sig_sc_r=979
|
||||
sig_sc_b=819
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
@@ -0,0 +1,109 @@
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 5.00
|
||||
[ElementsGroupOverride_Enable]
|
||||
$HUD
|
||||
$Life bar
|
||||
$Life bar color
|
||||
[ElementsGroupOverride]
|
||||
$HUD
|
||||
format=element_only_v5
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=44800
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=566
|
||||
sig_vp_w=320
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=789
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Life bar
|
||||
format=element_only_v5
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=10000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=10000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=663
|
||||
sig_vp_y=567
|
||||
sig_vp_w=320
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=789
|
||||
sig_alpha=00450000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Life bar color
|
||||
format=element_only_v5
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=10000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=10000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=663
|
||||
sig_vp_y=567
|
||||
sig_vp_w=320
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=789
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=0
|
||||
sig_blend_alpha=1
|
||||
|
||||
@@ -0,0 +1,542 @@
|
||||
[HideObjectCodes_Enabled]
|
||||
[HideObjectCodes]
|
||||
$Remove Mini Map 1
|
||||
Type=128bits
|
||||
Upper=0x3C00800500FFF800
|
||||
Lower=0x000000000000003C
|
||||
|
||||
$Remove Mini Map 2
|
||||
Type=128bits
|
||||
Upper=0x3C00C80550FFF800
|
||||
Lower=0x000000000000003C
|
||||
|
||||
$Remove Mini Map 3
|
||||
Type=128bits
|
||||
Upper=0x3C00B40550FFF800
|
||||
Lower=0x000000000000003C
|
||||
|
||||
$Remove Mini Map 4
|
||||
Type=128bits
|
||||
Upper=0x3C00C8053CFFF800
|
||||
Lower=0x000000000000003C
|
||||
|
||||
$Remove Mini Map 5
|
||||
Type=128bits
|
||||
Upper=0x3C00C806E0FFF800
|
||||
Lower=0x0000003F8000003C
|
||||
|
||||
$Remove Mini Map 6
|
||||
Type=128bits
|
||||
Upper=0x3C02A80550FFF83F
|
||||
Lower=0x800000000000003C
|
||||
|
||||
$Remove Mini Map 7
|
||||
Type=128bits
|
||||
Upper=0x3C00B406E0FFF800
|
||||
Lower=0x0000003F8000003C
|
||||
|
||||
$Remove Mini Map 8
|
||||
Type=128bits
|
||||
Upper=0x3C02A8053CFFF83F
|
||||
Lower=0x800000000000003C
|
||||
|
||||
$Remove Mini Map 9
|
||||
Type=128bits
|
||||
Upper=0x3C02A806E0FFF83F
|
||||
Lower=0x8000003F8000003C
|
||||
|
||||
$Remove Mini Map 10
|
||||
Type=128bits
|
||||
Upper=0x3C00B4053CFFF800
|
||||
Lower=0x000000000000003C
|
||||
|
||||
$Element Hide 5 Draws
|
||||
Type=128bits
|
||||
Upper=0xBF800000BF800000
|
||||
Lower=0xC0000000BF800000
|
||||
Type=128bits
|
||||
Upper=0xBF5DDDDEBF800000
|
||||
Lower=0xC0000000BF5DDDDE
|
||||
Type=128bits
|
||||
Upper=0xBF3BBBBCBF800000
|
||||
Lower=0xC0000000BF3BBBBC
|
||||
Type=128bits
|
||||
Upper=0xBF19999ABF800000
|
||||
Lower=0xC0000000BF19999A
|
||||
Type=128bits
|
||||
Upper=0xBEEEEEEEBF800000
|
||||
Lower=0xC0000000BEEEEEEE
|
||||
Type=128bits
|
||||
Upper=0xBEAAAAAABF800000
|
||||
Lower=0xC0000000BEAAAAAA
|
||||
Type=128bits
|
||||
Upper=0xBE4CCCCCBF800000
|
||||
Lower=0xC0000000BE4CCCCC
|
||||
Type=128bits
|
||||
Upper=0xBD888888BF800000
|
||||
Lower=0xC0000000BD888888
|
||||
Type=128bits
|
||||
Upper=0x3D888890BF800000
|
||||
Lower=0xC00000003D888890
|
||||
Type=128bits
|
||||
Upper=0x3E4CCCD0BF800000
|
||||
Lower=0xC00000003E4CCCD0
|
||||
Type=128bits
|
||||
Upper=0x3EAAAAACBF800000
|
||||
Lower=0xC00000003EAAAAAC
|
||||
Type=128bits
|
||||
Upper=0x3EEEEEF0BF800000
|
||||
Lower=0xC00000003EEEEEF0
|
||||
Type=128bits
|
||||
Upper=0x3F19999ABF800000
|
||||
Lower=0xC00000003F19999A
|
||||
Type=128bits
|
||||
Upper=0x3F3BBBBCBF800000
|
||||
Lower=0xC00000003F3BBBBC
|
||||
Type=128bits
|
||||
Upper=0x3F5DDDDEBF800000
|
||||
Lower=0xC00000003F5DDDDE
|
||||
Type=128bits
|
||||
Upper=0x3F800000BF800000
|
||||
Lower=0xC00000003F800000
|
||||
Type=128bits
|
||||
Upper=0x0000000000000000
|
||||
Lower=0x0000000000000000
|
||||
|
||||
$Element Hide 18 Draws
|
||||
Type=128bits
|
||||
Upper=0x3C013505B5FFF83B
|
||||
Lower=0x0000003E1B6DB73C
|
||||
Type=128bits
|
||||
Upper=0x3C016D05C5FFF83E
|
||||
Lower=0x9700003C1249253C
|
||||
Type=128bits
|
||||
Upper=0x3C01B105B5FFF83F
|
||||
Lower=0x4B00003C1249253C
|
||||
Type=128bits
|
||||
Upper=0x3C01F505C1FFF83D
|
||||
Lower=0x3800003C1249253C
|
||||
Type=128bits
|
||||
Upper=0x3C021D05C5FFF83E
|
||||
Lower=0x5C00003C1249253C
|
||||
Type=128bits
|
||||
Upper=0x3C013005B0FFF83B
|
||||
Lower=0x0000003E1B6DB73C
|
||||
Type=128bits
|
||||
Upper=0x3C016805C0FFF83E
|
||||
Lower=0x9700003C1249253C
|
||||
Type=128bits
|
||||
Upper=0x3C01AC05B0FFF83F
|
||||
Lower=0x4B00003C1249253C
|
||||
Type=128bits
|
||||
Upper=0x3C01F005BCFFF83D
|
||||
Lower=0x3800003C1249253C
|
||||
Type=128bits
|
||||
Upper=0x3C021805C0FFF83E
|
||||
Lower=0x5C00003C1249253C
|
||||
Type=128bits
|
||||
Upper=0x3C016B0609FFF83E
|
||||
Lower=0xBE00003C1249253C
|
||||
Type=128bits
|
||||
Upper=0x3C019F0615FFF83D
|
||||
Lower=0x3800003C1249253C
|
||||
Type=128bits
|
||||
Upper=0x3C01C7060DFFF83C
|
||||
Lower=0xF000003C1249253C
|
||||
Type=128bits
|
||||
Upper=0x3C01E70615FFF83D
|
||||
Lower=0x3800003C1249253C
|
||||
Type=128bits
|
||||
Upper=0x3C01660604FFF83E
|
||||
Lower=0xBE00003C1249253C
|
||||
Type=128bits
|
||||
Upper=0x3C019A0610FFF83D
|
||||
Lower=0x3800003C1249253C
|
||||
Type=128bits
|
||||
Upper=0x3C01C20608FFF83C
|
||||
Lower=0xF000003C1249253C
|
||||
Type=128bits
|
||||
Upper=0x3C01E20610FFF83D
|
||||
Lower=0x3800003C1249253C
|
||||
|
||||
$Element Hide 10 Draws
|
||||
Type=128bits
|
||||
Upper=0x3C00000000FFF800
|
||||
Lower=0x000000000000003C
|
||||
Type=128bits
|
||||
Upper=0x3C00B4053CFFF800
|
||||
Lower=0x000000000000003C
|
||||
Type=128bits
|
||||
Upper=0x3C00C8053CFFF800
|
||||
Lower=0x000000000000003C
|
||||
Type=128bits
|
||||
Upper=0x3C00B40550FFF800
|
||||
Lower=0x000000000000003C
|
||||
Type=128bits
|
||||
Upper=0x3C00C80550FFF800
|
||||
Lower=0x000000000000003C
|
||||
Type=128bits
|
||||
Upper=0x3C00C806E0FFF800
|
||||
Lower=0x0000003F8000003C
|
||||
Type=128bits
|
||||
Upper=0x3C02A80550FFF83F
|
||||
Lower=0x800000000000003C
|
||||
Type=128bits
|
||||
Upper=0x3C02A806E0FFF83F
|
||||
Lower=0x8000003F8000003C
|
||||
Type=128bits
|
||||
Upper=0x3C02A8053CFFF83F
|
||||
Lower=0x800000000000003C
|
||||
Type=128bits
|
||||
Upper=0x3C00B406E0FFF800
|
||||
Lower=0x0000003F8000003C
|
||||
[ElementsGroupOverride_Enable]
|
||||
$Water
|
||||
$Inventory
|
||||
$Compas
|
||||
[ElementsGroupOverride]
|
||||
$Subtitles Cutscenes
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=372
|
||||
sig_sc_t=757
|
||||
sig_sc_r=951
|
||||
sig_sc_b=781
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Subtitles Gameplay
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=426
|
||||
sig_sc_t=757
|
||||
sig_sc_r=937
|
||||
sig_sc_b=781
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Space Map Text
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=382
|
||||
sig_sc_t=392
|
||||
sig_sc_r=771
|
||||
sig_sc_b=591
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Space Map A & B Buttons
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=482
|
||||
sig_sc_t=402
|
||||
sig_sc_r=841
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$HUD new
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$HUD Map Box
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=348
|
||||
sig_sc_r=981
|
||||
sig_sc_b=815
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$HUD Map text
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=396
|
||||
sig_sc_t=682
|
||||
sig_sc_r=507
|
||||
sig_sc_b=781
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Water
|
||||
format=element_only_v6
|
||||
handling=skip
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=7518
|
||||
sig_persp_vfov=6000
|
||||
sig_persp_near=2500
|
||||
sig_persp_far=1000000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=348
|
||||
sig_sc_r=981
|
||||
sig_sc_b=815
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Inventory
|
||||
format=element_only_v6
|
||||
handling=screen_pane
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=7518
|
||||
sig_persp_vfov=6000
|
||||
sig_persp_near=2500
|
||||
sig_persp_far=1000000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=906
|
||||
sig_vp_y=537
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Compas
|
||||
format=element_only_v6
|
||||
handling=screen_pane
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=5542
|
||||
sig_persp_vfov=4300
|
||||
sig_persp_near=2500
|
||||
sig_persp_far=1000000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=452
|
||||
sig_vp_y=732
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=392
|
||||
sig_sc_t=682
|
||||
sig_sc_r=511
|
||||
sig_sc_b=781
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
[Graphics.VR]
|
||||
DetectRenderTargets = True
|
||||
DontClearScreen = False
|
||||
OrthoScissorFix = True
|
||||
SmallViewportsOnScreen = True
|
||||
UnitsPerMeter = 20.00
|
||||
@@ -1,6 +1,16 @@
|
||||
[ElementsGroupOverride_Enable]
|
||||
[ElementsGroupOverride]
|
||||
[HideObjectCodes_Enabled]
|
||||
$White Square
|
||||
$White Square 02
|
||||
$White Square 01
|
||||
$White Square 03
|
||||
$White Square 04
|
||||
$White Square 05
|
||||
$White Square 06
|
||||
$White Square 07
|
||||
$White Square 08
|
||||
$White Square 09
|
||||
$White Square 00
|
||||
[HideObjectCodes]
|
||||
$White Square
|
||||
Type=128bits
|
||||
@@ -11,10 +21,55 @@ $White Square 02
|
||||
Type=128bits
|
||||
Upper=0xC4273066C3CF47B3
|
||||
Lower=0xBF816C75FFFFFFFF
|
||||
|
||||
$White Square 01
|
||||
Type=128bits
|
||||
Upper=0xC425E2CCC3D0C1F3
|
||||
Lower=0xBF8258A2FFFFFFFF
|
||||
|
||||
$White Square 03
|
||||
Type=128bits
|
||||
Upper=0xC425B2C0C3D0F86E
|
||||
Lower=0xBF827AA6FFFFFFFF
|
||||
|
||||
$White Square 04
|
||||
Type=128bits
|
||||
Upper=0xC42612BFC3D08B96
|
||||
Lower=0xBF8236B0FFFFFFFF
|
||||
|
||||
$White Square 05
|
||||
Type=128bits
|
||||
Upper=0xC4264299C3D05555
|
||||
Lower=0xBF8214D0FFFFFFFF
|
||||
|
||||
$White Square 06
|
||||
Type=128bits
|
||||
Upper=0xC4267259C3D01F30
|
||||
Lower=0xBF81F301FFFFFFFF
|
||||
|
||||
$White Square 07
|
||||
Type=128bits
|
||||
Upper=0xC426A202C3CFE927
|
||||
Lower=0xBF81D144FFFFFFFF
|
||||
|
||||
$White Square 08
|
||||
Type=128bits
|
||||
Upper=0xC426D192C3CFB339
|
||||
Lower=0xBF81AF98FFFFFFFF
|
||||
|
||||
$White Square 09
|
||||
Type=128bits
|
||||
Upper=0xC4270108C3CF7D69
|
||||
Lower=0xBF818DFEFFFFFFFF
|
||||
|
||||
$White Square 00
|
||||
Type=128bits
|
||||
Upper=0xC425829CC3D12F05
|
||||
Lower=0xBF829CBCFFFFFFFF
|
||||
[ShaderOverride_Enable]
|
||||
[ShaderOverride]
|
||||
[ElementsGroupOverride_Enable]
|
||||
[ElementsGroupOverride]
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 40.00
|
||||
[TextureElementOverride_Enable]
|
||||
$HUD - Speed
|
||||
$Pause Menu
|
||||
@@ -32,10 +87,12 @@ $Select a Memory Card
|
||||
$Result Screen
|
||||
$Metal Habour Sun Flair
|
||||
$Chao Garden
|
||||
$Ennemy Health bar
|
||||
[TextureElementOverride]
|
||||
$HUD - Speed
|
||||
handling=screen
|
||||
texture=035bb73c378b80fe
|
||||
texture=0901f959759f4f66
|
||||
texture=0b6b779cd79037a4
|
||||
texture=169aed02ad1adf2d
|
||||
texture=365386fa4af5c4fb
|
||||
@@ -196,6 +253,7 @@ texture=d9683c4ce660962a
|
||||
|
||||
$HUD - Items
|
||||
handling=screen
|
||||
comments=To make things difficult, Capsules and HUD share the same texture and both use Perspective Projection.
|
||||
texture=08e66a16c7ab2772
|
||||
texture=501b64606b946ad7
|
||||
texture=964ce6668e588a79
|
||||
@@ -365,3 +423,24 @@ texture=495e8aab6940f041
|
||||
texture=4ba3e88f3cdbe08f
|
||||
texture=a53f409e651212c1
|
||||
|
||||
$Skybox Final Rush AR
|
||||
handling=passthrough
|
||||
passthrough_opacity=0
|
||||
texture=8296bd06b185091c
|
||||
texture=b7c6c9cd631a7dfc
|
||||
texture=c1c5b68120cdb8e1
|
||||
texture=d39290e7b1d6518d
|
||||
|
||||
$Ennemy Health bar
|
||||
handling=screen
|
||||
texture=1e63a95fae253cf4
|
||||
texture=209d1911dee3f095
|
||||
texture=3fb03ee04700d4cb
|
||||
texture=5a9fa5fe10043584
|
||||
texture=8263fa6e76895ae5
|
||||
texture=9681fe19d54dc756
|
||||
texture=afd6975a3d10947d
|
||||
texture=b9bbf6b24d43d507
|
||||
texture=f37c42a7f527f8d5
|
||||
texture=f58e0ca78d84bb81
|
||||
|
||||
@@ -0,0 +1,367 @@
|
||||
[HideObjectCodes_Enabled]
|
||||
$White Square
|
||||
$White Square 02
|
||||
[HideObjectCodes]
|
||||
$White Square
|
||||
Type=128bits
|
||||
Upper=0xC425E2CCC3D0C1F3
|
||||
Lower=0xBF8258A2FFFFFFFF
|
||||
|
||||
$White Square 02
|
||||
Type=128bits
|
||||
Upper=0xC4273066C3CF47B3
|
||||
Lower=0xBF816C75FFFFFFFF
|
||||
[ShaderOverride_Enable]
|
||||
[ShaderOverride]
|
||||
[ElementsGroupOverride_Enable]
|
||||
[ElementsGroupOverride]
|
||||
[TextureElementOverride_Enable]
|
||||
$HUD - Speed
|
||||
$Pause Menu
|
||||
$Stage Select
|
||||
$HUD - Animals
|
||||
$HUD - Mecha
|
||||
$Mire
|
||||
$HUD - TH
|
||||
$HUD - TH - MS - Text
|
||||
$Level Intro
|
||||
$Kart
|
||||
$Intro
|
||||
$Main Menu
|
||||
$Select a Memory Card
|
||||
$Result Screen
|
||||
$Metal Habour Sun Flair
|
||||
$Chao Garden
|
||||
[TextureElementOverride]
|
||||
$HUD - Speed
|
||||
handling=screen
|
||||
texture=035bb73c378b80fe
|
||||
texture=0b6b779cd79037a4
|
||||
texture=169aed02ad1adf2d
|
||||
texture=365386fa4af5c4fb
|
||||
texture=397cf75b2bfd5618
|
||||
texture=3f95af26eadc1e59
|
||||
texture=5e95a94bee9b94cc
|
||||
texture=65aa115aaa4da681
|
||||
texture=6e6485f30204331d
|
||||
texture=7eef4c7cb13545e5
|
||||
texture=8b2ff0acc9131cc7
|
||||
texture=8c2124304cd65f91
|
||||
texture=9a3c20dce7af0f2b
|
||||
texture=a80e09d105411ff9
|
||||
texture=b08ebc8041d10279
|
||||
texture=b222fad7a918e6db
|
||||
texture=bc83c0b4b43fa988
|
||||
texture=c886864ab3058f15
|
||||
texture=ca36d548d8d3f106
|
||||
texture=d359416dd1f0eef2
|
||||
texture=fe58517853490af7
|
||||
|
||||
$Pause Menu
|
||||
handling=screen
|
||||
texture=300bd7b746f8eb25
|
||||
texture=40eba6c22fe3ad5d
|
||||
texture=5110c79813ce4f89
|
||||
texture=5632f7df7f4b77bd
|
||||
texture=5803b9df3332dd42
|
||||
texture=668bb68e64c4414e
|
||||
texture=a96f5a5f957aa53c
|
||||
texture=cfee991052472833
|
||||
texture=ea76c6397a187816
|
||||
|
||||
$Stage Select
|
||||
handling=screen
|
||||
texture=00e0126af96a10a6
|
||||
texture=011d485fd5fb41f4
|
||||
texture=0264d9232f1d541e
|
||||
texture=06aec18dc4ffcde1
|
||||
texture=0a73f052d1682163
|
||||
texture=0bed9fe054c0ef1f
|
||||
texture=0f54d080d28f8a1e
|
||||
texture=0fa0bc2ae8c702e2
|
||||
texture=13e1b0106b4b910b
|
||||
texture=149b05035335bcf2
|
||||
texture=15152f4facefa7ce
|
||||
texture=1a1415ea212bed4b
|
||||
texture=1e3eecbd408bc645
|
||||
texture=1f5fa34a5d70509c
|
||||
texture=200a1065e999d2e7
|
||||
texture=211a56403ae65df0
|
||||
texture=2bda8060f5af2d11
|
||||
texture=2c3dad23357f879c
|
||||
texture=2cedfa4023b6803e
|
||||
texture=2dedc1e77dadbaf2
|
||||
texture=31b88a44665460a2
|
||||
texture=34835ace58aa1328
|
||||
texture=36426c682e039b7e
|
||||
texture=365d3efccfd04786
|
||||
texture=3ee914307e0cfba2
|
||||
texture=402daf0c844d2a87
|
||||
texture=43a291b5d14f4747
|
||||
texture=44346934ca407bbf
|
||||
texture=475e9a0aca517999
|
||||
texture=488818d1dc1bf568
|
||||
texture=488da6bb5b191232
|
||||
texture=4e7b29a719ebed7c
|
||||
texture=4ffb1203bbe05f7f
|
||||
texture=5022a8f801f1fbd4
|
||||
texture=55ed86591cdcb542
|
||||
texture=572cb04ad4769b59
|
||||
texture=597f21380cbc37b2
|
||||
texture=5e9182ba280b02ea
|
||||
texture=60a75acea8d778df
|
||||
texture=6801c44d1ec73bfa
|
||||
texture=6a24b4acefc93db5
|
||||
texture=72f8bca0e1726dc3
|
||||
texture=7300b378aff68c45
|
||||
texture=747cfbb5dc242db4
|
||||
texture=7522a502b68b2cbc
|
||||
texture=782bf7c46ebcbe94
|
||||
texture=79a65326dcfbdef0
|
||||
texture=7c15e72aed71595d
|
||||
texture=80eed62e0b762381
|
||||
texture=8118677d50616cbc
|
||||
texture=81992e80ff01bffd
|
||||
texture=81efb83a6f788810
|
||||
texture=822e5f63526270aa
|
||||
texture=8374cf50b50748f4
|
||||
texture=83ea7eecfcf92791
|
||||
texture=86767ff600b75a3b
|
||||
texture=87a7977b7224b483
|
||||
texture=8eba61dd4b7b5610
|
||||
texture=924b626afe84e009
|
||||
texture=95a06ce9d4982399
|
||||
texture=97d2fb9e91eae90a
|
||||
texture=9879d676e3799e90
|
||||
texture=98c045ff0512bd11
|
||||
texture=9bb4d5de5a92c936
|
||||
texture=9d92f43715852d66
|
||||
texture=9ef66dae9a701aba
|
||||
texture=9f03cded2faa6d9d
|
||||
texture=9fc0213cc88a6a04
|
||||
texture=a57ccad7bdfc42b0
|
||||
texture=a9d0e667a7e069ca
|
||||
texture=aac639d692420b0e
|
||||
texture=b097f58b1bc27fde
|
||||
texture=b70b60dc908f5fda
|
||||
texture=b8f66c2b85ef9edc
|
||||
texture=ba58dac830646e41
|
||||
texture=bac13237fee6c8c2
|
||||
texture=bb9150646bf96b1f
|
||||
texture=be82d3d99810f73b
|
||||
texture=bfcff714bafe8a78
|
||||
texture=c09aa43bafdafe23
|
||||
texture=c187eb9c1e77da86
|
||||
texture=cafe4998ebd68563
|
||||
texture=d40817868363f48b
|
||||
texture=d7ca6ec614c20cd0
|
||||
texture=daf5d4164cef1e80
|
||||
texture=dd75a565c18848f1
|
||||
texture=def8914128846d2c
|
||||
texture=e0401508db2fff64
|
||||
texture=e26fb795ebf00af5
|
||||
texture=e63b0e84d69e66e8
|
||||
texture=e6c1aa0edd8c4987
|
||||
texture=eaf16aadb8b37171
|
||||
texture=ebbee0751de97116
|
||||
texture=f3923d7da94782d8
|
||||
texture=f4232b7f01ef1288
|
||||
texture=f7cf814f0a9175ea
|
||||
texture=fd3d703c92100687
|
||||
texture=fe1cbcee0743e3bf
|
||||
texture=ff29942713765b0c
|
||||
|
||||
$HUD - Animals
|
||||
handling=skip
|
||||
texture=006fb09061fbd506
|
||||
texture=16e2fa825ca94bac
|
||||
texture=1b86e055f25be8dc
|
||||
texture=4932dff920a44ddc
|
||||
texture=5773575471221c6a
|
||||
texture=591736c8fda54c3e
|
||||
texture=642f45914eb0fe0b
|
||||
texture=6b3b5f14bf6353b9
|
||||
texture=7820f977d5907262
|
||||
texture=8114eb4372afa4cb
|
||||
texture=845df0100a6692fc
|
||||
texture=8a0d6e0407c4267b
|
||||
texture=8c6e5f1fb5f8cbdb
|
||||
texture=95b8c202853ddbb7
|
||||
texture=b90dae2c2b1aa4fb
|
||||
texture=bf1e3dec01468520
|
||||
texture=bffe8253fd156fa9
|
||||
texture=ca69f28d2f50e5b5
|
||||
texture=cfe207c6aaefe0dd
|
||||
texture=d9683c4ce660962a
|
||||
|
||||
$HUD - Items
|
||||
handling=screen
|
||||
texture=08e66a16c7ab2772
|
||||
texture=501b64606b946ad7
|
||||
texture=964ce6668e588a79
|
||||
texture=d86d8ed979f2bcf3
|
||||
|
||||
$HUD - Mecha
|
||||
handling=screen
|
||||
texture=0495b39a426b4dc0
|
||||
texture=3174b707a8c574be
|
||||
texture=460af379cb33302d
|
||||
texture=6c97723ab6215748
|
||||
texture=963c218d6f65287a
|
||||
texture=e6224a382c3eaa08
|
||||
|
||||
$Mire
|
||||
handling=screen
|
||||
texture=bbb87a4e992103d1
|
||||
texture=da0e4acf79b69e02
|
||||
|
||||
$HUD - TH
|
||||
handling=screen
|
||||
texture=0c39d3bb654e9761
|
||||
texture=1bf531828b899bff
|
||||
texture=1d3c4fccd3d49f8b
|
||||
texture=200313fe488ba657
|
||||
texture=227b67932bd4b0e4
|
||||
texture=267a0d171dcbf78f
|
||||
texture=2bb50ab46a667833
|
||||
texture=326d43d9bbfa24b7
|
||||
texture=3a7ce7d13de5d152
|
||||
texture=3cdc64a2ae462beb
|
||||
texture=5d8ef103ab0562e0
|
||||
texture=67b7b8001a445307
|
||||
texture=6defa0873931aff6
|
||||
texture=73d2a01da71414ec
|
||||
texture=8f360e1a5d6e77a8
|
||||
texture=9fd55c10ae9aa2ea
|
||||
texture=befc446b90a9647d
|
||||
texture=c9801d207bad1f7b
|
||||
texture=eae2542012f67bc4
|
||||
texture=f89af9b6af1ccda9
|
||||
|
||||
$HUD - TH - MS - Text
|
||||
handling=screen
|
||||
texture=1b9ffe3b921405ea
|
||||
texture=35b36dea3eaf4206
|
||||
texture=3e13610cf545fd50
|
||||
texture=3f5f017c8bf1f10d
|
||||
texture=46dbf58b44c6dad0
|
||||
texture=4eeac2beee7d7433
|
||||
texture=5805686bd542fdcf
|
||||
texture=63c174714fa840f5
|
||||
texture=6995281093de00d7
|
||||
texture=6b80b4d07cbde717
|
||||
texture=753514368e4bb1fb
|
||||
texture=9444dca69ef0f612
|
||||
texture=a110e4345434336b
|
||||
texture=ac7f8c85cfa62d11
|
||||
texture=ada862a2f32b8012
|
||||
texture=da2b11f89cce82b4
|
||||
texture=e1a588c6c969be0d
|
||||
texture=e3ffaa173dea2f6c
|
||||
|
||||
$Level Intro
|
||||
handling=screen
|
||||
texture=0707c640cbf4c518
|
||||
texture=2cb7e1cf33855f3f
|
||||
texture=363ec56bcc455099
|
||||
texture=3c1655d341bed3e1
|
||||
texture=412f7d7052dd7eb7
|
||||
texture=47da6e87b5e62b36
|
||||
texture=53ad3d102d4d9047
|
||||
texture=545cc06f68d712a9
|
||||
texture=55a694a969589dcb
|
||||
texture=5aecd459c6ece632
|
||||
texture=5c7da40a7c7630d0
|
||||
texture=5d0a429f0ec92674
|
||||
texture=675a0a28063a7043
|
||||
texture=7a5f7c8dd0b471eb
|
||||
texture=8434885b980fd0b0
|
||||
texture=8b75fcfa8d1ff40d
|
||||
texture=978f2b3d8487bd10
|
||||
texture=a94c5c7a7e7db4ab
|
||||
texture=ad8c2c51fd6e69b2
|
||||
texture=b31d3646aaa95af3
|
||||
texture=c5b8d600fd138269
|
||||
texture=c834449a772f0469
|
||||
texture=cfa03b9babf58db1
|
||||
texture=dd7d772a5bd31f7e
|
||||
texture=e55273825ed22d38
|
||||
texture=e6224a382c3eaa08
|
||||
texture=e7b94fac2f45e4a8
|
||||
texture=f076324250aa0388
|
||||
|
||||
$Kart
|
||||
handling=screen
|
||||
texture=053c8a3c3fadd4d7
|
||||
texture=2584f2f93a3159dd
|
||||
|
||||
$Intro
|
||||
handling=screen
|
||||
texture=059ff4603b07ddf8
|
||||
texture=30eba242b976ef08
|
||||
texture=40978ba7f803486e
|
||||
texture=c3c29ade6e29d5a4
|
||||
texture=d8300b881c49fa85
|
||||
texture=e7fdbaa3614bcd44
|
||||
texture=ec34eff2d1aa01fa
|
||||
|
||||
$Main Menu
|
||||
handling=screen
|
||||
texture=0f35116c80fa97d5
|
||||
texture=11f8e8563827c5df
|
||||
texture=1e80e5550620f216
|
||||
texture=2eb80f37b4e02b61
|
||||
texture=44cea5eaabf42269
|
||||
texture=4c21a029024a8347
|
||||
texture=67f6b13c0b360ab4
|
||||
texture=6ef56e47270f08ba
|
||||
texture=d4134d6d0b55c09e
|
||||
texture=dac3584e20ba17cb
|
||||
texture=e64e1a5cdc2413de
|
||||
texture=e6e5860629398a6e
|
||||
texture=f2303f77938fb1ca
|
||||
texture=f55930ddc2a6dec2
|
||||
|
||||
$Select a Memory Card
|
||||
handling=screen
|
||||
texture=00b6cf8ca3f40cc6
|
||||
texture=2dedc1e77dadbaf2
|
||||
texture=2e99146f397b65c3
|
||||
texture=352e9415cc6a37d7
|
||||
texture=365d3efccfd04786
|
||||
texture=383144355d5e1f7b
|
||||
texture=49cad8412aa5e473
|
||||
texture=7df94b6beae6ff1a
|
||||
texture=be8434353a39206e
|
||||
texture=deaacc5a5ec4b77b
|
||||
texture=dec416952603f40f
|
||||
texture=e42bae89adaa2fae
|
||||
texture=e790647ebd9de024
|
||||
|
||||
$Result Screen
|
||||
handling=screen
|
||||
texture=04e625c8d5585506
|
||||
texture=6a6f10d55eeb6a10
|
||||
texture=a1ef28664f2cb9e8
|
||||
|
||||
$Metal Habour Sun Flair
|
||||
handling=units_per_meter
|
||||
units_per_meter=0.01
|
||||
texture=3df32461831e7bd6
|
||||
texture=4db0aaf533a042ab
|
||||
texture=67dd24c29b471df9
|
||||
texture=71466731c75efcbf
|
||||
texture=a69b410a516ce43d
|
||||
texture=b454d8dc637305ca
|
||||
texture=c3eecb915da4afa1
|
||||
|
||||
$Chao Garden
|
||||
handling=screen
|
||||
texture=15e474f5fc8fba34
|
||||
texture=2d438e4e8053392d
|
||||
texture=2dc26edb48217e94
|
||||
texture=463693688440db13
|
||||
texture=495e8aab6940f041
|
||||
texture=4ba3e88f3cdbe08f
|
||||
texture=a53f409e651212c1
|
||||
|
||||
@@ -0,0 +1,144 @@
|
||||
[Graphics.VR]
|
||||
VirtualScreen = False
|
||||
[ElementsGroupOverride_Enable]
|
||||
$Minimap
|
||||
$Ship wireframe
|
||||
$Visor
|
||||
$HUD
|
||||
[ElementsGroupOverride]
|
||||
$Minimap
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=11600
|
||||
sig_persp_vfov=10040
|
||||
sig_persp_near=1000
|
||||
sig_persp_far=100000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=660
|
||||
sig_vp_y=580
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=340
|
||||
sig_sc_t=356
|
||||
sig_sc_r=979
|
||||
sig_sc_b=805
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Ship wireframe
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=11563
|
||||
sig_persp_vfov=10000
|
||||
sig_persp_near=1000
|
||||
sig_persp_far=10000000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=660
|
||||
sig_vp_y=580
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=340
|
||||
sig_sc_t=356
|
||||
sig_sc_r=979
|
||||
sig_sc_b=805
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Visor
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-100
|
||||
sig_ortho_right=100
|
||||
sig_ortho_top=100
|
||||
sig_ortho_bottom=-100
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=660
|
||||
sig_vp_y=580
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=340
|
||||
sig_sc_t=356
|
||||
sig_sc_r=979
|
||||
sig_sc_b=805
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$HUD
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=660
|
||||
sig_vp_y=580
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=340
|
||||
sig_sc_t=356
|
||||
sig_sc_r=979
|
||||
sig_sc_b=805
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
@@ -1,9 +1,66 @@
|
||||
[ShaderOverride_Enable]
|
||||
[ShaderOverride]
|
||||
[TextureElementOverride_Enable]
|
||||
$Intro Logo
|
||||
$Main Menu
|
||||
$Select a level
|
||||
$Loading
|
||||
$HUD
|
||||
$Text
|
||||
$Pause Menu
|
||||
[TextureElementOverride]
|
||||
$Intro Logo
|
||||
handling=screen
|
||||
texture=6226ba2ac1d15558
|
||||
texture=6712a5ff3e69c91a
|
||||
texture=be2006d9345ae529
|
||||
|
||||
$Main Menu
|
||||
handling=screen
|
||||
texture=143a9a3691ec2fe3
|
||||
texture=580a55bac9e48450
|
||||
texture=62f51ff1e1bb0c01
|
||||
texture=84724037de4ae3df
|
||||
texture=d12d44827443b185
|
||||
|
||||
$Select a level
|
||||
handling=screen
|
||||
texture=1f8073e98a2364c3
|
||||
texture=49a8c44f197eeeac
|
||||
texture=73962f92710e9e9e
|
||||
texture=8435a3940c003445
|
||||
texture=c1a8be3ee037dd86
|
||||
texture=d35071dfd82af4f7
|
||||
|
||||
$Loading
|
||||
handling=screen
|
||||
texture=521a24fbce243442
|
||||
texture=62f51ff1e1bb0c01
|
||||
texture=7b083d30575cad4c
|
||||
texture=dd8ee3fcada1d477
|
||||
|
||||
$HUD
|
||||
handling=screen
|
||||
texture=09d976ea25d1c1c0
|
||||
texture=1b15674d61c05ba0
|
||||
texture=419463745aa5965d
|
||||
texture=8f45dd68096d4665
|
||||
texture=924376c246b3c129
|
||||
texture=cc9e9b4f27f7130b
|
||||
texture=f044169b53dba310
|
||||
|
||||
$Text
|
||||
handling=screen
|
||||
texture=a6f9e58ce8b15a75
|
||||
texture=cc80552cae3417e6
|
||||
|
||||
$Pause Menu
|
||||
handling=screen
|
||||
texture=1b214a192871a592
|
||||
texture=fb31bc5c96de28fd
|
||||
[ElementsGroupOverride_Enable]
|
||||
$Health Bars
|
||||
[ElementsGroupOverride]
|
||||
$HUD
|
||||
format=element_only_v5
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
selected_match_mode=include
|
||||
sig_perspective=0
|
||||
@@ -16,6 +73,7 @@ sig_ortho_right=64
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
@@ -35,65 +93,79 @@ sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
selected_match_0_family_version=1
|
||||
selected_match_0_vs_family=00000000198dabb4
|
||||
selected_match_0_ps_family=a89c4ca6fc8e5876
|
||||
selected_match_0_gs_family=000000002b78268c
|
||||
selected_match_0_texture=09d976ea25d1c1c0
|
||||
selected_match_1_family_version=1
|
||||
selected_match_1_vs_family=00000000198dabb4
|
||||
selected_match_1_ps_family=a89c4ca6fc8e5876
|
||||
selected_match_1_gs_family=000000002b78268c
|
||||
selected_match_1_texture=1b15674d61c05ba0
|
||||
selected_match_2_family_version=1
|
||||
selected_match_2_vs_family=000000002b3a6cc8
|
||||
selected_match_2_ps_family=0d577e9bbc49f1ab
|
||||
selected_match_2_gs_family=000000007b617113
|
||||
selected_match_2_texture=1b15674d61c05ba0
|
||||
selected_match_3_family_version=1
|
||||
selected_match_3_vs_family=000000002b3a6cc8
|
||||
selected_match_3_ps_family=0d577e9bbc49f1ab
|
||||
selected_match_3_gs_family=000000007b617113
|
||||
selected_match_3_texture=8f45dd68096d4665
|
||||
selected_match_4_family_version=1
|
||||
selected_match_4_vs_family=00000000198dabb4
|
||||
selected_match_4_ps_family=a89c4ca6fc8e5876
|
||||
selected_match_4_gs_family=000000002b78268c
|
||||
selected_match_4_texture=cc9e9b4f27f7130b
|
||||
selected_match_5_family_version=1
|
||||
selected_match_5_vs_family=000000002b3a6cc8
|
||||
selected_match_5_ps_family=0d577e9bbc49f1ab
|
||||
selected_match_5_gs_family=000000007b617113
|
||||
selected_match_5_texture=cc9e9b4f27f7130b
|
||||
selected_match_6_family_version=1
|
||||
selected_match_6_vs_family=00000000198dabb4
|
||||
selected_match_6_ps_family=a89c4ca6fc8e5876
|
||||
selected_match_6_gs_family=000000002b78268c
|
||||
selected_match_6_texture=419463745aa5965d
|
||||
selected_match_7_family_version=1
|
||||
selected_match_7_vs_family=00000000198dabb4
|
||||
selected_match_7_ps_family=a89c4ca6fc8e5876
|
||||
selected_match_7_gs_family=000000002b78268c
|
||||
selected_match_7_texture=fb31bc5c96de28fd
|
||||
selected_match_8_family_version=1
|
||||
selected_match_8_vs_family=000000002b3a6cc8
|
||||
selected_match_8_ps_family=0d577e9bbc49f1ab
|
||||
selected_match_8_gs_family=000000007b617113
|
||||
selected_match_8_texture=fb31bc5c96de28fd
|
||||
selected_match_9_family_version=1
|
||||
selected_match_9_vs_family=00000000198dabb4
|
||||
selected_match_9_ps_family=a89c4ca6fc8e5876
|
||||
selected_match_9_gs_family=000000002b78268c
|
||||
selected_match_9_texture=1b214a192871a592
|
||||
selected_match_10_family_version=1
|
||||
selected_match_10_vs_family=000000002b3a6cc8
|
||||
selected_match_10_ps_family=0d577e9bbc49f1ab
|
||||
selected_match_10_gs_family=000000007b617113
|
||||
selected_match_10_texture=419463745aa5965d
|
||||
selected_match_11_family_version=1
|
||||
selected_match_11_vs_family=00000000198dabb4
|
||||
selected_match_11_ps_family=a89c4ca6fc8e5876
|
||||
selected_match_11_gs_family=000000002b78268c
|
||||
selected_match_11_texture=924376c246b3c129
|
||||
selected_match_12_family_version=1
|
||||
selected_match_12_vs_family=00000000198dabb4
|
||||
selected_match_12_ps_family=a89c4ca6fc8e5876
|
||||
selected_match_12_gs_family=000000002b78268c
|
||||
selected_match_12_texture=8f45dd68096d4665
|
||||
selected_match_13_family_version=1
|
||||
selected_match_13_vs_family=00000000198dabb4
|
||||
selected_match_13_ps_family=9d787892a4e9865b
|
||||
selected_match_13_gs_family=000000002b78268c
|
||||
selected_match_13_texture=cc80552cae3417e6
|
||||
|
||||
$EFB
|
||||
format=element_only_v5
|
||||
format=element_only_v6
|
||||
handling=skip
|
||||
selected_match_mode=include
|
||||
sig_perspective=0
|
||||
@@ -106,6 +178,7 @@ sig_ortho_right=64
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
@@ -125,10 +198,50 @@ sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
selected_match_0_family_version=1
|
||||
selected_match_0_vs_family=00000000198dabb4
|
||||
selected_match_0_ps_family=a89c4ca6fc8e5876
|
||||
selected_match_0_gs_family=000000002b78268c
|
||||
selected_match_0_texture=5983dda9f15715a4
|
||||
|
||||
$Health Bars
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
selected_match_mode=include
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
selected_match_0_family_version=2
|
||||
selected_match_0_vs_family=f4ea2995f595d421
|
||||
selected_match_0_ps_family=0d577e9bbc49f1ab
|
||||
selected_match_0_gs_family=9a691400c548baae
|
||||
selected_match_0_texture=000000002caf2903
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 30.00
|
||||
VirtualScreen = False
|
||||
DontClearScreen = False
|
||||
+154
-145
@@ -1,150 +1,5 @@
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 30.00
|
||||
OpcodeReplay = 0
|
||||
ForcedVBIFrequency = 120
|
||||
[TextureElementOverride_Enable]
|
||||
[TextureElementOverride]
|
||||
$Main Menu
|
||||
handling=screen
|
||||
texture=143a9a3691ec2fe3
|
||||
texture=1f8073e98a2364c3
|
||||
texture=49a8c44f197eeeac
|
||||
texture=634aefd8d516c9bf
|
||||
texture=6d76110de4a56138
|
||||
texture=73962f92710e9e9e
|
||||
texture=8f5047e58bff1b21
|
||||
texture=afa640b26de7fdf0
|
||||
texture=bab511d7e23412d7
|
||||
texture=be2006d9345ae529
|
||||
texture=febe2674c632a66e
|
||||
|
||||
$Pause
|
||||
handling=screen
|
||||
texture=1b214a192871a592
|
||||
texture=fb31bc5c96de28fd
|
||||
|
||||
$HUD
|
||||
handling=screen
|
||||
texture=09d976ea25d1c1c0
|
||||
texture=419463745aa5965d
|
||||
texture=8f45dd68096d4665
|
||||
texture=8f5047e58bff1b21
|
||||
texture=928c2332561eeb1b
|
||||
texture=c200a7ab6180b62e
|
||||
texture=cc9e9b4f27f7130b
|
||||
texture=f044169b53dba310
|
||||
|
||||
$HUD2
|
||||
handling=screen
|
||||
texture=1b15674d61c05ba0
|
||||
[ShaderOverride_Enable]
|
||||
[ShaderOverride]
|
||||
[ElementsGroupOverride_Enable]
|
||||
$HUD
|
||||
$EFB
|
||||
$HUD Text
|
||||
[ElementsGroupOverride]
|
||||
$HUD
|
||||
format=element_only_v5
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-8000
|
||||
sig_ortho_right=56000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$EFB
|
||||
format=element_only_v5
|
||||
handling=skip
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$HUD Text
|
||||
format=element_only_v5
|
||||
handling=screen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=8268
|
||||
sig_persp_vfov=5313
|
||||
sig_persp_near=1000
|
||||
sig_persp_far=3000000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
[HideObjectCodes_Enabled]
|
||||
[HideObjectCodes]
|
||||
$EFB Fullscreen Effects
|
||||
@@ -268,4 +123,158 @@ Lower=0x00000000FFFFFFFF
|
||||
Type=128bits
|
||||
Upper=0x000000003FC00000
|
||||
Lower=0x00000000FFFFFFFF
|
||||
[TextureElementOverride_Enable]
|
||||
$Main Menu
|
||||
$Pause
|
||||
$HUD
|
||||
$Intro
|
||||
[TextureElementOverride]
|
||||
$Main Menu
|
||||
handling=screen
|
||||
texture=143a9a3691ec2fe3
|
||||
texture=1f8073e98a2364c3
|
||||
texture=49a8c44f197eeeac
|
||||
texture=634aefd8d516c9bf
|
||||
texture=6d76110de4a56138
|
||||
texture=73962f92710e9e9e
|
||||
texture=8f5047e58bff1b21
|
||||
texture=afa640b26de7fdf0
|
||||
texture=bab511d7e23412d7
|
||||
texture=be2006d9345ae529
|
||||
texture=febe2674c632a66e
|
||||
|
||||
$Pause
|
||||
handling=screen
|
||||
texture=1b214a192871a592
|
||||
texture=fb31bc5c96de28fd
|
||||
|
||||
$HUD
|
||||
handling=screen
|
||||
texture=09d976ea25d1c1c0
|
||||
texture=419463745aa5965d
|
||||
texture=8f45dd68096d4665
|
||||
texture=8f5047e58bff1b21
|
||||
texture=928c2332561eeb1b
|
||||
texture=c200a7ab6180b62e
|
||||
texture=cc9e9b4f27f7130b
|
||||
texture=f044169b53dba310
|
||||
|
||||
$HUD2
|
||||
handling=screen
|
||||
texture=1b15674d61c05ba0
|
||||
|
||||
$Intro
|
||||
handling=screen
|
||||
texture=bab511d7e23412d7
|
||||
texture=be2006d9345ae529
|
||||
texture=febe2674c632a66e
|
||||
[ElementsGroupOverride_Enable]
|
||||
$HUD
|
||||
$EFB
|
||||
$HUD Text
|
||||
[ElementsGroupOverride]
|
||||
$HUD
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-8000
|
||||
sig_ortho_right=56000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$EFB
|
||||
format=element_only_v6
|
||||
handling=skip
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$HUD Text
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=8268
|
||||
sig_persp_vfov=5313
|
||||
sig_persp_near=1000
|
||||
sig_persp_far=3000000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
[Graphics.VR]
|
||||
DontClearScreen = False
|
||||
ForcedVBIFrequency = 90
|
||||
UnitsPerMeter = 30.00
|
||||
@@ -1,10 +1,7 @@
|
||||
[ElementsGroupOverride_Enable]
|
||||
$fmv
|
||||
$Minimap
|
||||
$EFB Motion Blur
|
||||
[ElementsGroupOverride]
|
||||
$fmv
|
||||
format=element_only_v5
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
@@ -38,7 +35,7 @@ sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Minimap
|
||||
format=element_only_v5
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
@@ -72,7 +69,7 @@ sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$EFB Motion Blur
|
||||
format=element_only_v5
|
||||
format=element_only_v6
|
||||
handling=skip
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
@@ -104,22 +101,29 @@ sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
[Graphics.VR]
|
||||
AutoNativeEfbEffects = True
|
||||
DetectRenderTargets = False
|
||||
ExactScreenDepth = True
|
||||
SmallViewportsOnScreen = False
|
||||
UnitsPerMeter = 2.998006
|
||||
VirtualScreen = True
|
||||
[TextureElementOverride_Enable]
|
||||
$Warning Screen
|
||||
$Texture Override 2
|
||||
$Texture Override
|
||||
$Map
|
||||
$Hilight effect locker
|
||||
$Annoying Circle of dots
|
||||
[TextureElementOverride]
|
||||
$Warning Screen
|
||||
handling=screen
|
||||
texture=654ebd6875a8963b
|
||||
texture=c21158de2312c991
|
||||
$Annoying Circle of dots
|
||||
handling=skip
|
||||
texture=af146b1164b509e4
|
||||
|
||||
$Texture Override 2
|
||||
$Hilight effect locker
|
||||
handling=screen
|
||||
texture=8755670da0334bf9
|
||||
texture=df723848c5663568
|
||||
|
||||
$Map
|
||||
handling=screen
|
||||
texture=13708b609f1294d5
|
||||
texture=28b9f90d5150572b
|
||||
texture=35f9d709f72ae949
|
||||
|
||||
$Texture Override
|
||||
handling=screen
|
||||
@@ -128,17 +132,12 @@ texture=472f09edac31b620
|
||||
texture=62d42ba32fc47c0c
|
||||
texture=deee39b18006b496
|
||||
|
||||
$Map
|
||||
$Texture Override 2
|
||||
handling=screen
|
||||
texture=13708b609f1294d5
|
||||
texture=28b9f90d5150572b
|
||||
texture=35f9d709f72ae949
|
||||
texture=8755670da0334bf9
|
||||
|
||||
$Hilight effect locker
|
||||
$Warning Screen
|
||||
handling=screen
|
||||
texture=df723848c5663568
|
||||
|
||||
$Annoying Circle of dots
|
||||
handling=skip
|
||||
texture=af146b1164b509e4
|
||||
texture=654ebd6875a8963b
|
||||
texture=c21158de2312c991
|
||||
|
||||
@@ -0,0 +1,143 @@
|
||||
[ElementsGroupOverride_Enable]
|
||||
$Pause
|
||||
$HUD
|
||||
$FMV
|
||||
$Button Prompt
|
||||
[ElementsGroupOverride]
|
||||
$Pause
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=566
|
||||
sig_vp_w=320
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=789
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$HUD
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=566
|
||||
sig_vp_w=320
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=789
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$FMV
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=566
|
||||
sig_vp_w=320
|
||||
sig_vp_h=168
|
||||
sig_sc_l=342
|
||||
sig_sc_t=398
|
||||
sig_sc_r=981
|
||||
sig_sc_b=733
|
||||
sig_alpha=00440000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Button Prompt
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=566
|
||||
sig_vp_w=320
|
||||
sig_vp_h=168
|
||||
sig_sc_l=342
|
||||
sig_sc_t=398
|
||||
sig_sc_r=981
|
||||
sig_sc_b=733
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 20.00
|
||||
@@ -1,7 +1,71 @@
|
||||
[ShaderOverride_Enable]
|
||||
[ShaderOverride]
|
||||
$FMV
|
||||
+Hash=00000000884db77c
|
||||
+Type=VS
|
||||
+handling=screen
|
||||
[TextureElementOverride_Enable]
|
||||
$Blur
|
||||
[TextureElementOverride]
|
||||
$Intro
|
||||
handling=screen
|
||||
texture=090cc006900c59d5
|
||||
texture=09f27e01a5791125
|
||||
texture=251b6f1cf8c34887
|
||||
texture=3d6e585c6325a3c3
|
||||
texture=5fad17344111e760
|
||||
texture=9159f1a2280d0bcd
|
||||
texture=99f793943e299209
|
||||
texture=bcbaa36c9296931c
|
||||
texture=daee6caf6a5c145f
|
||||
texture=eaf76fd62c8fed44
|
||||
|
||||
$Memory Card
|
||||
handling=screen
|
||||
texture=45189e6458d8ae97
|
||||
texture=616fe6f3bce3540e
|
||||
texture=9b90e885fb416f2e
|
||||
texture=a80e051208584cf7
|
||||
texture=be3eb62522e980b0
|
||||
texture=bfd10fb02856aa95
|
||||
|
||||
$Blur
|
||||
handling=skip
|
||||
texture=d79c0e35a60f2740
|
||||
[ElementsGroupOverride_Enable]
|
||||
[ElementsGroupOverride]
|
||||
$Motion Blur
|
||||
format=element_only_v6
|
||||
handling=skip
|
||||
selected_match_mode=include
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-32000
|
||||
sig_ortho_right=32000
|
||||
sig_ortho_top=24000
|
||||
sig_ortho_bottom=-24000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003c0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
selected_match_0_family_version=2
|
||||
selected_match_0_vs_family=34bcb31e998fe927
|
||||
selected_match_0_ps_family=fecf8123ae5a4ca2
|
||||
selected_match_0_gs_family=9a65ac00c545d41f
|
||||
selected_match_0_texture=b35789a9055f4bff
|
||||
selected_match_0_texture=d79c0e35a60f2740
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
+1432
-166
File diff suppressed because it is too large.
Load diff
@@ -1,5 +1,3 @@
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 200.00
|
||||
[ElementsGroupOverride_Enable]
|
||||
$Save Select
|
||||
$HUD
|
||||
@@ -205,29 +203,5 @@ sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
[ShaderOverride_Enable]
|
||||
[ShaderOverride]
|
||||
$EFB01
|
||||
Hash=000000007b36df8b
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=skip
|
||||
|
||||
$EFB02
|
||||
Hash=000000005bf8cd62
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=skip
|
||||
|
||||
$EFB03
|
||||
Hash=0000000074f6b7f4
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=skip
|
||||
|
||||
$Unnamed Shader 1
|
||||
Hash=000000008d0242c8
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=skip
|
||||
|
||||
[HideObjectCodes_Enabled]
|
||||
[HideObjectCodes]
|
||||
@@ -0,0 +1,71 @@
|
||||
[ElementsGroupOverride_Enable]
|
||||
$Grey Filter
|
||||
$Black Bars
|
||||
[ElementsGroupOverride]
|
||||
$Grey Filter
|
||||
format=element_only_v5
|
||||
handling=skip
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=31
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=23
|
||||
sig_use_projection=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Black Bars
|
||||
format=element_only_v5
|
||||
handling=skip
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=31,900
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=23,900
|
||||
sig_use_projection=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 500.00
|
||||
@@ -1,248 +1,73 @@
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 2.0
|
||||
[ShaderOverride_Enable]
|
||||
[ShaderOverride]
|
||||
$EFB 01
|
||||
Hash=0000000097d12539
|
||||
Type=VS
|
||||
handling=skip
|
||||
hash_family=1
|
||||
family_signature=0000000097d12539
|
||||
|
||||
$Planete Atmosphere
|
||||
Hash=00000000c5c08aa5
|
||||
Type=PS
|
||||
handling=units_per_meter
|
||||
units_per_meter=0.01
|
||||
|
||||
$Space
|
||||
Hash=000000008d9f07a3
|
||||
Type=PS
|
||||
handling=units_per_meter
|
||||
units_per_meter=0.01
|
||||
texture_mode=include
|
||||
texture=528f41b25f15a001
|
||||
texture=5f3b19e4d4c471dc
|
||||
|
||||
$Planete
|
||||
Hash=00000000ec1bd8b6
|
||||
Type=PS
|
||||
handling=units_per_meter
|
||||
units_per_meter=0.01
|
||||
|
||||
$Morph Ball Transition EFB 1
|
||||
Hash=00000000c5f8cf72
|
||||
Type=PS
|
||||
handling=skip
|
||||
|
||||
$Unnamed Shader 1
|
||||
Hash=0000000047e2e4c8
|
||||
Type=PS
|
||||
handling=skip
|
||||
|
||||
$Unnamed Shader 2
|
||||
Hash=00000000bf3ff898
|
||||
Type=PS
|
||||
handling=skip
|
||||
|
||||
$Unnamed Shader 3
|
||||
Hash=0000000013f4fcd2
|
||||
Type=PS
|
||||
handling=skip
|
||||
|
||||
$HUD Visor Icon
|
||||
Hash=0000000031edab72
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
texture_mode=include
|
||||
texture=47382578f2df4238
|
||||
texture=c325dd2e81b76450
|
||||
|
||||
$HUD Bars
|
||||
Hash=00000000486f9c44
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
texture_mode=include
|
||||
texture=3eb8381879cf96e1
|
||||
texture=de81ade3d6923bae
|
||||
texture=e2afa23ca21dcd09
|
||||
|
||||
$HUD Borders Lights
|
||||
Hash=000000005467ff27
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
texture_mode=include
|
||||
texture=3eb8381879cf96e1
|
||||
texture=4659c82198269108
|
||||
|
||||
$HUD Visor Indicator
|
||||
Hash=000000006bcd9515
|
||||
Type=PS
|
||||
handling=screen
|
||||
texture_mode=include
|
||||
texture=3eb8381879cf96e1
|
||||
texture=847479ca4ca13986
|
||||
texture=e2afa23ca21dcd09
|
||||
|
||||
$HUD 01
|
||||
Hash=000000009cd2d360
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
texture_mode=include
|
||||
texture=3eb8381879cf96e1
|
||||
texture=49679a7ccbbbdefb
|
||||
texture=509723fa4ca15c07
|
||||
texture=7cd48b7c7d1eabe1
|
||||
texture=a63ebdc372c2c2b0
|
||||
texture=b6101c40f90e35b8
|
||||
texture=b9b77bed5f7fe2d2
|
||||
texture=c0a6e20f68761b39
|
||||
texture=cd73483a21a0393e
|
||||
texture=e1bfa9d78b45f982
|
||||
texture=e23d5bfa878b3822
|
||||
texture=e378bac5ef1d4edc
|
||||
texture=e433bfd213466a50
|
||||
texture=e4907f1ef76b811b
|
||||
texture=ecd7866aed633019
|
||||
texture=f394c71d898aa628
|
||||
texture=f6415ff79092ca08
|
||||
texture=f6f85f3048de0489
|
||||
|
||||
$HUD Text
|
||||
Hash=00000000a238512d
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
texture_mode=include
|
||||
texture=5d731b783a1f75a4
|
||||
texture=8a7b20be8ca8cf79
|
||||
texture=91627895056f2669
|
||||
|
||||
$HUD 02
|
||||
Hash=00000000e677acc3
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
texture_mode=include
|
||||
texture=847479ca4ca13986
|
||||
texture=a63ebdc372c2c2b0
|
||||
texture=e433bfd213466a50
|
||||
|
||||
$HUD Minimap
|
||||
Hash=000000002866acba
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
texture_mode=include
|
||||
texture=3eb8381879cf96e1
|
||||
texture=847479ca4ca13986
|
||||
texture=e2afa23ca21dcd09
|
||||
|
||||
$Unnamed Shader 4
|
||||
Hash=000000006f06112e
|
||||
Type=PS
|
||||
handling=skip
|
||||
|
||||
$Hotkey PS 15c126c4
|
||||
Hash=0000000015c126c4
|
||||
Type=PS
|
||||
handling=skip
|
||||
|
||||
$Hotkey PS 132e8e6f
|
||||
Hash=00000000132e8e6f
|
||||
Type=PS
|
||||
handling=skip
|
||||
|
||||
$Hotkey PS 7ff45305
|
||||
Hash=000000007ff45305
|
||||
Type=PS
|
||||
handling=skip
|
||||
|
||||
$Scanner Overlay
|
||||
Hash=000000000d8e89c2
|
||||
Type=PS
|
||||
handling=screen
|
||||
|
||||
$HUD Energy Text
|
||||
Hash=0000000011d43845
|
||||
Type=VS
|
||||
handling=headlocked
|
||||
texture_mode=include
|
||||
texture=5d731b783a1f75a4
|
||||
texture=91627895056f2669
|
||||
texture=e3cfb7a4cb2e46bc
|
||||
|
||||
$HUD Small Lights
|
||||
Hash=00000000e270bbdb
|
||||
Type=VS
|
||||
handling=headlocked
|
||||
texture_mode=include
|
||||
texture=f6f85f3048de0489
|
||||
|
||||
$Radar Dots
|
||||
Hash=000000001cb03fd3
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
|
||||
$Morph Ball EFB
|
||||
Hash=00000000f69bd91e
|
||||
Type=VS
|
||||
handling=skip
|
||||
|
||||
$EFB EFFECT
|
||||
Hash=0000000095979b60
|
||||
Type=VS
|
||||
handling=skip
|
||||
|
||||
$Hotkey VS 37889dfc
|
||||
Hash=0000000037889dfc
|
||||
Type=VS
|
||||
handling=skip
|
||||
condition=Scanner
|
||||
condition_mode=activate
|
||||
texture_mode=exclude
|
||||
texture=40a6c697a216cd45
|
||||
texture=43758082fb69453b
|
||||
texture=4659c82198269108
|
||||
texture=4f212cf0e3017ed8
|
||||
texture=509723fa4ca15c07
|
||||
texture=659d52e07839443d
|
||||
texture=74737b6e425b2753
|
||||
texture=7cd48b7c7d1eabe1
|
||||
texture=84357180359b5c91
|
||||
texture=96279794b79efbbd
|
||||
texture=a63ebdc372c2c2b0
|
||||
texture=aa08c274288a4fd6
|
||||
texture=b04ce8b0a5109788
|
||||
texture=b2f411682a7de4a5
|
||||
texture=b6101c40f90e35b8
|
||||
texture=b9fc67cccfab4dcf
|
||||
texture=ba98829618fb8753
|
||||
texture=be036a6bd3610c09
|
||||
texture=c0a6e20f68761b39
|
||||
texture=cd73483a21a0393e
|
||||
texture=e1bfa9d78b45f982
|
||||
texture=e23d5bfa878b3822
|
||||
texture=e378bac5ef1d4edc
|
||||
texture=e4907f1ef76b811b
|
||||
texture=e86108662ce1e1d0
|
||||
texture=e8f3888a8db51c51
|
||||
texture=ecd7866aed633019
|
||||
texture=f394c71d898aa628
|
||||
texture=f6f85f3048de0489
|
||||
texture=fa99db57356c36da
|
||||
|
||||
[ElementsGroupOverride]
|
||||
format = element_only_v6
|
||||
handling = controller_anchor
|
||||
sig_perspective = 1
|
||||
sig_persp_hfov = 8564
|
||||
sig_persp_vfov = 5500
|
||||
sig_persp_near = 200
|
||||
sig_persp_far = 75000
|
||||
sig_ortho_left = 0
|
||||
sig_ortho_right = 0
|
||||
sig_ortho_top = 0
|
||||
sig_ortho_bottom = 0
|
||||
sig_use_projection = 1
|
||||
sig_use_projection_type = 0
|
||||
sig_use_layer = 0
|
||||
sig_use_viewport = 0
|
||||
sig_use_scissor = 0
|
||||
sig_use_render_state = 1
|
||||
sig_layer = 0
|
||||
sig_vp_x = 662
|
||||
sig_vp_y = 566
|
||||
sig_vp_w = 320
|
||||
sig_vp_h = 224
|
||||
sig_sc_l = 342
|
||||
sig_sc_t = 342
|
||||
sig_sc_r = 981
|
||||
sig_sc_b = 789
|
||||
sig_alpha = 007f0000
|
||||
sig_ztest = 1
|
||||
sig_zupdate = 1
|
||||
sig_zfunc = 3
|
||||
sig_blend_color = 1
|
||||
sig_blend_alpha = 1
|
||||
texture_mode = include
|
||||
texture = 9fa941b46459adc5
|
||||
anchor_hand = right
|
||||
anchor_rotation = full
|
||||
anchor_pitch = -90
|
||||
[TextureElementOverride_Enable]
|
||||
$Arm Cannon
|
||||
[TextureElementOverride]
|
||||
$Scanner
|
||||
Hash=00000000e1202485
|
||||
Type=VS
|
||||
handling=screen
|
||||
flag=Scanner
|
||||
|
||||
$Hotkey VS e270bbdb
|
||||
Hash=00000000e270bbdb
|
||||
Type=VS
|
||||
handling=screen
|
||||
condition=Scanner
|
||||
condition_mode=activate
|
||||
texture_mode=exclude
|
||||
texture=91627895056f2669
|
||||
texture=96279794b79efbbd
|
||||
texture=a63ebdc372c2c2b0
|
||||
handling=headlocked
|
||||
texture=08e82e47d1725332
|
||||
|
||||
$Arm Cannon
|
||||
handling=controller_anchor
|
||||
anchor_hand=right
|
||||
anchor_rotation=full
|
||||
anchor_pitch=-90
|
||||
texture=1789add6ac081b19
|
||||
texture=201a77eb59cfa6ec
|
||||
texture=3c6ded49d64d30f2
|
||||
texture=4f80b529b06db3fa
|
||||
texture=684b623f651c5942
|
||||
texture=702d953c2f22b5c6
|
||||
texture=74b69a5b06b07925
|
||||
texture=8d6f00b5d395f22f
|
||||
texture=9fa941b46459adc5
|
||||
texture=bd189f9434910a83
|
||||
texture=bec6d78ea7dd739e
|
||||
texture=c11caa5c7c794d84
|
||||
texture=ca5af9af518b322d
|
||||
[Graphics.VR]
|
||||
AutoNativeEfbEffects = False
|
||||
DetectSkybox = True
|
||||
EnableCameraAnchor = True
|
||||
EnableControllerAnchor = True
|
||||
ExactScreenDepth = True
|
||||
MetroidThermalVisorFix = True
|
||||
OrthoScissorFix = True
|
||||
UnitsPerMeter = 1.50
|
||||
VirtualScreen = False
|
||||
@@ -0,0 +1,2 @@
|
||||
[Graphics.VR]
|
||||
DetectRenderTargets = True
|
||||
@@ -0,0 +1,37 @@
|
||||
[ElementsGroupOverride_Enable]
|
||||
$Cow Shadow
|
||||
[ElementsGroupOverride]
|
||||
$Cow Shadow
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-6400
|
||||
sig_ortho_right=6400
|
||||
sig_ortho_top=6400
|
||||
sig_ortho_bottom=-6400
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=406
|
||||
sig_vp_y=406
|
||||
sig_vp_w=64
|
||||
sig_vp_h=64
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=469
|
||||
sig_sc_b=469
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
+115
-320
@@ -1,327 +1,122 @@
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 1.5
|
||||
DetectSkybox = True
|
||||
DisableCPUCull = True
|
||||
EnableControllerAnchor = True
|
||||
FrameSizeFromXFB = True
|
||||
MetroidThermalVisorFix = True
|
||||
RemoveCinematicBars = True
|
||||
UnitsPerMeter = 1.50
|
||||
[ShaderOverride_Enable]
|
||||
[ShaderOverride]
|
||||
$Scan Effects
|
||||
Hash=00000000a834da79
|
||||
Type=VS
|
||||
handling=skip
|
||||
flag=Scan
|
||||
|
||||
$Scan EFB Effect
|
||||
Hash=00000000a134cc51
|
||||
Type=VS
|
||||
handling=skip
|
||||
condition=Scan
|
||||
condition_mode=activate
|
||||
|
||||
$Space and Starts
|
||||
Hash=000000009440f71a
|
||||
Type=PS
|
||||
handling=units_per_meter
|
||||
units_per_meter=0.01
|
||||
texture_mode=include
|
||||
texture=28f68ec4760a8f33
|
||||
texture=2af3eac112df6ad9
|
||||
texture=4c8d5e5105a1ce62
|
||||
texture=53402773209dd054
|
||||
texture=5978a9fd0fa420ea
|
||||
texture=8070f69d4aa12fa5
|
||||
texture=83d06a7f46004d63
|
||||
texture=a4d08582b031ed5d
|
||||
|
||||
$Planete Clouds
|
||||
Hash=00000000de8254f4
|
||||
Type=PS
|
||||
handling=units_per_meter
|
||||
units_per_meter=0.01
|
||||
texture_mode=include
|
||||
texture=1232a662782399dd
|
||||
texture=b2787e156fb34699
|
||||
texture=b74dd65817a93afd
|
||||
texture=c27a9425d08998c6
|
||||
|
||||
$Planete in the intro
|
||||
Hash=00000000d9bb9293
|
||||
Type=PS
|
||||
handling=units_per_meter
|
||||
units_per_meter=0.01
|
||||
texture_mode=include
|
||||
texture=0f3192a333bd60bf
|
||||
texture=28f68ec4760a8f33
|
||||
texture=63cf3537e0682ce5
|
||||
texture=86ab78afc99d10dc
|
||||
texture=c821af3115336fb4
|
||||
|
||||
$Planete in the intro Atmosphere
|
||||
Hash=00000000980dc843
|
||||
Type=PS
|
||||
handling=units_per_meter
|
||||
units_per_meter=0.01
|
||||
texture_mode=include
|
||||
texture=7498fdac756ee362
|
||||
texture=c821af3115336fb4
|
||||
|
||||
$Samus Arm in the ship
|
||||
Hash=000000007d4a4a7d
|
||||
Type=PS
|
||||
handling=units_per_meter
|
||||
units_per_meter=2.5
|
||||
|
||||
$Samus Arm in the ship Green Button
|
||||
Hash=000000001dba12b0
|
||||
Type=PS
|
||||
handling=units_per_meter
|
||||
units_per_meter=2.5
|
||||
|
||||
$Space Gas
|
||||
Hash=00000000cd4c1319
|
||||
Type=PS
|
||||
handling=units_per_meter
|
||||
units_per_meter=0.1
|
||||
|
||||
$Textbox
|
||||
Hash=0000000053bb9636
|
||||
Type=PS
|
||||
[ElementsGroupOverride_Enable]
|
||||
$Pointer
|
||||
$Map Selector
|
||||
[ElementsGroupOverride]
|
||||
$Pointer
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=44800
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=566
|
||||
sig_vp_w=320
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=789
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Textbox Shadow
|
||||
Hash=000000007b346bb1
|
||||
Type=PS
|
||||
handling=screen
|
||||
|
||||
$HUD Life Bar Metter
|
||||
Hash=00000000467b2d0a
|
||||
Type=VS
|
||||
$Map Selector
|
||||
format=element_only_v6
|
||||
handling=headlocked
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=44800
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=566
|
||||
sig_vp_w=320
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=789
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Element Draw 111
|
||||
format=element_only_v6
|
||||
handling=controller_anchor
|
||||
anchor_hand=right
|
||||
texture_mode=include
|
||||
texture=380a4ed102753a91
|
||||
texture=4c1106bc3e129423
|
||||
texture=877ac67dc3c23f97
|
||||
texture=8a3e8ec9d97c84f7
|
||||
texture=91627895056f2669
|
||||
texture=96342171475066ab
|
||||
texture=b0c321687c7a410b
|
||||
texture=b7bcef92f3f7378d
|
||||
texture=d3576576ea854c06
|
||||
texture=e0490df227638ca4
|
||||
texture=e3cfb7a4cb2e46bc
|
||||
|
||||
$HUD Minimap Yellow
|
||||
Hash=00000000e4c0f308
|
||||
Type=VS
|
||||
handling=headlocked
|
||||
|
||||
$HUD Side Glowing Pattern
|
||||
Hash=00000000e3693792
|
||||
Type=VS
|
||||
handling=skip
|
||||
condition=Ship Map
|
||||
condition_mode=deactivate
|
||||
|
||||
$HUD Top and Bottom Patterns
|
||||
Hash=00000000876869e8
|
||||
Type=VS
|
||||
handling=skip
|
||||
texture_mode=include
|
||||
texture=05cc1aa330c76706
|
||||
texture=2c35e0978af15ab9
|
||||
texture=302a1ef6254d41ed
|
||||
texture=45bfea2d6d4095bc
|
||||
texture=78f06525df8be9a9
|
||||
texture=79a461275782740f
|
||||
texture=7b1e147db495548a
|
||||
texture=8867d8afd385931b
|
||||
texture=96024ca94ed7a952
|
||||
texture=9e49a1d847a78cad
|
||||
texture=cabb2ea6008423e8
|
||||
texture=e23d5bfa878b3822
|
||||
texture=f5b543c6ce3d2892
|
||||
|
||||
$HUD Blue Bars
|
||||
Hash=00000000b5dfae94
|
||||
Type=VS
|
||||
handling=headlocked
|
||||
texture_mode=include
|
||||
texture=ca4340be4ff1d0c1
|
||||
|
||||
$HUD Radar & Minimap
|
||||
Hash=00000000d9e56ba1
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
hash_family=1
|
||||
family_signature=9bfa9614d1e63c4e
|
||||
|
||||
$HUD Minimap Shadow Background
|
||||
Hash=000000006a5d85fb
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
hash_family=1
|
||||
family_signature=17436f16bab03b71
|
||||
|
||||
$HUD Minimap Yellow Background
|
||||
Hash=00000000075dba1e
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
hash_family=1
|
||||
family_signature=3d5d14f35f02bdc5
|
||||
|
||||
$HUD Minimap Window Cut
|
||||
Hash=00000000f5db6afb
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
condition=Ship Map
|
||||
condition_mode=deactivate
|
||||
hash_family=1
|
||||
family_signature=51329b04b4650d91
|
||||
|
||||
$Radar Shadow Background
|
||||
Hash=00000000738497fb
|
||||
Type=PS
|
||||
handling=skip
|
||||
hash_family=1
|
||||
family_signature=17437a16bab04e22
|
||||
|
||||
$HUD Minimap 2
|
||||
Hash=000000008ababdcd
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
condition=Ship Map
|
||||
condition_mode=deactivate
|
||||
hash_family=1
|
||||
family_signature=703d1f1b1c8687fd
|
||||
|
||||
$HUD Minimap Shadow Background 2
|
||||
Hash=0000000009abbe00
|
||||
Type=PS
|
||||
handling=skip
|
||||
hash_family=1
|
||||
family_signature=17436e16bab039be
|
||||
|
||||
$Ship Map & Arrow
|
||||
Hash=00000000c8fbe7f6
|
||||
Type=PS
|
||||
handling=screen
|
||||
condition=Ship Map
|
||||
condition_mode=activate
|
||||
hash_family=1
|
||||
family_signature=c13ee4d4a421f2bb
|
||||
|
||||
$Ship Map EFB
|
||||
Hash=00000000a36dcb25
|
||||
Type=PS
|
||||
handling=skip
|
||||
condition=Ship Map
|
||||
condition_mode=activate
|
||||
hash_family=1
|
||||
family_signature=1680a2a7798383fc
|
||||
|
||||
$Ship Map Planete Norion
|
||||
Hash=00000000127b6c87
|
||||
Type=PS
|
||||
handling=screen
|
||||
condition=Ship Map
|
||||
condition_mode=activate
|
||||
hash_family=1
|
||||
family_signature=5ce3569f191a73c9
|
||||
|
||||
$Ship Map
|
||||
Hash=00000000127b6c87
|
||||
Type=PS
|
||||
handling=flag
|
||||
flag=Ship Map
|
||||
texture_mode=include
|
||||
texture=1ae3f91996bf8504
|
||||
texture=6dde3b3a6b083159
|
||||
texture=78fd4a6b3dce1042
|
||||
|
||||
$Ship Map Selector
|
||||
Hash=00000000f5db6afb
|
||||
Type=PS
|
||||
handling=screen
|
||||
condition=Ship Map
|
||||
condition_mode=activate
|
||||
|
||||
$Exit Ship Box
|
||||
Hash=000000004e4fb751
|
||||
Type=PS
|
||||
handling=screen
|
||||
|
||||
$Exit Ship Text
|
||||
Hash=0000000090cee951
|
||||
Type=PS
|
||||
handling=screen
|
||||
|
||||
$Exit Ship B Button
|
||||
Hash=000000000fa714b3
|
||||
Type=PS
|
||||
handling=screen
|
||||
|
||||
$HUD Selector
|
||||
Hash=000000004058a00e
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
hash_family=1
|
||||
family_signature=f97a5e54037b9825
|
||||
|
||||
$HUD Selector Icons
|
||||
Hash=00000000f973d429
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
hash_family=1
|
||||
family_signature=0b49f78c7fc55d69
|
||||
texture_mode=include
|
||||
texture=2c639f847f1c286c
|
||||
|
||||
$Radar Samus Face
|
||||
Hash=00000000f973d429
|
||||
Type=PS
|
||||
handling=skip
|
||||
condition=Scan
|
||||
condition_mode=activate
|
||||
|
||||
$Scan side pannels
|
||||
Hash=000000004e114e63
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
condition=Scan
|
||||
condition_mode=activate
|
||||
|
||||
$Blue Bars Hyper Mode
|
||||
Hash=000000004058a00e
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
|
||||
$Floating pixel
|
||||
Hash=00000000516da5d0
|
||||
Type=VS
|
||||
handling=skip
|
||||
hash_family=1
|
||||
family_signature=00000000516da5d0
|
||||
|
||||
$Stray Pixel
|
||||
Hash=00000000bba2a905
|
||||
Type=PS
|
||||
handling=skip
|
||||
hash_family=1
|
||||
family_signature=54636216817a60d3
|
||||
|
||||
$Radar Target point
|
||||
Hash=00000000ec9eb741
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
hash_family=1
|
||||
family_signature=7afdb23d054cb864
|
||||
|
||||
$Morph Ball HUD
|
||||
Hash=000000004058a00e
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
|
||||
$A Button Prompt
|
||||
Hash=000000006142402e
|
||||
Type=PS
|
||||
handling=headlocked
|
||||
hash_family=1
|
||||
family_signature=9cb98db2e2ef5edd
|
||||
|
||||
texture=17e6c8543933ba4a
|
||||
texture=2ad8b14ecd9447cf
|
||||
texture=38ee0f92b65d44f7
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=8959
|
||||
sig_persp_vfov=5500
|
||||
sig_persp_near=200
|
||||
sig_persp_far=75000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=566
|
||||
sig_vp_w=320
|
||||
sig_vp_h=224
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=789
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
[TextureElementOverride_Enable]
|
||||
[TextureElementOverride]
|
||||
@@ -1,25 +1,15 @@
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 500.00
|
||||
[ShaderOverride_Enable]
|
||||
[ShaderOverride]
|
||||
$B button
|
||||
Hash=0000000015b56d5a
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=flag
|
||||
flag=B button
|
||||
|
||||
$Mario
|
||||
Hash=00000000a89a8548
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=fullscreen
|
||||
condition=B button
|
||||
condition_mode=activate
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 500.00
|
||||
ElementDepth = 5.0000
|
||||
[ElementsGroupOverride_Enable]
|
||||
$Element Draw 247
|
||||
$Element Draw 318
|
||||
$Element Draw 222
|
||||
$Menu
|
||||
$Race HUD
|
||||
$Minimap Player Head
|
||||
$Minimap Player Head Background
|
||||
$EFB
|
||||
$Menu 02
|
||||
[ElementsGroupOverride]
|
||||
$Element Draw 247
|
||||
format=element_only_v5
|
||||
@@ -332,7 +322,7 @@ sig_ortho_right=30
|
||||
sig_ortho_top=22
|
||||
sig_ortho_bottom=-22
|
||||
sig_use_projection=0
|
||||
sig_use_layer=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
@@ -426,10 +416,10 @@ sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-41,600
|
||||
sig_ortho_right=41,600
|
||||
sig_ortho_top=22,800
|
||||
sig_ortho_bottom=-22,800
|
||||
sig_ortho_left=-41
|
||||
sig_ortho_right=41
|
||||
sig_ortho_top=22
|
||||
sig_ortho_bottom=-22
|
||||
sig_use_projection=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
@@ -451,3 +441,168 @@ sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Race HUD
|
||||
format=element_only_v5
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-41
|
||||
sig_ortho_right=41
|
||||
sig_ortho_top=22
|
||||
sig_ortho_bottom=-22
|
||||
sig_use_projection=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=570
|
||||
sig_vp_w=304
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=797
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Minimap Player Head
|
||||
format=element_only_v5
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-41
|
||||
sig_ortho_right=41
|
||||
sig_ortho_top=22
|
||||
sig_ortho_bottom=-22
|
||||
sig_use_projection=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=570
|
||||
sig_vp_w=304
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=797
|
||||
sig_alpha=003e008c
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Minimap Player Head Background
|
||||
format=element_only_v5
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-41
|
||||
sig_ortho_right=41
|
||||
sig_ortho_top=22
|
||||
sig_ortho_bottom=-22
|
||||
sig_use_projection=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=570
|
||||
sig_vp_w=304
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=797
|
||||
sig_alpha=003c0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$EFB
|
||||
format=element_only_v5
|
||||
handling=skip
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=8
|
||||
sig_persp_vfov=5
|
||||
sig_persp_near=1
|
||||
sig_persp_far=50
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=570
|
||||
sig_vp_w=304
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=797
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Menu 02
|
||||
format=element_only_v5
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-30
|
||||
sig_ortho_right=30
|
||||
sig_ortho_top=22
|
||||
sig_ortho_bottom=-22
|
||||
sig_use_projection=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=570
|
||||
sig_vp_w=304
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=797
|
||||
sig_alpha=003c0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
@@ -1,29 +1,188 @@
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 500.0
|
||||
[ShaderOverride_Enable]
|
||||
[ShaderOverride]
|
||||
$HUD
|
||||
Hash=00000000198dabb4
|
||||
Type=VS
|
||||
[ElementsGroupOverride_Enable]
|
||||
$Menu 01
|
||||
$Menu 02
|
||||
$HUD 01
|
||||
$Minimap head
|
||||
$Minimap head 02
|
||||
[ElementsGroupOverride]
|
||||
$Menu 01
|
||||
format=element_only_v5
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-30400
|
||||
sig_ortho_right=30400
|
||||
sig_ortho_top=22800
|
||||
sig_ortho_bottom=-22800
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=570
|
||||
sig_vp_w=304
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=797
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$HUD Rank
|
||||
Hash=00000000d6773474
|
||||
Type=VS
|
||||
$Menu 02
|
||||
format=element_only_v5
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-30400
|
||||
sig_ortho_right=30400
|
||||
sig_ortho_top=22800
|
||||
sig_ortho_bottom=-22800
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=570
|
||||
sig_vp_w=304
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=797
|
||||
sig_alpha=003c0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$HUD Letters
|
||||
Hash=000000000e9b236e
|
||||
Type=VS
|
||||
$HUD 01
|
||||
format=element_only_v5
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-41600
|
||||
sig_ortho_right=41600
|
||||
sig_ortho_top=22800
|
||||
sig_ortho_bottom=-22800
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=570
|
||||
sig_vp_w=304
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=797
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$EFB Effect
|
||||
Hash=0000000078d6ff61
|
||||
Type=PS
|
||||
$Minimap head
|
||||
format=element_only_v5
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-41600
|
||||
sig_ortho_right=41600
|
||||
sig_ortho_top=22800
|
||||
sig_ortho_bottom=-22800
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=570
|
||||
sig_vp_w=304
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=797
|
||||
sig_alpha=003e008c
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Minimap head 02
|
||||
format=element_only_v5
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-41600
|
||||
sig_ortho_right=41600
|
||||
sig_ortho_top=22800
|
||||
sig_ortho_bottom=-22800
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=570
|
||||
sig_vp_w=304
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=797
|
||||
sig_alpha=003c0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
[TextureElementOverride_Enable]
|
||||
$efb
|
||||
$efb2
|
||||
[TextureElementOverride]
|
||||
$efb
|
||||
handling=fullscreen
|
||||
texture=00000000e0d282e8
|
||||
|
||||
$Award Ceremony EFB Effect
|
||||
Hash=00000000fdb363d3
|
||||
Type=PS
|
||||
$efb2
|
||||
handling=fullscreen
|
||||
texture=000000009d5254b2
|
||||
|
||||
@@ -1,2 +1,344 @@
|
||||
[TextureElementOverride_Enable]
|
||||
[TextureElementOverride]
|
||||
$Wii safety
|
||||
handling=screen
|
||||
texture=ab5ba6919333be7a
|
||||
[ElementsGroupOverride_Enable]
|
||||
$EFB
|
||||
$Element Draw 61
|
||||
[ElementsGroupOverride]
|
||||
$Element Draw 120
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-41600
|
||||
sig_ortho_right=41600
|
||||
sig_ortho_top=22800
|
||||
sig_ortho_bottom=-22800
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=570
|
||||
sig_vp_w=304
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=797
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Element Draw 174
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-41600
|
||||
sig_ortho_right=41600
|
||||
sig_ortho_top=22800
|
||||
sig_ortho_bottom=-22800
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=570
|
||||
sig_vp_w=304
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=797
|
||||
sig_alpha=003e008c
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Element Draw 116
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-41600
|
||||
sig_ortho_right=41600
|
||||
sig_ortho_top=22800
|
||||
sig_ortho_bottom=-22800
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=570
|
||||
sig_vp_w=304
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=797
|
||||
sig_alpha=003c0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Menu 01
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-30400
|
||||
sig_ortho_right=30400
|
||||
sig_ortho_top=22800
|
||||
sig_ortho_bottom=-22800
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=570
|
||||
sig_vp_w=304
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=797
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Menu 02
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-30400
|
||||
sig_ortho_right=30400
|
||||
sig_ortho_top=22800
|
||||
sig_ortho_bottom=-22800
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=570
|
||||
sig_vp_w=304
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=797
|
||||
sig_alpha=003c0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$EFB
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=8705
|
||||
sig_persp_vfov=5500
|
||||
sig_persp_near=1300
|
||||
sig_persp_far=50000000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=570
|
||||
sig_vp_w=304
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=797
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Mario
|
||||
format=element_only_v6
|
||||
handling=camera_anchor
|
||||
anchor_up=1
|
||||
anchor_hide=1
|
||||
anchor_rotation=yaw
|
||||
anchor_yaw=-90
|
||||
texture_mode=include
|
||||
texture=5c89df31b5089780
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=8705
|
||||
sig_persp_vfov=5500
|
||||
sig_persp_near=1300
|
||||
sig_persp_far=50000000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=0
|
||||
sig_use_scissor=0
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=570
|
||||
sig_vp_w=304
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=797
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Kart
|
||||
format=element_only_v6
|
||||
handling=camera_anchor
|
||||
anchor_up=2
|
||||
anchor_hide=0
|
||||
anchor_rotation=yaw
|
||||
anchor_yaw=-180
|
||||
selected_match_mode=include
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=8705
|
||||
sig_persp_vfov=5500
|
||||
sig_persp_near=1300
|
||||
sig_persp_far=50000000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=0
|
||||
sig_use_scissor=0
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=570
|
||||
sig_vp_w=304
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=797
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
selected_match_0_family_version=2
|
||||
selected_match_0_vs_family=f5a0a42f43da4103
|
||||
selected_match_0_ps_family=a7509afecefc532b
|
||||
selected_match_0_gs_family=9a624400c542ed90
|
||||
selected_match_0_texture=ac869b6f32d8bbdb
|
||||
selected_match_0_texture=d17367bd5292d74e
|
||||
selected_match_0_texture=f6e9be5d70632cf5
|
||||
selected_match_0_texture=fb10eb2c95cf3756
|
||||
|
||||
$Element Draw 61
|
||||
format=element_only_v6
|
||||
handling=camera_anchor
|
||||
anchor_up=2
|
||||
anchor_hide=0
|
||||
anchor_rotation=full
|
||||
anchor_yaw=-180
|
||||
texture_mode=include
|
||||
texture=fb10eb2c95cf3756
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=8705
|
||||
sig_persp_vfov=5500
|
||||
sig_persp_near=1300
|
||||
sig_persp_far=50000000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=0
|
||||
sig_use_scissor=0
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=570
|
||||
sig_vp_w=304
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=797
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 500.0
|
||||
AutoNativeEfbEffects = True
|
||||
ExactScreenDepth = True
|
||||
UnitsPerMeter = 500.00
|
||||
VirtualScreen = True
|
||||
@@ -1,15 +1,37 @@
|
||||
[TextureElementOverride_Enable]
|
||||
$EFB Effect
|
||||
$Mario Face
|
||||
[TextureElementOverride]
|
||||
$EFB Effect
|
||||
handling=fullscreen
|
||||
texture=6e821733be2d616f
|
||||
|
||||
$Mario Face
|
||||
handling=camera_anchor
|
||||
anchor_up=0.3
|
||||
anchor_forward=0.2
|
||||
anchor_hide=1
|
||||
anchor_upm=100
|
||||
texture=89b6ef6d317d5272
|
||||
[Graphics.VR]
|
||||
DontClearScreen = True
|
||||
ElementDepth = 0.9792
|
||||
UnitsPerMeter = 500.00
|
||||
VirtualScreen = True
|
||||
[ShaderOverride_Enable]
|
||||
[ShaderOverride]
|
||||
$Unnamed Shader 1
|
||||
Hash=00000000a5ece7a3
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=fullscreen
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=d4c6ec4ad5083096
|
||||
[ElementsGroupOverride_Enable]
|
||||
$Race HUD
|
||||
$Minimap Racer
|
||||
$Minimap Racer 1P
|
||||
$EFB Volcano
|
||||
$Main Menu
|
||||
$Main Menu 2
|
||||
[ElementsGroupOverride]
|
||||
$EFB
|
||||
format=element_only_v5
|
||||
format=element_only_v6
|
||||
handling=skip
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
@@ -21,6 +43,7 @@ sig_ortho_right=83
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=45
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
@@ -42,7 +65,7 @@ sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$EFB2
|
||||
format=element_only_v5
|
||||
format=element_only_v6
|
||||
handling=skip
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
@@ -54,6 +77,7 @@ sig_ortho_right=83
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=45
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
@@ -75,7 +99,7 @@ sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Race HUD
|
||||
format=element_only_v5
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
@@ -87,6 +111,7 @@ sig_ortho_right=41
|
||||
sig_ortho_top=22
|
||||
sig_ortho_bottom=-22
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
@@ -108,7 +133,7 @@ sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Minimap Racer
|
||||
format=element_only_v5
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
@@ -120,6 +145,7 @@ sig_ortho_right=41
|
||||
sig_ortho_top=22
|
||||
sig_ortho_bottom=-22
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
@@ -141,7 +167,7 @@ sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Minimap Racer 1P
|
||||
format=element_only_v5
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
@@ -153,6 +179,7 @@ sig_ortho_right=41
|
||||
sig_ortho_top=22
|
||||
sig_ortho_bottom=-22
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
@@ -174,7 +201,7 @@ sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$EFB Volcano
|
||||
format=element_only_v5
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=8
|
||||
@@ -186,6 +213,7 @@ sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
@@ -207,7 +235,7 @@ sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Main Menu
|
||||
format=element_only_v5
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
@@ -219,6 +247,7 @@ sig_ortho_right=30
|
||||
sig_ortho_top=22
|
||||
sig_ortho_bottom=-22
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
@@ -240,7 +269,7 @@ sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Main Menu 2
|
||||
format=element_only_v5
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
@@ -252,6 +281,7 @@ sig_ortho_right=30
|
||||
sig_ortho_top=22
|
||||
sig_ortho_bottom=-22
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
@@ -272,3 +302,37 @@ sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Element Draw 7
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=1
|
||||
sig_persp_hfov=5782
|
||||
sig_persp_vfov=4500
|
||||
sig_persp_near=1000
|
||||
sig_persp_far=1000000
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=0
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=570
|
||||
sig_vp_w=304
|
||||
sig_vp_h=228
|
||||
sig_sc_l=518
|
||||
sig_sc_t=442
|
||||
sig_sc_r=773
|
||||
sig_sc_b=697
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
@@ -1,12 +1,54 @@
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 500.0
|
||||
AutoNativeEfbEffects = False
|
||||
ClearEFBCopies = 0
|
||||
DontClearScreen = False
|
||||
EagerHeartbeat = False
|
||||
ExactScreenDepth = False
|
||||
FoveationLevel = 1
|
||||
UnitsPerMeter = 500.116
|
||||
VirtualScreen = False
|
||||
[TextureElementOverride_Enable]
|
||||
[TextureElementOverride]
|
||||
$Mario Camera Anchor
|
||||
handling=camera_anchor
|
||||
anchor_up=0.3
|
||||
anchor_hide=1
|
||||
anchor_rotation=yaw
|
||||
anchor_yaw=180
|
||||
anchor_upm=100
|
||||
texture=44ab6c34b85672e3
|
||||
|
||||
$Hides Mario's head
|
||||
handling=skip
|
||||
texture=0fa38ef411bf4613
|
||||
texture=601c1f7515fda890
|
||||
texture=cff0958af362cd34
|
||||
texture=ee299582cde9987b
|
||||
|
||||
$Skybox - Beach Ball Galaxy
|
||||
handling=skip
|
||||
texture=ef518b706f1ae146
|
||||
[HideObjectCodes_Enabled]
|
||||
$CInematic bar up
|
||||
$Cinematic Bar Down
|
||||
[HideObjectCodes]
|
||||
$CInematic bar up
|
||||
Type=128bits
|
||||
Upper=0xC398000000000000
|
||||
Lower=0x0000000000000000
|
||||
|
||||
$Cinematic Bar Down
|
||||
Type=128bits
|
||||
Upper=0xC3980000C2700000
|
||||
Lower=0x0000000000000000
|
||||
[ElementsGroupOverride_Enable]
|
||||
$HUD
|
||||
$Pointer trail
|
||||
$Select Level Screen
|
||||
$Blue Mask
|
||||
[ElementsGroupOverride]
|
||||
$HUD
|
||||
format=element_only_v5
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
@@ -18,6 +60,7 @@ sig_ortho_right=30
|
||||
sig_ortho_top=22
|
||||
sig_ortho_bottom=-22
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
@@ -39,7 +82,7 @@ sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Pointer trail
|
||||
format=element_only_v5
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
@@ -51,6 +94,7 @@ sig_ortho_right=83
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=45
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
@@ -72,7 +116,7 @@ sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Select Level Screen
|
||||
format=element_only_v5
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
@@ -84,6 +128,7 @@ sig_ortho_right=30
|
||||
sig_ortho_top=22
|
||||
sig_ortho_bottom=-22
|
||||
sig_use_projection=0
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
@@ -103,96 +148,124 @@ sig_zupdate=0
|
||||
sig_zfunc=0
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
[HideObjectCodes_Enabled]
|
||||
$CInematic bar up
|
||||
$Cinematic Bar Down
|
||||
[HideObjectCodes]
|
||||
$CInematic bar up
|
||||
Type=128bits
|
||||
Upper=0xC398000000000000
|
||||
Lower=0x0000000000000000
|
||||
|
||||
$Cinematic Bar Down
|
||||
Type=128bits
|
||||
Upper=0xC3980000C2700000
|
||||
Lower=0x0000000000000000
|
||||
$Blue Mask
|
||||
format=element_only_v6
|
||||
handling=skip
|
||||
comments=Appears when using "Exact Screen Depth"
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=45600
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=570
|
||||
sig_vp_w=320
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=797
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
[ShaderOverride_Enable]
|
||||
$Honey Hive - Waterfall
|
||||
$Water - Beach Ball Galaxy
|
||||
$Water - Loopdeloop
|
||||
[ShaderOverride]
|
||||
$HUD_Numbers
|
||||
Hash=000000005233425f
|
||||
$Skybox Observatory Bottom
|
||||
Hash=000000004ed8cf69
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
texture_mode=exclude
|
||||
texture=d92187b4040c8492
|
||||
|
||||
$HUD_Icones
|
||||
Hash=00000000a30177c8
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
|
||||
$HUD_Shadows
|
||||
Hash=000000003c371f64
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
|
||||
$Text_box Arrow
|
||||
Hash=00000000757115fb
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
|
||||
$Wii pointer trail
|
||||
Hash=000000007c9a1b09
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
|
||||
$Cinematic_Bars 01
|
||||
Hash=00000000a30177c8
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
texture_mode=include
|
||||
texture=ff10223616c08787
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=12f5dbd274600568
|
||||
|
||||
$Select_buttons
|
||||
Hash=000000004e1d3326
|
||||
$Skybox Observatory Middle
|
||||
Hash=00000000097d1923
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
|
||||
$Hand Pointer
|
||||
Hash=00000000f9f27a88
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
|
||||
$Hand pointer shadow
|
||||
Hash=000000009551be3c
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
|
||||
$Galaxy Map trails
|
||||
Hash=000000005233425f
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
texture_mode=include
|
||||
texture=60eff5497ae01c93
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=e09e2a0a9e8d9253
|
||||
|
||||
$Waterfall
|
||||
Hash=0000000086d1bafc
|
||||
$Skybox Observatory Top
|
||||
Hash=000000006f090420
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=800443491b0a6b06
|
||||
|
||||
$Bowl Galaxy Water
|
||||
Hash=0000000052b3c704
|
||||
$Skybox Observatory Very Bottom
|
||||
Hash=00000000f3c681a9
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=ba10a96dddff097d
|
||||
|
||||
$Honey Hive - Waterfall
|
||||
Hash=00000000a4eacc59
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=d8e1f8bb1c2d7db0
|
||||
|
||||
$Water - Beach Ball Galaxy
|
||||
Hash=000000007a07f8c2
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=e5295fb9b16c2d7d
|
||||
|
||||
$Skybox - Beach Ball Galaxy
|
||||
Hash=000000007a1260dc
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=1328718655894688
|
||||
|
||||
$Skybox Bottom - Beach Ball Galaxy
|
||||
Hash=00000000581cf4c4
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=c239a83d2a9525c2
|
||||
|
||||
$Water - Loopdeloop
|
||||
Hash=000000005c1e2490
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=d7221cc320bdbdea
|
||||
|
||||
@@ -0,0 +1,243 @@
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 10.006772
|
||||
[ElementsGroupOverride_Enable]
|
||||
$N of Players
|
||||
$Miis
|
||||
$Miis head
|
||||
$Mii shadows
|
||||
$Racket Shadow
|
||||
[ElementsGroupOverride]
|
||||
$N of Players
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=83200
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=45600
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=570
|
||||
sig_vp_w=320
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=797
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$HUD
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-41600
|
||||
sig_ortho_right=41600
|
||||
sig_ortho_top=22800
|
||||
sig_ortho_bottom=-22800
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=570
|
||||
sig_vp_w=320
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=797
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=0
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Miis
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=45600
|
||||
sig_ortho_bottom=0
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=570
|
||||
sig_vp_w=320
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=797
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Miis head
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-41600
|
||||
sig_ortho_right=41600
|
||||
sig_ortho_top=22800
|
||||
sig_ortho_bottom=-22800
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=570
|
||||
sig_vp_w=320
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=797
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
$Mii shadows
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-6400
|
||||
sig_ortho_right=6400
|
||||
sig_ortho_top=6400
|
||||
sig_ortho_bottom=-6400
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=406
|
||||
sig_vp_y=406
|
||||
sig_vp_w=64
|
||||
sig_vp_h=64
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=469
|
||||
sig_sc_b=469
|
||||
sig_alpha=007f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Racket Shadow
|
||||
format=element_only_v6
|
||||
handling=fullscreen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-6400
|
||||
sig_ortho_right=6400
|
||||
sig_ortho_top=6400
|
||||
sig_ortho_bottom=-6400
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=406
|
||||
sig_vp_y=406
|
||||
sig_vp_w=64
|
||||
sig_vp_h=64
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=469
|
||||
sig_sc_b=469
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
[ShaderOverride_Enable]
|
||||
[ShaderOverride]
|
||||
$Mii
|
||||
Hash=0000000003f1af72
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=7f3361d23637196d
|
||||
|
||||
$Mii body 02
|
||||
Hash=00000000e4c6b8a2
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=camera_anchor
|
||||
anchor_up=0.75
|
||||
anchor_hide=1
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=e1e8b39827da1c8b
|
||||
|
||||
$Mii head
|
||||
Hash=000000005ffcc15c
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=skip
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=2d361f8242c7983d
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,2 +1,9 @@
|
||||
[Graphics.VR]
|
||||
AutoNativeEfbEffects = True
|
||||
DontClearScreen = True
|
||||
EagerHeartbeat = False
|
||||
ExactScreenDepth = True
|
||||
ForcedVBIFrequency = 0
|
||||
LockHeadPosePerFrame = True
|
||||
UnitsPerMeter = 10.00
|
||||
VirtualScreen = True
|
||||
@@ -1,24 +1,82 @@
|
||||
[Graphics.VR]
|
||||
UnitsPerMeter = 25.00
|
||||
[TextureElementOverride]
|
||||
handling = skip
|
||||
texture = 13076c64ca241c2f
|
||||
[ShaderOverride_Enable]
|
||||
$Unnamed Shader 2
|
||||
[ShaderOverride]
|
||||
$Unnamed Shader 1
|
||||
Hash=0000000045a52582
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=screen
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=1d2ea4c1151fba82
|
||||
|
||||
$Unnamed Shader 2
|
||||
Hash=000000000c96a805
|
||||
Type=PS
|
||||
match_mode=shader_family
|
||||
handling=fullscreen
|
||||
family_version=2
|
||||
hash_family=1
|
||||
family_signature=9fe143c10cfee633
|
||||
[ElementsGroupOverride_Enable]
|
||||
$FMV
|
||||
$HUD
|
||||
$Boost
|
||||
$Boost Ripple
|
||||
$HUD During Boost
|
||||
[ElementsGroupOverride]
|
||||
$HUD
|
||||
format=element_only_v5
|
||||
$FMV
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
comments=Still missing some elements
|
||||
credits=iChris4
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48
|
||||
sig_use_projection=0
|
||||
sig_use_layer=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003e0001
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=1
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$HUD
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
@@ -37,36 +95,182 @@ sig_zupdate=0
|
||||
sig_zfunc=1
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
[ShaderOverride_Enable]
|
||||
[ShaderOverride]
|
||||
$Bloom Effect
|
||||
Hash=000000005233425f
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=skip
|
||||
texture_mode=include
|
||||
texture=a6c477a4cdc8b783
|
||||
|
||||
$HUD
|
||||
Hash=000000005233425f
|
||||
Type=PS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
texture_mode=exclude
|
||||
texture=a6c477a4cdc8b783
|
||||
|
||||
$HUD3
|
||||
Hash=00000000198dabb4
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
handling=screen
|
||||
|
||||
$Boost
|
||||
Hash=00000000198dabb4
|
||||
Type=VS
|
||||
match_mode=exact_hash
|
||||
format=element_only_v6
|
||||
handling=skip
|
||||
texture_mode=include
|
||||
texture=a6c477a4cdc8b783
|
||||
texture=c55d55f335211444
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Boost Ripple
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003e0001
|
||||
sig_ztest=1
|
||||
sig_zupdate=1
|
||||
sig_zfunc=1
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$HUD During Boost
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=003e0001
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=1
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Element Draw 1458
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=0
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=588
|
||||
sig_sc_t=638
|
||||
sig_sc_r=707
|
||||
sig_sc_b=757
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
|
||||
$Element Draw 2037
|
||||
format=element_only_v6
|
||||
handling=screen_pane
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=0
|
||||
sig_ortho_right=64000
|
||||
sig_ortho_top=0
|
||||
sig_ortho_bottom=48000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=0
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=0
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=572
|
||||
sig_sc_t=546
|
||||
sig_sc_r=739
|
||||
sig_sc_b=821
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=1
|
||||
[Graphics.VR]
|
||||
AutoNativeEfbEffects = False
|
||||
DetectSkybox = False
|
||||
ExactScreenDepth = False
|
||||
MetroidThermalVisorFix = False
|
||||
OrthoScissorFix = False
|
||||
RemoveCinematicBars = False
|
||||
UnitsPerMeter = 25.00
|
||||
VirtualScreen = False
|
||||
@@ -0,0 +1,51 @@
|
||||
[ElementsGroupOverride_Enable]
|
||||
$HUD
|
||||
[ElementsGroupOverride]
|
||||
$HUD
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-30400
|
||||
sig_ortho_right=30400
|
||||
sig_ortho_top=22800
|
||||
sig_ortho_bottom=-22800
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=646
|
||||
sig_vp_y=570
|
||||
sig_vp_w=304
|
||||
sig_vp_h=228
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=949
|
||||
sig_sc_b=797
|
||||
sig_alpha=003f0000
|
||||
sig_ztest=0
|
||||
sig_zupdate=0
|
||||
sig_zfunc=7
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
[TextureElementOverride_Enable]
|
||||
$Texture 0000000041dfd25e
|
||||
$Texture 00000000fc40d015
|
||||
[TextureElementOverride]
|
||||
$Texture 0000000041dfd25e
|
||||
handling=skip
|
||||
texture=0000000041dfd25e
|
||||
|
||||
$Texture 00000000fc40d015
|
||||
handling=skip
|
||||
texture=00000000fc40d015
|
||||
[Graphics.VR]
|
||||
AutoNativeEfbEffects = False
|
||||
ExactScreenDepth = False
|
||||
VirtualScreen = False
|
||||
@@ -0,0 +1,40 @@
|
||||
[TextureElementOverride_Enable]
|
||||
[TextureElementOverride]
|
||||
[Graphics.VR]
|
||||
EnableCameraHeight = False
|
||||
[ElementsGroupOverride_Enable]
|
||||
[ElementsGroupOverride]
|
||||
$Element Draw 182
|
||||
format=element_only_v6
|
||||
handling=screen
|
||||
sig_perspective=0
|
||||
sig_persp_hfov=0
|
||||
sig_persp_vfov=0
|
||||
sig_persp_near=0
|
||||
sig_persp_far=0
|
||||
sig_ortho_left=-42667
|
||||
sig_ortho_right=42667
|
||||
sig_ortho_top=24000
|
||||
sig_ortho_bottom=-24000
|
||||
sig_use_projection=1
|
||||
sig_use_projection_type=0
|
||||
sig_use_layer=1
|
||||
sig_use_viewport=1
|
||||
sig_use_scissor=1
|
||||
sig_use_render_state=1
|
||||
sig_layer=0
|
||||
sig_vp_x=662
|
||||
sig_vp_y=582
|
||||
sig_vp_w=320
|
||||
sig_vp_h=240
|
||||
sig_sc_l=342
|
||||
sig_sc_t=342
|
||||
sig_sc_r=981
|
||||
sig_sc_b=821
|
||||
sig_alpha=0044003f
|
||||
sig_ztest=1
|
||||
sig_zupdate=0
|
||||
sig_zfunc=3
|
||||
sig_blend_color=1
|
||||
sig_blend_alpha=0
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
[Profile]
|
||||
Device = OpenXR/0/OpenXR Controller
|
||||
General/Open = @(Ctrl+O)
|
||||
General/Toggle Pause = F10
|
||||
General/Stop = Escape
|
||||
General/Toggle Fullscreen = @(Alt+Return)
|
||||
General/Take Screenshot = F9
|
||||
General/Open Achievements = @(Alt+A)
|
||||
Emulation Speed/Disable Emulation Speed Limit = Tab
|
||||
Stepping/Step Into = F11
|
||||
Stepping/Step Over = @(Shift+F10)
|
||||
Stepping/Step Out = @(Shift+F11)
|
||||
Breakpoint/Toggle Breakpoint = @(Shift+F9)
|
||||
Wii/Connect Wii Remote 1 = @(Alt+F5)
|
||||
Wii/Connect Wii Remote 2 = @(Alt+F6)
|
||||
Wii/Connect Wii Remote 3 = @(Alt+F7)
|
||||
Wii/Connect Wii Remote 4 = @(Alt+F8)
|
||||
Wii/Connect Balance Board = @(Alt+F9)
|
||||
VR/Reset VR Position = @(Shift+R)
|
||||
Load State/Load State Slot 1 = F1
|
||||
Load State/Load State Slot 2 = F2
|
||||
Load State/Load State Slot 3 = F3
|
||||
Load State/Load State Slot 4 = F4
|
||||
Load State/Load State Slot 5 = F5
|
||||
Load State/Load State Slot 6 = F6
|
||||
Load State/Load State Slot 7 = F7
|
||||
Load State/Load State Slot 8 = F8
|
||||
Save State/Save State Slot 1 = @(Shift+F1)
|
||||
Save State/Save State Slot 2 = @(Shift+F2)
|
||||
Save State/Save State Slot 3 = @(Shift+F3)
|
||||
Save State/Save State Slot 4 = @(Shift+F4)
|
||||
Save State/Save State Slot 5 = @(Shift+F5)
|
||||
Save State/Save State Slot 6 = @(Shift+F6)
|
||||
Save State/Save State Slot 7 = @(Shift+F7)
|
||||
Save State/Save State Slot 8 = @(Shift+F8)
|
||||
Other State Hotkeys/Undo Load State = F12
|
||||
Other State Hotkeys/Undo Save State = @(Shift+F12)
|
||||
GBA Core/Load ROM = @(`Ctrl`+`Shift`+`O`)
|
||||
GBA Core/Unload ROM = @(`Ctrl`+`Shift`+`W`)
|
||||
GBA Core/Reset = @(`Ctrl`+`Shift`+`R`)
|
||||
GBA Volume/Volume Down = `KP_Subtract`
|
||||
GBA Volume/Volume Up = `KP_Add`
|
||||
GBA Volume/Volume Toggle Mute = `M`
|
||||
GBA Window Size/1x = `KP_1`
|
||||
GBA Window Size/2x = `KP_2`
|
||||
GBA Window Size/3x = `KP_3`
|
||||
GBA Window Size/4x = `KP_4`
|
||||
USB Emulation Devices/Show Skylanders Portal = @(Ctrl+P)
|
||||
USB Emulation Devices/Show Infinity Base = @(Ctrl+I)
|
||||
Android/Return to Main Menu = `Left Button Menu`
|
||||
@@ -7,9 +7,6 @@ Buttons/2 = `Right Thumbstick Y-`
|
||||
Buttons/- = `Right Thumbstick X-`
|
||||
Buttons/+ = `Right Thumbstick X+`
|
||||
Buttons/Home = `Left Button Menu`
|
||||
IR/Total Yaw = 30.
|
||||
IR/Pointer Sensitivity = 25.
|
||||
IR/Recenter = `Right Button Thumbstick`
|
||||
IMUIR/Enabled = False
|
||||
Extension = Nunchuk
|
||||
Nunchuk/Buttons/C = `Left Button Squeeze`&`Left Squeeze`
|
||||
|
||||
@@ -6,8 +6,17 @@ Dolphin is an emulator for running GameCube and Wii games on Windows,
|
||||
Linux, macOS, and recent Android devices. It's licensed under the terms
|
||||
of the GNU General Public License, version 2 or later (GPLv2+).
|
||||
|
||||
This fork adds OpenXR support to Dolphin so users can play in VR on supported
|
||||
Windows builds and was developed with the use of AI tools.
|
||||
This fork adds OpenXR support to Dolphin so users can play in VR on Windows,
|
||||
desktop Linux, and standalone Meta Quest headsets, and was developed with the
|
||||
use of AI tools.
|
||||
|
||||
* **Windows** — VR runs on the Direct3D 11, Direct3D 12, Vulkan, and OpenGL
|
||||
backends with any OpenXR runtime (SteamVR, Oculus/Meta Link, VDXR, etc.).
|
||||
* **Linux** — VR runs on the Vulkan and OpenGL backends and requires a working
|
||||
system OpenXR runtime such as Monado or SteamVR.
|
||||
* **Meta Quest** — a standalone Android build (Quest 2, Quest 3, Quest 3S, and
|
||||
Quest Pro) renders natively in the headset on the Vulkan and OpenGL ES
|
||||
backends, with OpenXR controller support.
|
||||
|
||||
Please read the [FAQ](https://dolphin-emu.org/docs/faq/) before using Dolphin.
|
||||
|
||||
@@ -39,6 +48,19 @@ Please read the [FAQ](https://dolphin-emu.org/docs/faq/) before using Dolphin.
|
||||
|
||||
Dolphin can only be installed on devices that satisfy the above requirements. Attempting to install on an unsupported device will fail and display an error message.
|
||||
|
||||
### VR (OpenXR)
|
||||
|
||||
* Windows
|
||||
* An OpenXR runtime (SteamVR, Oculus/Meta Link, VDXR, etc.) and a headset it supports.
|
||||
* Direct3D 11, Direct3D 12, Vulkan, or OpenGL backend.
|
||||
* Linux
|
||||
* An OpenXR runtime such as Monado or SteamVR.
|
||||
* Vulkan (recommended) or OpenGL backend.
|
||||
* Meta Quest
|
||||
* Quest 2, Quest 3, Quest 3S, or Quest Pro, running the standalone `quest` build.
|
||||
* Vulkan or OpenGL ES backend.
|
||||
* VR is not supported on macOS.
|
||||
|
||||
## Building for Windows
|
||||
|
||||
Use the solution file `Source/dolphin-emu.sln` to build Dolphin on Windows.
|
||||
@@ -54,9 +76,9 @@ git submodule update --init --recursive
|
||||
|
||||
### Building the OpenXR VR version
|
||||
|
||||
To build the VR-enabled version of this fork, OpenXR support must be enabled.
|
||||
On desktop Linux, OpenXR VR is Vulkan-only and requires a working system OpenXR
|
||||
runtime such as Monado or SteamVR.
|
||||
To build the VR-enabled version of this fork, OpenXR support must be enabled
|
||||
with `-DENABLE_VR=ON`. VR is supported on Windows, desktop Linux, and Android
|
||||
(Meta Quest); see the Linux and Android sections below for those platforms.
|
||||
|
||||
If you are generating a Visual Studio build with CMake, configure with
|
||||
`-DENABLE_VR=ON`:
|
||||
@@ -64,11 +86,6 @@ If you are generating a Visual Studio build with CMake, configure with
|
||||
cmake -S . -B Build-vs2022 -G "Visual Studio 17 2022" -A x64 -DENABLE_VR=ON
|
||||
```
|
||||
|
||||
On desktop Linux, configure with OpenXR and Vulkan enabled:
|
||||
```sh
|
||||
cmake -S . -B Build -DENABLE_VR=ON -DENABLE_VULKAN=ON
|
||||
```
|
||||
|
||||
When using the Visual Studio generator, build the OpenXR loader first:
|
||||
```sh
|
||||
cmake --build Build-vs2022 --config Release --target openxr_loader
|
||||
@@ -99,6 +116,20 @@ Make sure to pull submodules before building:
|
||||
git submodule update --init --recursive
|
||||
```
|
||||
|
||||
### Building the OpenXR VR version on Linux:
|
||||
|
||||
OpenXR VR is available on desktop Linux (it is not supported on macOS). It
|
||||
requires a working system OpenXR runtime such as Monado or SteamVR, and runs on
|
||||
the Vulkan and OpenGL backends. Configure with OpenXR and Vulkan enabled:
|
||||
|
||||
```sh
|
||||
cmake -S . -B Build -DENABLE_VR=ON -DENABLE_VULKAN=ON
|
||||
cmake --build Build --target dolphin-emu -j $(nproc)
|
||||
```
|
||||
|
||||
OpenGL (GLX) is always built on desktop Linux, so VR remains usable even
|
||||
without `-DENABLE_VULKAN=ON`, though Vulkan is recommended.
|
||||
|
||||
### macOS Build Steps:
|
||||
|
||||
A binary supporting a single architecture can be built using the following steps:
|
||||
@@ -170,6 +201,35 @@ Android apps are compiled using a build system called Gradle. Dolphin's native c
|
||||
however, is compiled using CMake. The Gradle script will attempt to run a CMake build
|
||||
automatically while building the Java code.
|
||||
|
||||
### Building the Meta Quest VR version
|
||||
|
||||
The Android project has two product flavors on the `device` dimension:
|
||||
`standard` (phones and tablets, built with `-DENABLE_VR=OFF`) and `quest`
|
||||
(standalone headsets, built with `-DENABLE_VR=ON`). The `quest` flavor is
|
||||
arm64-only, installs under the application ID `org.dolphinemu.dolphinemu.quest`
|
||||
so it can live alongside a standard install, and declares the OpenXR manifest
|
||||
entries required by Quest 2, Quest 3, Quest 3S, and Quest Pro.
|
||||
|
||||
Build it with Gradle from `Source/Android`:
|
||||
```sh
|
||||
./gradlew assembleQuestDebug # or assembleQuestRelease
|
||||
```
|
||||
|
||||
Helper scripts are also provided for Windows:
|
||||
```powershell
|
||||
.\Source\Android\build-quest.ps1 # debug APK
|
||||
.\Source\Android\build-quest-release.ps1 # release APK (needs signing properties)
|
||||
```
|
||||
|
||||
Install the resulting APK on a headset with adb:
|
||||
```sh
|
||||
adb install -r Source/Android/app/build/outputs/apk/quest/debug/app-quest-debug.apk
|
||||
```
|
||||
|
||||
VR settings for the headset (launch in VR, resolution scale, reference space,
|
||||
controller bindings, and so on) live under the OpenXR section of the in-app
|
||||
settings.
|
||||
|
||||
## Uninstalling
|
||||
|
||||
On Windows, simply remove the extracted directory, unless it was installed with the NSIS installer,
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
package org.dolphinemu.dolphinemu
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.Intent
|
||||
import android.content.res.Resources
|
||||
import android.view.Surface
|
||||
@@ -370,6 +371,11 @@ object NativeLibrary {
|
||||
|
||||
@JvmStatic
|
||||
external fun RequestOpenXRRecenter()
|
||||
external fun StartOpenXRControllerMapper(activity: Activity, controllerPort: Int, targetType: Int): Boolean
|
||||
external fun GetOpenXRControllerMapperState(): Int
|
||||
external fun GetOpenXRControllerMapperFailure(): String
|
||||
external fun ApplyOpenXRControllerMapper(): Boolean
|
||||
external fun StopOpenXRControllerMapper()
|
||||
|
||||
/**
|
||||
* Ensures that IsRunning will return true from now on until emulation exits.
|
||||
|
||||
+4
-2
@@ -1200,7 +1200,9 @@ class EmulationActivity : AppCompatActivity(), ThemeProvider {
|
||||
}
|
||||
|
||||
private fun startEmulationActivity(activity: FragmentActivity, launcher: Intent) {
|
||||
if (QuestVrSettings.isLaunchInVrEnabled()) {
|
||||
// Launch immersively whenever OpenXR is enabled — both stereo 3D and the flat-panel
|
||||
// ("Launch games in VR" off) path present through the XR compositor.
|
||||
if (QuestVrSettings.isOpenXrImmersiveEnabled()) {
|
||||
launcher.addCategory("com.oculus.intent.category.VR")
|
||||
launcher.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP)
|
||||
activity.startActivity(launcher)
|
||||
@@ -1223,7 +1225,7 @@ class EmulationActivity : AppCompatActivity(), ThemeProvider {
|
||||
val settings = Settings()
|
||||
settings.loadSettings()
|
||||
try {
|
||||
QuestVrSettings.prepareLaunchSettings(settings, launchSystemMenu)
|
||||
QuestVrSettings.prepareLaunchSettings(settings)
|
||||
settings.saveSettings()
|
||||
} finally {
|
||||
settings.close()
|
||||
|
||||
+87
@@ -0,0 +1,87 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package org.dolphinemu.dolphinemu.activities
|
||||
|
||||
import android.app.Activity
|
||||
import android.graphics.Color
|
||||
import android.os.Bundle
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
import android.view.View
|
||||
import android.widget.Toast
|
||||
import org.dolphinemu.dolphinemu.NativeLibrary
|
||||
import org.dolphinemu.dolphinemu.R
|
||||
|
||||
class OpenXRControllerMapperActivity : Activity() {
|
||||
private val handler = Handler(Looper.getMainLooper())
|
||||
|
||||
private val pollMapper = object : Runnable {
|
||||
override fun run() {
|
||||
when (NativeLibrary.GetOpenXRControllerMapperState()) {
|
||||
STATE_APPLY_PENDING -> {
|
||||
if (NativeLibrary.ApplyOpenXRControllerMapper()) {
|
||||
Toast.makeText(
|
||||
this@OpenXRControllerMapperActivity,
|
||||
R.string.openxr_controller_mapper_applied,
|
||||
Toast.LENGTH_SHORT
|
||||
).show()
|
||||
}
|
||||
finish()
|
||||
return
|
||||
}
|
||||
STATE_APPLIED, STATE_CANCELLED -> {
|
||||
finish()
|
||||
return
|
||||
}
|
||||
STATE_FAILED -> {
|
||||
Toast.makeText(
|
||||
this@OpenXRControllerMapperActivity,
|
||||
NativeLibrary.GetOpenXRControllerMapperFailure(),
|
||||
Toast.LENGTH_LONG
|
||||
).show()
|
||||
finish()
|
||||
return
|
||||
}
|
||||
}
|
||||
handler.postDelayed(this, POLL_INTERVAL_MS)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
window.decorView.systemUiVisibility =
|
||||
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY or
|
||||
View.SYSTEM_UI_FLAG_FULLSCREEN or
|
||||
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
|
||||
setContentView(View(this).apply { setBackgroundColor(Color.BLACK) })
|
||||
|
||||
val port = intent.getIntExtra(EXTRA_CONTROLLER_PORT, -1)
|
||||
val targetType = intent.getIntExtra(EXTRA_TARGET_TYPE, TARGET_WII_REMOTE)
|
||||
if (!NativeLibrary.StartOpenXRControllerMapper(this, port, targetType)) {
|
||||
Toast.makeText(this, NativeLibrary.GetOpenXRControllerMapperFailure(), Toast.LENGTH_LONG)
|
||||
.show()
|
||||
finish()
|
||||
return
|
||||
}
|
||||
handler.post(pollMapper)
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
handler.removeCallbacks(pollMapper)
|
||||
NativeLibrary.StopOpenXRControllerMapper()
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val EXTRA_CONTROLLER_PORT = "controller_port"
|
||||
const val EXTRA_TARGET_TYPE = "target_type"
|
||||
const val TARGET_WII_REMOTE = 0
|
||||
const val TARGET_GAMECUBE_CONTROLLER = 1
|
||||
const val TARGET_HOTKEYS = 2
|
||||
private const val POLL_INTERVAL_MS = 100L
|
||||
private const val STATE_APPLY_PENDING = 3
|
||||
private const val STATE_APPLIED = 4
|
||||
private const val STATE_CANCELLED = 5
|
||||
private const val STATE_FAILED = 6
|
||||
}
|
||||
}
|
||||
+69
@@ -0,0 +1,69 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package org.dolphinemu.dolphinemu.dialogs
|
||||
|
||||
import android.app.Dialog
|
||||
import android.os.Bundle
|
||||
import android.widget.Toast
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import org.dolphinemu.dolphinemu.R
|
||||
import org.dolphinemu.dolphinemu.features.settings.model.QuestVrSettings
|
||||
import org.dolphinemu.dolphinemu.features.settings.model.Settings
|
||||
import org.dolphinemu.dolphinemu.utils.FirstLaunchDialogs
|
||||
|
||||
class QuestControllerSetupDialog : DialogFragment() {
|
||||
private val isFirstLaunch: Boolean
|
||||
get() = arguments?.getBoolean(KEY_FIRST_LAUNCH) ?: true
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
// The first-launch prompt gates the analytics prompt behind its answer, so it has to be
|
||||
// answered. Invoked from the main menu it is just an action the user can back out of.
|
||||
isCancelable = !isFirstLaunch
|
||||
}
|
||||
|
||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||
return MaterialAlertDialogBuilder(requireContext())
|
||||
.setTitle(R.string.quest_controller_setup_title)
|
||||
.setMessage(R.string.quest_controller_setup_description)
|
||||
.setPositiveButton(R.string.yes) { _, _ -> onAnswered(true) }
|
||||
.setNegativeButton(R.string.no) { _, _ -> onAnswered(false) }
|
||||
.create()
|
||||
}
|
||||
|
||||
private fun onAnswered(applyDefaults: Boolean) {
|
||||
if (isFirstLaunch) {
|
||||
FirstLaunchDialogs.onQuestControllerSetupAnswered(requireActivity(), applyDefaults)
|
||||
return
|
||||
}
|
||||
|
||||
// Applying on demand deliberately leaves the first-launch bookkeeping alone, so declining
|
||||
// here does not suppress the initial prompt.
|
||||
if (!applyDefaults) {
|
||||
return
|
||||
}
|
||||
|
||||
Settings().use { settings ->
|
||||
settings.loadSettings()
|
||||
QuestVrSettings.applyDefaultControllerSetup(settings)
|
||||
settings.saveSettings()
|
||||
}
|
||||
|
||||
Toast.makeText(
|
||||
requireContext(),
|
||||
R.string.quest_controller_preset_applied,
|
||||
Toast.LENGTH_SHORT
|
||||
).show()
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val TAG = "QuestControllerSetupDialog"
|
||||
private const val KEY_FIRST_LAUNCH = "first_launch"
|
||||
|
||||
fun newInstance(isFirstLaunch: Boolean): QuestControllerSetupDialog =
|
||||
QuestControllerSetupDialog().apply {
|
||||
arguments = Bundle().apply { putBoolean(KEY_FIRST_LAUNCH, isFirstLaunch) }
|
||||
}
|
||||
}
|
||||
}
|
||||
+7
@@ -100,6 +100,13 @@ enum class IntSetting(
|
||||
"PNGCompressionLevel",
|
||||
6
|
||||
),
|
||||
// Default must match GFX_COMMAND_BUFFERS_IN_FLIGHT in GraphicsSettings.cpp.
|
||||
GFX_COMMAND_BUFFERS_IN_FLIGHT(
|
||||
Settings.FILE_GFX,
|
||||
Settings.SECTION_GFX_SETTINGS,
|
||||
"CommandBuffersInFlight",
|
||||
8
|
||||
),
|
||||
GFX_MSAA(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, "MSAA", 1),
|
||||
GFX_EFB_SCALE(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, "InternalResolution", 1),
|
||||
GFX_SHADER_COMPILATION_MODE(
|
||||
|
||||
+5
@@ -17,6 +17,11 @@ object QuestGameOverrideSettings {
|
||||
"ElementsGroupOverride",
|
||||
"ElementsGroupOverride_Enable",
|
||||
true
|
||||
),
|
||||
TEXTURE_ELEMENT_OVERRIDES(
|
||||
"TextureElementOverride",
|
||||
"TextureElementOverride_Enable",
|
||||
true
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
+30
-8
@@ -11,31 +11,53 @@ object QuestGameVrConfigSettings {
|
||||
private const val VR_SECTION = "Graphics.VR"
|
||||
private const val LEGACY_VR_SECTION = "GFX.VR"
|
||||
|
||||
// Every key the VR Config screen can read back. A key missing here is dropped while parsing,
|
||||
// so a stored per-game value would silently read as the global default.
|
||||
private val knownKeys = setOf(
|
||||
"EnableOpenXR",
|
||||
"UnitsPerMeter",
|
||||
"EnableLeanBackAngle",
|
||||
"LeanBackAngle",
|
||||
"EnableCameraForward",
|
||||
"CameraForward",
|
||||
"EnableCameraHeight",
|
||||
"CameraHeight",
|
||||
"EnableCameraAnchor",
|
||||
"CameraAnchorSmoothing",
|
||||
"EnableControllerAnchor",
|
||||
"VirtualScreen",
|
||||
"ScreenDistance",
|
||||
"ScreenSize",
|
||||
"HudThickness",
|
||||
"HeadLockedCurvature",
|
||||
"ExactScreenDepth",
|
||||
"AutoNativeEfbEffects",
|
||||
"DontClearScreen",
|
||||
"LoadCustomShaders",
|
||||
"DisableCPUCull",
|
||||
"OpcodeReplay",
|
||||
"RemoveCinematicBars",
|
||||
"FrameSizeFromXFB",
|
||||
"SmallViewportsOnScreen",
|
||||
"DetectRenderTargets",
|
||||
"OrthoScissorFix",
|
||||
"DetectSkybox",
|
||||
"MetroidThermalVisorFix",
|
||||
"MetroidD3DThermalPaletteFix",
|
||||
"ForcedVBIFrequency",
|
||||
"AutoVBIFromHMD",
|
||||
"AutoLayerSpread",
|
||||
"LayerOffset",
|
||||
"ElementDepth",
|
||||
"EagerHeartbeat",
|
||||
"ClearEFBCopies",
|
||||
"Gamma",
|
||||
"ResolutionScale",
|
||||
"FoveationLevel",
|
||||
"DynamicFoveation",
|
||||
"FoveateEFB",
|
||||
"UseVulkanMultiview",
|
||||
"AndroidDirectToHMD",
|
||||
"ARMode",
|
||||
"ARModeDebug",
|
||||
"ARBackgroundAlpha"
|
||||
"Passthrough",
|
||||
"PassthroughRemoveBlackBackground",
|
||||
"PassthroughRemoveBlackEFBClears",
|
||||
"PassthroughSceneOpacity",
|
||||
"PassthroughCoverageMode"
|
||||
)
|
||||
|
||||
fun getStoredKeys(gameId: String, revision: Int): Set<String> =
|
||||
|
||||
+271
-74
@@ -7,11 +7,11 @@ import org.dolphinemu.dolphinemu.features.input.model.controlleremu.EmulatedCont
|
||||
|
||||
object QuestVrSettings {
|
||||
const val STEREO_MODE_OPENXR = 6
|
||||
const val CONTROLLER_PRESET_GAMECUBE = 0
|
||||
const val CONTROLLER_PRESET_WII_REMOTE = 1
|
||||
|
||||
private const val GC_PROFILE_NAME = "Quest Touch GameCube.ini"
|
||||
private const val WIIMOTE_PROFILE_NAME = "OpenXR Wii Remote.ini"
|
||||
const val GC_PROFILE_NAME = "Quest Touch GameCube.ini"
|
||||
const val WIIMOTE_PROFILE_NAME = "OpenXR Wii Remote.ini"
|
||||
const val HOTKEY_PROFILE_NAME = "Quest.ini"
|
||||
private const val OPENXR_DEVICE = "OpenXR/0/OpenXR Controller"
|
||||
private const val VR_SECTION = "VR"
|
||||
|
||||
private fun androidBooleanSetting(key: String, defaultValue: Boolean) =
|
||||
@@ -35,53 +35,96 @@ object QuestVrSettings {
|
||||
|
||||
fun launchInVrSetting() = androidBooleanSetting("QuestLaunchInVr", true)
|
||||
|
||||
fun flatScreenSetting() = vrBooleanSetting("FlatScreen", false)
|
||||
|
||||
fun recenterOnLaunchSetting() = androidBooleanSetting("QuestRecenterOnLaunch", true)
|
||||
|
||||
fun leftHandedSetting() = androidBooleanSetting("QuestLeftHanded", false)
|
||||
|
||||
fun showMirrorSurfaceSetting() = androidBooleanSetting("QuestShowMirrorSurface", false)
|
||||
|
||||
fun controllerPresetSetting() =
|
||||
androidIntSetting("QuestControllerPreset", CONTROLLER_PRESET_GAMECUBE)
|
||||
// Superseded by ForcedVBIFrequency; kept only so an explicit choice can clear a stale value.
|
||||
private fun autoVbiFromHmdSetting() = vrBooleanSetting("AutoVBIFromHMD", false)
|
||||
|
||||
fun passthroughSetting() = vrBooleanSetting("ARMode", false)
|
||||
fun forcedVbiFrequencySetting(): AbstractIntSetting = ForcedVbiFrequencySetting
|
||||
|
||||
fun debugPassthroughSetting() = vrBooleanSetting("ARModeDebug", false)
|
||||
fun eagerHeartbeatSetting() = vrBooleanSetting("EagerHeartbeat", false)
|
||||
|
||||
fun arBackgroundAlphaSetting() = vrFloatSetting("ARBackgroundAlpha", 0.0f)
|
||||
fun referenceSpaceModeSetting() = vrIntSetting("ReferenceSpaceMode", 0)
|
||||
|
||||
fun autoImmediateXfbSetting() = vrBooleanSetting("AutoImmediateXFB", true)
|
||||
|
||||
fun autoVbiFromHmdSetting() = vrBooleanSetting("AutoVBIFromHMD", false)
|
||||
fun trackingModeSetting() = vrIntSetting("TrackingMode", 0)
|
||||
|
||||
fun unitsPerMeterSetting(): AbstractFloatSetting = FloatSetting.GFX_VR_UNITS_PER_METER
|
||||
|
||||
fun enableLeanBackAngleSetting() = vrBooleanSetting("EnableLeanBackAngle", true)
|
||||
|
||||
fun leanBackAngleSetting() = vrFloatSetting("LeanBackAngle", 0.0f)
|
||||
|
||||
fun enableCameraForwardSetting() = vrBooleanSetting("EnableCameraForward", true)
|
||||
|
||||
fun cameraForwardSetting() = vrFloatSetting("CameraForward", 0.0f)
|
||||
|
||||
fun enableCameraHeightSetting() = vrBooleanSetting("EnableCameraHeight", true)
|
||||
|
||||
fun cameraHeightSetting() = vrFloatSetting("CameraHeight", 0.0f)
|
||||
|
||||
fun lockHeadPoseSetting() = vrBooleanSetting("LockHeadPosePerFrame", false)
|
||||
fun enableCameraAnchorSetting() = vrBooleanSetting("EnableCameraAnchor", false)
|
||||
|
||||
fun opcodeReplaySetting() = vrIntSetting("OpcodeReplay", 0)
|
||||
fun cameraAnchorSmoothingSetting() = vrFloatSetting("CameraAnchorSmoothing", 0.85f)
|
||||
|
||||
fun enableControllerAnchorSetting() = vrBooleanSetting("EnableControllerAnchor", false)
|
||||
|
||||
fun detectSkyboxSetting() = vrBooleanSetting("DetectSkybox", false)
|
||||
|
||||
fun passthroughSetting() = vrBooleanSetting("Passthrough", false)
|
||||
|
||||
fun passthroughRevealUnrenderedSetting() =
|
||||
vrBooleanSetting("PassthroughRemoveBlackBackground", true)
|
||||
|
||||
fun passthroughRemoveBlackClearsSetting() =
|
||||
vrBooleanSetting("PassthroughRemoveBlackEFBClears", true)
|
||||
|
||||
fun passthroughSceneOpacitySetting() = vrFloatSetting("PassthroughSceneOpacity", 1.0f)
|
||||
|
||||
fun passthroughCoverageModeSetting() = vrIntSetting("PassthroughCoverageMode", 0)
|
||||
|
||||
fun vrGammaSetting() = vrFloatSetting("Gamma", 1.0f)
|
||||
|
||||
fun autoLayerSpreadSetting() = vrBooleanSetting("AutoLayerSpread", true)
|
||||
fun exactScreenDepthSetting() = vrBooleanSetting("ExactScreenDepth", true)
|
||||
|
||||
fun layerOffsetSetting() = vrFloatSetting("LayerOffset", 0.002f)
|
||||
fun autoNativeEfbEffectsSetting() = vrBooleanSetting("AutoNativeEfbEffects", true)
|
||||
|
||||
fun elementDepthSetting() = vrFloatSetting("ElementDepth", 0.001f)
|
||||
fun hudThicknessSetting() = vrFloatSetting("HudThickness", 0.0f)
|
||||
|
||||
fun removeBarsSetting() = vrBooleanSetting("RemoveCinematicBars", true)
|
||||
|
||||
fun frameSizeFromXfbSetting() = vrBooleanSetting("FrameSizeFromXFB", true)
|
||||
|
||||
fun panesOnScreenSetting() = vrBooleanSetting("SmallViewportsOnScreen", true)
|
||||
|
||||
fun detectRenderTargetsSetting() = vrBooleanSetting("DetectRenderTargets", false)
|
||||
|
||||
fun orthoScissorFixSetting() = vrBooleanSetting("OrthoScissorFix", true)
|
||||
|
||||
// The PC VRPane exposes one checkbox that drives both the Vulkan and the D3D palette key.
|
||||
fun layeredPaletteConversionSetting(): AbstractBooleanSetting = LayeredPaletteConversionSetting
|
||||
|
||||
fun useVulkanMultiviewSetting() = vrBooleanSetting("UseVulkanMultiview", true)
|
||||
|
||||
fun androidDirectToHmdSetting() = vrBooleanSetting("AndroidDirectToHMD", true)
|
||||
|
||||
fun cpuLevel5HintSetting() = vrBooleanSetting("QuestCpuLevel5Hint", false)
|
||||
|
||||
// Defaults must match GraphicsSettings.cpp (Android values).
|
||||
fun resolutionScaleSetting() = vrFloatSetting("ResolutionScale", 0.85f)
|
||||
|
||||
fun foveationLevelSetting() = vrIntSetting("FoveationLevel", 2)
|
||||
|
||||
fun dynamicFoveationSetting() = vrBooleanSetting("DynamicFoveation", true)
|
||||
|
||||
// Off by default: forces binned rendering, which hurts EFB-copy-heavy games.
|
||||
fun foveateEfbSetting() = vrBooleanSetting("FoveateEFB", false)
|
||||
|
||||
fun virtualScreenSetting() = vrBooleanSetting("VirtualScreen", false)
|
||||
|
||||
fun screenDistanceSetting() = vrFloatSetting("ScreenDistance", 1.5f)
|
||||
@@ -98,7 +141,60 @@ object QuestVrSettings {
|
||||
|
||||
fun loadCustomShadersSetting() = vrBooleanSetting("LoadCustomShaders", false)
|
||||
|
||||
fun openXrConfigSceneSetting() = vrBooleanSetting("EnableOpenXRConfigScene", true)
|
||||
|
||||
/**
|
||||
* AutoVBIFromHMD is the legacy boolean that ForcedVBIFrequency replaced (SConfig::LoadSettings
|
||||
* migrates it to 90 Hz on startup). While it is set it pins the effective rate to 90 Hz even
|
||||
* when the frequency reads "Off", so clear it whenever an explicit choice is made — same as the
|
||||
* PC VRPane does.
|
||||
*/
|
||||
private object ForcedVbiFrequencySetting : AbstractIntSetting {
|
||||
private val backing = vrIntSetting("ForcedVBIFrequency", 0)
|
||||
|
||||
override val isOverridden: Boolean
|
||||
get() = backing.isOverridden
|
||||
|
||||
override val isRuntimeEditable: Boolean
|
||||
get() = backing.isRuntimeEditable
|
||||
|
||||
override fun delete(settings: Settings): Boolean = backing.delete(settings)
|
||||
|
||||
override val int: Int
|
||||
get() = backing.int
|
||||
|
||||
override fun setInt(settings: Settings, newValue: Int) {
|
||||
backing.setInt(settings, newValue)
|
||||
autoVbiFromHmdSetting().setBoolean(settings, false)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The layered palette conversion path has a separate key per backend family; the PC VRPane
|
||||
* keeps them in sync behind a single checkbox, so do the same here.
|
||||
*/
|
||||
private object LayeredPaletteConversionSetting : AbstractBooleanSetting {
|
||||
private val vulkanKey = vrBooleanSetting("MetroidThermalVisorFix", true)
|
||||
private val d3dKey = vrBooleanSetting("MetroidD3DThermalPaletteFix", true)
|
||||
|
||||
override val isOverridden: Boolean
|
||||
get() = vulkanKey.isOverridden
|
||||
|
||||
override val isRuntimeEditable: Boolean
|
||||
get() = vulkanKey.isRuntimeEditable
|
||||
|
||||
override fun delete(settings: Settings): Boolean {
|
||||
val deletedD3d = d3dKey.delete(settings)
|
||||
return vulkanKey.delete(settings) || deletedD3d
|
||||
}
|
||||
|
||||
override val boolean: Boolean
|
||||
get() = vulkanKey.boolean
|
||||
|
||||
override fun setBoolean(settings: Settings, newValue: Boolean) {
|
||||
vulkanKey.setBoolean(settings, newValue)
|
||||
d3dKey.setBoolean(settings, newValue)
|
||||
}
|
||||
}
|
||||
|
||||
private fun openXrRuntimeSetting() = vrBooleanSetting("EnableOpenXR", false)
|
||||
|
||||
@@ -107,15 +203,22 @@ object QuestVrSettings {
|
||||
private fun backendMultithreadingReenabledSetting() =
|
||||
androidBooleanSetting("QuestBackendMultithreadingReenabled", false)
|
||||
|
||||
private fun controllerProfilesAppliedSetting() =
|
||||
androidBooleanSetting("QuestControllerProfilesApplied", false)
|
||||
private fun controllerSetupAskedSetting() =
|
||||
androidBooleanSetting("QuestControllerSetupAsked", false)
|
||||
|
||||
fun shouldShowMirrorSurface(): Boolean {
|
||||
if (!BuildConfig.IS_QUEST) {
|
||||
return true
|
||||
}
|
||||
|
||||
return showMirrorSurfaceSetting().boolean || !isLaunchInVrEnabled()
|
||||
// Flat-in-VR is still an immersive OpenXR session (no 2D Android surface), so key the
|
||||
// mirror surface off whether we launch immersively, not off stereo vs. flat.
|
||||
return showMirrorSurfaceSetting().boolean || !isOpenXrImmersiveEnabled()
|
||||
}
|
||||
|
||||
// True when we launch an immersive OpenXR session at all (either stereo 3D or flat panel).
|
||||
fun isOpenXrImmersiveEnabled(): Boolean {
|
||||
return BuildConfig.IS_QUEST && openXrEnabledSetting().boolean
|
||||
}
|
||||
|
||||
fun isLaunchInVrEnabled(): Boolean {
|
||||
@@ -134,24 +237,145 @@ object QuestVrSettings {
|
||||
IntSetting.GFX_EFB_SCALE.setInt(settings, 4)
|
||||
BooleanSetting.GFX_WAIT_FOR_SHADERS_BEFORE_STARTING.setBoolean(settings, false)
|
||||
BooleanSetting.MAIN_SHOW_INPUT_OVERLAY.setBoolean(settings, false)
|
||||
lockHeadPoseSetting().setBoolean(settings, false)
|
||||
autoLayerSpreadSetting().setBoolean(settings, true)
|
||||
exactScreenDepthSetting().setBoolean(settings, true)
|
||||
androidDirectToHmdSetting().setBoolean(settings, true)
|
||||
removeBarsSetting().setBoolean(settings, true)
|
||||
virtualScreenSetting().setBoolean(settings, false)
|
||||
passthroughSetting().setBoolean(settings, false)
|
||||
debugPassthroughSetting().setBoolean(settings, false)
|
||||
BooleanSetting.GFX_HACK_IMMEDIATE_XFB.setBoolean(settings, true)
|
||||
BooleanSetting.GFX_HACK_VI_SKIP.setBoolean(settings, false)
|
||||
perfDefaultsAppliedSetting().setBoolean(settings, true)
|
||||
backendMultithreadingReenabledSetting().setBoolean(settings, true)
|
||||
}
|
||||
|
||||
fun applySelectedControllerPreset(settings: Settings) {
|
||||
applyControllerPreset(settings, controllerPresetSetting().int)
|
||||
/**
|
||||
* Restores every setting on the OpenXR screen to its built-in default, mirroring the PC
|
||||
* VRPane's "Reset VR Settings" button.
|
||||
*
|
||||
* Deletes the keys instead of writing values so the platform's compiled-in defaults apply —
|
||||
* several of them differ on Android (e.g. ResolutionScale 0.85, FoveationLevel 2,
|
||||
* AndroidDirectToHMD on). Non-VR graphics settings (backend, EFB scale) and controller
|
||||
* mappings are deliberately left alone; they do not belong to this screen.
|
||||
*/
|
||||
fun resetOpenXrSettings(settings: Settings) {
|
||||
val resettable: List<AbstractSetting> = listOf(
|
||||
// Runtime
|
||||
openXrEnabledSetting(),
|
||||
launchInVrSetting(),
|
||||
flatScreenSetting(),
|
||||
recenterOnLaunchSetting(),
|
||||
unitsPerMeterSetting(),
|
||||
// Camera
|
||||
enableLeanBackAngleSetting(),
|
||||
leanBackAngleSetting(),
|
||||
enableCameraForwardSetting(),
|
||||
cameraForwardSetting(),
|
||||
enableCameraHeightSetting(),
|
||||
cameraHeightSetting(),
|
||||
enableCameraAnchorSetting(),
|
||||
cameraAnchorSmoothingSetting(),
|
||||
enableControllerAnchorSetting(),
|
||||
// Virtual screen
|
||||
virtualScreenSetting(),
|
||||
exactScreenDepthSetting(),
|
||||
autoNativeEfbEffectsSetting(),
|
||||
screenDistanceSetting(),
|
||||
screenSizeSetting(),
|
||||
hudThicknessSetting(),
|
||||
headLockedCurvatureSetting(),
|
||||
// Rendering
|
||||
resolutionScaleSetting(),
|
||||
foveationLevelSetting(),
|
||||
dynamicFoveationSetting(),
|
||||
foveateEfbSetting(),
|
||||
clearEfbCopiesSetting(),
|
||||
vrGammaSetting(),
|
||||
// Framerate
|
||||
forcedVbiFrequencySetting(),
|
||||
autoVbiFromHmdSetting(),
|
||||
eagerHeartbeatSetting(),
|
||||
// VR hacks
|
||||
useVulkanMultiviewSetting(),
|
||||
dontClearScreenSetting(),
|
||||
disableCpuCullSetting(),
|
||||
removeBarsSetting(),
|
||||
frameSizeFromXfbSetting(),
|
||||
panesOnScreenSetting(),
|
||||
detectRenderTargetsSetting(),
|
||||
orthoScissorFixSetting(),
|
||||
detectSkyboxSetting(),
|
||||
layeredPaletteConversionSetting(),
|
||||
// Passthrough
|
||||
passthroughSetting(),
|
||||
passthroughRevealUnrenderedSetting(),
|
||||
passthroughRemoveBlackClearsSetting(),
|
||||
passthroughSceneOpacitySetting(),
|
||||
passthroughCoverageModeSetting(),
|
||||
// Comfort and debug
|
||||
leftHandedSetting(),
|
||||
showMirrorSurfaceSetting(),
|
||||
androidDirectToHmdSetting(),
|
||||
cpuLevel5HintSetting(),
|
||||
loadCustomShadersSetting(),
|
||||
referenceSpaceModeSetting(),
|
||||
trackingModeSetting()
|
||||
)
|
||||
|
||||
resettable.forEach { it.delete(settings) }
|
||||
}
|
||||
|
||||
fun prepareLaunchSettings(settings: Settings, launchSystemMenu: Boolean) {
|
||||
fun shouldAskAboutControllerSetup(): Boolean {
|
||||
return BuildConfig.IS_QUEST && !controllerSetupAskedSetting().boolean
|
||||
}
|
||||
|
||||
fun recordControllerSetupChoice(settings: Settings, applyDefaults: Boolean) {
|
||||
if (!BuildConfig.IS_QUEST) {
|
||||
return
|
||||
}
|
||||
|
||||
if (applyDefaults) {
|
||||
applyDefaultControllerSetup(settings)
|
||||
}
|
||||
controllerSetupAskedSetting().setBoolean(settings, true)
|
||||
}
|
||||
|
||||
/**
|
||||
* Points [controller] at the stock Quest OpenXR profile named [profileName].
|
||||
*
|
||||
* Also used by the mapping screen's "Default" action: Dolphin's built-in defaults target a
|
||||
* touchscreen or physical pad that does not exist on Quest, so the OpenXR profile is the only
|
||||
* meaningful default there.
|
||||
*
|
||||
* @return false on non-Quest builds, so callers can fall back to Dolphin's own defaults.
|
||||
*/
|
||||
fun loadStockProfile(controller: EmulatedController, profileName: String): Boolean {
|
||||
if (!BuildConfig.IS_QUEST) {
|
||||
return false
|
||||
}
|
||||
|
||||
controller.loadProfile(controller.getSysProfileDirectoryPath() + profileName)
|
||||
controller.setDefaultDevice(OPENXR_DEVICE)
|
||||
return true
|
||||
}
|
||||
|
||||
/**
|
||||
* Installs the stock Quest mappings without making the user choose between Wii and GameCube.
|
||||
* The appropriate controller will be used automatically for each emulated console.
|
||||
*/
|
||||
fun applyDefaultControllerSetup(settings: Settings) {
|
||||
if (!BuildConfig.IS_QUEST) {
|
||||
return
|
||||
}
|
||||
|
||||
loadStockProfile(EmulatedController.getGcPad(0), GC_PROFILE_NAME)
|
||||
loadStockProfile(EmulatedController.getWiimote(0), WIIMOTE_PROFILE_NAME)
|
||||
loadStockProfile(EmulatedController.getHotkeys(), HOTKEY_PROFILE_NAME)
|
||||
|
||||
// 6 is an emulated Standard Controller and 3 is an OpenXR Wii Remote.
|
||||
IntSetting.MAIN_SI_DEVICE_0.setInt(settings, 6)
|
||||
IntSetting.WIIMOTE_1_SOURCE.setInt(settings, 3)
|
||||
}
|
||||
|
||||
fun prepareLaunchSettings(settings: Settings) {
|
||||
if (!BuildConfig.IS_QUEST) {
|
||||
return
|
||||
}
|
||||
@@ -162,61 +386,34 @@ object QuestVrSettings {
|
||||
|
||||
StringSetting.MAIN_GFX_BACKEND.setString(settings, "Vulkan")
|
||||
|
||||
val launchInVr = isLaunchInVrEnabled()
|
||||
openXrRuntimeSetting().setBoolean(settings, launchInVr)
|
||||
// The OpenXR immersive session runs whenever the runtime is enabled. "Launch games in VR"
|
||||
// then chooses stereo 3D (StereoMode::OpenXR) vs. a flat mono panel in the VR scene.
|
||||
val immersive = isOpenXrImmersiveEnabled()
|
||||
val stereo = isLaunchInVrEnabled()
|
||||
openXrRuntimeSetting().setBoolean(settings, immersive)
|
||||
flatScreenSetting().setBoolean(settings, immersive && !stereo)
|
||||
|
||||
if (launchInVr) {
|
||||
IntSetting.GFX_STEREO_MODE.setInt(settings, STEREO_MODE_OPENXR)
|
||||
if (immersive) {
|
||||
// Native side maps EnableOpenXR + FlatScreen to the stereo mode; keep GFX_STEREO_MODE
|
||||
// set to OpenXR only for the stereo path so a stale value can't force stereo in flat.
|
||||
IntSetting.GFX_STEREO_MODE.setInt(settings, if (stereo) STEREO_MODE_OPENXR else 0)
|
||||
if (!backendMultithreadingReenabledSetting().boolean) {
|
||||
BooleanSetting.GFX_BACKEND_MULTITHREADING.setBoolean(settings, true)
|
||||
backendMultithreadingReenabledSetting().setBoolean(settings, true)
|
||||
}
|
||||
BooleanSetting.MAIN_SHOW_INPUT_OVERLAY.setBoolean(settings, false)
|
||||
if (lockHeadPoseSetting().boolean) {
|
||||
autoImmediateXfbSetting().setBoolean(settings, false)
|
||||
BooleanSetting.GFX_HACK_IMMEDIATE_XFB.setBoolean(settings, false)
|
||||
} else if (autoImmediateXfbSetting().boolean) {
|
||||
BooleanSetting.GFX_HACK_IMMEDIATE_XFB.setBoolean(settings, true)
|
||||
}
|
||||
// Immediately Present XFB is left as the user set it (applyRecommendedDefaults
|
||||
// turns it on): games that need it off now render correctly in VR, and the
|
||||
// head-pose lock is applied automatically whenever it is off.
|
||||
BooleanSetting.GFX_HACK_VI_SKIP.setBoolean(settings, false)
|
||||
} else if (IntSetting.GFX_STEREO_MODE.int == STEREO_MODE_OPENXR) {
|
||||
IntSetting.GFX_STEREO_MODE.setInt(settings, 0)
|
||||
}
|
||||
|
||||
if (launchSystemMenu) {
|
||||
applyControllerPreset(settings, CONTROLLER_PRESET_WII_REMOTE)
|
||||
} else {
|
||||
applySelectedControllerPreset(settings)
|
||||
}
|
||||
}
|
||||
|
||||
fun applyControllerPreset(settings: Settings, preset: Int) {
|
||||
if (!BuildConfig.IS_QUEST) {
|
||||
return
|
||||
// flatScreen already set false above (immersive is false here).
|
||||
if (IntSetting.GFX_STEREO_MODE.int == STEREO_MODE_OPENXR) {
|
||||
IntSetting.GFX_STEREO_MODE.setInt(settings, 0)
|
||||
}
|
||||
}
|
||||
|
||||
if (!controllerProfilesAppliedSetting().boolean) {
|
||||
EmulatedController.getGcPad(0).loadProfile(
|
||||
EmulatedController.getGcPad(0).getSysProfileDirectoryPath() + GC_PROFILE_NAME
|
||||
)
|
||||
EmulatedController.getWiimote(0).loadProfile(
|
||||
EmulatedController.getWiimote(0).getSysProfileDirectoryPath() + WIIMOTE_PROFILE_NAME
|
||||
)
|
||||
controllerProfilesAppliedSetting().setBoolean(settings, true)
|
||||
}
|
||||
|
||||
when (preset) {
|
||||
CONTROLLER_PRESET_WII_REMOTE -> applyWiiRemoteSource(settings)
|
||||
else -> applyGameCubeSource(settings)
|
||||
}
|
||||
}
|
||||
|
||||
private fun applyGameCubeSource(settings: Settings) {
|
||||
IntSetting.MAIN_SI_DEVICE_0.setInt(settings, 6)
|
||||
IntSetting.WIIMOTE_1_SOURCE.setInt(settings, 0)
|
||||
}
|
||||
|
||||
private fun applyWiiRemoteSource(settings: Settings) {
|
||||
IntSetting.WIIMOTE_1_SOURCE.setInt(settings, 3)
|
||||
// Controller profiles are configured explicitly by the first-launch prompt or settings UI.
|
||||
// Do not overwrite a user's controller selection whenever a game starts.
|
||||
}
|
||||
}
|
||||
+15
@@ -26,10 +26,25 @@ enum class MenuTag {
|
||||
HACKS("hacks"),
|
||||
STATISTICS("statistics"),
|
||||
ADVANCED_GRAPHICS("advanced_graphics"),
|
||||
QUEST_VR_CAMERA("quest_vr_camera"),
|
||||
QUEST_VR_VIRTUAL_SCREEN("quest_vr_virtual_screen"),
|
||||
QUEST_VR_RENDERING("quest_vr_rendering"),
|
||||
QUEST_VR_FRAMERATE("quest_vr_framerate"),
|
||||
QUEST_VR_HACKS("quest_vr_hacks"),
|
||||
QUEST_VR_PASSTHROUGH("quest_vr_passthrough"),
|
||||
QUEST_VR_DEBUG("quest_vr_debug"),
|
||||
QUEST_VR_CONFIG("quest_vr_config"),
|
||||
QUEST_VR_CONFIG_CAMERA("quest_vr_config_camera"),
|
||||
QUEST_VR_CONFIG_VIRTUAL_SCREEN("quest_vr_config_virtual_screen"),
|
||||
QUEST_VR_CONFIG_RENDERING("quest_vr_config_rendering"),
|
||||
QUEST_VR_CONFIG_FRAMERATE("quest_vr_config_framerate"),
|
||||
QUEST_VR_CONFIG_HACKS("quest_vr_config_hacks"),
|
||||
QUEST_VR_CONFIG_PASSTHROUGH("quest_vr_config_passthrough"),
|
||||
QUEST_VR_CONFIG_DEBUG("quest_vr_config_debug"),
|
||||
QUEST_HIDE_OBJECTS("quest_hide_objects"),
|
||||
QUEST_SHADER_OVERRIDES("quest_shader_overrides"),
|
||||
QUEST_ELEMENTS_GROUP_OVERRIDES("quest_elements_group_overrides"),
|
||||
QUEST_TEXTURE_ELEMENT_OVERRIDES("quest_texture_element_overrides"),
|
||||
GCPAD_TYPE("gc_pad_type"),
|
||||
WIIMOTE("wiimote"),
|
||||
WIIMOTE_EXTENSION("wiimote_extension"),
|
||||
|
||||
+15
@@ -282,10 +282,25 @@ class SettingsFragment : Fragment(), SettingsFragmentView {
|
||||
titles[MenuTag.HACKS] = R.string.hacks_submenu
|
||||
titles[MenuTag.STATISTICS] = R.string.statistics_submenu
|
||||
titles[MenuTag.ADVANCED_GRAPHICS] = R.string.advanced_graphics_submenu
|
||||
titles[MenuTag.QUEST_VR_CAMERA] = R.string.quest_vr_camera
|
||||
titles[MenuTag.QUEST_VR_VIRTUAL_SCREEN] = R.string.quest_vr_virtual_screen
|
||||
titles[MenuTag.QUEST_VR_RENDERING] = R.string.quest_vr_rendering
|
||||
titles[MenuTag.QUEST_VR_FRAMERATE] = R.string.quest_vr_framerate
|
||||
titles[MenuTag.QUEST_VR_HACKS] = R.string.quest_vr_hacks
|
||||
titles[MenuTag.QUEST_VR_PASSTHROUGH] = R.string.quest_vr_passthrough
|
||||
titles[MenuTag.QUEST_VR_DEBUG] = R.string.quest_vr_debug
|
||||
titles[MenuTag.QUEST_VR_CONFIG] = R.string.quest_vr_config
|
||||
titles[MenuTag.QUEST_VR_CONFIG_CAMERA] = R.string.quest_vr_camera
|
||||
titles[MenuTag.QUEST_VR_CONFIG_VIRTUAL_SCREEN] = R.string.quest_vr_virtual_screen
|
||||
titles[MenuTag.QUEST_VR_CONFIG_RENDERING] = R.string.quest_vr_rendering
|
||||
titles[MenuTag.QUEST_VR_CONFIG_FRAMERATE] = R.string.quest_vr_framerate
|
||||
titles[MenuTag.QUEST_VR_CONFIG_HACKS] = R.string.quest_vr_hacks
|
||||
titles[MenuTag.QUEST_VR_CONFIG_PASSTHROUGH] = R.string.quest_vr_passthrough
|
||||
titles[MenuTag.QUEST_VR_CONFIG_DEBUG] = R.string.quest_vr_debug
|
||||
titles[MenuTag.QUEST_HIDE_OBJECTS] = R.string.quest_hide_objects
|
||||
titles[MenuTag.QUEST_SHADER_OVERRIDES] = R.string.quest_shader_overrides
|
||||
titles[MenuTag.QUEST_ELEMENTS_GROUP_OVERRIDES] = R.string.quest_elements_group_overrides
|
||||
titles[MenuTag.QUEST_TEXTURE_ELEMENT_OVERRIDES] = R.string.quest_texture_element_overrides
|
||||
titles[MenuTag.CONFIG_LOG] = R.string.log_submenu
|
||||
titles[MenuTag.GCPAD_TYPE] = R.string.gcpad_settings
|
||||
titles[MenuTag.WIIMOTE] = R.string.wiimote_settings
|
||||
|
||||
+767
-282
File diff suppressed because it is too large.
Load diff
@@ -16,6 +16,7 @@ import androidx.core.view.WindowInsetsCompat
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener
|
||||
import com.google.android.material.appbar.AppBarLayout
|
||||
import com.google.android.material.tabs.TabLayout
|
||||
import org.dolphinemu.dolphinemu.BuildConfig
|
||||
import org.dolphinemu.dolphinemu.NativeLibrary
|
||||
import org.dolphinemu.dolphinemu.R
|
||||
import org.dolphinemu.dolphinemu.adapters.PlatformPagerAdapter
|
||||
@@ -131,6 +132,7 @@ class MainActivity : AppCompatActivity(), MainView, OnRefreshListener, ThemeProv
|
||||
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
||||
menuInflater.inflate(R.menu.menu_game_grid, menu)
|
||||
this.menu = menu
|
||||
menu.findItem(R.id.menu_quest_controller_presets).isVisible = BuildConfig.IS_QUEST
|
||||
return true
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import org.dolphinemu.dolphinemu.BuildConfig
|
||||
import org.dolphinemu.dolphinemu.R
|
||||
import org.dolphinemu.dolphinemu.activities.EmulationActivity
|
||||
import org.dolphinemu.dolphinemu.dialogs.QuestControllerSetupDialog
|
||||
import org.dolphinemu.dolphinemu.features.settings.model.BooleanSetting
|
||||
import org.dolphinemu.dolphinemu.features.settings.ui.MenuTag
|
||||
import org.dolphinemu.dolphinemu.features.sysupdate.ui.SystemMenuNotInstalledDialogFragment
|
||||
@@ -167,6 +168,13 @@ class MainPresenter(private val mainView: MainView, private val activity: Fragme
|
||||
true
|
||||
}
|
||||
|
||||
R.id.menu_quest_controller_presets -> {
|
||||
AfterDirectoryInitializationRunner().runWithLifecycle(
|
||||
activity
|
||||
) { showQuestControllerSetupDialog(activity) }
|
||||
true
|
||||
}
|
||||
|
||||
R.id.menu_install_wad -> {
|
||||
AfterDirectoryInitializationRunner().runWithLifecycle(
|
||||
activity
|
||||
@@ -196,6 +204,14 @@ class MainPresenter(private val mainView: MainView, private val activity: Fragme
|
||||
else -> false
|
||||
}
|
||||
|
||||
private fun showQuestControllerSetupDialog(activity: ComponentActivity) {
|
||||
val fragmentManager = (activity as? FragmentActivity)?.supportFragmentManager ?: return
|
||||
if (fragmentManager.findFragmentByTag(QuestControllerSetupDialog.TAG) == null) {
|
||||
QuestControllerSetupDialog.newInstance(false)
|
||||
.show(fragmentManager, QuestControllerSetupDialog.TAG)
|
||||
}
|
||||
}
|
||||
|
||||
fun onResume() {
|
||||
if (dirToAdd != null) {
|
||||
GameFileCache.addGameFolder(dirToAdd!!)
|
||||
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package org.dolphinemu.dolphinemu.utils
|
||||
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import org.dolphinemu.dolphinemu.dialogs.QuestControllerSetupDialog
|
||||
import org.dolphinemu.dolphinemu.features.settings.model.QuestVrSettings
|
||||
import org.dolphinemu.dolphinemu.features.settings.model.Settings
|
||||
|
||||
object FirstLaunchDialogs {
|
||||
@JvmStatic
|
||||
fun checkInit(activity: FragmentActivity) {
|
||||
AfterDirectoryInitializationRunner().runWithLifecycle(activity) {
|
||||
if (QuestVrSettings.shouldAskAboutControllerSetup()) {
|
||||
val fragmentManager = activity.supportFragmentManager
|
||||
if (fragmentManager.findFragmentByTag(QuestControllerSetupDialog.TAG) == null) {
|
||||
QuestControllerSetupDialog.newInstance(true).show(
|
||||
fragmentManager,
|
||||
QuestControllerSetupDialog.TAG
|
||||
)
|
||||
}
|
||||
} else {
|
||||
Analytics.checkAnalyticsInit(activity)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun onQuestControllerSetupAnswered(activity: FragmentActivity, applyDefaults: Boolean) {
|
||||
Settings().use { settings ->
|
||||
settings.loadSettings()
|
||||
QuestVrSettings.recordControllerSetupChoice(settings, applyDefaults)
|
||||
settings.saveSettings()
|
||||
}
|
||||
|
||||
// The Quest dialog is dismissed after its button callback returns. Queue analytics for the
|
||||
// next UI pass so the two dialogs never overlap one another.
|
||||
activity.window.decorView.post { Analytics.checkAnalyticsInit(activity) }
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -28,8 +28,8 @@ public final class StartupHandler
|
||||
|
||||
public static void HandleInit(FragmentActivity parent)
|
||||
{
|
||||
// Ask the user if he wants to enable analytics if we haven't yet.
|
||||
Analytics.checkAnalyticsInit(parent);
|
||||
// Show first-launch questions one at a time. Quest controller setup is offered before analytics.
|
||||
FirstLaunchDialogs.checkInit(parent);
|
||||
|
||||
// Set up and/or sync Android TV channels
|
||||
if (TvUtil.isLeanback(parent))
|
||||
|
||||
@@ -26,6 +26,13 @@
|
||||
android:title="@string/grid_menu_open_file"
|
||||
app:showAsAction="ifRoom"/>
|
||||
|
||||
<!-- Shown only on Quest builds; MainActivity flips the visibility. -->
|
||||
<item
|
||||
android:id="@+id/menu_quest_controller_presets"
|
||||
android:title="@string/grid_menu_quest_controller_presets"
|
||||
android:visible="false"
|
||||
app:showAsAction="never"/>
|
||||
|
||||
<item
|
||||
android:id="@+id/menu_install_wad"
|
||||
android:title="@string/grid_menu_install_wad"
|
||||
|
||||
@@ -339,24 +339,63 @@
|
||||
<item>3</item>
|
||||
</integer-array>
|
||||
|
||||
<string-array name="questControllerPresetEntries">
|
||||
<item>@string/quest_controller_preset_gamecube</item>
|
||||
<item>@string/quest_controller_preset_wiimote</item>
|
||||
</string-array>
|
||||
<integer-array name="questControllerPresetValues">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
</integer-array>
|
||||
|
||||
<string-array name="questOpcodeReplayEntries">
|
||||
<string-array name="questFoveationLevelEntries">
|
||||
<item>@string/off</item>
|
||||
<item>@string/quest_opcode_replay_60_to_90</item>
|
||||
<item>@string/quest_opcode_replay_30_to_90</item>
|
||||
<item>@string/quest_foveation_low</item>
|
||||
<item>@string/quest_foveation_medium</item>
|
||||
<item>@string/quest_foveation_high</item>
|
||||
</string-array>
|
||||
<integer-array name="questOpcodeReplayValues">
|
||||
<integer-array name="questFoveationLevelValues">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
<item>3</item>
|
||||
</integer-array>
|
||||
|
||||
<string-array name="questForcedVbiFrequencyEntries">
|
||||
<item>@string/quest_forced_vbi_auto</item>
|
||||
<item>@string/off</item>
|
||||
<item>@string/quest_forced_vbi_72</item>
|
||||
<item>@string/quest_forced_vbi_90</item>
|
||||
<item>@string/quest_forced_vbi_120</item>
|
||||
</string-array>
|
||||
<integer-array name="questForcedVbiFrequencyValues">
|
||||
<item>-1</item>
|
||||
<item>0</item>
|
||||
<item>72</item>
|
||||
<item>90</item>
|
||||
<item>120</item>
|
||||
</integer-array>
|
||||
|
||||
<string-array name="questReferenceSpaceModeEntries">
|
||||
<item>@string/quest_reference_space_local</item>
|
||||
<item>@string/quest_reference_space_stage_height</item>
|
||||
<item>@string/quest_reference_space_stage</item>
|
||||
</string-array>
|
||||
<integer-array name="questReferenceSpaceModeValues">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
</integer-array>
|
||||
|
||||
<string-array name="questTrackingModeEntries">
|
||||
<item>@string/quest_tracking_mode_6dof</item>
|
||||
<item>@string/quest_tracking_mode_3dof</item>
|
||||
<item>@string/none</item>
|
||||
</string-array>
|
||||
<integer-array name="questTrackingModeValues">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
</integer-array>
|
||||
|
||||
<string-array name="questPassthroughCoverageModeEntries">
|
||||
<item>@string/quest_passthrough_coverage_exact</item>
|
||||
<item>@string/quest_passthrough_coverage_fast</item>
|
||||
</string-array>
|
||||
<integer-array name="questPassthroughCoverageModeValues">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
</integer-array>
|
||||
|
||||
<!-- Aspect Ratio Preference -->
|
||||
|
||||
@@ -344,6 +344,8 @@
|
||||
<string name="vsync_description">This setting is unnecessary on most Android devices, because Android always enables V-Sync. If unsure, leave this unchecked.</string>
|
||||
<string name="backend_multithreading">Backend Multithreading</string>
|
||||
<string name="backend_multithreading_description">Enables graphics backend multithreading (Vulkan only). May affect performance. If unsure, leave this checked.</string>
|
||||
<string name="command_buffers_in_flight">Command Buffers in Flight</string>
|
||||
<string name="command_buffers_in_flight_description">How many command buffers the Vulkan backend keeps in flight. Each time one is submitted, Dolphin reuses the oldest and must wait for the GPU to finish it, so a shallow ring stalls whenever the GPU completes work more slowly than Dolphin queues it. Raising this can recover a lot of performance in games that submit many times per frame, and in VR. Higher values cost a little memory and let the CPU run further ahead of the GPU, which adds latency if you are GPU-bound. Vulkan only. Takes effect on next launch.</string>
|
||||
<string name="prefer_vs_for_point_line_expansion">Prefer VS for Point/Line Expansion</string>
|
||||
<string name="prefer_vs_for_point_line_expansion_description">On backends that support both using the geometry shader and the vertex shader for expanding points and lines, selects the vertex shader for the job. May affect performance.</string>
|
||||
<string name="cpu_cull">Cull Vertices on the CPU</string>
|
||||
@@ -486,6 +488,7 @@
|
||||
<string name="grid_menu_grid_options">Grid Options</string>
|
||||
<string name="grid_menu_refresh">Refresh Library</string>
|
||||
<string name="grid_menu_open_file">Open File</string>
|
||||
<string name="grid_menu_quest_controller_presets">Apply Quest Controller Presets</string>
|
||||
<string name="grid_menu_install_wad">Install WAD</string>
|
||||
<string name="grid_menu_import_wii_save">Import Wii Save</string>
|
||||
<string name="grid_menu_import_nand_backup">Import BootMii NAND Backup</string>
|
||||
@@ -786,48 +789,80 @@ It can efficiently compress both junk data and encrypted Wii data.
|
||||
<string name="stereoscopy_openxr">OpenXR</string>
|
||||
<string name="openxr_submenu">OpenXR</string>
|
||||
<string name="quest_vr_settings">Quest VR</string>
|
||||
<string name="quest_vr_presets">Controller Presets</string>
|
||||
<string name="quest_vr_runtime">Runtime</string>
|
||||
<string name="quest_vr_virtual_screen">Virtual Screen</string>
|
||||
<string name="quest_vr_groups">Settings Groups</string>
|
||||
<string name="quest_vr_camera">Camera</string>
|
||||
<string name="quest_vr_rendering">Rendering</string>
|
||||
<string name="quest_vr_framerate">Framerate</string>
|
||||
<string name="quest_vr_hacks">VR Hacks</string>
|
||||
<string name="quest_vr_passthrough">Passthrough</string>
|
||||
<string name="quest_vr_debug">Comfort and Debug</string>
|
||||
<string name="quest_enable_openxr">Enable OpenXR on Quest</string>
|
||||
<string name="quest_enable_openxr_description">Allows Quest launches to switch Dolphin into the OpenXR renderer.</string>
|
||||
<string name="quest_launch_in_vr">Launch games in VR</string>
|
||||
<string name="quest_launch_in_vr_description">Starts emulation in the headset instead of keeping games on the 2D Android surface.</string>
|
||||
<string name="quest_launch_in_vr_description">On: renders games in stereoscopic 3D VR. Off: shows the game on a flat screen in the headset (requires Enable OpenXR).</string>
|
||||
<string name="quest_recenter_on_launch">Recenter on launch</string>
|
||||
<string name="quest_recenter_on_launch_description">Recenters the active OpenXR view as soon as emulation starts.</string>
|
||||
<string name="quest_force_immediately_present_xfb">Force Immediately Present XFB</string>
|
||||
<string name="quest_force_immediately_present_xfb_description">Keeps Immediately Present XFB enabled while OpenXR is active for lower latency head tracking.</string>
|
||||
<string name="quest_force_vbi_from_hmd">Force VBI frequency to 90 Hz in VR</string>
|
||||
<string name="quest_force_vbi_from_hmd_description">Overrides Dolphin\'s VBI frequency while OpenXR is active to better match a 90 Hz headset.</string>
|
||||
<string name="quest_forced_vbi_frequency">Forced VBI Frequency</string>
|
||||
<string name="quest_forced_vbi_frequency_description">Forces Dolphin\'s VBI frequency to a fixed rate while OpenXR is active, overriding the Advanced tab\'s VBI percentage. Auto samples the headset refresh rate once at session startup.</string>
|
||||
<string name="quest_forced_vbi_auto">Auto</string>
|
||||
<string name="quest_forced_vbi_72">72 Hz</string>
|
||||
<string name="quest_forced_vbi_90">90 Hz</string>
|
||||
<string name="quest_forced_vbi_120">120 Hz</string>
|
||||
<string name="quest_eager_heartbeat">Eager Frame Heartbeat</string>
|
||||
<string name="quest_eager_heartbeat_description">Resubmits the last frame every headset refresh so every slot is filled when the game renders slower than the display. Recommended on Quest, which has no runtime motion smoothing of its own. Can be toggled while a game is running.</string>
|
||||
<string name="quest_reference_space_mode">Default VR Position</string>
|
||||
<string name="quest_reference_space_mode_description">Chooses how the default VR position is set when OpenXR starts. LOCAL sets home from the initial headset position. STAGE uses the play-space origin. Falls back to LOCAL if STAGE is unavailable. Takes effect on next launch.</string>
|
||||
<string name="quest_reference_space_local">LOCAL</string>
|
||||
<string name="quest_reference_space_stage_height">STAGE + Height</string>
|
||||
<string name="quest_reference_space_stage">STAGE</string>
|
||||
<string name="quest_tracking_mode">Tracking Mode</string>
|
||||
<string name="quest_tracking_mode_description">Chooses how headset tracking affects the VR camera. 6DoF uses full rotation and position. 3DoF uses rotation only. None disables both.</string>
|
||||
<string name="quest_tracking_mode_6dof">6DoF</string>
|
||||
<string name="quest_tracking_mode_3dof">3DoF</string>
|
||||
<string name="quest_cpu_level_5_hint">Request Quest CPU level 5</string>
|
||||
<string name="quest_cpu_level_5_hint_description">Requests sustained-high OpenXR performance while VR is active. Quest 3/3S may use CPU level 5 with the CPU/GPU trade hint, but the OS can still limit clocks.</string>
|
||||
<string name="quest_units_per_meter">Units Per Meter</string>
|
||||
<string name="quest_units_per_meter_description">Sets how many game world units correspond to one real-world meter. Higher values make the world feel smaller, while lower values make it feel larger.</string>
|
||||
<string name="quest_enable_lean_back_angle">Enable Lean Back Angle</string>
|
||||
<string name="quest_enable_lean_back_angle_description">When off, ignores the Lean Back Angle value below and applies no pitch offset.</string>
|
||||
<string name="quest_lean_back_angle">Lean Back Angle</string>
|
||||
<string name="quest_lean_back_angle_description">Applies a constant pitch offset to the VR camera to compensate for games that feel tilted.</string>
|
||||
<string name="quest_enable_camera_forward">Enable Camera Forward</string>
|
||||
<string name="quest_enable_camera_forward_description">When off, ignores the Camera Forward value below and applies no forward/backward offset.</string>
|
||||
<string name="quest_camera_forward">Camera Forward</string>
|
||||
<string name="quest_camera_forward_description">Applies a constant forward or backward offset to the VR camera.</string>
|
||||
<string name="quest_enable_camera_height">Enable Camera Height</string>
|
||||
<string name="quest_enable_camera_height_description">When off, ignores the Camera Height value below and applies no vertical offset.</string>
|
||||
<string name="quest_camera_height">Camera Height</string>
|
||||
<string name="quest_camera_height_description">Applies a constant vertical offset to the VR camera.</string>
|
||||
<string name="quest_opcode_replay">Opcode Replay</string>
|
||||
<string name="quest_opcode_replay_description">Submits synthetic OpenXR frames between real emulation frames to better match headset cadence.</string>
|
||||
<string name="quest_opcode_replay_60_to_90">60 to 90</string>
|
||||
<string name="quest_opcode_replay_30_to_90">30 to 90</string>
|
||||
<string name="quest_enable_camera_anchor">Camera Anchor</string>
|
||||
<string name="quest_enable_camera_anchor_description">Lets a "Camera Anchor" Elements Group Override move the VR camera to a game element\'s position, e.g. a character\'s head for first-person view. When no anchor override matches, the camera stays at the default position.</string>
|
||||
<string name="quest_camera_anchor_smoothing">Camera Anchor Smoothing</string>
|
||||
<string name="quest_camera_anchor_smoothing_description">How much the anchored camera resists the element\'s movement each frame. 0 follows the element rigidly and transmits every animation bob; higher values smooth the motion for comfort.</string>
|
||||
<string name="quest_enable_controller_anchor">Controller Anchor</string>
|
||||
<string name="quest_enable_controller_anchor_description">Lets "Controller Anchor" Elements Group Overrides reposition game elements onto a VR controller, e.g. a sword on the right hand. When no override matches, elements render where the game put them.</string>
|
||||
<string name="quest_left_handed_wiimote">Left-handed Wii Remote</string>
|
||||
<string name="quest_left_handed_wiimote_description">Uses the left Quest controller as the primary OpenXR Wii Remote hand.</string>
|
||||
<string name="quest_show_mirror_surface">Show 2D mirror surface</string>
|
||||
<string name="quest_show_mirror_surface_description">Keeps the Android surface visible while OpenXR is active for debugging and capture.</string>
|
||||
<string name="quest_show_perf_hud">Show performance HUD</string>
|
||||
<string name="quest_show_perf_hud_description">Displays Dolphin frame rate statistics in the headset mirror.</string>
|
||||
<string name="quest_detect_skybox">Detect Skybox</string>
|
||||
<string name="quest_detect_skybox_description">Treats objects drawn at the camera origin as skyboxes and locks them to head rotation only, so the sky renders at infinity instead of appearing too close. Disable if it incorrectly affects non-sky geometry.</string>
|
||||
<string name="quest_passthrough">Enable passthrough</string>
|
||||
<string name="quest_passthrough_description">Submits the OpenXR layer with transparent background so headset passthrough can show through empty regions.</string>
|
||||
<string name="quest_passthrough_debug">Passthrough debug tint</string>
|
||||
<string name="quest_passthrough_debug_description">Uses a solid debug clear color to make passthrough masking issues obvious.</string>
|
||||
<string name="quest_ar_background_alpha">AR Background Alpha</string>
|
||||
<string name="quest_ar_background_alpha_description">Controls the alpha used for the OpenXR background when passthrough composition is active.</string>
|
||||
<string name="quest_lock_head_pose">Lock head pose per frame</string>
|
||||
<string name="quest_lock_head_pose_description">Keeps pose updates aligned with emulation frame boundaries for more stable stereo output.</string>
|
||||
<string name="quest_passthrough_description">Shows the headset camera feed wherever the game renders nothing, using a dedicated coverage buffer that leaves game rendering untouched (XR_FB_passthrough).</string>
|
||||
<string name="quest_passthrough_reveal_unrendered">Reveal unrendered areas</string>
|
||||
<string name="quest_passthrough_reveal_unrendered_description">Reveals EFB regions no game draw or clear touched. Disable to keep the scene opaque and use only Passthrough element overrides.</string>
|
||||
<string name="quest_passthrough_remove_black_clears">Remove black EFB clears</string>
|
||||
<string name="quest_passthrough_remove_black_clears_description">Treats near-black EFB color clears as unrendered so menus and skyless scenes reveal the camera feed. Colored clears stay opaque.</string>
|
||||
<string name="quest_passthrough_scene_opacity">Scene opacity</string>
|
||||
<string name="quest_passthrough_scene_opacity_description">Blends the whole rendered scene over the camera feed. 1.0 = fully opaque game, lower values fade everything toward the real world.</string>
|
||||
<string name="quest_passthrough_coverage_mode">Coverage Mode</string>
|
||||
<string name="quest_passthrough_coverage_mode_description">Exact preserves game blending and logic operations by using a coverage prepass when a draw cannot safely write the coverage buffer. Fast may disable dual-source blending where required.</string>
|
||||
<string name="quest_passthrough_coverage_exact">Exact</string>
|
||||
<string name="quest_passthrough_coverage_fast">Fast</string>
|
||||
<string name="quest_vr_gamma">VR Gamma</string>
|
||||
<string name="quest_vr_gamma_description">Adjusts gamma correction for the OpenXR eye output.</string>
|
||||
<string name="quest_virtual_screen">Virtual Screen for 2D Content</string>
|
||||
@@ -838,28 +873,46 @@ It can efficiently compress both junk data and encrypted Wii data.
|
||||
<string name="quest_screen_size_description">Controls the size of the virtual screen used for 2D content.</string>
|
||||
<string name="quest_head_locked_curvature">Head Locked Curvature</string>
|
||||
<string name="quest_head_locked_curvature_description">Curves head-locked virtual screens so they wrap more around the viewer.</string>
|
||||
<string name="quest_auto_layer_spread">Auto Layer Spread</string>
|
||||
<string name="quest_auto_layer_spread_description">Automatically spreads 2D elements across depth layers to reduce Z-fighting.</string>
|
||||
<string name="quest_layer_offset">Layer Offset</string>
|
||||
<string name="quest_layer_offset_description">Controls the depth separation between consecutive 2D layers on the virtual screen.</string>
|
||||
<string name="quest_element_depth">Element Depth</string>
|
||||
<string name="quest_element_depth_description">Controls the depth range within individual 2D elements on the virtual screen.</string>
|
||||
<string name="quest_controller_preset">Default controller preset</string>
|
||||
<string name="quest_controller_preset_description">Selects which stock Quest controller mapping Dolphin reapplies before launch.</string>
|
||||
<string name="quest_controller_preset_gamecube">GameCube pad</string>
|
||||
<string name="quest_controller_preset_wiimote">Wii Remote</string>
|
||||
<string name="quest_apply_controller_preset">Apply selected preset now</string>
|
||||
<string name="quest_apply_controller_preset_description">Loads the selected Quest controller profile immediately.</string>
|
||||
<string name="quest_controller_preset_applied">Quest controller preset applied.</string>
|
||||
<string name="quest_apply_recommended_defaults">Apply recommended Quest defaults</string>
|
||||
<string name="quest_apply_recommended_defaults_description">Forces Vulkan, conservative rendering defaults, and Quest-safe VR options.</string>
|
||||
<string name="quest_recommended_defaults_applied">Quest defaults applied.</string>
|
||||
<string name="quest_exact_screen_depth">Exact Screen Depth</string>
|
||||
<string name="quest_exact_screen_depth_description">Writes the game\'s original depth values on the 2D Virtual Screen, eliminating Z-fighting between menu elements.</string>
|
||||
<string name="quest_auto_native_efb_effects">Auto-Exclude EFB Effects</string>
|
||||
<string name="quest_auto_native_efb_effects_description">Keeps full-screen EFB effects (bloom, motion blur, heat distortion) off the 2D Virtual Screen by rendering them natively over each eye. Disable if a game\'s genuine 2D element is misdetected and leaves the screen.</string>
|
||||
<string name="quest_hud_thickness">Screen Depth</string>
|
||||
<string name="quest_hud_thickness_description">Gives 2D HUD and menu layers real 3D depth by spreading their elements across this much world-space thickness instead of drawing them flat on a single plane. Set to 0 for a completely flat HUD.</string>
|
||||
<string name="quest_controller_preset_applied">Quest controller presets applied.</string>
|
||||
<string name="quest_controller_setup_title">Set up Quest controllers?</string>
|
||||
<string name="quest_controller_setup_description">Would you like to apply the default Quest controller presets for Wii and GameCube?\n\nThis sets GameCube Controller 1, Wii Remote 1, and Hotkeys to use OpenXR. You can customize the VR controls later with the Configure in VR button, which opens an OpenXR session so Dolphin can register the controller inputs.</string>
|
||||
<string name="quest_reset_openxr_settings">Reset OpenXR Settings</string>
|
||||
<string name="quest_reset_openxr_settings_description">Restores every setting on this screen to its default value. Graphics backend, resolution, and controller mappings are left alone.</string>
|
||||
<string name="quest_reset_openxr_settings_confirmation">Reset all OpenXR settings to their defaults?</string>
|
||||
<string name="quest_openxr_settings_reset">OpenXR settings reset.</string>
|
||||
<string name="quest_remove_cinematic_bars">Remove Cinematic Bars</string>
|
||||
<string name="quest_remove_cinematic_bars_description">Expands perspective rendering to remove cinematic letterbox bars while in VR.</string>
|
||||
<string name="quest_frame_size_from_xfb">Frame Size from XFB Copy</string>
|
||||
<string name="quest_frame_size_from_xfb_description">Matches the composed scene to the EFB-to-XFB display copy without changing the game\'s EFB viewport. Preserves Metroid Prime Trilogy blur/visor effects and corrects Mario Golf\'s 480-line scene to 448-line display mismatch.</string>
|
||||
<string name="quest_small_viewports_on_screen">Small 3D Viewports on Screen</string>
|
||||
<string name="quest_small_viewports_on_screen_description">Draws 3D models rendered into small menu panes (e.g. the Mario Kart: Double Dash!! character select boxes) on the 2D virtual screen instead of head-tracking them, so they stop swaying and stretching when you move your head.</string>
|
||||
<string name="quest_detect_render_targets">Detect Render-to-Texture Viewports</string>
|
||||
<string name="quest_detect_render_targets_description">Excludes square render-to-texture passes (shadow and environment maps) from VR reprojection so their output textures don\'t bake in the head pose. Experimental.</string>
|
||||
<string name="quest_ortho_scissor_fix">Ortho Scissor Fix</string>
|
||||
<string name="quest_ortho_scissor_fix_description">Expands the scissor to the full active rendering area for orthographic VR draws, fixing 2D content reprojected onto the virtual screen that still uses game-side EFB scissor coordinates.</string>
|
||||
<string name="quest_layered_palette_conversion">Layered Palette Conversion Path</string>
|
||||
<string name="quest_layered_palette_conversion_description">Keeps Metroid Prime\'s thermal visor EFB copy stereo during palette conversion instead of flattening it to one eye. Only affects thermal-sized stereo EFB copies.</string>
|
||||
<string name="quest_use_vulkan_multiview">Vulkan Multiview (Quest perf)</string>
|
||||
<string name="quest_use_vulkan_multiview_description">Renders both eyes in a single pass via VK_KHR_multiview. Disable to fall back to the geometry-shader stereo path if the multiview path produces broken visuals.</string>
|
||||
<string name="quest_resolution_scale">VR Resolution Scale</string>
|
||||
<string name="quest_resolution_scale_description">Scales the OpenXR eye buffers relative to the headset\'s recommended resolution. Lower values recover GPU headroom with a small sharpness cost; 0.85 is the recommended Quest default. Takes effect on next launch.</string>
|
||||
<string name="quest_foveation_level">Foveated Rendering</string>
|
||||
<string name="quest_foveation_level_description">Renders the edges of each eye at reduced resolution to save GPU time (XR_FB_foveation). Higher levels save more but blur the periphery. Takes effect on next launch.</string>
|
||||
<string name="quest_dynamic_foveation">Dynamic Foveation</string>
|
||||
<string name="quest_dynamic_foveation_description">Lets the runtime lower the foveation level automatically when the GPU has headroom, keeping the image sharp in light scenes.</string>
|
||||
<string name="quest_foveate_efb">Foveate Game Render (EFB)</string>
|
||||
<string name="quest_foveate_efb_description">Applies foveation to the game\'s own render pass, not just the final eye buffers. Helps games with long uninterrupted render passes, but HURTS games that interrupt rendering with many EFB copies per frame (e.g. Mario Kart Wii\'s bloom) — it forces the GPU out of direct rendering mode. Leave off unless a specific game benefits. Takes effect on next launch.</string>
|
||||
<string name="quest_foveation_low">Low</string>
|
||||
<string name="quest_foveation_medium">Medium</string>
|
||||
<string name="quest_foveation_high">High</string>
|
||||
<string name="quest_android_direct_to_hmd">Android direct-to-HMD</string>
|
||||
<string name="quest_android_direct_to_hmd_description">Skips the normal Android backbuffer present and submits the XFB directly to OpenXR. Faster in some scenes, but can freeze or black-screen games that stop producing XFB frames during transitions.</string>
|
||||
<string name="quest_android_direct_to_hmd_description">Skips the normal Android backbuffer present and submits the XFB straight to the OpenXR swapchain, saving a full-screen copy and a present per frame. Leave on.</string>
|
||||
<string name="quest_clear_efb_copies">Clear EFB Copies</string>
|
||||
<string name="quest_clear_efb_copies_description">Clears large EFB copy textures to transparent at or above the selected native width. Set 0 to disable.</string>
|
||||
<string name="quest_dont_clear_screen">Don\'t Clear Screen</string>
|
||||
@@ -868,8 +921,6 @@ It can efficiently compress both junk data and encrypted Wii data.
|
||||
<string name="quest_disable_cpu_culling_description">Disables Dolphin\'s CPU-side primitive culling while OpenXR is active.</string>
|
||||
<string name="quest_load_custom_shaders">Load Custom Shaders</string>
|
||||
<string name="quest_load_custom_shaders_description">Loads custom shader replacements from the game\'s shader override directory.</string>
|
||||
<string name="quest_enable_openxr_config_scene">Enable OpenXR Config Scene</string>
|
||||
<string name="quest_enable_openxr_config_scene_description">Starts a temporary OpenXR scene while configuring controller bindings outside emulation.</string>
|
||||
<string name="quest_recenter_now">Recenter VR view now</string>
|
||||
<string name="quest_recenter_now_description">Requests an OpenXR recenter while emulation is running.</string>
|
||||
<string name="quest_vr_config">VR Config</string>
|
||||
@@ -881,6 +932,8 @@ It can efficiently compress both junk data and encrypted Wii data.
|
||||
<string name="quest_shader_overrides_description">Enable or disable stored Shader Overrides for this game.</string>
|
||||
<string name="quest_elements_group_overrides">Elements Group Overrides</string>
|
||||
<string name="quest_elements_group_overrides_description">Enable or disable stored Elements Group Overrides for this game.</string>
|
||||
<string name="quest_texture_element_overrides">Texture Element Overrides</string>
|
||||
<string name="quest_texture_element_overrides_description">Enable or disable stored Texture Element Overrides for this game.</string>
|
||||
<string name="quest_no_stored_overrides">No stored overrides found for this game.</string>
|
||||
|
||||
<!-- Aspect Ratio Preference -->
|
||||
@@ -919,6 +972,9 @@ It can efficiently compress both junk data and encrypted Wii data.
|
||||
<string name="wiimote_disabled">None</string>
|
||||
<string name="wiimote_emulated">Emulated Wii Remote</string>
|
||||
<string name="wiimote_openxr">OpenXR Wii Remote</string>
|
||||
<string name="openxr_controller_mapper">Configure in VR</string>
|
||||
<string name="openxr_controller_mapper_description">Open an immersive controller binding wizard. Emulation must be stopped.</string>
|
||||
<string name="openxr_controller_mapper_applied">OpenXR controller bindings applied.</string>
|
||||
<string name="wiimote_real">Real Wii Remote (DolphinBar required)</string>
|
||||
|
||||
<!-- Hotkeys -->
|
||||
|
||||
@@ -20,6 +20,11 @@
|
||||
<uses-feature
|
||||
android:name="android.software.xr.api.openxr"
|
||||
android:required="true" />
|
||||
<!-- Required for XR_FB_passthrough: without this flag the OS keeps the app
|
||||
passthrough-disabled and xrCreatePassthroughFB/passthrough layers do nothing. -->
|
||||
<uses-feature
|
||||
android:name="com.oculus.feature.PASSTHROUGH"
|
||||
android:required="false" />
|
||||
|
||||
<application>
|
||||
<uses-native-library
|
||||
@@ -52,6 +57,23 @@
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
<activity
|
||||
android:name=".activities.OpenXRControllerMapperActivity"
|
||||
android:theme="@style/Theme.Dolphin.EmulationVR"
|
||||
android:taskAffinity="${applicationId}.openxr_mapper"
|
||||
android:launchMode="singleTask"
|
||||
android:resizeableActivity="false"
|
||||
android:exported="true">
|
||||
<property
|
||||
android:name="android.window.PROPERTY_XR_ACTIVITY_START_MODE"
|
||||
android:value="XR_ACTIVITY_START_MODE_FULL_SPACE_UNMANAGED" />
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="com.oculus.intent.category.VR" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
@@ -20,9 +20,9 @@
|
||||
|
||||
#include "Common/Assert.h"
|
||||
#include "Common/CPUDetect.h"
|
||||
#include "Common/Config/Config.h"
|
||||
#include "Common/CommonPaths.h"
|
||||
#include "Common/CommonTypes.h"
|
||||
#include "Common/Config/Config.h"
|
||||
#include "Common/Event.h"
|
||||
#include "Common/FileUtil.h"
|
||||
#include "Common/Flag.h"
|
||||
@@ -43,8 +43,10 @@
|
||||
#include "Core/Core.h"
|
||||
#include "Core/DolphinAnalytics.h"
|
||||
#include "Core/HW/DVD/DVDInterface.h"
|
||||
#include "Core/HW/GCPad.h"
|
||||
#include "Core/HW/Wiimote.h"
|
||||
#include "Core/HW/WiimoteReal/WiimoteReal.h"
|
||||
#include "Core/HotkeyManager.h"
|
||||
#include "Core/Host.h"
|
||||
#include "Core/PowerPC/JitInterface.h"
|
||||
#include "Core/PowerPC/PowerPC.h"
|
||||
@@ -57,7 +59,11 @@
|
||||
#include "DiscIO/ScrubbedBlob.h"
|
||||
#include "DiscIO/Volume.h"
|
||||
|
||||
#include "InputCommon/ControlReference/ControlReference.h"
|
||||
#include "InputCommon/ControllerEmu/ControllerEmu.h"
|
||||
#include "InputCommon/ControllerInterface/ControllerInterface.h"
|
||||
#include "InputCommon/GCAdapter.h"
|
||||
#include "InputCommon/InputConfig.h"
|
||||
|
||||
#include "UICommon/GameFile.h"
|
||||
#include "UICommon/UICommon.h"
|
||||
@@ -67,6 +73,9 @@
|
||||
#include "VideoCommon/VideoBackendBase.h"
|
||||
#ifdef ENABLE_VR
|
||||
#include "VideoCommon/VR/OpenXRManager.h"
|
||||
#if defined(HAS_VULKAN)
|
||||
#include "VideoCommon/VR/OpenXRUtilitySession.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include "jni/AndroidCommon/AndroidCommon.h"
|
||||
@@ -97,6 +106,12 @@ bool s_need_nonblocking_alert_msg;
|
||||
|
||||
Common::Flag s_is_booting;
|
||||
bool s_game_metadata_is_valid = false;
|
||||
|
||||
#if defined(ENABLE_VR) && defined(HAS_VULKAN)
|
||||
std::mutex s_openxr_mapper_mutex;
|
||||
std::unique_ptr<VR::OpenXRUtilitySession> s_openxr_mapper;
|
||||
bool s_openxr_mapper_owns_android_app_info = false;
|
||||
#endif
|
||||
} // Anonymous namespace
|
||||
|
||||
void UpdatePointer()
|
||||
@@ -273,8 +288,8 @@ JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_StopEmulatio
|
||||
s_update_main_frame_event.Set();
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_RequestOpenXRRecenter(
|
||||
JNIEnv*, jclass)
|
||||
JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_RequestOpenXRRecenter(JNIEnv*,
|
||||
jclass)
|
||||
{
|
||||
#ifdef ENABLE_VR
|
||||
HostThreadLock guard;
|
||||
@@ -283,6 +298,143 @@ JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_RequestOpenX
|
||||
#endif
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_StartOpenXRControllerMapper(
|
||||
JNIEnv* env, jclass, jobject activity, jint controller_port, jint target_type)
|
||||
{
|
||||
#if defined(ENABLE_VR) && defined(HAS_VULKAN)
|
||||
std::lock_guard lock(s_openxr_mapper_mutex);
|
||||
if (s_openxr_mapper)
|
||||
return JNI_FALSE;
|
||||
|
||||
VR::OpenXRUtilitySessionTargetType target;
|
||||
switch (target_type)
|
||||
{
|
||||
case 0:
|
||||
target = VR::OpenXRUtilitySessionTargetType::WiiRemote;
|
||||
break;
|
||||
case 1:
|
||||
target = VR::OpenXRUtilitySessionTargetType::GameCubeController;
|
||||
break;
|
||||
case 2:
|
||||
target = VR::OpenXRUtilitySessionTargetType::Hotkeys;
|
||||
break;
|
||||
default:
|
||||
return JNI_FALSE;
|
||||
}
|
||||
|
||||
s_openxr_mapper = std::make_unique<VR::OpenXRUtilitySession>();
|
||||
const VR::OpenXRUtilitySessionTarget mapper_target{target, controller_port};
|
||||
if (controller_port < 0 || controller_port >= 4 ||
|
||||
Core::GetState(Core::System::GetInstance()) != Core::State::Uninitialized || VR::g_openxr)
|
||||
{
|
||||
return static_cast<jboolean>(s_openxr_mapper->Start(mapper_target));
|
||||
}
|
||||
|
||||
JavaVM* vm = nullptr;
|
||||
env->GetJavaVM(&vm);
|
||||
VR::OpenXRManager::SetAndroidAppInfo(vm, env, activity);
|
||||
s_openxr_mapper_owns_android_app_info = true;
|
||||
return static_cast<jboolean>(s_openxr_mapper->Start(mapper_target));
|
||||
#else
|
||||
return JNI_FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_org_dolphinemu_dolphinemu_NativeLibrary_GetOpenXRControllerMapperState(JNIEnv*, jclass)
|
||||
{
|
||||
#if defined(ENABLE_VR) && defined(HAS_VULKAN)
|
||||
std::lock_guard lock(s_openxr_mapper_mutex);
|
||||
return s_openxr_mapper ? static_cast<jint>(s_openxr_mapper->GetState()) : 0;
|
||||
#else
|
||||
return 7;
|
||||
#endif
|
||||
}
|
||||
|
||||
JNIEXPORT jstring JNICALL
|
||||
Java_org_dolphinemu_dolphinemu_NativeLibrary_GetOpenXRControllerMapperFailure(JNIEnv* env, jclass)
|
||||
{
|
||||
#if defined(ENABLE_VR) && defined(HAS_VULKAN)
|
||||
std::lock_guard lock(s_openxr_mapper_mutex);
|
||||
return ToJString(env, s_openxr_mapper ? s_openxr_mapper->GetFailureMessage() :
|
||||
"The OpenXR controller mapper is not running.");
|
||||
#else
|
||||
return ToJString(env, "This build does not include OpenXR support.");
|
||||
#endif
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL
|
||||
Java_org_dolphinemu_dolphinemu_NativeLibrary_ApplyOpenXRControllerMapper(JNIEnv*, jclass)
|
||||
{
|
||||
#if defined(ENABLE_VR) && defined(HAS_VULKAN)
|
||||
std::lock_guard lock(s_openxr_mapper_mutex);
|
||||
if (!s_openxr_mapper ||
|
||||
s_openxr_mapper->GetState() != VR::OpenXRUtilitySessionState::ApplyPending)
|
||||
{
|
||||
return JNI_FALSE;
|
||||
}
|
||||
|
||||
VR::OpenXRPendingBindings pending = s_openxr_mapper->TakePendingBindings();
|
||||
InputConfig* config = nullptr;
|
||||
switch (pending.target.type)
|
||||
{
|
||||
case VR::OpenXRUtilitySessionTargetType::WiiRemote:
|
||||
config = Wiimote::GetConfig();
|
||||
break;
|
||||
case VR::OpenXRUtilitySessionTargetType::GameCubeController:
|
||||
config = Pad::GetConfig();
|
||||
break;
|
||||
case VR::OpenXRUtilitySessionTargetType::Hotkeys:
|
||||
config = HotkeyManagerEmu::GetConfig();
|
||||
break;
|
||||
default:
|
||||
return JNI_FALSE;
|
||||
}
|
||||
auto* controller = config && pending.target.port >= 0 &&
|
||||
pending.target.port < config->GetControllerCount() ?
|
||||
config->GetController(pending.target.port) :
|
||||
nullptr;
|
||||
if (!controller)
|
||||
return JNI_FALSE;
|
||||
|
||||
{
|
||||
const auto controller_lock = controller->GetStateLock();
|
||||
ciface::Core::DeviceQualifier device;
|
||||
device.FromString(pending.default_device);
|
||||
controller->SetDefaultDevice(device);
|
||||
for (auto& binding : pending.bindings)
|
||||
{
|
||||
if (binding.reference)
|
||||
binding.reference->SetExpression(std::move(binding.expression));
|
||||
}
|
||||
controller->UpdateReferences(g_controller_interface);
|
||||
config->SaveConfig();
|
||||
}
|
||||
s_openxr_mapper->MarkApplied();
|
||||
return JNI_TRUE;
|
||||
#else
|
||||
return JNI_FALSE;
|
||||
#endif
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_org_dolphinemu_dolphinemu_NativeLibrary_StopOpenXRControllerMapper(JNIEnv* env, jclass)
|
||||
{
|
||||
#if defined(ENABLE_VR) && defined(HAS_VULKAN)
|
||||
std::lock_guard lock(s_openxr_mapper_mutex);
|
||||
if (s_openxr_mapper)
|
||||
{
|
||||
s_openxr_mapper->Stop();
|
||||
s_openxr_mapper.reset();
|
||||
}
|
||||
if (s_openxr_mapper_owns_android_app_info)
|
||||
{
|
||||
VR::OpenXRManager::ClearAndroidAppInfo(env);
|
||||
s_openxr_mapper_owns_android_app_info = false;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_SetIsBooting(JNIEnv*, jclass)
|
||||
{
|
||||
s_is_booting.Set();
|
||||
@@ -609,9 +761,8 @@ static float GetRenderSurfaceScale(JNIEnv* env)
|
||||
static jobject GetEmulationActivity(JNIEnv* env)
|
||||
{
|
||||
jclass native_library_class = env->FindClass(NATIVE_LIBRARY_CLASS);
|
||||
jmethodID get_emulation_activity =
|
||||
env->GetStaticMethodID(native_library_class, GET_EMULATION_ACTIVITY_METHOD,
|
||||
GET_EMULATION_ACTIVITY_SIG);
|
||||
jmethodID get_emulation_activity = env->GetStaticMethodID(
|
||||
native_library_class, GET_EMULATION_ACTIVITY_METHOD, GET_EMULATION_ACTIVITY_SIG);
|
||||
jobject activity = env->CallStaticObjectMethod(native_library_class, get_emulation_activity);
|
||||
env->DeleteLocalRef(native_library_class);
|
||||
return activity;
|
||||
@@ -671,7 +822,8 @@ static void Run(JNIEnv* env, std::unique_ptr<BootParameters>&& boot, bool riivol
|
||||
|
||||
// Start the hotkey dispatcher once boot has settled. Reads HotkeyManagerEmu and dispatches
|
||||
// bound actions (pause, save state, VR adjustments, etc.) on a low-priority background
|
||||
// thread. Stopped below before Core::Shutdown so it never reads a torn-down ControllerInterface.
|
||||
// thread. Stopped below before Core::Shutdown so it never reads a torn-down
|
||||
// ControllerInterface.
|
||||
s_hotkey_dispatcher.Start([] { s_update_main_frame_event.Set(); });
|
||||
}
|
||||
|
||||
|
||||
@@ -21,11 +21,25 @@ public:
|
||||
OpenGLES
|
||||
};
|
||||
|
||||
// Identifies the platform implementation behind this context, so consumers that
|
||||
// need native handles (e.g. OpenXR graphics bindings) can downcast safely.
|
||||
enum class NativeContextType
|
||||
{
|
||||
Unknown,
|
||||
WGL,
|
||||
GLX,
|
||||
EGL,
|
||||
AGL,
|
||||
BGL
|
||||
};
|
||||
|
||||
virtual ~GLContext();
|
||||
|
||||
Mode GetMode() const { return m_opengl_mode; }
|
||||
bool IsGLES() const { return m_opengl_mode == Mode::OpenGLES; }
|
||||
|
||||
virtual NativeContextType GetNativeContextType() const { return NativeContextType::Unknown; }
|
||||
|
||||
u32 GetBackBufferWidth() const { return m_backbuffer_width; }
|
||||
u32 GetBackBufferHeight() const { return m_backbuffer_height; }
|
||||
|
||||
|
||||
@@ -175,7 +175,7 @@ bool GLContextEGL::Initialize(const WindowSystemInfo& wsi, bool stereo, bool cor
|
||||
EGL_BLUE_SIZE,
|
||||
8,
|
||||
EGL_SURFACE_TYPE,
|
||||
IsHeadless() ? 0 : EGL_WINDOW_BIT,
|
||||
IsHeadless() ? EGL_PBUFFER_BIT : EGL_WINDOW_BIT,
|
||||
EGL_NONE};
|
||||
|
||||
std::vector<EGLint> ctx_attribs;
|
||||
@@ -310,10 +310,14 @@ bool GLContextEGL::CreateWindowSurface()
|
||||
m_backbuffer_width = static_cast<int>(surface_width);
|
||||
m_backbuffer_height = static_cast<int>(surface_height);
|
||||
}
|
||||
else if (!m_supports_surfaceless)
|
||||
else
|
||||
{
|
||||
// Always use a pbuffer for headless contexts, even when surfaceless contexts are
|
||||
// supported: Meta's GLES OpenXR runtime requires the app's context to be current
|
||||
// on a real (non-window) surface — with EGL_NO_SURFACE the session never receives
|
||||
// any state events. This mirrors the "tiny surface" from Meta's GLES samples.
|
||||
EGLint attrib_list[] = {
|
||||
EGL_NONE,
|
||||
EGL_WIDTH, 1280, EGL_HEIGHT, 720, EGL_NONE,
|
||||
};
|
||||
m_egl_surface = eglCreatePbufferSurface(m_egl_display, m_config, attrib_list);
|
||||
if (!m_egl_surface)
|
||||
@@ -321,10 +325,8 @@ bool GLContextEGL::CreateWindowSurface()
|
||||
INFO_LOG_FMT(VIDEO, "Error: eglCreatePbufferSurface failed");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
m_egl_surface = EGL_NO_SURFACE;
|
||||
m_backbuffer_width = 1280;
|
||||
m_backbuffer_height = 720;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -17,6 +17,11 @@ public:
|
||||
|
||||
bool IsHeadless() const override;
|
||||
|
||||
NativeContextType GetNativeContextType() const override { return NativeContextType::EGL; }
|
||||
EGLDisplay GetEGLDisplay() const { return m_egl_display; }
|
||||
EGLConfig GetEGLConfig() const { return m_config; }
|
||||
EGLContext GetEGLContext() const { return m_egl_context; }
|
||||
|
||||
std::unique_ptr<GLContext> CreateSharedContext() override;
|
||||
|
||||
bool MakeCurrent() override;
|
||||
|
||||
@@ -19,6 +19,12 @@ public:
|
||||
|
||||
bool IsHeadless() const override;
|
||||
|
||||
NativeContextType GetNativeContextType() const override { return NativeContextType::GLX; }
|
||||
Display* GetDisplay() const { return m_display; }
|
||||
GLXFBConfig GetFBConfig() const { return m_fbconfig; }
|
||||
GLXDrawable GetDrawable() const { return m_drawable; }
|
||||
GLXContext GetContext() const { return m_context; }
|
||||
|
||||
std::unique_ptr<GLContext> CreateSharedContext() override;
|
||||
|
||||
bool MakeCurrent() override;
|
||||
|
||||
@@ -14,6 +14,10 @@ public:
|
||||
|
||||
bool IsHeadless() const override;
|
||||
|
||||
NativeContextType GetNativeContextType() const override { return NativeContextType::WGL; }
|
||||
HDC GetDCHandle() const { return m_dc; }
|
||||
HGLRC GetRCHandle() const { return m_rc; }
|
||||
|
||||
std::unique_ptr<GLContext> CreateSharedContext() override;
|
||||
|
||||
bool MakeCurrent() override;
|
||||
|
||||
@@ -11,6 +11,15 @@
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#if defined(ANDROID)
|
||||
#include <sched.h>
|
||||
#include <algorithm>
|
||||
#include <cstdio>
|
||||
#include <mutex>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
#endif
|
||||
|
||||
#ifdef __APPLE__
|
||||
#include <mach/mach.h>
|
||||
#elif defined BSD4_4 || defined __FreeBSD__ || defined __OpenBSD__
|
||||
@@ -187,6 +196,94 @@ void SetCurrentThreadName(const char* name)
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif // !WIN32
|
||||
|
||||
#if defined(ANDROID)
|
||||
|
||||
namespace
|
||||
{
|
||||
// Indices of the device's fastest CPU cores (all cores sharing the top cpufreq tier),
|
||||
// in ascending order. Detected once. On Quest 3 this is {2,3,4,5}; cpu0/1 are the
|
||||
// slower cores. The app runs as top-app so it may use all of them.
|
||||
std::vector<int> s_performance_cores;
|
||||
std::once_flag s_performance_cores_once;
|
||||
|
||||
void DetectPerformanceCores()
|
||||
{
|
||||
std::vector<std::pair<int, long>> cores; // (cpu index, max frequency)
|
||||
long top_freq = 0;
|
||||
for (int cpu = 0; cpu < 64; ++cpu)
|
||||
{
|
||||
char path[128];
|
||||
std::snprintf(path, sizeof(path), "/sys/devices/system/cpu/cpu%d/cpufreq/cpuinfo_max_freq",
|
||||
cpu);
|
||||
FILE* file = std::fopen(path, "r");
|
||||
if (!file)
|
||||
break; // CPU nodes are contiguous; the first missing one marks the end.
|
||||
long freq = 0;
|
||||
if (std::fscanf(file, "%ld", &freq) == 1 && freq > 0)
|
||||
{
|
||||
cores.emplace_back(cpu, freq);
|
||||
top_freq = std::max(top_freq, freq);
|
||||
}
|
||||
std::fclose(file);
|
||||
}
|
||||
|
||||
for (const auto& [index, freq] : cores)
|
||||
{
|
||||
if (freq == top_freq)
|
||||
s_performance_cores.push_back(index);
|
||||
}
|
||||
}
|
||||
} // namespace
|
||||
|
||||
int PinCurrentThreadToPerformanceCore(ThreadCoreRole role)
|
||||
{
|
||||
std::call_once(s_performance_cores_once, DetectPerformanceCores);
|
||||
if (s_performance_cores.empty())
|
||||
return -1;
|
||||
|
||||
// Hand out distinct cores from the fast tier, top-down (highest core index is usually
|
||||
// the turbo/prime core). EmuCPU gets the fastest, then EmuVideo, then the VR helpers.
|
||||
// If there are fewer fast cores than roles, later roles share (wrap).
|
||||
int slot = 0;
|
||||
switch (role)
|
||||
{
|
||||
case ThreadCoreRole::EmuCPU:
|
||||
slot = 0;
|
||||
break;
|
||||
case ThreadCoreRole::EmuVideo:
|
||||
slot = 1;
|
||||
break;
|
||||
case ThreadCoreRole::VRPacing:
|
||||
case ThreadCoreRole::VRSubmit:
|
||||
// Meta's runtime confines RendererWorker-registered threads to a cpuset (on Quest 3,
|
||||
// {3,4,5}); a pin outside it silently fails. Both light VR workers therefore share the
|
||||
// 3rd fast core — inside that set, and off the EmuCPU/EmuVideo cores (top two).
|
||||
slot = 2;
|
||||
break;
|
||||
}
|
||||
const int count = static_cast<int>(s_performance_cores.size());
|
||||
const int core = s_performance_cores[count - 1 - (slot % count)];
|
||||
|
||||
cpu_set_t set;
|
||||
CPU_ZERO(&set);
|
||||
CPU_SET(core, &set);
|
||||
if (sched_setaffinity(0, sizeof(set), &set) != 0)
|
||||
return -1;
|
||||
return core;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
int PinCurrentThreadToPerformanceCore(ThreadCoreRole /*role*/)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
#endif // ANDROID
|
||||
|
||||
#ifndef _WIN32
|
||||
std::tuple<void*, size_t> GetCurrentThreadStack()
|
||||
{
|
||||
void* stack_addr;
|
||||
|
||||
@@ -26,6 +26,22 @@ int CurrentThreadId();
|
||||
void SetThreadAffinity(std::thread::native_handle_type thread, u32 mask);
|
||||
void SetCurrentThreadAffinity(u32 mask);
|
||||
|
||||
// The hottest emulator threads, for big.LITTLE performance-core pinning.
|
||||
enum class ThreadCoreRole
|
||||
{
|
||||
EmuCPU, // PowerPC JIT ("CPU thread") — serial, latency-critical: dedicated fast core
|
||||
EmuVideo, // FIFO/GPU-submit ("Video thread"): its own fast core, no contention with EmuCPU
|
||||
VRPacing, // OpenXR frame-pacing thread
|
||||
VRSubmit, // Vulkan async command-submit worker
|
||||
};
|
||||
|
||||
// Android only: pin the calling thread to one of the device's performance (highest
|
||||
// max-frequency) cores, chosen per role so these threads land on distinct fast cores
|
||||
// and don't migrate across the big.LITTLE boundary. Cores are classified from
|
||||
// cpufreq at runtime (correct on any Quest). Returns the pinned CPU index, or -1 if
|
||||
// unavailable (non-Android, topology unreadable, or the syscall failed).
|
||||
int PinCurrentThreadToPerformanceCore(ThreadCoreRole role);
|
||||
|
||||
void SleepCurrentThread(int ms);
|
||||
void SwitchCurrentThread(); // On Linux, this is equal to sleep 1ms
|
||||
|
||||
|
||||
@@ -0,0 +1,185 @@
|
||||
// Copyright 2026 Dolphin Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef ENABLE_VR
|
||||
|
||||
#include <array>
|
||||
#include <cstdint>
|
||||
#include <mutex>
|
||||
#include <string>
|
||||
|
||||
namespace Common::VR
|
||||
{
|
||||
struct OpenXRPoseState
|
||||
{
|
||||
bool valid = false;
|
||||
std::array<float, 3> position{};
|
||||
std::array<float, 4> orientation{0.0f, 0.0f, 0.0f, 1.0f};
|
||||
};
|
||||
|
||||
struct OpenXRVelocityState
|
||||
{
|
||||
bool linear_valid = false;
|
||||
bool angular_valid = false;
|
||||
std::array<float, 3> linear{};
|
||||
std::array<float, 3> angular{};
|
||||
};
|
||||
|
||||
// Where the controller's aim ray intersects the VR virtual screen (the ortho 2D screen in
|
||||
// immersive mode, or the flat panel quad in flat-screen mode). Computed by OpenXRManager on
|
||||
// the frame thread with the exact same transform chain the renderer uses to place the screen,
|
||||
// so u/v are an absolute "what the user is aiming at" — the Wii IR pointer maps to it 1:1.
|
||||
struct OpenXRScreenHit
|
||||
{
|
||||
bool valid = false; // Aim ray hits the screen plane in front of the controller
|
||||
float u = 0.0f; // -1..+1 across the screen width, +right (may exceed ±1 off-screen)
|
||||
float v = 0.0f; // -1..+1 across the screen height, +up
|
||||
float distance_m = 0.0f; // Controller-to-screen distance along the aim ray, in meters
|
||||
};
|
||||
|
||||
struct OpenXRControllerState
|
||||
{
|
||||
bool connected = false;
|
||||
bool primary_button = false;
|
||||
bool secondary_button = false;
|
||||
bool menu_button = false;
|
||||
bool trigger_button = false;
|
||||
bool squeeze_button = false;
|
||||
bool thumbstick_button = false;
|
||||
float trigger_value = 0.0f;
|
||||
float squeeze_value = 0.0f;
|
||||
float squeeze_force = 0.0f;
|
||||
float thumbstick_x = 0.0f;
|
||||
float thumbstick_y = 0.0f;
|
||||
OpenXRPoseState aim_pose;
|
||||
OpenXRPoseState grip_pose;
|
||||
OpenXRVelocityState grip_velocity;
|
||||
OpenXRScreenHit screen_hit;
|
||||
};
|
||||
|
||||
struct OpenXRInputSnapshot
|
||||
{
|
||||
std::array<OpenXRControllerState, 2> controllers{};
|
||||
OpenXRPoseState head_pose; // HMD head orientation for IR pointer reference
|
||||
bool runtime_active = false;
|
||||
uint64_t generation = 0;
|
||||
std::array<std::string, 2> interaction_profiles; // Active profile path per hand
|
||||
bool session_focused = false;
|
||||
// XrTime (nanoseconds) the poses/velocities were sampled at. Consumers differentiating
|
||||
// velocities should use deltas of this instead of wall-clock time. 0 when unavailable.
|
||||
int64_t sample_time_ns = 0;
|
||||
};
|
||||
|
||||
struct OpenXRHapticsState
|
||||
{
|
||||
std::array<float, 2> amplitude{};
|
||||
};
|
||||
|
||||
class OpenXRInputState final
|
||||
{
|
||||
public:
|
||||
static OpenXRInputSnapshot GetSnapshot()
|
||||
{
|
||||
std::lock_guard lk(s_state_mutex);
|
||||
return s_state;
|
||||
}
|
||||
|
||||
static void SetControllers(const std::array<OpenXRControllerState, 2>& controllers,
|
||||
bool runtime_active,
|
||||
const OpenXRPoseState& head_pose = {})
|
||||
{
|
||||
std::lock_guard lk(s_state_mutex);
|
||||
s_state.controllers = controllers;
|
||||
s_state.head_pose = head_pose;
|
||||
s_state.runtime_active = runtime_active;
|
||||
++s_state.generation;
|
||||
}
|
||||
|
||||
static void SetControllers(const std::array<OpenXRControllerState, 2>& controllers,
|
||||
bool runtime_active,
|
||||
const OpenXRPoseState& head_pose,
|
||||
const std::array<std::string, 2>& profiles,
|
||||
bool focused,
|
||||
int64_t sample_time_ns = 0)
|
||||
{
|
||||
std::lock_guard lk(s_state_mutex);
|
||||
s_state.controllers = controllers;
|
||||
s_state.head_pose = head_pose;
|
||||
s_state.runtime_active = runtime_active;
|
||||
s_state.interaction_profiles = profiles;
|
||||
s_state.session_focused = focused;
|
||||
s_state.sample_time_ns = sample_time_ns;
|
||||
++s_state.generation;
|
||||
}
|
||||
|
||||
static std::string GetDiagnosticString()
|
||||
{
|
||||
std::lock_guard lk(s_state_mutex);
|
||||
std::string result;
|
||||
result += s_state.session_focused ? "Session: FOCUSED\n" : "Session: NOT FOCUSED\n";
|
||||
for (int i = 0; i < 2; ++i)
|
||||
{
|
||||
const char* hand = i == 0 ? "Left" : "Right";
|
||||
const auto& profile = s_state.interaction_profiles[i];
|
||||
result += std::string(hand) + " Profile: " +
|
||||
(profile.empty() ? "<none>" : profile) + "\n";
|
||||
result += std::string(hand) + ": " +
|
||||
(s_state.controllers[i].connected ? "Connected" : "Not connected") + "\n";
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
static void Reset()
|
||||
{
|
||||
std::lock_guard lk(s_state_mutex);
|
||||
s_state = {};
|
||||
s_haptics = {};
|
||||
++s_state.generation;
|
||||
}
|
||||
|
||||
static OpenXRHapticsState GetHaptics()
|
||||
{
|
||||
std::lock_guard lk(s_state_mutex);
|
||||
return s_haptics;
|
||||
}
|
||||
|
||||
static void SetRumble(float amplitude)
|
||||
{
|
||||
SetRumble(amplitude, amplitude);
|
||||
}
|
||||
|
||||
static void SetRumble(float left_amplitude, float right_amplitude)
|
||||
{
|
||||
std::lock_guard lk(s_state_mutex);
|
||||
s_haptics.amplitude[0] = Clamp01(left_amplitude);
|
||||
s_haptics.amplitude[1] = Clamp01(right_amplitude);
|
||||
}
|
||||
|
||||
static void SetRumbleForHand(std::size_t hand_index, float amplitude)
|
||||
{
|
||||
if (hand_index >= s_haptics.amplitude.size())
|
||||
return;
|
||||
|
||||
std::lock_guard lk(s_state_mutex);
|
||||
s_haptics.amplitude[hand_index] = Clamp01(amplitude);
|
||||
}
|
||||
|
||||
private:
|
||||
static float Clamp01(float value)
|
||||
{
|
||||
if (value < 0.0f)
|
||||
return 0.0f;
|
||||
if (value > 1.0f)
|
||||
return 1.0f;
|
||||
return value;
|
||||
}
|
||||
|
||||
static inline std::mutex s_state_mutex;
|
||||
static inline OpenXRInputSnapshot s_state{};
|
||||
static inline OpenXRHapticsState s_haptics{};
|
||||
};
|
||||
} // namespace Common::VR
|
||||
|
||||
#endif // ENABLE_VR
|
||||
@@ -99,6 +99,8 @@ const Info<bool> GFX_BACKEND_MULTITHREADING{{System::GFX, "Settings", "BackendMu
|
||||
true};
|
||||
const Info<int> GFX_COMMAND_BUFFER_EXECUTE_INTERVAL{
|
||||
{System::GFX, "Settings", "CommandBufferExecuteInterval"}, 100};
|
||||
const Info<int> GFX_COMMAND_BUFFERS_IN_FLIGHT{
|
||||
{System::GFX, "Settings", "CommandBuffersInFlight"}, 16};
|
||||
|
||||
const Info<bool> GFX_SHADER_CACHE{{System::GFX, "Settings", "ShaderCache"}, true};
|
||||
const Info<bool> GFX_WAIT_FOR_SHADERS_BEFORE_STARTING{
|
||||
@@ -186,24 +188,28 @@ const Info<float> GFX_STEREO_DEPTH_PERCENTAGE{{System::GFX, "Stereoscopy", "Ster
|
||||
// Graphics.VR
|
||||
|
||||
const Info<bool> GFX_VR_ENABLE_OPENXR{{System::GFX, "VR", "EnableOpenXR"}, true};
|
||||
const Info<bool> GFX_VR_AUTO_IMMEDIATE_XFB{{System::GFX, "VR", "AutoImmediateXFB"}, true};
|
||||
// When OpenXR is enabled, render the game as a flat mono panel in the VR scene instead of
|
||||
// per-eye stereoscopic 3D (the "Launch games in VR" off / cinema path).
|
||||
const Info<bool> GFX_VR_FLAT_SCREEN{{System::GFX, "VR", "FlatScreen"}, false};
|
||||
const Info<float> GFX_VR_UNITS_PER_METER{{System::GFX, "VR", "UnitsPerMeter"}, 1.0f};
|
||||
const Info<bool> GFX_VR_ENABLE_LEAN_BACK_ANGLE{{System::GFX, "VR", "EnableLeanBackAngle"}, true};
|
||||
const Info<float> GFX_VR_LEAN_BACK_ANGLE{{System::GFX, "VR", "LeanBackAngle"}, 0.0f};
|
||||
const Info<bool> GFX_VR_ENABLE_CAMERA_FORWARD{{System::GFX, "VR", "EnableCameraForward"}, true};
|
||||
const Info<float> GFX_VR_CAMERA_FORWARD{{System::GFX, "VR", "CameraForward"}, 0.0f};
|
||||
const Info<bool> GFX_VR_ENABLE_CAMERA_HEIGHT{{System::GFX, "VR", "EnableCameraHeight"}, true};
|
||||
const Info<float> GFX_VR_CAMERA_HEIGHT{{System::GFX, "VR", "CameraHeight"}, 0.0f};
|
||||
const Info<bool> GFX_VR_ENABLE_CAMERA_ANCHOR{{System::GFX, "VR", "EnableCameraAnchor"}, false};
|
||||
const Info<float> GFX_VR_CAMERA_ANCHOR_SMOOTHING{{System::GFX, "VR", "CameraAnchorSmoothing"},
|
||||
0.85f};
|
||||
const Info<bool> GFX_VR_ENABLE_CONTROLLER_ANCHOR{{System::GFX, "VR", "EnableControllerAnchor"},
|
||||
false};
|
||||
const Info<bool> GFX_VR_VIRTUAL_SCREEN{{System::GFX, "VR", "VirtualScreen"}, true};
|
||||
const Info<float> GFX_VR_SCREEN_DISTANCE{{System::GFX, "VR", "ScreenDistance"}, 1.5f};
|
||||
const Info<float> GFX_VR_SCREEN_SIZE{{System::GFX, "VR", "ScreenSize"}, 1.5f};
|
||||
const Info<float> GFX_VR_HEAD_LOCKED_CURVATURE{{System::GFX, "VR", "HeadLockedCurvature"}, 0.0f};
|
||||
const Info<bool> GFX_VR_DONT_CLEAR_SCREEN{{System::GFX, "VR", "DontClearScreen"}, false};
|
||||
const Info<bool> GFX_VR_LOAD_CUSTOM_SHADERS{{System::GFX, "VR", "LoadCustomShaders"}, false};
|
||||
const Info<bool> GFX_VR_ENABLE_OPENXR_CONFIG_SCENE{{System::GFX, "VR", "EnableOpenXRConfigScene"},
|
||||
true};
|
||||
const Info<bool> GFX_VR_DISABLE_CPU_CULL{{System::GFX, "VR", "DisableCPUCull"}, false};
|
||||
const Info<OpenXROpcodeReplayMode> GFX_VR_OPCODE_REPLAY{
|
||||
{System::GFX, "VR", "OpcodeReplay"}, OpenXROpcodeReplayMode::Off};
|
||||
const Info<OpenXRMirrorView> GFX_VR_MIRROR_VIEW{{System::GFX, "VR", "MirrorView"},
|
||||
OpenXRMirrorView::BothEyes};
|
||||
const Info<OpenXRReferenceSpaceMode> GFX_VR_REFERENCE_SPACE_MODE{
|
||||
@@ -212,9 +218,15 @@ const Info<OpenXRTrackingMode> GFX_VR_TRACKING_MODE{{System::GFX, "VR", "Trackin
|
||||
OpenXRTrackingMode::Full6DoF};
|
||||
const Info<bool> GFX_VR_USE_OPENXR_PLAY_SPACE_CENTER{
|
||||
{System::GFX, "VR", "UseOpenXRPlaySpaceCenter"}, false};
|
||||
const Info<int> GFX_VR_OPCODE_REPLAY_TARGET_REFRESH_RATE{
|
||||
{System::GFX, "VR", "OpcodeReplayTargetRefreshRate"},
|
||||
GFX_VR_OPCODE_REPLAY_TARGET_REFRESH_RATE_AUTO};
|
||||
const Info<bool> GFX_VR_USE_XR_PACING_THREAD{{System::GFX, "VR", "UseXRPacingThread"}, true};
|
||||
#if defined(__ANDROID__)
|
||||
constexpr bool DEFAULT_VR_PIN_EMULATION_CORES = true;
|
||||
#else
|
||||
constexpr bool DEFAULT_VR_PIN_EMULATION_CORES = false;
|
||||
#endif
|
||||
const Info<bool> GFX_VR_PIN_EMULATION_CORES{{System::GFX, "VR", "PinEmulationCores"},
|
||||
DEFAULT_VR_PIN_EMULATION_CORES};
|
||||
const Info<bool> GFX_VR_EAGER_HEARTBEAT{{System::GFX, "VR", "EagerHeartbeat"}, false};
|
||||
#if defined(__ANDROID__) && defined(ENABLE_VR)
|
||||
constexpr bool DEFAULT_VR_ANDROID_DIRECT_TO_HMD = true;
|
||||
constexpr bool DEFAULT_IMMEDIATE_XFB = true;
|
||||
@@ -225,21 +237,29 @@ constexpr bool DEFAULT_IMMEDIATE_XFB = false;
|
||||
|
||||
const Info<int> GFX_VR_FORCED_VBI_FREQUENCY{{System::GFX, "VR", "ForcedVBIFrequency"}, 0};
|
||||
const Info<bool> GFX_VR_AUTO_VBI_FROM_HMD{{System::GFX, "VR", "AutoVBIFromHMD"}, false};
|
||||
const Info<bool> GFX_VR_AUTO_LAYER_SPREAD{{System::GFX, "VR", "AutoLayerSpread"}, false};
|
||||
const Info<float> GFX_VR_LAYER_OFFSET{{System::GFX, "VR", "LayerOffset"}, 0.002f};
|
||||
const Info<float> GFX_VR_ELEMENT_DEPTH{{System::GFX, "VR", "ElementDepth"}, 0.001f};
|
||||
const Info<bool> GFX_VR_EXACT_SCREEN_DEPTH{{System::GFX, "VR", "ExactScreenDepth"}, true};
|
||||
const Info<bool> GFX_VR_AUTO_NATIVE_EFB_EFFECTS{{System::GFX, "VR", "AutoNativeEfbEffects"},
|
||||
true};
|
||||
const Info<float> GFX_VR_HUD_THICKNESS{{System::GFX, "VR", "HudThickness"}, 0.0f};
|
||||
const Info<bool> GFX_VR_REMOVE_BARS{{System::GFX, "VR", "RemoveCinematicBars"}, true};
|
||||
const Info<bool> GFX_VR_FRAME_SIZE_FROM_XFB{{System::GFX, "VR", "FrameSizeFromXFB"}, true};
|
||||
const Info<bool> GFX_VR_PANES_ON_SCREEN{{System::GFX, "VR", "SmallViewportsOnScreen"}, true};
|
||||
const Info<bool> GFX_VR_DETECT_RENDER_TARGETS{{System::GFX, "VR", "DetectRenderTargets"}, false};
|
||||
const Info<bool> GFX_VR_ORTHO_SCISSOR_FIX{{System::GFX, "VR", "OrthoScissorFix"}, true};
|
||||
const Info<bool> GFX_VR_DETECT_SKYBOX{{System::GFX, "VR", "DetectSkybox"}, false};
|
||||
const Info<bool> GFX_VR_METROID_THERMAL_VISOR_FIX{
|
||||
{System::GFX, "VR", "MetroidThermalVisorFix"}, true};
|
||||
const Info<bool> GFX_VR_METROID_D3D_THERMAL_PALETTE_FIX{
|
||||
{System::GFX, "VR", "MetroidD3DThermalPaletteFix"}, true};
|
||||
const Info<bool> GFX_VR_LOCK_HEAD_POSE{{System::GFX, "VR", "LockHeadPosePerFrame"}, false};
|
||||
const Info<bool> GFX_VR_AR_MODE{{System::GFX, "VR", "ARMode"}, false};
|
||||
const Info<bool> GFX_VR_AR_MODE_DEBUG{{System::GFX, "VR", "ARModeDebug"}, false};
|
||||
const Info<float> GFX_VR_AR_BACKGROUND_ALPHA{{System::GFX, "VR", "ARBackgroundAlpha"}, 0.0f};
|
||||
const Info<bool> GFX_VR_PASSTHROUGH{{System::GFX, "VR", "Passthrough"}, false};
|
||||
const Info<bool> GFX_VR_PASSTHROUGH_REMOVE_BLACK_BG{
|
||||
{System::GFX, "VR", "PassthroughRemoveBlackBackground"}, true};
|
||||
const Info<bool> GFX_VR_PASSTHROUGH_REMOVE_BLACK_CLEARS{
|
||||
{System::GFX, "VR", "PassthroughRemoveBlackEFBClears"}, true};
|
||||
const Info<float> GFX_VR_PASSTHROUGH_SCENE_OPACITY{
|
||||
{System::GFX, "VR", "PassthroughSceneOpacity"}, 1.0f};
|
||||
const Info<VRPassthroughCoverageMode> GFX_VR_PASSTHROUGH_COVERAGE_MODE{
|
||||
{System::GFX, "VR", "PassthroughCoverageMode"}, VRPassthroughCoverageMode::Fast};
|
||||
const Info<float> GFX_VR_GAMMA{{System::GFX, "VR", "Gamma"}, 1.0f};
|
||||
const Info<int> GFX_VR_CLEAR_EFB_COPIES{{System::GFX, "VR", "ClearEFBCopies"}, 0};
|
||||
const Info<bool> GFX_VR_USE_VULKAN_MULTIVIEW{{System::GFX, "VR", "UseVulkanMultiview"}, true};
|
||||
@@ -247,6 +267,28 @@ const Info<bool> GFX_VR_ANDROID_DIRECT_TO_HMD{{System::GFX, "VR", "AndroidDirect
|
||||
DEFAULT_VR_ANDROID_DIRECT_TO_HMD};
|
||||
const Info<bool> GFX_VR_QUEST_CPU_LEVEL_5_HINT{{System::GFX, "VR", "QuestCpuLevel5Hint"},
|
||||
false};
|
||||
#if defined(__ANDROID__) && defined(ENABLE_VR)
|
||||
// Standalone headsets ask for more resolution than their mobile GPUs can fill at Dolphin
|
||||
// workloads (Quest 3 recommends 2064x2208/eye); 0.85x cuts swapchain fill/composite cost
|
||||
// by ~28% with little visible sharpness loss.
|
||||
constexpr float DEFAULT_VR_RESOLUTION_SCALE = 0.85f;
|
||||
constexpr int DEFAULT_VR_FOVEATION_LEVEL = 2; // Medium fixed foveated rendering
|
||||
#else
|
||||
constexpr float DEFAULT_VR_RESOLUTION_SCALE = 1.0f;
|
||||
constexpr int DEFAULT_VR_FOVEATION_LEVEL = 0; // Off; few PC runtimes expose XR_FB_foveation
|
||||
#endif
|
||||
const Info<float> GFX_VR_RESOLUTION_SCALE{{System::GFX, "VR", "ResolutionScale"},
|
||||
DEFAULT_VR_RESOLUTION_SCALE};
|
||||
const Info<int> GFX_VR_FOVEATION_LEVEL{{System::GFX, "VR", "FoveationLevel"},
|
||||
DEFAULT_VR_FOVEATION_LEVEL};
|
||||
const Info<bool> GFX_VR_FOVEATION_DYNAMIC{{System::GFX, "VR", "DynamicFoveation"}, true};
|
||||
// Foveate the EFB (game render) pass too, not just the eye swapchains. Off by default:
|
||||
// attaching a fragment density map forces Adreno out of direct rendering into binned
|
||||
// mode, so games that interrupt the EFB pass with many EFB copies per frame (e.g. Mario
|
||||
// Kart Wii's bloom chain, ~20 splits/frame) pay a full GMEM load/store per interruption
|
||||
// — measured as a net GPU-time LOSS despite the fragment savings. Only worth enabling
|
||||
// per-game where the EFB pass runs long and uninterrupted.
|
||||
const Info<bool> GFX_VR_EFB_FOVEATION{{System::GFX, "VR", "FoveateEFB"}, false};
|
||||
// Graphics.Hacks
|
||||
|
||||
const Info<bool> GFX_HACK_EFB_ACCESS_ENABLE{{System::GFX, "Hacks", "EFBAccessEnable"}, false};
|
||||
|
||||
@@ -19,10 +19,10 @@ enum class ColorCorrectionRegion : int;
|
||||
enum class TriState : int;
|
||||
enum class FrameDumpResolutionType : int;
|
||||
enum class VertexLoaderType : int;
|
||||
enum class OpenXROpcodeReplayMode : int;
|
||||
enum class OpenXRMirrorView : int;
|
||||
enum class OpenXRReferenceSpaceMode : int;
|
||||
enum class OpenXRTrackingMode : int;
|
||||
enum class VRPassthroughCoverageMode : int;
|
||||
|
||||
namespace Config
|
||||
{
|
||||
@@ -96,6 +96,11 @@ extern const Info<bool> GFX_BORDERLESS_FULLSCREEN;
|
||||
extern const Info<bool> GFX_ENABLE_VALIDATION_LAYER;
|
||||
extern const Info<bool> GFX_BACKEND_MULTITHREADING;
|
||||
extern const Info<int> GFX_COMMAND_BUFFER_EXECUTE_INTERVAL;
|
||||
// Depth of the backend's command list/buffer ring (D3D12 command lists, Vulkan command
|
||||
// buffers). Read once at device init, so a change applies on the next emulation start.
|
||||
extern const Info<int> GFX_COMMAND_BUFFERS_IN_FLIGHT;
|
||||
constexpr int GFX_COMMAND_BUFFERS_IN_FLIGHT_MIN = 2;
|
||||
constexpr int GFX_COMMAND_BUFFERS_IN_FLIGHT_MAX = 32;
|
||||
extern const Info<bool> GFX_SHADER_CACHE;
|
||||
extern const Info<bool> GFX_WAIT_FOR_SHADERS_BEFORE_STARTING;
|
||||
extern const Info<ShaderCompilationMode> GFX_SHADER_COMPILATION_MODE;
|
||||
@@ -166,16 +171,20 @@ static constexpr float GFX_STEREO_CONVERGENCE_MAXIMUM = 200;
|
||||
// Graphics.VR
|
||||
|
||||
extern const Info<bool> GFX_VR_ENABLE_OPENXR;
|
||||
extern const Info<bool> GFX_VR_AUTO_IMMEDIATE_XFB;
|
||||
extern const Info<bool> GFX_VR_FLAT_SCREEN;
|
||||
extern const Info<float> GFX_VR_UNITS_PER_METER;
|
||||
extern const Info<bool> GFX_VR_ENABLE_LEAN_BACK_ANGLE;
|
||||
extern const Info<float> GFX_VR_LEAN_BACK_ANGLE;
|
||||
extern const Info<bool> GFX_VR_ENABLE_CAMERA_FORWARD;
|
||||
extern const Info<float> GFX_VR_CAMERA_FORWARD;
|
||||
extern const Info<bool> GFX_VR_ENABLE_CAMERA_HEIGHT;
|
||||
extern const Info<float> GFX_VR_CAMERA_HEIGHT;
|
||||
extern const Info<bool> GFX_VR_ENABLE_CAMERA_ANCHOR;
|
||||
extern const Info<float> GFX_VR_CAMERA_ANCHOR_SMOOTHING;
|
||||
extern const Info<bool> GFX_VR_ENABLE_CONTROLLER_ANCHOR;
|
||||
|
||||
static constexpr float GFX_VR_UNITS_PER_METER_MIN = 0.1f;
|
||||
static constexpr float GFX_VR_UNITS_PER_METER_MAX = 500.0f;
|
||||
static constexpr float GFX_VR_UNITS_PER_METER_MAX = 2000.0f;
|
||||
static constexpr float GFX_VR_UNITS_PER_METER_STEP = 0.1f;
|
||||
static constexpr float GFX_VR_LEAN_BACK_ANGLE_MIN = -45.0f;
|
||||
static constexpr float GFX_VR_LEAN_BACK_ANGLE_MAX = 45.0f;
|
||||
@@ -186,6 +195,9 @@ static constexpr float GFX_VR_CAMERA_FORWARD_STEP = 0.1f;
|
||||
static constexpr float GFX_VR_CAMERA_HEIGHT_MIN = -20.0f;
|
||||
static constexpr float GFX_VR_CAMERA_HEIGHT_MAX = 20.0f;
|
||||
static constexpr float GFX_VR_CAMERA_HEIGHT_STEP = 0.1f;
|
||||
static constexpr float GFX_VR_CAMERA_ANCHOR_SMOOTHING_MIN = 0.0f;
|
||||
static constexpr float GFX_VR_CAMERA_ANCHOR_SMOOTHING_MAX = 0.95f;
|
||||
static constexpr float GFX_VR_CAMERA_ANCHOR_SMOOTHING_STEP = 0.05f;
|
||||
|
||||
extern const Info<bool> GFX_VR_VIRTUAL_SCREEN;
|
||||
extern const Info<float> GFX_VR_SCREEN_DISTANCE;
|
||||
@@ -193,32 +205,48 @@ extern const Info<float> GFX_VR_SCREEN_SIZE;
|
||||
extern const Info<float> GFX_VR_HEAD_LOCKED_CURVATURE;
|
||||
extern const Info<bool> GFX_VR_DONT_CLEAR_SCREEN;
|
||||
extern const Info<bool> GFX_VR_LOAD_CUSTOM_SHADERS;
|
||||
extern const Info<bool> GFX_VR_ENABLE_OPENXR_CONFIG_SCENE;
|
||||
extern const Info<bool> GFX_VR_DISABLE_CPU_CULL;
|
||||
extern const Info<OpenXROpcodeReplayMode> GFX_VR_OPCODE_REPLAY;
|
||||
extern const Info<OpenXRMirrorView> GFX_VR_MIRROR_VIEW;
|
||||
extern const Info<OpenXRReferenceSpaceMode> GFX_VR_REFERENCE_SPACE_MODE;
|
||||
extern const Info<OpenXRTrackingMode> GFX_VR_TRACKING_MODE;
|
||||
extern const Info<bool> GFX_VR_USE_OPENXR_PLAY_SPACE_CENTER;
|
||||
extern const Info<int> GFX_VR_OPCODE_REPLAY_TARGET_REFRESH_RATE;
|
||||
extern const Info<int> GFX_VR_FORCED_VBI_FREQUENCY;
|
||||
// Dedicated XR frame-pacing thread: owns xrWaitFrame/xrBeginFrame/xrEndFrame and
|
||||
// re-submits the last frame at HMD cadence when the game runs slower (replaces the
|
||||
// legacy Opcode Replay). INI-only escape hatch; disable to fall back to the inline
|
||||
// synchronous frame flow.
|
||||
extern const Info<bool> GFX_VR_USE_XR_PACING_THREAD;
|
||||
// Android big.LITTLE: pin the CPU (JIT) and Video threads to dedicated performance cores
|
||||
// so they never migrate onto a slow core or contend with each other. INI-only escape
|
||||
// hatch; default on for Android/Quest.
|
||||
extern const Info<bool> GFX_VR_PIN_EMULATION_CORES;
|
||||
// Pacing thread heartbeat mode. Eager (default on standalone): re-submit the last frame
|
||||
// at HMD cadence to fill every compositor slot — best where the runtime has no motion
|
||||
// smoothing (Quest standalone). Lazy (default on PC): pace to the game's cadence so the
|
||||
// runtime's SSW/ASW motion smoothing engages; heartbeat only as a keep-alive.
|
||||
extern const Info<bool> GFX_VR_EAGER_HEARTBEAT;
|
||||
extern const Info<bool> GFX_VR_AUTO_VBI_FROM_HMD;
|
||||
extern const Info<bool> GFX_VR_AUTO_LAYER_SPREAD;
|
||||
extern const Info<float> GFX_VR_LAYER_OFFSET;
|
||||
extern const Info<float> GFX_VR_ELEMENT_DEPTH;
|
||||
extern const Info<bool> GFX_VR_EXACT_SCREEN_DEPTH;
|
||||
// Auto-detect ortho draws sampling EFB copies (bloom, motion blur, post-processing) and render
|
||||
// them natively over each eye instead of capturing them onto the 2D Virtual Screen.
|
||||
extern const Info<bool> GFX_VR_AUTO_NATIVE_EFB_EFFECTS;
|
||||
extern const Info<float> GFX_VR_HUD_THICKNESS;
|
||||
extern const Info<bool> GFX_VR_REMOVE_BARS;
|
||||
extern const Info<bool> GFX_VR_FRAME_SIZE_FROM_XFB;
|
||||
extern const Info<bool> GFX_VR_PANES_ON_SCREEN;
|
||||
extern const Info<bool> GFX_VR_DETECT_RENDER_TARGETS;
|
||||
extern const Info<bool> GFX_VR_ORTHO_SCISSOR_FIX;
|
||||
extern const Info<bool> GFX_VR_DETECT_SKYBOX;
|
||||
extern const Info<bool> GFX_VR_METROID_THERMAL_VISOR_FIX;
|
||||
extern const Info<bool> GFX_VR_METROID_D3D_THERMAL_PALETTE_FIX;
|
||||
extern const Info<bool> GFX_VR_LOCK_HEAD_POSE;
|
||||
extern const Info<bool> GFX_VR_AR_MODE;
|
||||
extern const Info<bool> GFX_VR_AR_MODE_DEBUG;
|
||||
extern const Info<float> GFX_VR_AR_BACKGROUND_ALPHA;
|
||||
static constexpr float GFX_VR_AR_BACKGROUND_ALPHA_MIN = 0.0f;
|
||||
static constexpr float GFX_VR_AR_BACKGROUND_ALPHA_MAX = 1.0f;
|
||||
static constexpr float GFX_VR_AR_BACKGROUND_ALPHA_STEP = 0.05f;
|
||||
extern const Info<bool> GFX_VR_PASSTHROUGH;
|
||||
extern const Info<bool> GFX_VR_PASSTHROUGH_REMOVE_BLACK_BG;
|
||||
extern const Info<bool> GFX_VR_PASSTHROUGH_REMOVE_BLACK_CLEARS;
|
||||
extern const Info<float> GFX_VR_PASSTHROUGH_SCENE_OPACITY;
|
||||
extern const Info<VRPassthroughCoverageMode> GFX_VR_PASSTHROUGH_COVERAGE_MODE;
|
||||
static constexpr float GFX_VR_PASSTHROUGH_SCENE_OPACITY_MIN = 0.0f;
|
||||
static constexpr float GFX_VR_PASSTHROUGH_SCENE_OPACITY_MAX = 1.0f;
|
||||
static constexpr float GFX_VR_PASSTHROUGH_SCENE_OPACITY_STEP = 0.05f;
|
||||
extern const Info<float> GFX_VR_GAMMA;
|
||||
extern const Info<int> GFX_VR_CLEAR_EFB_COPIES;
|
||||
static constexpr int GFX_VR_CLEAR_EFB_MIN = 0;
|
||||
@@ -227,6 +255,15 @@ static constexpr int GFX_VR_CLEAR_EFB_STEP = 10;
|
||||
extern const Info<bool> GFX_VR_USE_VULKAN_MULTIVIEW;
|
||||
extern const Info<bool> GFX_VR_ANDROID_DIRECT_TO_HMD;
|
||||
extern const Info<bool> GFX_VR_QUEST_CPU_LEVEL_5_HINT;
|
||||
extern const Info<float> GFX_VR_RESOLUTION_SCALE;
|
||||
extern const Info<int> GFX_VR_FOVEATION_LEVEL;
|
||||
extern const Info<bool> GFX_VR_FOVEATION_DYNAMIC;
|
||||
extern const Info<bool> GFX_VR_EFB_FOVEATION;
|
||||
static constexpr float GFX_VR_RESOLUTION_SCALE_MIN = 0.5f;
|
||||
static constexpr float GFX_VR_RESOLUTION_SCALE_MAX = 2.0f;
|
||||
static constexpr float GFX_VR_RESOLUTION_SCALE_STEP = 0.05f;
|
||||
static constexpr int GFX_VR_FOVEATION_LEVEL_OFF = 0;
|
||||
static constexpr int GFX_VR_FOVEATION_LEVEL_MAX = 3;
|
||||
|
||||
static constexpr float GFX_VR_SCREEN_DISTANCE_MIN = 0.5f;
|
||||
static constexpr float GFX_VR_SCREEN_DISTANCE_MAX = 10.0f;
|
||||
@@ -242,16 +279,6 @@ static constexpr int GFX_VR_FORCED_VBI_FREQUENCY_OFF = 0;
|
||||
static constexpr int GFX_VR_FORCED_VBI_FREQUENCY_72 = 72;
|
||||
static constexpr int GFX_VR_FORCED_VBI_FREQUENCY_90 = 90;
|
||||
static constexpr int GFX_VR_FORCED_VBI_FREQUENCY_120 = 120;
|
||||
static constexpr int GFX_VR_OPCODE_REPLAY_TARGET_REFRESH_RATE_AUTO = -1;
|
||||
static constexpr int GFX_VR_OPCODE_REPLAY_TARGET_REFRESH_RATE_72 = 72;
|
||||
static constexpr int GFX_VR_OPCODE_REPLAY_TARGET_REFRESH_RATE_90 = 90;
|
||||
static constexpr int GFX_VR_OPCODE_REPLAY_TARGET_REFRESH_RATE_120 = 120;
|
||||
static constexpr float GFX_VR_LAYER_OFFSET_MIN = 0.0001f;
|
||||
static constexpr float GFX_VR_LAYER_OFFSET_MAX = 0.01f;
|
||||
static constexpr float GFX_VR_LAYER_OFFSET_STEP = 0.0001f;
|
||||
static constexpr float GFX_VR_ELEMENT_DEPTH_MIN = 0.0f;
|
||||
static constexpr float GFX_VR_ELEMENT_DEPTH_MAX = 10.0f;
|
||||
static constexpr float GFX_VR_ELEMENT_DEPTH_STEP = 0.0001f;
|
||||
static constexpr float GFX_VR_HUD_THICKNESS_MIN = 0.0f;
|
||||
static constexpr float GFX_VR_HUD_THICKNESS_MAX = 1.0f;
|
||||
static constexpr float GFX_VR_HUD_THICKNESS_STEP = 0.02f;
|
||||
@@ -273,22 +300,6 @@ inline int NormalizeVRForcedVBIFrequency(int frequency)
|
||||
}
|
||||
}
|
||||
|
||||
inline int NormalizeVROpcodeReplayTargetRefreshRate(int refresh_rate)
|
||||
{
|
||||
switch (refresh_rate)
|
||||
{
|
||||
case GFX_VR_OPCODE_REPLAY_TARGET_REFRESH_RATE_AUTO:
|
||||
case 0: // Legacy value from the previous OutputRefreshRate Auto option.
|
||||
return GFX_VR_OPCODE_REPLAY_TARGET_REFRESH_RATE_AUTO;
|
||||
case GFX_VR_OPCODE_REPLAY_TARGET_REFRESH_RATE_72:
|
||||
case GFX_VR_OPCODE_REPLAY_TARGET_REFRESH_RATE_90:
|
||||
case GFX_VR_OPCODE_REPLAY_TARGET_REFRESH_RATE_120:
|
||||
return refresh_rate;
|
||||
default:
|
||||
return GFX_VR_OPCODE_REPLAY_TARGET_REFRESH_RATE_90;
|
||||
}
|
||||
}
|
||||
|
||||
inline int ChooseClosestVRForcedVBIFrequency(float refresh_rate_hz)
|
||||
{
|
||||
if (refresh_rate_hz <= 0.0f)
|
||||
|
||||
@@ -55,13 +55,7 @@ const Info<bool> MAIN_RUSH_FRAME_PRESENTATION{{System::Main, "Core", "RushFrameP
|
||||
false};
|
||||
const Info<bool> MAIN_SMOOTH_EARLY_PRESENTATION{{System::Main, "Core", "SmoothEarlyPresentation"},
|
||||
false};
|
||||
#if defined(ANDROID)
|
||||
// Currently enabled by default on Android because the performance boost is really needed.
|
||||
constexpr bool DEFAULT_CPU_THREAD = true;
|
||||
#else
|
||||
constexpr bool DEFAULT_CPU_THREAD = false;
|
||||
#endif
|
||||
const Info<bool> MAIN_CPU_THREAD{{System::Main, "Core", "CPUThread"}, DEFAULT_CPU_THREAD};
|
||||
const Info<bool> MAIN_CPU_THREAD{{System::Main, "Core", "CPUThread"}, true};
|
||||
const Info<bool> MAIN_LOAD_GAME_INTO_MEMORY{{System::Main, "Core", "LoadGameIntoMemory"}, false};
|
||||
const Info<bool> MAIN_SYNC_ON_SKIP_IDLE{{System::Main, "Core", "SyncOnSkipIdle"}, true};
|
||||
const Info<std::string> MAIN_DEFAULT_ISO{{System::Main, "Core", "DefaultISO"}, ""};
|
||||
|
||||
@@ -157,10 +157,17 @@ static void ClearAppliedVRSetting(const char* key, const Config::Info<T>& info)
|
||||
static void ClearAppliedVRSettings()
|
||||
{
|
||||
ClearAppliedVRSetting("EnableOpenXR", Config::GFX_VR_ENABLE_OPENXR);
|
||||
ClearAppliedVRSetting("FlatScreen", Config::GFX_VR_FLAT_SCREEN);
|
||||
ClearAppliedVRSetting("UnitsPerMeter", Config::GFX_VR_UNITS_PER_METER);
|
||||
ClearAppliedVRSetting("EnableLeanBackAngle", Config::GFX_VR_ENABLE_LEAN_BACK_ANGLE);
|
||||
ClearAppliedVRSetting("LeanBackAngle", Config::GFX_VR_LEAN_BACK_ANGLE);
|
||||
ClearAppliedVRSetting("EnableCameraForward", Config::GFX_VR_ENABLE_CAMERA_FORWARD);
|
||||
ClearAppliedVRSetting("CameraForward", Config::GFX_VR_CAMERA_FORWARD);
|
||||
ClearAppliedVRSetting("EnableCameraHeight", Config::GFX_VR_ENABLE_CAMERA_HEIGHT);
|
||||
ClearAppliedVRSetting("CameraHeight", Config::GFX_VR_CAMERA_HEIGHT);
|
||||
ClearAppliedVRSetting("EnableCameraAnchor", Config::GFX_VR_ENABLE_CAMERA_ANCHOR);
|
||||
ClearAppliedVRSetting("CameraAnchorSmoothing", Config::GFX_VR_CAMERA_ANCHOR_SMOOTHING);
|
||||
ClearAppliedVRSetting("EnableControllerAnchor", Config::GFX_VR_ENABLE_CONTROLLER_ANCHOR);
|
||||
ClearAppliedVRSetting("VirtualScreen", Config::GFX_VR_VIRTUAL_SCREEN);
|
||||
ClearAppliedVRSetting("ScreenDistance", Config::GFX_VR_SCREEN_DISTANCE);
|
||||
ClearAppliedVRSetting("ScreenSize", Config::GFX_VR_SCREEN_SIZE);
|
||||
@@ -168,27 +175,41 @@ static void ClearAppliedVRSettings()
|
||||
ClearAppliedVRSetting("DontClearScreen", Config::GFX_VR_DONT_CLEAR_SCREEN);
|
||||
ClearAppliedVRSetting("LoadCustomShaders", Config::GFX_VR_LOAD_CUSTOM_SHADERS);
|
||||
ClearAppliedVRSetting("DisableCPUCull", Config::GFX_VR_DISABLE_CPU_CULL);
|
||||
ClearAppliedVRSetting("OpcodeReplay", Config::GFX_VR_OPCODE_REPLAY);
|
||||
ClearAppliedVRSetting("MirrorView", Config::GFX_VR_MIRROR_VIEW);
|
||||
ClearAppliedVRSetting("ReferenceSpaceMode", Config::GFX_VR_REFERENCE_SPACE_MODE);
|
||||
ClearAppliedVRSetting("TrackingMode", Config::GFX_VR_TRACKING_MODE);
|
||||
ClearAppliedVRSetting("OpcodeReplayTargetRefreshRate",
|
||||
Config::GFX_VR_OPCODE_REPLAY_TARGET_REFRESH_RATE);
|
||||
ClearAppliedVRSetting("OutputRefreshRate", Config::GFX_VR_OPCODE_REPLAY_TARGET_REFRESH_RATE);
|
||||
ClearAppliedVRSetting("UseOpenXRPlaySpaceCenter", Config::GFX_VR_USE_OPENXR_PLAY_SPACE_CENTER);
|
||||
ClearAppliedVRSetting("LockHeadPosePerFrame", Config::GFX_VR_LOCK_HEAD_POSE);
|
||||
ClearAppliedVRSetting("EagerHeartbeat", Config::GFX_VR_EAGER_HEARTBEAT);
|
||||
ClearAppliedVRSetting("ForcedVBIFrequency", Config::GFX_VR_FORCED_VBI_FREQUENCY);
|
||||
ClearAppliedVRSetting("AutoVBIFromHMD", Config::GFX_VR_AUTO_VBI_FROM_HMD);
|
||||
ClearAppliedVRSetting("AutoLayerSpread", Config::GFX_VR_AUTO_LAYER_SPREAD);
|
||||
ClearAppliedVRSetting("LayerOffset", Config::GFX_VR_LAYER_OFFSET);
|
||||
ClearAppliedVRSetting("ElementDepth", Config::GFX_VR_ELEMENT_DEPTH);
|
||||
ClearAppliedVRSetting("ExactScreenDepth", Config::GFX_VR_EXACT_SCREEN_DEPTH);
|
||||
ClearAppliedVRSetting("AutoNativeEfbEffects", Config::GFX_VR_AUTO_NATIVE_EFB_EFFECTS);
|
||||
ClearAppliedVRSetting("HudThickness", Config::GFX_VR_HUD_THICKNESS);
|
||||
ClearAppliedVRSetting("RemoveCinematicBars", Config::GFX_VR_REMOVE_BARS);
|
||||
ClearAppliedVRSetting("FrameSizeFromXFB", Config::GFX_VR_FRAME_SIZE_FROM_XFB);
|
||||
ClearAppliedVRSetting("SmallViewportsOnScreen", Config::GFX_VR_PANES_ON_SCREEN);
|
||||
ClearAppliedVRSetting("DetectRenderTargets", Config::GFX_VR_DETECT_RENDER_TARGETS);
|
||||
ClearAppliedVRSetting("OrthoScissorFix", Config::GFX_VR_ORTHO_SCISSOR_FIX);
|
||||
ClearAppliedVRSetting("DetectSkybox", Config::GFX_VR_DETECT_SKYBOX);
|
||||
ClearAppliedVRSetting("MetroidThermalVisorFix", Config::GFX_VR_METROID_THERMAL_VISOR_FIX);
|
||||
ClearAppliedVRSetting("MetroidD3DThermalPaletteFix",
|
||||
Config::GFX_VR_METROID_D3D_THERMAL_PALETTE_FIX);
|
||||
ClearAppliedVRSetting("ClearEFBCopies", Config::GFX_VR_CLEAR_EFB_COPIES);
|
||||
ClearAppliedVRSetting("Gamma", Config::GFX_VR_GAMMA);
|
||||
ClearAppliedVRSetting("UseVulkanMultiview", Config::GFX_VR_USE_VULKAN_MULTIVIEW);
|
||||
ClearAppliedVRSetting("AndroidDirectToHMD", Config::GFX_VR_ANDROID_DIRECT_TO_HMD);
|
||||
ClearAppliedVRSetting("ARMode", Config::GFX_VR_AR_MODE);
|
||||
ClearAppliedVRSetting("ARModeDebug", Config::GFX_VR_AR_MODE_DEBUG);
|
||||
ClearAppliedVRSetting("ARBackgroundAlpha", Config::GFX_VR_AR_BACKGROUND_ALPHA);
|
||||
ClearAppliedVRSetting("ResolutionScale", Config::GFX_VR_RESOLUTION_SCALE);
|
||||
ClearAppliedVRSetting("FoveationLevel", Config::GFX_VR_FOVEATION_LEVEL);
|
||||
ClearAppliedVRSetting("DynamicFoveation", Config::GFX_VR_FOVEATION_DYNAMIC);
|
||||
ClearAppliedVRSetting("FoveateEFB", Config::GFX_VR_EFB_FOVEATION);
|
||||
ClearAppliedVRSetting("Passthrough", Config::GFX_VR_PASSTHROUGH);
|
||||
ClearAppliedVRSetting("ARMode", Config::GFX_VR_PASSTHROUGH);
|
||||
ClearAppliedVRSetting("PassthroughRemoveBlackBackground",
|
||||
Config::GFX_VR_PASSTHROUGH_REMOVE_BLACK_BG);
|
||||
ClearAppliedVRSetting("PassthroughRemoveBlackEFBClears",
|
||||
Config::GFX_VR_PASSTHROUGH_REMOVE_BLACK_CLEARS);
|
||||
ClearAppliedVRSetting("PassthroughSceneOpacity", Config::GFX_VR_PASSTHROUGH_SCENE_OPACITY);
|
||||
ClearAppliedVRSetting("PassthroughCoverageMode", Config::GFX_VR_PASSTHROUGH_COVERAGE_MODE);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
@@ -215,10 +236,17 @@ static void ApplyGameVRConfigOverrides(std::string_view game_id, std::optional<u
|
||||
const VRSettingMap values = LoadVRSettingsFromINI(game_id, revision);
|
||||
|
||||
ApplyVRSetting(values, "EnableOpenXR", Config::GFX_VR_ENABLE_OPENXR);
|
||||
ApplyVRSetting(values, "FlatScreen", Config::GFX_VR_FLAT_SCREEN);
|
||||
ApplyVRSetting(values, "UnitsPerMeter", Config::GFX_VR_UNITS_PER_METER);
|
||||
ApplyVRSetting(values, "EnableLeanBackAngle", Config::GFX_VR_ENABLE_LEAN_BACK_ANGLE);
|
||||
ApplyVRSetting(values, "LeanBackAngle", Config::GFX_VR_LEAN_BACK_ANGLE);
|
||||
ApplyVRSetting(values, "EnableCameraForward", Config::GFX_VR_ENABLE_CAMERA_FORWARD);
|
||||
ApplyVRSetting(values, "CameraForward", Config::GFX_VR_CAMERA_FORWARD);
|
||||
ApplyVRSetting(values, "EnableCameraHeight", Config::GFX_VR_ENABLE_CAMERA_HEIGHT);
|
||||
ApplyVRSetting(values, "CameraHeight", Config::GFX_VR_CAMERA_HEIGHT);
|
||||
ApplyVRSetting(values, "EnableCameraAnchor", Config::GFX_VR_ENABLE_CAMERA_ANCHOR);
|
||||
ApplyVRSetting(values, "CameraAnchorSmoothing", Config::GFX_VR_CAMERA_ANCHOR_SMOOTHING);
|
||||
ApplyVRSetting(values, "EnableControllerAnchor", Config::GFX_VR_ENABLE_CONTROLLER_ANCHOR);
|
||||
ApplyVRSetting(values, "VirtualScreen", Config::GFX_VR_VIRTUAL_SCREEN);
|
||||
ApplyVRSetting(values, "ScreenDistance", Config::GFX_VR_SCREEN_DISTANCE);
|
||||
ApplyVRSetting(values, "ScreenSize", Config::GFX_VR_SCREEN_SIZE);
|
||||
@@ -226,32 +254,58 @@ static void ApplyGameVRConfigOverrides(std::string_view game_id, std::optional<u
|
||||
ApplyVRSetting(values, "DontClearScreen", Config::GFX_VR_DONT_CLEAR_SCREEN);
|
||||
ApplyVRSetting(values, "LoadCustomShaders", Config::GFX_VR_LOAD_CUSTOM_SHADERS);
|
||||
ApplyVRSetting(values, "DisableCPUCull", Config::GFX_VR_DISABLE_CPU_CULL);
|
||||
ApplyVRSetting(values, "OpcodeReplay", Config::GFX_VR_OPCODE_REPLAY);
|
||||
ApplyVRSetting(values, "MirrorView", Config::GFX_VR_MIRROR_VIEW);
|
||||
ApplyVRSetting(values, "ReferenceSpaceMode", Config::GFX_VR_REFERENCE_SPACE_MODE);
|
||||
ApplyVRSetting(values, "TrackingMode", Config::GFX_VR_TRACKING_MODE);
|
||||
const bool has_opcode_replay_target =
|
||||
values.find("OpcodeReplayTargetRefreshRate") != values.end();
|
||||
ApplyVRSetting(values, "OpcodeReplayTargetRefreshRate",
|
||||
Config::GFX_VR_OPCODE_REPLAY_TARGET_REFRESH_RATE);
|
||||
if (!has_opcode_replay_target)
|
||||
ApplyVRSetting(values, "OutputRefreshRate", Config::GFX_VR_OPCODE_REPLAY_TARGET_REFRESH_RATE);
|
||||
ApplyVRSetting(values, "UseOpenXRPlaySpaceCenter", Config::GFX_VR_USE_OPENXR_PLAY_SPACE_CENTER);
|
||||
ApplyVRSetting(values, "LockHeadPosePerFrame", Config::GFX_VR_LOCK_HEAD_POSE);
|
||||
ApplyVRSetting(values, "EagerHeartbeat", Config::GFX_VR_EAGER_HEARTBEAT);
|
||||
const bool has_forced_vbi_frequency = values.find("ForcedVBIFrequency") != values.end();
|
||||
ApplyVRSetting(values, "ForcedVBIFrequency", Config::GFX_VR_FORCED_VBI_FREQUENCY);
|
||||
if (!has_forced_vbi_frequency)
|
||||
ApplyVRSetting(values, "AutoVBIFromHMD", Config::GFX_VR_AUTO_VBI_FROM_HMD);
|
||||
ApplyVRSetting(values, "AutoLayerSpread", Config::GFX_VR_AUTO_LAYER_SPREAD);
|
||||
ApplyVRSetting(values, "LayerOffset", Config::GFX_VR_LAYER_OFFSET);
|
||||
ApplyVRSetting(values, "ElementDepth", Config::GFX_VR_ELEMENT_DEPTH);
|
||||
ApplyVRSetting(values, "ExactScreenDepth", Config::GFX_VR_EXACT_SCREEN_DEPTH);
|
||||
ApplyVRSetting(values, "AutoNativeEfbEffects", Config::GFX_VR_AUTO_NATIVE_EFB_EFFECTS);
|
||||
ApplyVRSetting(values, "HudThickness", Config::GFX_VR_HUD_THICKNESS);
|
||||
ApplyVRSetting(values, "RemoveCinematicBars", Config::GFX_VR_REMOVE_BARS);
|
||||
ApplyVRSetting(values, "FrameSizeFromXFB", Config::GFX_VR_FRAME_SIZE_FROM_XFB);
|
||||
ApplyVRSetting(values, "SmallViewportsOnScreen", Config::GFX_VR_PANES_ON_SCREEN);
|
||||
ApplyVRSetting(values, "DetectRenderTargets", Config::GFX_VR_DETECT_RENDER_TARGETS);
|
||||
ApplyVRSetting(values, "OrthoScissorFix", Config::GFX_VR_ORTHO_SCISSOR_FIX);
|
||||
ApplyVRSetting(values, "DetectSkybox", Config::GFX_VR_DETECT_SKYBOX);
|
||||
const bool has_d3d_thermal_palette_fix =
|
||||
values.find("MetroidD3DThermalPaletteFix") != values.end();
|
||||
ApplyVRSetting(values, "MetroidThermalVisorFix", Config::GFX_VR_METROID_THERMAL_VISOR_FIX);
|
||||
ApplyVRSetting(values, "MetroidD3DThermalPaletteFix",
|
||||
Config::GFX_VR_METROID_D3D_THERMAL_PALETTE_FIX);
|
||||
if (!has_d3d_thermal_palette_fix)
|
||||
{
|
||||
const auto thermal_fix = values.find("MetroidThermalVisorFix");
|
||||
bool enabled = false;
|
||||
if (thermal_fix != values.end() && TryParse(thermal_fix->second, &enabled))
|
||||
{
|
||||
Config::SetCurrent(Config::GFX_VR_METROID_D3D_THERMAL_PALETTE_FIX, enabled);
|
||||
s_applied_vr_settings.insert("MetroidD3DThermalPaletteFix");
|
||||
}
|
||||
}
|
||||
ApplyVRSetting(values, "ClearEFBCopies", Config::GFX_VR_CLEAR_EFB_COPIES);
|
||||
ApplyVRSetting(values, "Gamma", Config::GFX_VR_GAMMA);
|
||||
ApplyVRSetting(values, "UseVulkanMultiview", Config::GFX_VR_USE_VULKAN_MULTIVIEW);
|
||||
ApplyVRSetting(values, "AndroidDirectToHMD", Config::GFX_VR_ANDROID_DIRECT_TO_HMD);
|
||||
ApplyVRSetting(values, "ARMode", Config::GFX_VR_AR_MODE);
|
||||
ApplyVRSetting(values, "ARModeDebug", Config::GFX_VR_AR_MODE_DEBUG);
|
||||
ApplyVRSetting(values, "ARBackgroundAlpha", Config::GFX_VR_AR_BACKGROUND_ALPHA);
|
||||
ApplyVRSetting(values, "ResolutionScale", Config::GFX_VR_RESOLUTION_SCALE);
|
||||
ApplyVRSetting(values, "FoveationLevel", Config::GFX_VR_FOVEATION_LEVEL);
|
||||
ApplyVRSetting(values, "DynamicFoveation", Config::GFX_VR_FOVEATION_DYNAMIC);
|
||||
ApplyVRSetting(values, "FoveateEFB", Config::GFX_VR_EFB_FOVEATION);
|
||||
const bool has_passthrough = values.find("Passthrough") != values.end();
|
||||
ApplyVRSetting(values, "Passthrough", Config::GFX_VR_PASSTHROUGH);
|
||||
// Legacy key from before the XR_FB_passthrough rework.
|
||||
if (!has_passthrough)
|
||||
ApplyVRSetting(values, "ARMode", Config::GFX_VR_PASSTHROUGH);
|
||||
ApplyVRSetting(values, "PassthroughRemoveBlackBackground",
|
||||
Config::GFX_VR_PASSTHROUGH_REMOVE_BLACK_BG);
|
||||
ApplyVRSetting(values, "PassthroughRemoveBlackEFBClears",
|
||||
Config::GFX_VR_PASSTHROUGH_REMOVE_BLACK_CLEARS);
|
||||
ApplyVRSetting(values, "PassthroughSceneOpacity", Config::GFX_VR_PASSTHROUGH_SCENE_OPACITY);
|
||||
ApplyVRSetting(values, "PassthroughCoverageMode", Config::GFX_VR_PASSTHROUGH_COVERAGE_MODE);
|
||||
}
|
||||
} // namespace
|
||||
|
||||
@@ -300,12 +354,10 @@ void SConfig::LoadSettings()
|
||||
}
|
||||
|
||||
// Migrate the legacy boolean VR VBI override to the new explicit frequency setting.
|
||||
if (Config::Get(Config::GFX_VR_FORCED_VBI_FREQUENCY) ==
|
||||
Config::GFX_VR_FORCED_VBI_FREQUENCY_OFF &&
|
||||
if (Config::Get(Config::GFX_VR_FORCED_VBI_FREQUENCY) == Config::GFX_VR_FORCED_VBI_FREQUENCY_OFF &&
|
||||
Config::Get(Config::GFX_VR_AUTO_VBI_FROM_HMD))
|
||||
{
|
||||
Config::SetBase(Config::GFX_VR_FORCED_VBI_FREQUENCY,
|
||||
Config::GFX_VR_FORCED_VBI_FREQUENCY_90);
|
||||
Config::SetBase(Config::GFX_VR_FORCED_VBI_FREQUENCY, Config::GFX_VR_FORCED_VBI_FREQUENCY_90);
|
||||
Config::SetBase(Config::GFX_VR_AUTO_VBI_FROM_HMD, false);
|
||||
}
|
||||
}
|
||||
@@ -477,7 +529,8 @@ void SConfig::SetRunningGameMetadata(const std::string& game_id, const std::stri
|
||||
void SConfig::ReloadGameVRConfigOverrides()
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(m_metadata_lock);
|
||||
ApplyGameVRConfigOverrides(m_game_id, m_revision == 0 ? std::nullopt : std::make_optional(m_revision));
|
||||
ApplyGameVRConfigOverrides(m_game_id,
|
||||
m_revision == 0 ? std::nullopt : std::make_optional(m_revision));
|
||||
}
|
||||
|
||||
void SConfig::OnESTitleChanged()
|
||||
|
||||
@@ -41,6 +41,8 @@
|
||||
#include "Core/Boot/Boot.h"
|
||||
#include "Core/BootManager.h"
|
||||
#include "Core/CPUThreadConfigCallback.h"
|
||||
#include "Common/Config/Config.h"
|
||||
#include "Core/Config/GraphicsSettings.h"
|
||||
#include "Core/Config/MainSettings.h"
|
||||
#include "Core/ConfigManager.h"
|
||||
#include "Core/CoreTiming.h"
|
||||
@@ -128,6 +130,24 @@ static void RegisterCurrentThreadWithOpenXR(VR::OpenXRManager::AndroidThreadType
|
||||
}
|
||||
#endif
|
||||
|
||||
// Android big.LITTLE: pin the calling emulator thread to a dedicated performance core.
|
||||
// No-op off Android or when PinEmulationCores is disabled. Logs the chosen core.
|
||||
static void PinEmulationThreadToPerformanceCore(Common::ThreadCoreRole role, const char* label)
|
||||
{
|
||||
#if defined(ANDROID)
|
||||
if (!Config::Get(Config::GFX_VR_PIN_EMULATION_CORES))
|
||||
return;
|
||||
const int core = Common::PinCurrentThreadToPerformanceCore(role);
|
||||
if (core >= 0)
|
||||
INFO_LOG_FMT(CORE, "Pinned {} to performance core cpu{}.", label, core);
|
||||
else
|
||||
WARN_LOG_FMT(CORE, "Could not pin {} to a performance core.", label);
|
||||
#else
|
||||
(void)role;
|
||||
(void)label;
|
||||
#endif
|
||||
}
|
||||
|
||||
static void Callback_FramePresented(const PresentInfo& present_info);
|
||||
|
||||
struct HostJob
|
||||
@@ -346,6 +366,10 @@ static void CpuThread(Core::System& system, const std::optional<std::string>& sa
|
||||
VR::OpenXRManager::AndroidThreadType::RendererMain,
|
||||
system.IsDualCoreMode() ? "CPU thread" : "CPU-GPU thread");
|
||||
#endif
|
||||
// The PPC JIT is the serial, latency-critical path. In single-core it also runs the
|
||||
// GPU work, so it stays the top-priority pin either way.
|
||||
PinEmulationThreadToPerformanceCore(Common::ThreadCoreRole::EmuCPU,
|
||||
system.IsDualCoreMode() ? "CPU thread" : "CPU-GPU thread");
|
||||
|
||||
// This needs to be delayed until after the video backend is ready.
|
||||
DolphinAnalytics::Instance().ReportGameStart();
|
||||
@@ -507,6 +531,8 @@ static void FifoPlayerThread(Core::System& system, const std::optional<std::stri
|
||||
"Video thread");
|
||||
}
|
||||
#endif
|
||||
// Dedicated fast core for FIFO/GPU submit, distinct from the CPU thread's.
|
||||
PinEmulationThreadToPerformanceCore(Common::ThreadCoreRole::EmuVideo, "Video thread");
|
||||
init_from_thread.set_value(is_init);
|
||||
|
||||
if (!is_init)
|
||||
|
||||
+90
-161
@@ -67,7 +67,7 @@ struct OpenXRVelocityHistory
|
||||
bool has_velocity_sample = false;
|
||||
Common::Vec3 previous_position{};
|
||||
Common::Vec3 previous_velocity{};
|
||||
std::chrono::steady_clock::time_point previous_time{};
|
||||
s64 previous_time_ns = 0;
|
||||
};
|
||||
|
||||
struct OpenXRWiimoteState
|
||||
@@ -77,55 +77,33 @@ struct OpenXRWiimoteState
|
||||
Common::Vec3 angular_velocity{};
|
||||
float ir_x = std::numeric_limits<float>::quiet_NaN();
|
||||
float ir_y = 0.0f;
|
||||
float ir_z = 0.0f; // Forward/backward distance offset (-1 to +1)
|
||||
// Raw aim orientation for reference-based IR computation in ApplyOpenXRIRCenter
|
||||
Common::Quaternion aim_orientation{1.0f, 0.0f, 0.0f, 0.0f};
|
||||
Common::Vec3 aim_position{}; // Aim pose world position for Z computation
|
||||
bool has_aim = false;
|
||||
float ir_z = 0.0f; // Forward/backward distance offset from NEUTRAL_DISTANCE, in meters
|
||||
};
|
||||
|
||||
struct OpenXRIRCenter
|
||||
// How far past the screen edge (in screen half-extents) the pointer stays tracked before
|
||||
// the emulated IR camera "loses" it, matching real hardware: the wiimote camera FOV
|
||||
// (42°x31.5°) extends well past the cursor's Total Yaw/Pitch range (25°/20°), so real
|
||||
// dots survive to roughly these excursions.
|
||||
constexpr float OPENXR_IR_HIDE_MARGIN_U = 1.9f;
|
||||
constexpr float OPENXR_IR_HIDE_MARGIN_V = 1.5f;
|
||||
// An off-screen excursion must persist this many input snapshots (~100ms at 72-90Hz)
|
||||
// before the pointer is hidden. Runtime pose spikes during fast controller motion produce
|
||||
// brief excursions; without the debounce every spike dropped IR tracking entirely.
|
||||
constexpr int OPENXR_IR_HIDE_DELAY_SNAPSHOTS = 9;
|
||||
|
||||
// Nanosecond timestamp used for velocity differentiation: the XR pose sample time when
|
||||
// available (jitter-free), wall clock otherwise.
|
||||
s64 OpenXRSampleTimeNs(const Common::VR::OpenXRInputSnapshot& snapshot)
|
||||
{
|
||||
bool initialized = false;
|
||||
// Reference orientation from the HMD — "where the user is looking" becomes cursor center.
|
||||
// Controller aim deviation from this direction maps to cursor position.
|
||||
Common::Quaternion reference_orientation;
|
||||
Common::Vec3 reference_position{}; // Controller reference position for forward/backward
|
||||
};
|
||||
|
||||
struct OpenXRCursorRanges
|
||||
{
|
||||
float yaw_half_range = float(MathUtil::PI * 25.0 / 180.0 / 2.0);
|
||||
float pitch_half_range = float(MathUtil::PI * 20.0 / 180.0 / 2.0);
|
||||
};
|
||||
|
||||
OpenXRCursorRanges GetOpenXRCursorRanges(unsigned int wiimote_index)
|
||||
{
|
||||
OpenXRCursorRanges ranges;
|
||||
|
||||
if (wiimote_index >= MAX_WIIMOTES)
|
||||
return ranges;
|
||||
|
||||
auto* config = ::Wiimote::GetConfig();
|
||||
if (!config)
|
||||
return ranges;
|
||||
|
||||
auto* wiimote = static_cast<WiimoteEmu::Wiimote*>(config->GetController(wiimote_index));
|
||||
if (!wiimote)
|
||||
return ranges;
|
||||
|
||||
auto* ir_group = static_cast<ControllerEmu::Cursor*>(
|
||||
wiimote->GetWiimoteGroup(WiimoteEmu::WiimoteGroup::Point));
|
||||
if (!ir_group)
|
||||
return ranges;
|
||||
|
||||
ranges.yaw_half_range = std::max(static_cast<float>(ir_group->GetTotalYaw() / 2), 0.001f);
|
||||
ranges.pitch_half_range = std::max(static_cast<float>(ir_group->GetTotalPitch() / 2), 0.001f);
|
||||
return ranges;
|
||||
if (snapshot.sample_time_ns != 0)
|
||||
return snapshot.sample_time_ns;
|
||||
return std::chrono::duration_cast<std::chrono::nanoseconds>(
|
||||
std::chrono::steady_clock::now().time_since_epoch())
|
||||
.count();
|
||||
}
|
||||
|
||||
OpenXRWiimoteState BuildOpenXRState(const Common::VR::OpenXRControllerState& controller,
|
||||
OpenXRVelocityHistory* velocity_history)
|
||||
OpenXRVelocityHistory* velocity_history, s64 sample_time_ns)
|
||||
{
|
||||
OpenXRWiimoteState out;
|
||||
|
||||
@@ -147,13 +125,10 @@ OpenXRWiimoteState BuildOpenXRState(const Common::VR::OpenXRControllerState& con
|
||||
const auto get_matrix = [&world_to_local](int row, int col) { return world_to_local.data[row * 3 + col]; };
|
||||
|
||||
Common::Vec3 relative_acceleration{};
|
||||
const auto now = std::chrono::steady_clock::now();
|
||||
const float dt =
|
||||
velocity_history->has_pose_sample
|
||||
? std::chrono::duration_cast<std::chrono::duration<float>>(now -
|
||||
velocity_history->previous_time)
|
||||
.count()
|
||||
: 0.0f;
|
||||
velocity_history->has_pose_sample ?
|
||||
float(sample_time_ns - velocity_history->previous_time_ns) * 1e-9f :
|
||||
0.0f;
|
||||
|
||||
Common::Vec3 current_position{};
|
||||
std::optional<Common::Vec3> pose_velocity;
|
||||
@@ -187,7 +162,7 @@ OpenXRWiimoteState BuildOpenXRState(const Common::VR::OpenXRControllerState& con
|
||||
if (has_grip_pose)
|
||||
{
|
||||
velocity_history->previous_position = current_position;
|
||||
velocity_history->previous_time = now;
|
||||
velocity_history->previous_time_ns = sample_time_ns;
|
||||
velocity_history->has_pose_sample = true;
|
||||
}
|
||||
else
|
||||
@@ -220,103 +195,50 @@ OpenXRWiimoteState BuildOpenXRState(const Common::VR::OpenXRControllerState& con
|
||||
{
|
||||
const Common::Vec3 world_angular_velocity = ToVec3(controller.grip_velocity.angular);
|
||||
const Common::Vec3 local_angular_velocity = world_to_local * world_angular_velocity;
|
||||
out.angular_velocity =
|
||||
Common::Vec3(local_angular_velocity.x, local_angular_velocity.z, local_angular_velocity.y);
|
||||
// Aim-local (X=right, Y=up, Z=back) to Dolphin's gyro convention
|
||||
// (+x = pitch down, +y = roll left, +z = yaw left), a proper rotation:
|
||||
// pitch up is +x in aim-local but -x for the wiimote.
|
||||
out.angular_velocity = Common::Vec3(-local_angular_velocity.x, local_angular_velocity.z,
|
||||
local_angular_velocity.y);
|
||||
}
|
||||
|
||||
// Store raw aim orientation and position — IR angles and distance are computed
|
||||
// in ApplyOpenXRIRCenter relative to the captured reference, making the mapping
|
||||
// headset-independent.
|
||||
if (has_aim_pose)
|
||||
// IR pointer: absolute mapping from the aim ray's intersection with the virtual screen,
|
||||
// computed by OpenXRManager with the renderer's own screen placement. Aiming at a point
|
||||
// on the 2D screen puts the Wii pointer at that point — no reference capture, no
|
||||
// recentering. Raw values are stored here; the off-screen hide decision (margins +
|
||||
// debounce) lives in the override function, which keeps state across snapshots.
|
||||
const Common::VR::OpenXRScreenHit& hit = controller.screen_hit;
|
||||
if (hit.valid)
|
||||
{
|
||||
out.aim_orientation = ToQuaternion(controller.aim_pose.orientation).Normalized();
|
||||
out.aim_position = ToVec3(controller.aim_pose.position);
|
||||
out.has_aim = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
out.aim_orientation = reference_orientation;
|
||||
out.has_aim = false;
|
||||
out.ir_x = hit.u;
|
||||
out.ir_y = hit.v;
|
||||
// Emulated sensor-bar distance: EmulatePoint uses NEUTRAL_DISTANCE(2m) + ir_z.
|
||||
// Feed the real controller-to-screen distance so leaning in/out changes the
|
||||
// virtual IR dot spacing physically. The band here only rejects nonsense (screen
|
||||
// behind the player, huge rooms) — EmulatePoint applies the Point group's Distance
|
||||
// Sensitivity around the resting distance and clamps to the emulated remote's range,
|
||||
// so this offset must keep headroom on both sides for that gain to have anywhere to go.
|
||||
out.ir_z = std::clamp(hit.distance_m, 0.1f, 8.0f) - 2.0f;
|
||||
}
|
||||
|
||||
// IR x/y/z left as NaN/0/0 — will be filled by ApplyOpenXRIRCenter
|
||||
return out;
|
||||
}
|
||||
|
||||
std::array<OpenXRIRCenter, MAX_BBMOTES> s_openxr_ir_centers{};
|
||||
|
||||
void ApplyOpenXRIRCenter(unsigned int wiimote_index, OpenXRWiimoteState* state,
|
||||
const Common::VR::OpenXRPoseState& head_pose)
|
||||
{
|
||||
if (wiimote_index >= MAX_BBMOTES || !state->has_aim)
|
||||
return;
|
||||
|
||||
auto& center = s_openxr_ir_centers[wiimote_index];
|
||||
|
||||
// On first valid frame or after recenter, capture the HMD forward direction as reference.
|
||||
// The cursor center corresponds to where the user is looking, and controller aim
|
||||
// deviation from that direction moves the cursor.
|
||||
if (!center.initialized)
|
||||
{
|
||||
if (head_pose.valid)
|
||||
center.reference_orientation = ToQuaternion(head_pose.orientation).Normalized();
|
||||
else
|
||||
center.reference_orientation = state->aim_orientation;
|
||||
center.reference_position = state->aim_position;
|
||||
center.initialized = true;
|
||||
}
|
||||
|
||||
// Compute the relative rotation: how much the controller aim deviates from the
|
||||
// HMD forward direction. conjugate(reference) * current_aim
|
||||
const Common::Quaternion relative =
|
||||
center.reference_orientation.Conjugate() * state->aim_orientation;
|
||||
|
||||
// Transform the forward vector (-Z) by the relative rotation to get the
|
||||
// local-frame pointing direction
|
||||
const Common::Vec3 local_forward = relative * Common::Vec3{0.0f, 0.0f, -1.0f};
|
||||
|
||||
// Extract yaw and pitch from the local forward vector
|
||||
// In OpenXR space: X=right, Y=up, Z=back (right-handed)
|
||||
// local_forward.x = left/right deviation (yaw)
|
||||
// local_forward.y = up/down deviation (pitch)
|
||||
// local_forward.z = forward component (should be near -1 when pointing straight)
|
||||
const float forward_len =
|
||||
std::sqrt(local_forward.x * local_forward.x + local_forward.z * local_forward.z);
|
||||
const float yaw = std::atan2(local_forward.x, -local_forward.z);
|
||||
const float pitch = std::atan2(local_forward.y, std::max(forward_len, 0.001f));
|
||||
|
||||
// Get per-wiimote cursor ranges for normalization
|
||||
const OpenXRCursorRanges ranges = GetOpenXRCursorRanges(wiimote_index);
|
||||
|
||||
// Normalize to [-1, 1] range based on configured total yaw/pitch
|
||||
// Positive yaw = pointing right = positive ir_x (moves cursor right)
|
||||
// Positive pitch = pointing up = positive ir_y (moves cursor up)
|
||||
state->ir_x = yaw / std::max(ranges.yaw_half_range, 0.001f);
|
||||
state->ir_y = pitch / std::max(ranges.pitch_half_range, 0.001f);
|
||||
|
||||
// Compute forward/backward distance (ir_z) from position delta projected onto
|
||||
// the reference aim direction. This changes the spacing between the two virtual
|
||||
// IR sensor bar dots — closer = dots farther apart, farther = dots closer together.
|
||||
// Scale: 0.3m of forward movement = ir_z of -1 (moves 1m closer to sensor bar).
|
||||
// Matches the old Hydra behavior (300mm per unit for Z axis).
|
||||
constexpr float Z_METERS_PER_UNIT = 0.3f;
|
||||
const Common::Vec3 ref_forward =
|
||||
center.reference_orientation * Common::Vec3{0.0f, 0.0f, -1.0f};
|
||||
const Common::Vec3 pos_delta = state->aim_position - center.reference_position;
|
||||
const float forward_displacement = pos_delta.Dot(ref_forward);
|
||||
state->ir_z = std::clamp(-forward_displacement / Z_METERS_PER_UNIT, -1.0f, 1.0f);
|
||||
}
|
||||
|
||||
ControllerEmu::InputOverrideFunction CreateOpenXRInputOverrideFunction(unsigned int wiimote_index,
|
||||
bool prefer_left_hand)
|
||||
{
|
||||
OpenXRWiimoteState cached_state;
|
||||
OpenXRVelocityHistory left_velocity_history;
|
||||
OpenXRVelocityHistory right_velocity_history;
|
||||
int offscreen_snapshots = 0;
|
||||
float held_ir_x = std::numeric_limits<float>::quiet_NaN();
|
||||
float held_ir_y = 0.0f;
|
||||
float held_ir_z = 0.0f;
|
||||
|
||||
return [wiimote_index, prefer_left_hand, cached_state, left_velocity_history,
|
||||
right_velocity_history](std::string_view group_name, std::string_view control_name,
|
||||
ControlState) mutable -> std::optional<ControlState> {
|
||||
right_velocity_history, offscreen_snapshots, held_ir_x, held_ir_y,
|
||||
held_ir_z](std::string_view group_name, std::string_view control_name,
|
||||
ControlState) mutable -> std::optional<ControlState> {
|
||||
if (s_wiimote_sources[wiimote_index].load() != WiimoteSource::OpenXR)
|
||||
return std::nullopt;
|
||||
|
||||
@@ -332,21 +254,43 @@ ControllerEmu::InputOverrideFunction CreateOpenXRInputOverrideFunction(unsigned
|
||||
const auto right_valid = right.grip_pose.valid || right.aim_pose.valid;
|
||||
const auto left_valid = left.grip_pose.valid || left.aim_pose.valid;
|
||||
|
||||
const s64 sample_time_ns = OpenXRSampleTimeNs(snapshot);
|
||||
if (!prefer_left_hand && right_valid)
|
||||
{
|
||||
cached_state =
|
||||
BuildOpenXRState(right, &right_velocity_history);
|
||||
ApplyOpenXRIRCenter(wiimote_index, &cached_state, snapshot.head_pose);
|
||||
}
|
||||
cached_state = BuildOpenXRState(right, &right_velocity_history, sample_time_ns);
|
||||
else if (left_valid)
|
||||
cached_state = BuildOpenXRState(left, &left_velocity_history, sample_time_ns);
|
||||
else
|
||||
cached_state = {};
|
||||
|
||||
// Off-screen debounce: a real wiimote's camera keeps tracking well past the screen
|
||||
// edge, and a runtime pose spike during fast motion must not drop the pointer.
|
||||
// Brief excursions keep reporting (the cursor pins at the screen edge, invalid-hit
|
||||
// blips hold the last good position); only a sustained one hides the pointer like
|
||||
// a real wiimote losing the sensor bar.
|
||||
const bool on_screen = !std::isnan(cached_state.ir_x) &&
|
||||
std::abs(cached_state.ir_x) <= OPENXR_IR_HIDE_MARGIN_U &&
|
||||
std::abs(cached_state.ir_y) <= OPENXR_IR_HIDE_MARGIN_V;
|
||||
if (on_screen)
|
||||
{
|
||||
cached_state =
|
||||
BuildOpenXRState(left, &left_velocity_history);
|
||||
ApplyOpenXRIRCenter(wiimote_index, &cached_state, snapshot.head_pose);
|
||||
offscreen_snapshots = 0;
|
||||
held_ir_x = cached_state.ir_x;
|
||||
held_ir_y = cached_state.ir_y;
|
||||
held_ir_z = cached_state.ir_z;
|
||||
}
|
||||
else if (++offscreen_snapshots < OPENXR_IR_HIDE_DELAY_SNAPSHOTS)
|
||||
{
|
||||
if (std::isnan(cached_state.ir_x))
|
||||
{
|
||||
cached_state.ir_x = held_ir_x;
|
||||
cached_state.ir_y = held_ir_y;
|
||||
cached_state.ir_z = held_ir_z;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cached_state = {};
|
||||
cached_state.ir_x = std::numeric_limits<float>::quiet_NaN();
|
||||
cached_state.ir_y = 0.0f;
|
||||
cached_state.ir_z = 0.0f;
|
||||
}
|
||||
|
||||
cached_state.generation = snapshot.generation;
|
||||
@@ -372,16 +316,13 @@ ControllerEmu::InputOverrideFunction CreateOpenXRInputOverrideFunction(unsigned
|
||||
}
|
||||
else if (group_name == WiimoteEmu::Wiimote::IR_GROUP)
|
||||
{
|
||||
// Handle recenter signal from EmulatePoint — reset the reference orientation
|
||||
// so the current aim direction becomes the new center.
|
||||
// The pointer mapping is absolute (aim ray vs. virtual screen) — there is no
|
||||
// reference to reset, so EmulatePoint's "Recenter" signal is a no-op.
|
||||
if (control_name == "Recenter")
|
||||
{
|
||||
if (wiimote_index < MAX_BBMOTES)
|
||||
s_openxr_ir_centers[wiimote_index].initialized = false;
|
||||
return std::nullopt;
|
||||
}
|
||||
// NaN = pointer not on screen; the cursor hides like a real wiimote losing the bar.
|
||||
if (control_name == ControllerEmu::ReshapableInput::X_INPUT_OVERRIDE)
|
||||
return std::isnan(cached_state.ir_x) ? 0.0 : cached_state.ir_x;
|
||||
return static_cast<double>(cached_state.ir_x);
|
||||
if (control_name == ControllerEmu::ReshapableInput::Y_INPUT_OVERRIDE)
|
||||
return static_cast<double>(cached_state.ir_y);
|
||||
if (control_name == ControllerEmu::ReshapableInput::Z_INPUT_OVERRIDE)
|
||||
@@ -424,7 +365,6 @@ void UpdateOpenXRInputOverride(unsigned int index, WiimoteSource source)
|
||||
const bool prefer_left_hand =
|
||||
Config::Get(Config::Info<bool>{{Config::System::Main, "Android", "QuestLeftHanded"},
|
||||
false});
|
||||
s_openxr_ir_centers[index] = {};
|
||||
wiimote->SetInputOverrideFunction(
|
||||
CreateOpenXRInputOverrideFunction(index, prefer_left_hand));
|
||||
apply_to_attachments(CreateOpenXRInputOverrideFunction(index, !prefer_left_hand));
|
||||
@@ -432,7 +372,6 @@ void UpdateOpenXRInputOverride(unsigned int index, WiimoteSource source)
|
||||
}
|
||||
else if (s_openxr_overrides_enabled[index])
|
||||
{
|
||||
s_openxr_ir_centers[index] = {};
|
||||
wiimote->ClearInputOverrideFunction();
|
||||
apply_to_attachments({});
|
||||
s_openxr_overrides_enabled[index] = false;
|
||||
@@ -557,9 +496,7 @@ std::optional<OpenXRWiiRemoteState> GetOpenXRHandState(bool left_hand)
|
||||
|
||||
OpenXRVelocityHistory throwaway_velocity_history;
|
||||
OpenXRWiimoteState state =
|
||||
BuildOpenXRState(controller, &throwaway_velocity_history);
|
||||
// This path doesn't have a wiimote index, use 0 for reference-based IR
|
||||
ApplyOpenXRIRCenter(0, &state, snapshot.head_pose);
|
||||
BuildOpenXRState(controller, &throwaway_velocity_history, OpenXRSampleTimeNs(snapshot));
|
||||
|
||||
OpenXRWiiRemoteState out;
|
||||
out.acceleration = {state.acceleration.x, state.acceleration.y, state.acceleration.z};
|
||||
@@ -718,12 +655,4 @@ void DoState(PointerWrap& p)
|
||||
}
|
||||
}
|
||||
|
||||
void RecenterOpenXRPointer(unsigned int wiimote_index)
|
||||
{
|
||||
#ifdef ENABLE_VR
|
||||
if (wiimote_index < MAX_BBMOTES)
|
||||
s_openxr_ir_centers[wiimote_index].initialized = false;
|
||||
#endif
|
||||
}
|
||||
|
||||
} // namespace Wiimote
|
||||
@@ -95,7 +95,6 @@ void Pause();
|
||||
std::optional<OpenXRWiiRemoteState> GetOpenXRWiiRemoteState(unsigned int index);
|
||||
std::optional<OpenXRWiiRemoteState> GetOpenXRHandState(bool left_hand);
|
||||
|
||||
void RecenterOpenXRPointer(unsigned int wiimote_index);
|
||||
void DoState(PointerWrap& p);
|
||||
InputConfig* GetConfig();
|
||||
ControllerEmu::ControlGroup* GetWiimoteGroup(int number, WiimoteEmu::WiimoteGroup group);
|
||||
|
||||
@@ -230,11 +230,17 @@ void EmulatePoint(MotionState* state, ControllerEmu::Cursor* ir_group,
|
||||
{
|
||||
const float recenter_x = state->recenter_x;
|
||||
const float recenter_y = state->recenter_y;
|
||||
const float distance_reference = state->distance_reference;
|
||||
const bool has_distance_reference = state->has_distance_reference;
|
||||
|
||||
// Move the wiimote a kilometer forward so the sensor bar is always behind it.
|
||||
*state = {};
|
||||
state->recenter_x = recenter_x;
|
||||
state->recenter_y = recenter_y;
|
||||
// The player hasn't moved just because the pointer left the screen: keep the resting
|
||||
// distance so re-acquiring the screen doesn't re-baseline it somewhere else.
|
||||
state->distance_reference = distance_reference;
|
||||
state->has_distance_reference = has_distance_reference;
|
||||
state->position = {0, -1000, 0};
|
||||
return;
|
||||
}
|
||||
@@ -251,15 +257,30 @@ void EmulatePoint(MotionState* state, ControllerEmu::Cursor* ir_group,
|
||||
const float yaw_scale = ir_group->GetTotalYaw() / 2;
|
||||
const float pitch_scale = ir_group->GetTotalPitch() / 2;
|
||||
|
||||
const bool recenter_pressed = ir_group->controls[5]->GetState<bool>();
|
||||
|
||||
// Check for Z override (forward/backward distance from VR controllers).
|
||||
// Z override is in [-1, 1] range: -1 = closest (1m), 0 = neutral (2m), +1 = farthest (3m).
|
||||
// Z override is a physical offset in meters from NEUTRAL_DISTANCE: negative is closer to
|
||||
// the sensor bar, positive is farther away.
|
||||
float distance = NEUTRAL_DISTANCE;
|
||||
if (override_func)
|
||||
{
|
||||
if (const auto z_override = override_func(ir_group->name,
|
||||
ControllerEmu::ReshapableInput::Z_INPUT_OVERRIDE, 0.0))
|
||||
{
|
||||
distance = NEUTRAL_DISTANCE + static_cast<float>(*z_override);
|
||||
const float measured = NEUTRAL_DISTANCE + static_cast<float>(*z_override);
|
||||
|
||||
// Distance Sensitivity amplifies movement around the resting distance rather than
|
||||
// around NEUTRAL_DISTANCE: the player's hand rests well short of the virtual screen,
|
||||
// so scaling the raw offset would drag the emulated remote to a clamp and stay there.
|
||||
if (!state->has_distance_reference || recenter_pressed)
|
||||
{
|
||||
state->distance_reference = measured;
|
||||
state->has_distance_reference = true;
|
||||
}
|
||||
|
||||
const float sensitivity = static_cast<float>(ir_group->GetDistanceSensitivity());
|
||||
distance = state->distance_reference + (measured - state->distance_reference) * sensitivity;
|
||||
distance = std::clamp(distance, 0.5f, 4.0f);
|
||||
}
|
||||
}
|
||||
@@ -270,7 +291,6 @@ void EmulatePoint(MotionState* state, ControllerEmu::Cursor* ir_group,
|
||||
state->acceleration = {};
|
||||
|
||||
float centered_x, centered_y;
|
||||
const bool recenter_pressed = ir_group->controls[5]->GetState<bool>();
|
||||
|
||||
if (override_func)
|
||||
{
|
||||
|
||||
@@ -52,6 +52,11 @@ struct MotionState : PositionalState, RotationalState
|
||||
float recenter_x = 0.0f;
|
||||
float recenter_y = 0.0f;
|
||||
bool recenter_button_held = false;
|
||||
|
||||
// Resting pointing distance (meters) that Distance Sensitivity amplifies around.
|
||||
// Captured from the first absolute distance measurement and on recenter.
|
||||
float distance_reference = 0.0f;
|
||||
bool has_distance_reference = false;
|
||||
};
|
||||
|
||||
// Note that 'gyroscope' is rotation of world around device.
|
||||
|
||||
@@ -136,6 +136,8 @@ constexpr std::array<const char*, NUM_HOTKEYS> s_hotkey_labels{{
|
||||
_trans("Toggle Don't Clear Screen"),
|
||||
_trans("Toggle Force VBI"),
|
||||
_trans("Toggle Remove Cinematic Bars"),
|
||||
_trans("Toggle Camera Anchor"),
|
||||
_trans("Toggle Controller Anchor"),
|
||||
|
||||
_trans("Toggle Shader Hunting"),
|
||||
_trans("Cycle Hunting Option"),
|
||||
@@ -148,6 +150,13 @@ constexpr std::array<const char*, NUM_HOTKEYS> s_hotkey_labels{{
|
||||
_trans("Toggle Texture Hash Filter"),
|
||||
_trans("Save Shader Override"),
|
||||
|
||||
_trans("Toggle Texture Hunting"),
|
||||
_trans("Cycle Hunting Option"),
|
||||
_trans("Cycle Override Handling"),
|
||||
_trans("Previous Texture"),
|
||||
_trans("Next Texture"),
|
||||
_trans("Save Texture Override"),
|
||||
|
||||
// i18n: IR stands for internal resolution
|
||||
_trans("Increase IR"),
|
||||
// i18n: IR stands for internal resolution
|
||||
@@ -347,8 +356,9 @@ constexpr std::array<HotkeyGroupInfo, NUM_HOTKEY_GROUPS> s_groups_info = {
|
||||
{_trans("Controller Profile 3"), HK_NEXT_WIIMOTE_PROFILE_3, HK_PREV_GAME_WIIMOTE_PROFILE_3},
|
||||
{_trans("Controller Profile 4"), HK_NEXT_WIIMOTE_PROFILE_4, HK_PREV_GAME_WIIMOTE_PROFILE_4},
|
||||
{_trans("Graphics Toggles"), HK_TOGGLE_CROP, HK_TOGGLE_TEXTURES},
|
||||
{_trans("VR"), HK_VR_TOGGLE_OPENXR, HK_VR_TOGGLE_REMOVE_CINEMATIC_BARS},
|
||||
{_trans("VR"), HK_VR_TOGGLE_OPENXR, HK_VR_TOGGLE_CONTROLLER_ANCHOR},
|
||||
{_trans("VR Shader"), HK_VR_SHADER_TOGGLE_HUNTING, HK_VR_SHADER_SAVE_OVERRIDE},
|
||||
{_trans("VR Texture"), HK_VR_TEXTURE_TOGGLE_HUNTING, HK_VR_TEXTURE_SAVE_OVERRIDE},
|
||||
{_trans("Internal Resolution"), HK_INCREASE_IR, HK_DECREASE_IR},
|
||||
{_trans("Freelook"), HK_FREELOOK_TOGGLE, HK_FREELOOK_TOGGLE},
|
||||
// i18n: Stereoscopic 3D
|
||||
@@ -514,6 +524,9 @@ void HotkeyManager::LoadDefaults(const ControllerInterface& ciface)
|
||||
set_key_expression(HK_SKYLANDERS_PORTAL, hotkey_string({"Ctrl", "P"}));
|
||||
set_key_expression(HK_INFINITY_BASE, hotkey_string({"Ctrl", "I"}));
|
||||
|
||||
// VR
|
||||
set_key_expression(HK_VR_RESET_POSITION, hotkey_string({"Shift", "R"}));
|
||||
|
||||
#ifdef ANDROID
|
||||
// Default the "Return to Main Menu" hotkey to the left controller's Menu button.
|
||||
// The expression must be held for 3 s by HotkeyDispatcher before it fires.
|
||||
|
||||
@@ -124,6 +124,8 @@ enum Hotkey
|
||||
HK_VR_TOGGLE_DONT_CLEAR_SCREEN,
|
||||
HK_VR_TOGGLE_FORCE_VBI,
|
||||
HK_VR_TOGGLE_REMOVE_CINEMATIC_BARS,
|
||||
HK_VR_TOGGLE_CAMERA_ANCHOR,
|
||||
HK_VR_TOGGLE_CONTROLLER_ANCHOR,
|
||||
|
||||
HK_VR_SHADER_TOGGLE_HUNTING,
|
||||
HK_VR_SHADER_CYCLE_HUNTING_OPTION,
|
||||
@@ -136,6 +138,13 @@ enum Hotkey
|
||||
HK_VR_SHADER_TOGGLE_TEXTURE_HASH,
|
||||
HK_VR_SHADER_SAVE_OVERRIDE,
|
||||
|
||||
HK_VR_TEXTURE_TOGGLE_HUNTING,
|
||||
HK_VR_TEXTURE_CYCLE_HUNTING_OPTION,
|
||||
HK_VR_TEXTURE_CYCLE_HANDLING,
|
||||
HK_VR_TEXTURE_PREV,
|
||||
HK_VR_TEXTURE_NEXT,
|
||||
HK_VR_TEXTURE_SAVE_OVERRIDE,
|
||||
|
||||
HK_INCREASE_IR,
|
||||
HK_DECREASE_IR,
|
||||
|
||||
@@ -244,6 +253,7 @@ enum HotkeyGroup : int
|
||||
HKGP_GRAPHICS_TOGGLES,
|
||||
HKGP_VR,
|
||||
HKGP_VR_SHADER,
|
||||
HKGP_VR_TEXTURE,
|
||||
HKGP_IR,
|
||||
HKGP_FREELOOK,
|
||||
HKGP_3D_TOGGLE,
|
||||
|
||||
@@ -97,7 +97,7 @@ struct CompressAndDumpStateArgs
|
||||
static Common::WorkQueueThreadSP<CompressAndDumpStateArgs> s_compress_and_dump_thread;
|
||||
|
||||
// Don't forget to increase this after doing changes on the savestate system
|
||||
constexpr u32 STATE_VERSION = 177; // Last changed in PR 13844
|
||||
constexpr u32 STATE_VERSION = 181; // Last changed for VR pane-remap GS constant
|
||||
|
||||
// Increase this if the StateExtendedHeader definition changes
|
||||
constexpr u32 EXTENDED_HEADER_VERSION = 1; // Last changed in PR 12217
|
||||
|
||||
@@ -9,8 +9,9 @@ ConfigBool::ConfigBool(const QString& label, const Config::Info<bool>& setting,
|
||||
}
|
||||
|
||||
ConfigBool::ConfigBool(const QString& label, const Config::Info<bool>& setting,
|
||||
Config::Layer* layer, bool reverse)
|
||||
: ConfigControl(label, setting.GetLocation(), layer), m_setting(setting), m_reverse(reverse)
|
||||
Config::Layer* layer, bool reverse, Config::Layer* fallback_layer)
|
||||
: ConfigControl(label, setting.GetLocation(), layer, fallback_layer), m_setting(setting),
|
||||
m_reverse(reverse)
|
||||
{
|
||||
setChecked(ReadValue(setting) ^ reverse);
|
||||
|
||||
|
||||
Loaded 100 of 272 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user