mirror of
https://github.com/izzy2lost/BanjoRecomp.git
synced 2026-06-19 01:16:11 -07:00
UI Submodule Refactor (#32)
* Added recompui::IconButton * Remove zelda themed input mapping visualization * update toggle * grayscale overlay colors * recompui::theme namespace + border constants * added ui_binding_button element * Initial support for multiple controllers. (#3) * Support for multiple controllers. * Fix default bindings. * Backwards compatibility with controls from previous version. * WIP code driven input mapping and player assignment * button press anims & temp reassignment state when opening assignment modal * set base opacity for disable state getting re-enabled * generic PlayerCard for both main Controls and assignment modal * wip ui_select recompui component * Add Input Profiles. (#4) * Add Input Profiles. * Add capability of setting custom profiles. * Remove leftover early return. * button sizes and annotation update * flex wrap and context root being assets * controls page multi vs single views * ability to reparent elements * ability to rotate elements * added functional caret to Select component * smaller edit profile button * select fixes and player profile assignment * pointer events property support and apply ptr events None to select arrow svg * init mp kb mappings to be unmapped * wire up selected profile's bindings * reimplement binding system in new menu * clear and reset input bindings implemented * remove deprecated controls panel * changes up to swapping to recompfrontend library * switch ui/input to be using recompfrontend library (unfinished) * register main font with recompui * Changes for recompui built in default scss * launcher + custom background * update modern runtime for recompui * Update N64ModernRuntime for recompui config changes * Added RecordSpinner icon * Added PlusKeyboard icon * remove sass and rml * single player + theme update * Delete Rmlui and lunasvg from being dependencies. * Update recomp frontend commit. * Remove lunasvg and rmlui submodules. * Update recomp frontend. * Move findfreetype. * Remove freetype windows binaries. * More updates. * Update frontend. * It builds. * Update frontend. * Update runtime and frontend. * Update frontend and RT64. * Get rid of SDL2 path from recomp frontend. * Update runtime and frontend and fix link order to fix Linux building * Update frontend and remove gyro and mouse sensitivity options * Update frontend to fix open menu button on controllers --------- Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com> Co-authored-by: Mr-Wiseguy <mrwiseguyromhacking@gmail.com>
This commit is contained in:
co-authored by
thecozies
Mr-Wiseguy
parent
7cd1cc8175
commit
d26d18b373
+3
-9
@@ -1,15 +1,6 @@
|
||||
[submodule "lib/N64ModernRuntime"]
|
||||
path = lib/N64ModernRuntime
|
||||
url = https://github.com/N64Recomp/N64ModernRuntime
|
||||
[submodule "lib/RmlUi"]
|
||||
path = lib/RmlUi
|
||||
url = https://github.com/mikke89/RmlUi
|
||||
[submodule "lib/freetype-windows-binaries"]
|
||||
path = lib/freetype-windows-binaries
|
||||
url = https://github.com/ubawurinna/freetype-windows-binaries/
|
||||
[submodule "lib/lunasvg"]
|
||||
path = lib/lunasvg
|
||||
url = https://github.com/sammycage/lunasvg
|
||||
[submodule "lib/rt64"]
|
||||
path = lib/rt64
|
||||
url = https://github.com/rt64/rt64
|
||||
@@ -19,3 +10,6 @@
|
||||
[submodule "BanjoRecompSyms"]
|
||||
path = BanjoRecompSyms
|
||||
url = https://github.com/BanjoRecomp/BanjoRecompSyms
|
||||
[submodule "lib/RecompFrontend"]
|
||||
path = lib/RecompFrontend
|
||||
url = https://github.com/N64Recomp/RecompFrontend
|
||||
|
||||
+11
-58
@@ -51,15 +51,7 @@ endif()
|
||||
|
||||
add_subdirectory(${CMAKE_SOURCE_DIR}/lib/rt64 ${CMAKE_BINARY_DIR}/rt64)
|
||||
|
||||
# set(BUILD_SHARED_LIBS_SAVED "${BUILD_SHARED_LIBS}")
|
||||
set(BUILD_SHARED_LIBS OFF)
|
||||
SET(LUNASVG_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
|
||||
add_subdirectory(${CMAKE_SOURCE_DIR}/lib/lunasvg)
|
||||
# set(BUILD_SHARED_LIBS "${BUILD_SHARED_LIBS_SAVED}")
|
||||
SET(RMLUI_SVG_PLUGIN ON CACHE BOOL "" FORCE)
|
||||
SET(RMLUI_TESTS_ENABLED OFF CACHE BOOL "" FORCE)
|
||||
add_subdirectory(${CMAKE_SOURCE_DIR}/lib/RmlUi)
|
||||
target_compile_definitions(rmlui_core PRIVATE LUNASVG_BUILD_STATIC)
|
||||
|
||||
add_subdirectory(${CMAKE_SOURCE_DIR}/lib/N64ModernRuntime)
|
||||
|
||||
@@ -149,14 +141,10 @@ add_executable(BanjoRecompiled)
|
||||
|
||||
set (SOURCES
|
||||
${CMAKE_SOURCE_DIR}/src/main/main.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/main/support.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/main/register_overlays.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/main/register_patches.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/main/rt64_render_context.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/main/theme.cpp
|
||||
|
||||
${CMAKE_SOURCE_DIR}/src/game/input.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/game/controls.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/game/config.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/game/debug.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/game/recomp_api.cpp
|
||||
@@ -164,61 +152,22 @@ set (SOURCES
|
||||
${CMAKE_SOURCE_DIR}/src/game/recomp_data_api.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/game/rom_decompression.cpp
|
||||
|
||||
${CMAKE_SOURCE_DIR}/src/ui/ui_renderer.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/ui_state.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/ui_launcher.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/ui_config.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/ui_prompt.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/ui_config_sub_menu.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/ui_color_hack.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/ui_rml_hacks.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/ui_elements.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/ui_mod_details_panel.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/ui_mod_installer.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/ui_mod_menu.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/ui_api.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/ui_api_events.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/ui_api_images.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/ui_utils.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/util/hsv.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/core/ui_context.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/elements/ui_button.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/elements/ui_clickable.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/elements/ui_container.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/elements/ui_element.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/elements/ui_image.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/elements/ui_label.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/elements/ui_radio.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/elements/ui_scroll_container.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/elements/ui_slider.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/elements/ui_span.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/elements/ui_style.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/elements/ui_text_input.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/elements/ui_theme.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/ui/elements/ui_toggle.cpp
|
||||
|
||||
${CMAKE_SOURCE_DIR}/rsp/n_aspMain.cpp
|
||||
|
||||
${CMAKE_SOURCE_DIR}/lib/RmlUi/Backends/RmlUi_Platform_SDL.cpp
|
||||
)
|
||||
|
||||
if (APPLE)
|
||||
list(APPEND SOURCES ${CMAKE_SOURCE_DIR}/src/main/support_apple.mm)
|
||||
endif()
|
||||
|
||||
target_include_directories(BanjoRecompiled PRIVATE
|
||||
${CMAKE_SOURCE_DIR}/include
|
||||
${CMAKE_SOURCE_DIR}/lib/N64ModernRuntime/N64Recomp/include
|
||||
${CMAKE_SOURCE_DIR}/lib/concurrentqueue
|
||||
${CMAKE_SOURCE_DIR}/lib/GamepadMotionHelpers
|
||||
${CMAKE_SOURCE_DIR}/lib/RmlUi/Include
|
||||
${CMAKE_SOURCE_DIR}/lib/RmlUi/Backends
|
||||
${CMAKE_SOURCE_DIR}/lib/rt64/src/contrib
|
||||
${CMAKE_SOURCE_DIR}/lib/rt64/src/contrib/hlslpp/include
|
||||
${CMAKE_SOURCE_DIR}/lib/rt64/src/contrib/dxc/inc
|
||||
${CMAKE_SOURCE_DIR}/lib/rt64/src
|
||||
${CMAKE_SOURCE_DIR}/lib/rt64/src/rhi
|
||||
${CMAKE_SOURCE_DIR}/lib/rt64/src/render
|
||||
${CMAKE_SOURCE_DIR}/lib/RecompFrontend/recompinput/include
|
||||
${CMAKE_SOURCE_DIR}/lib/RecompFrontend/recompui/include
|
||||
${CMAKE_SOURCE_DIR}/lib/RecompFrontend/recompui/src
|
||||
${CMAKE_SOURCE_DIR}/lib/freetype-windows-binaries/include
|
||||
${CMAKE_SOURCE_DIR}/lib/rt64/src/contrib/nativefiledialog-extended/src/include
|
||||
${CMAKE_SOURCE_DIR}/lib/SlotMap
|
||||
@@ -285,7 +234,7 @@ if (WIN32)
|
||||
PROPERTIES
|
||||
LINK_FLAGS_DEBUG "/SUBSYSTEM:CONSOLE"
|
||||
LINK_FLAGS_RELEASE "/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup"
|
||||
LINK_FLAGS_RELWITHDEBINFO "/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup"
|
||||
LINK_FLAGS_RELWITHDEBINFO "/SUBSYSTEM:CONSOLE" # "/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup"
|
||||
LINK_FLAGS_MINSIZEREL "/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup"
|
||||
)
|
||||
|
||||
@@ -349,16 +298,20 @@ if (CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
target_link_libraries(BanjoRecompiled PRIVATE "-latomic -static-libstdc++" ${CMAKE_DL_LIBS} Threads::Threads)
|
||||
endif()
|
||||
|
||||
set(RECOMP_FRONTEND_N64MODERNRUNTIME_PATH ${CMAKE_SOURCE_DIR}/lib/N64ModernRuntime)
|
||||
set(RECOMP_FRONTEND_RT64_PATH ${CMAKE_SOURCE_DIR}/lib/rt64)
|
||||
|
||||
add_subdirectory(${CMAKE_SOURCE_DIR}/lib/RecompFrontend)
|
||||
|
||||
target_link_libraries(BanjoRecompiled PRIVATE
|
||||
PatchesLib
|
||||
RecompiledFuncs
|
||||
recompui
|
||||
recompinput
|
||||
librecomp
|
||||
ultramodern
|
||||
rt64
|
||||
RmlUi::Core
|
||||
RmlUi::Debugger
|
||||
nfd
|
||||
lunasvg
|
||||
)
|
||||
|
||||
# TODO fix the rt64 CMake script so that this doesn't need to be duplicated here
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,37 @@
|
||||
<svg width="1920" height="1280" viewBox="0 0 1920 1280" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_540_3892)">
|
||||
<path d="M640.284 1159.76C639.797 1155.45 450.469 1282.17 509.25 1013.98C558.275 790.302 931.74 830.287 935.414 1080.11C934.13 1082.73 817.852 1271.15 640.284 1159.76Z" fill="#F7FAFA"/>
|
||||
<path d="M840.342 1153.98C848.276 1149.28 858.618 1146.39 863.738 1139.58C889.655 1105.09 876.419 1006.88 843.177 979.092C807.939 949.633 781.195 946.456 745.196 976.366C712.989 1003.12 687.729 1001.8 654.91 977.124C608.969 942.579 573.886 949.503 534.1 992.979C530.091 997.36 525.037 1000.78 515.791 1007.7C512.957 1009.82 509.73 1012.26 506.019 1015.17C523.951 896.876 489.547 810.372 389.215 748.43C440.937 733.701 492.005 709.847 544.513 706.085C665.308 697.43 786.953 700.842 904.341 736.144C944.472 748.212 981.097 771.589 1020.21 787.649C1029.63 791.52 1044.09 790.074 1053.65 785.575C1129.56 749.85 1163.71 762.009 1200.28 845.599C1203.26 890.116 1201.35 923.722 1159.61 946.421C1141.33 956.364 1131.25 983.91 1120.83 1005.12C1108.07 1031.07 1098.32 1058.55 1088.28 1085.75C1079.27 1110.16 1071.64 1135.09 1061.45 1161.61C1038.31 1177.6 1017.14 1191.77 993.45 1204.76C982.508 1198.92 974.59 1192.22 965.556 1189.93C923.594 1179.3 881.322 1169.89 839.497 1158.53C839.833 1157.02 840.342 1153.98 840.342 1153.98ZM663.696 811.922C614.42 828.006 559.256 829.022 510.459 870.041C535.005 881.377 554.123 888.103 570.95 898.525C590.764 910.798 603.621 907.893 621.516 892.344C646.88 870.307 676.37 852.559 705.603 835.571C731.945 820.262 760.316 808.444 787.791 795.087C787.396 792.979 787.001 790.871 786.606 788.763C747.539 795.752 708.472 802.74 663.696 811.922ZM1060.89 840.786C1071.07 865.99 1081.26 891.193 1092.28 918.453C1118.02 922.553 1146.64 917.172 1153.07 886.418C1157.78 863.91 1155.74 830.123 1141.84 815.877C1120.28 793.79 1090.16 809.888 1066.52 826.569C1063.74 828.534 1062.19 832.254 1060.89 840.786Z" fill="#62300F"/>
|
||||
<path d="M995.96 1205.93C1017.14 1191.77 1038.31 1177.6 1064.05 1162.62C1099.11 1159.53 1129.99 1159.44 1160.02 1154.32C1186.05 1149.89 1211.11 1139.75 1239.34 1132.84C1279.43 1125.11 1316.77 1116.66 1356.71 1107.84C1367.44 1105.02 1375.56 1102.58 1386.68 1101.06C1417.57 1098.78 1445.46 1095.58 1476.26 1092.02C1489.79 1088.14 1500.41 1084.62 1512.05 1080.84C1513.07 1080.57 1515.17 1080.52 1515.17 1080.52C1607.17 1076.03 1699.17 1071.54 1793.59 1070.03C1795.74 1094.85 1795.44 1116.71 1793.29 1140.42C1786.58 1145.78 1782.2 1150.47 1776.81 1152.62C1717.36 1176.32 1657.39 1198.78 1598.41 1223.58C1581.3 1230.78 1566.9 1244.4 1548.45 1255.19C1456.27 1288.6 1366.76 1321.29 1259.62 1311.31C1271.98 1337.18 1280.5 1355.02 1288.93 1375.16C1290.9 1379.07 1292.97 1380.68 1294.77 1382.11C1294.5 1381.94 1293.99 1382.32 1293.4 1385.03C1361.57 1517.62 1439.36 1639.59 1575.52 1710.42C1520.53 1726.41 1479.19 1691.16 1436.71 1668.82C1390.82 1644.69 1350.75 1609.66 1307.32 1580.62C1250.71 1542.77 1193.24 1506.22 1136.26 1468.94C1113.13 1453.8 1090.32 1438.2 1063.15 1420.27C980.139 1371.54 972.652 1273.71 995.96 1205.93Z" fill="#FEE003"/>
|
||||
<path d="M473.743 1137.47C476.779 1137.08 479.815 1136.68 488.691 1136.06C498.038 1136.38 501.546 1136.92 505.055 1137.47C514.058 1137.92 523.061 1138.36 536.733 1141.44C558.37 1149.77 575.005 1156.93 592.37 1160.91C641.457 1172.15 684.637 1194.46 716.199 1233.43C729.906 1250.36 745.604 1276.19 742.184 1294.6C729.101 1365.01 701.55 1435.73 646.084 1479.14C574.848 1534.91 503.547 1599.29 403.882 1604.24C392.443 1604.81 381.314 1611.63 370.041 1615.55C361.764 1614.25 353.487 1612.95 341.848 1608.22C271.197 1515.55 272.792 1408.28 262.912 1304.01C293.108 1296.61 320.801 1291.47 347.486 1283.11C454.72 1249.5 469.282 1232.16 473.743 1137.47Z" fill="#F1AF85"/>
|
||||
<path d="M1236.59 1132.13C1211.11 1139.75 1186.05 1149.89 1160.02 1154.32C1129.99 1159.44 1099.11 1159.53 1066 1160.8C1071.64 1135.09 1079.27 1110.16 1088.28 1085.75C1098.32 1058.55 1108.07 1031.07 1120.83 1005.12C1131.25 983.91 1141.33 956.364 1159.61 946.421C1201.35 923.722 1203.26 890.116 1200.65 848.276C1229.54 780.721 1254.15 714.307 1287.66 652.732C1320.75 591.925 1361.11 534.774 1401.61 478.407C1426.62 443.594 1485.69 445.705 1519.17 474.27C1539.63 491.721 1565.11 503.276 1588.34 517.482C1599.16 524.101 1617.62 529.49 1618.94 537.652C1620.77 548.935 1611.81 563.927 1603.77 574.514C1564.05 626.791 1523.41 678.379 1482.51 729.751C1434.55 790.009 1453.6 850.044 1481.3 910.739C1489.86 929.474 1496.03 949.298 1501.48 973.875C1494.24 981.438 1488.81 983.75 1481.87 984.024C1466.62 959.458 1452.39 937.21 1439.27 914.33C1422.7 885.447 1404.33 891.008 1388.89 913.221C1372.36 936.982 1356.98 933.105 1332.79 924.059C1312.8 916.588 1276.64 914.068 1266.73 925.662C1243.63 952.713 1232.02 989.581 1215.66 1025.64C1222.58 1063.24 1229.59 1097.69 1236.59 1132.13Z" fill="#FF2904"/>
|
||||
<path d="M993.45 1204.76C972.652 1273.71 980.139 1371.54 1060.66 1419.33C1052.6 1431.2 1041.31 1440.41 1033.31 1451.92C961.96 1554.66 883.013 1650.58 773.747 1714.87C717.841 1747.76 653.326 1755.11 589.315 1747.89C529.296 1741.13 492.999 1694.78 480.317 1611.52C485.92 1604.94 490.262 1603.37 495.067 1604.41C506.742 1626.81 513.468 1652.19 529.943 1665.44C598.66 1720.72 739.644 1672.44 767.512 1584.68C805.086 1528.67 835.282 1472.97 824.279 1401.41C831.53 1374.04 842.141 1349.96 844.002 1325.23C845.721 1302.37 845.917 1272.14 832.967 1256.87C802.4 1220.85 763.609 1191.8 728.144 1159.94C728.144 1159.94 728.634 1159.86 731.981 1160.38C743.988 1160.73 752.648 1160.56 764.513 1160.12C791.532 1159.91 815.347 1159.97 839.161 1160.04C881.322 1169.89 923.594 1179.3 965.556 1189.93C974.59 1192.22 982.508 1198.92 993.45 1204.76Z" fill="#F2B085"/>
|
||||
<path d="M472.524 1135.06C469.282 1232.16 454.72 1249.5 347.486 1283.11C320.801 1291.47 293.108 1296.61 260.622 1302.34C246.885 1303.39 238.404 1305.33 227.06 1306.78C205.015 1298.55 185.833 1290.82 166.651 1283.08C114.696 1234.84 110.751 1171.2 115.315 1107.59C119.09 1054.98 194.335 999.957 264.464 991.678C374.636 978.67 444.355 1026.19 472.524 1135.06Z" fill="#030303"/>
|
||||
<path d="M725.034 1159.56C763.609 1191.81 802.4 1220.85 832.967 1256.87C845.917 1272.14 845.721 1302.37 844.002 1325.23C842.141 1349.96 831.53 1374.04 821.921 1401.64C804.038 1416.78 790.026 1430.44 773.721 1440.31C687.531 1492.49 600.763 1543.7 512.022 1595.26C504.768 1597.45 499.685 1599.63 494.603 1601.81C490.262 1603.37 485.92 1604.94 480.405 1608.58C444.759 1612.81 410.287 1614.96 372.928 1616.33C381.314 1611.63 392.443 1604.81 403.882 1604.24C503.547 1599.29 574.848 1534.91 646.084 1479.15C701.55 1435.73 729.101 1365.01 742.184 1294.6C745.604 1276.19 729.906 1250.36 716.199 1233.43C684.637 1194.46 641.457 1172.15 592.37 1160.91C575.005 1156.93 558.37 1149.77 540.102 1141.73C542.031 1138.9 545.26 1138.39 552.654 1137.76C558.036 1137.47 559.252 1137.3 563.1 1138.21C590.92 1144.08 616.109 1148.87 643.195 1154C646.36 1154.13 647.628 1153.93 648.897 1153.73C673.239 1155.55 697.582 1157.36 725.034 1159.56Z" fill="#D69A76"/>
|
||||
<path d="M1551.26 1255.07C1566.9 1244.4 1581.3 1230.78 1598.41 1223.58C1657.39 1198.78 1717.36 1176.32 1776.81 1152.62C1782.2 1150.47 1786.58 1145.78 1795.71 1141.55C1806.27 1150.46 1812.55 1160.1 1818.83 1169.74C1801.57 1184.19 1785.13 1199.77 1766.9 1212.88C1719.12 1247.22 1670.57 1280.49 1617.82 1315.33C1603.14 1319.41 1592.97 1322.34 1581.84 1322.63C1571.02 1298.35 1561.14 1276.71 1551.26 1255.07Z" fill="#684004"/>
|
||||
<path d="M839.497 1158.53C815.347 1159.97 791.532 1159.91 762.191 1158.36C749.054 1155.45 741.443 1154.03 733.832 1152.61C725.362 1122.91 713.629 1093.66 709.433 1063.37C705.937 1038.13 722.181 1023.98 749.438 1022.26C827.461 1017.34 854.162 1047.41 839.312 1125.01C837.797 1132.93 837.988 1141.17 838.864 1151.62C840.342 1153.98 839.833 1157.02 839.497 1158.53ZM760.158 1111.74C763.782 1114.96 767.883 1121.33 770.947 1120.86C785.23 1118.69 809.287 1117.55 811.275 1110.67C815.713 1095.32 812.437 1075.2 805.443 1060.23C802.308 1053.52 777.394 1048.42 771.724 1053.36C761.776 1062.01 758.401 1078.73 753.708 1092.57C752.471 1096.21 756.494 1101.64 760.158 1111.74Z" fill="#30C4FB"/>
|
||||
<path d="M641.299 1153.67C616.109 1148.87 590.92 1144.08 562.615 1136.48C558.536 1131.32 556.887 1129.63 554.55 1128.61C552.893 1125.38 550.868 1122.28 549.634 1118.89C536.146 1081.9 543.329 1045.31 568.005 1029.72C596.236 1011.87 621.649 1021.11 644.43 1040.7C666.907 1060.03 669.292 1103.25 648.149 1137.82C644.117 1145.7 642.708 1149.68 641.299 1153.67ZM638.523 1102.35C632.818 1085.45 629.577 1066.83 619.806 1052.75C617.114 1048.87 586.227 1055.35 583.587 1062.63C578.67 1076.19 579.38 1100.91 588.147 1107.85C597.74 1115.45 619.101 1108.19 638.523 1102.35Z" fill="#30C4FB"/>
|
||||
<path d="M1820.95 1168.31C1812.55 1160.1 1806.27 1150.46 1797.57 1139.69C1795.44 1116.71 1795.74 1094.85 1797.22 1070.46C1803.11 1066.88 1808.44 1063.85 1812.41 1065.11C1833.98 1071.99 1855.22 1079.92 1876.57 1087.49C1863.83 1105.44 1851.09 1123.39 1838.74 1144.12C1839.12 1146.9 1839.28 1147.28 1839.28 1147.28C1833.88 1153.81 1828.47 1160.35 1820.95 1168.31Z" fill="#A94105"/>
|
||||
<path d="M1483.38 986.062C1488.81 983.75 1494.24 981.438 1501.42 976.661C1508.08 1007.89 1512.99 1041.59 1516.54 1077.9C1515.17 1080.52 1513.07 1080.57 1510.37 1078.28C1499.58 1046.01 1491.48 1016.03 1483.38 986.062Z" fill="#FF4120"/>
|
||||
<path d="M507.013 1136.52C502.665 1139.78 499.233 1139.06 494.555 1137.98C497.34 1094.73 497.591 1058.23 505.576 1013.98C509.529 1012.62 516.598 1006.72 516.598 1006.72C513.708 1048.66 510.819 1090.6 507.013 1136.52Z" fill="#62300F"/>
|
||||
<path d="M732.275 1153.46C741.443 1154.03 749.054 1155.45 758.987 1158.63C752.648 1160.56 743.988 1160.73 732.096 1160.6C727.352 1157.64 727.969 1155.64 732.275 1153.46Z" fill="#D69A76"/>
|
||||
<path d="M1838.96 1146.77C1838.8 1146.64 1839.97 1147.65 1839.97 1147.65C1839.97 1147.65 1839.45 1145.93 1839.37 1146.61C1839.28 1147.28 1839.12 1146.9 1838.96 1146.77Z" fill="#A94105"/>
|
||||
<path d="M554.155 1130.62C556.887 1129.63 558.536 1131.32 559.984 1135.4C559.252 1137.3 558.036 1137.47 555.035 1137.17C553.421 1135.35 553.59 1133.99 554.155 1130.62Z" fill="#F7FAFA"/>
|
||||
<path d="M666.551 810.825C708.472 802.74 747.539 795.752 786.606 788.763C787.001 790.871 787.396 792.979 787.791 795.087C760.316 808.444 731.945 820.262 705.603 835.571C676.37 852.559 646.88 870.307 621.516 892.344C603.621 907.893 590.764 910.798 570.95 898.525C554.123 888.103 535.005 881.377 510.459 870.041C559.256 829.022 614.42 828.006 666.551 810.825Z" fill="#351907"/>
|
||||
<path d="M1060.48 837.973C1062.19 832.254 1063.74 828.534 1066.52 826.569C1090.16 809.888 1120.28 793.79 1141.84 815.877C1155.74 830.123 1157.78 863.91 1153.07 886.418C1146.64 917.172 1118.02 922.553 1092.28 918.453C1081.26 891.193 1071.07 865.99 1060.48 837.973Z" fill="#EEAE83"/>
|
||||
<path d="M1581.84 1322.63C1582.05 1328.39 1581.3 1331.5 1580 1336.99C1573.43 1339.03 1565.84 1336.16 1561.61 1338.76C1506.88 1372.38 1445.66 1380.68 1383.57 1384.21C1356.03 1385.78 1328.25 1383.01 1297.28 1382.26C1293.99 1382.32 1294.5 1381.94 1294.26 1380.26C1292.35 1376.68 1290.69 1374.77 1289.03 1372.86C1280.5 1355.02 1271.98 1337.18 1259.61 1311.31C1366.76 1321.29 1456.27 1288.6 1548.45 1255.19C1561.14 1276.71 1571.02 1298.35 1581.84 1322.63Z" fill="#A22986"/>
|
||||
<path d="M1239.34 1132.85C1229.59 1097.69 1222.58 1063.24 1218.09 1024.71C1227.89 1016.4 1235.14 1012.14 1242.44 1007.97C1296.64 977.059 1322.84 983.561 1357.79 1036.17C1359.41 1038.6 1363.69 1039.27 1367.07 1040.93C1371.26 988.879 1379.6 982.11 1434.52 985.249C1468.22 987.175 1488.77 1012.11 1485.84 1051.1C1484.79 1065.1 1477.69 1078.64 1473.36 1092.38C1445.46 1095.58 1417.57 1098.78 1386.23 1098.86C1373.23 1099.9 1363.67 1104.05 1354.11 1108.21C1316.77 1116.66 1279.43 1125.11 1239.34 1132.85ZM1296.93 1101.79C1317.5 1093 1343.26 1083.66 1323.77 1056.05C1314.69 1043.19 1292.53 1034.86 1275.87 1034.13C1268.13 1033.79 1253.81 1055.79 1252.26 1068.83C1249.2 1094.4 1270.71 1099.46 1296.93 1101.79ZM1400.93 1065.13C1416.53 1082.98 1434.49 1082.16 1447.13 1064.76C1453.01 1056.68 1452.77 1033.16 1447.64 1030.27C1435.53 1023.47 1417.91 1021.29 1404.46 1024.75C1399.4 1026.04 1399.68 1048.12 1400.93 1065.13ZM1369.82 1071.19C1370.64 1072.02 1371.35 1073.29 1372.32 1073.54C1372.96 1073.7 1374.68 1072.44 1374.71 1071.76C1374.92 1067.05 1374.82 1062.33 1374.82 1057.61C1373.55 1057.58 1372.29 1057.56 1371.02 1057.54C1370.4 1060.8 1369.78 1064.06 1369.82 1071.19Z" fill="#099805"/>
|
||||
<path d="M1476.26 1092.02C1477.69 1078.64 1484.79 1065.1 1485.84 1051.1C1488.77 1012.11 1468.22 987.175 1434.52 985.249C1379.6 982.11 1371.26 988.879 1367.07 1040.93C1363.69 1039.27 1359.41 1038.6 1357.79 1036.17C1322.84 983.561 1296.64 977.059 1242.44 1007.97C1235.14 1012.14 1227.89 1016.4 1218.19 1021.54C1232.02 989.581 1243.63 952.713 1266.73 925.662C1276.64 914.068 1312.8 916.588 1332.79 924.058C1356.98 933.105 1372.36 936.982 1388.89 913.22C1404.33 891.008 1422.7 885.447 1439.27 914.33C1452.39 937.21 1466.62 959.457 1481.87 984.024C1491.48 1016.03 1499.58 1046.01 1509.36 1078.54C1500.41 1084.62 1489.79 1088.14 1476.26 1092.02Z" fill="#FBF8F4"/>
|
||||
<path d="M1356.71 1107.84C1363.67 1104.05 1373.23 1099.9 1383.23 1097.94C1375.56 1102.58 1367.44 1105.02 1356.71 1107.84Z" fill="#0B9909"/>
|
||||
<path d="M759.13 1108.99C756.494 1101.64 752.471 1096.21 753.708 1092.56C758.401 1078.73 761.776 1062.01 771.724 1053.36C777.394 1048.42 802.308 1053.52 805.443 1060.23C812.437 1075.2 815.713 1095.32 811.275 1110.67C809.287 1117.55 785.23 1118.69 770.947 1120.86C767.883 1121.33 763.782 1114.96 759.13 1108.99Z" fill="#02090C"/>
|
||||
<path d="M636.928 1104.88C619.101 1108.19 597.74 1115.45 588.147 1107.85C579.38 1100.91 578.67 1076.19 583.587 1062.63C586.227 1055.35 617.114 1048.87 619.806 1052.75C629.577 1066.83 632.818 1085.44 636.928 1104.88Z" fill="#02090C"/>
|
||||
<path d="M1294.06 1101.9C1270.71 1099.46 1249.2 1094.4 1252.26 1068.83C1253.81 1055.79 1268.13 1033.79 1275.87 1034.13C1292.53 1034.86 1314.69 1043.19 1323.77 1056.05C1343.26 1083.66 1317.5 1093 1294.06 1101.9Z" fill="#010901"/>
|
||||
<path d="M1399.23 1062.93C1399.68 1048.12 1399.4 1026.04 1404.46 1024.75C1417.91 1021.29 1435.53 1023.47 1447.64 1030.27C1452.77 1033.16 1453.01 1056.68 1447.13 1064.76C1434.49 1082.16 1416.53 1082.98 1399.23 1062.93Z" fill="#010901"/>
|
||||
<path d="M1369.5 1069.25C1369.78 1064.06 1370.4 1060.8 1371.02 1057.54C1372.29 1057.56 1373.55 1057.58 1374.82 1057.61C1374.82 1062.33 1374.93 1067.05 1374.71 1071.76C1374.68 1072.44 1372.96 1073.7 1372.32 1073.54C1371.35 1073.29 1370.64 1072.02 1369.5 1069.25Z" fill="#0B9909"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_540_3892">
|
||||
<rect width="1920" height="1280" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 14 KiB |
@@ -1,136 +0,0 @@
|
||||
<rml>
|
||||
<head>
|
||||
<link type="text/rcss" href="rml.rcss"/>
|
||||
<link type="text/rcss" href="recomp.rcss"/>
|
||||
<title>Inventory</title>
|
||||
<style>
|
||||
body
|
||||
{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
/* Hide the window icon. */
|
||||
div#title_bar div#icon
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
.flex-grid {
|
||||
display: flex;
|
||||
}
|
||||
.col {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
<link type="text/template" href="config_menu/general.rml" />
|
||||
<link type="text/template" href="config_menu/controls.rml" />
|
||||
<link type="text/template" href="config_menu/graphics.rml" />
|
||||
<link type="text/template" href="config_menu/sound.rml" />
|
||||
<link type="text/template" href="config_menu/mods.rml" />
|
||||
<link type="text/template" href="config_menu/debug.rml" />
|
||||
</head>
|
||||
<body class="window">
|
||||
<!-- <handle move_target="#document"> -->
|
||||
<div id="window" class="rmlui-window" style="display:flex; flex-flow: column; background-color:rgba(0,0,0,0)" onkeydown="config_keydown">
|
||||
<div class="centered-page" onclick="close_config_menu_backdrop">
|
||||
<div class="centered-page__modal">
|
||||
<tabset class="tabs" id="config_tabset">
|
||||
<tab class="tab" autofocus id="tab_general">
|
||||
<div>General</div>
|
||||
<div class="tab__indicator"></div>
|
||||
</tab>
|
||||
<panel class="config" data-model="general_model">
|
||||
<template src="config-menu__general" />
|
||||
</panel>
|
||||
<tab class="tab" id="tab_controls">
|
||||
<div>Controls</div>
|
||||
<div class="tab__indicator"></div>
|
||||
</tab>
|
||||
<panel class="config" data-model="controls_model">
|
||||
<template src="config-menu__controls" />
|
||||
</panel>
|
||||
<tab class="tab" id="tab_graphics">
|
||||
<div>Graphics</div>
|
||||
<div class="tab__indicator"></div>
|
||||
</tab>
|
||||
<panel class="config" data-model="graphics_model">
|
||||
<template src="config-menu__graphics" />
|
||||
</panel>
|
||||
<tab class="tab" id="tab_sound">
|
||||
<div>Sound</div>
|
||||
<div class="tab__indicator"></div>
|
||||
</tab>
|
||||
<panel class="config" data-model="sound_options_model">
|
||||
<template src="config-menu__sound" />
|
||||
</panel>
|
||||
<tab class="tab" id="tab_mods">
|
||||
<div>Mods</div>
|
||||
<div class="tab__indicator"></div>
|
||||
</tab>
|
||||
<panel class="config">
|
||||
<template src="config-menu__mods" />
|
||||
</panel>
|
||||
<tab class="tab" data-model="debug_model" data-if="debug_enabled" id="tab_debug">
|
||||
<div>Debug</div>
|
||||
<div class="tab__indicator"></div>
|
||||
</tab>
|
||||
<panel class="config" data-model="debug_model">
|
||||
<template src="config-menu__debug" />
|
||||
</panel>
|
||||
</tabset>
|
||||
<div class="config__icon-buttons">
|
||||
<button
|
||||
class="icon-button"
|
||||
onclick="open_quit_game_prompt"
|
||||
id="config__quit-game-button"
|
||||
>
|
||||
<svg src="icons/Quit.svg" />
|
||||
</button>
|
||||
<button
|
||||
class="icon-button"
|
||||
onclick="close_config_menu"
|
||||
id="config__close-menu-button"
|
||||
>
|
||||
<svg src="icons/X.svg" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="centered-page__controls"
|
||||
data-model="nav_help_model"
|
||||
>
|
||||
<label>
|
||||
<span>Navigate</span>
|
||||
<span class="prompt-font-sm">{{nav_help__navigate}}</span>
|
||||
</label>
|
||||
<label>
|
||||
<span>Accept</span>
|
||||
<span class="prompt-font-sm">{{nav_help__accept}}</span>
|
||||
</label>
|
||||
<label>
|
||||
<span>Exit</span>
|
||||
<span class="prompt-font-sm">{{nav_help__exit}}</span>
|
||||
</label>
|
||||
<!-- <label><span style="font-family:promptfont;">⇳</span> Navigate</label>
|
||||
<label><span style="font-family:promptfont;">↧</span> Accept</label> -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div
|
||||
id="prompt-root"
|
||||
data-model="prompt_model"
|
||||
data-if="prompt__open"
|
||||
data-alias-promptOpen="prompt__open"
|
||||
data-alias-promptHeader="prompt__header"
|
||||
data-alias-promptContent="prompt__content"
|
||||
data-alias-promptConfirmLabel="prompt__confirmLabel"
|
||||
data-alias-promptCancelLabel="prompt__cancelLabel"
|
||||
data-event-click="prompt__on_click"
|
||||
>
|
||||
<template src="prompt"/>
|
||||
</div> -->
|
||||
</div>
|
||||
<!-- </handle> -->
|
||||
<!-- <handle size_target="#document" style="position: absolute; width: 16dp; height: 16dp; bottom: 0px; right: 0px; cursor: resize;"></handle> -->
|
||||
</body>
|
||||
</rml>
|
||||
@@ -1,360 +0,0 @@
|
||||
<template name="config-menu__controls">
|
||||
<head>
|
||||
</head>
|
||||
<body>
|
||||
<form class="config__form" data-attr-cur-input="cur_input_row" data-attr-cur-binding-slot="active_binding_slot">
|
||||
<div class="config__header">
|
||||
<div class="config__header-left">
|
||||
<button
|
||||
class="toggle"
|
||||
id="cont_kb_toggle"
|
||||
data-class-toggle--checked="input_device_is_keyboard"
|
||||
onclick="toggle_input_device"
|
||||
style="nav-down: #input_row_button_0_0; nav-up: #tab_controls"
|
||||
>
|
||||
<div class="toggle__border" />
|
||||
<div class="toggle__floater" />
|
||||
<div class="toggle__icons">
|
||||
<div class="toggle__icon toggle__icon--left"><div></div></div>
|
||||
<div class="toggle__icon toggle__icon--right"><div></div></div>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
<div>
|
||||
<button
|
||||
class="button button--warning"
|
||||
style="nav-down:#input_row_button_0_0"
|
||||
data-event-click="reset_input_bindings_to_defaults"
|
||||
>
|
||||
<div class="button__label">Reset to defaults</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="config__wrapper input-config">
|
||||
<div class="input-config__horizontal-split">
|
||||
<div class="input-config__mappings" data-event-mouseout="set_input_row_focus(-1)">
|
||||
<div class="input-config__mappings-scroll">
|
||||
<div class="input-config__mappings-wrapper">
|
||||
<div
|
||||
class="control-option"
|
||||
data-attr-id="'input_row_' + i"
|
||||
data-for="input_bindings, i : inputs.array"
|
||||
data-event-mouseover="set_input_row_focus(i)"
|
||||
data-class-control-option--active="get_input_enum_name(i)==cur_input_row"
|
||||
data-if="!input_device_is_keyboard || (get_input_enum_name(i) != 'TOGGLE_MENU' && get_input_enum_name(i) != 'ACCEPT_MENU' && get_input_enum_name(i) != 'APPLY_MENU')"
|
||||
>
|
||||
<label
|
||||
class="control-option__label"
|
||||
>{{get_input_name(i)}}</label>
|
||||
<div class="control-option__bindings">
|
||||
<button
|
||||
data-attr-id="'input_row_button_' + i + '_' + j"
|
||||
data-event-blur="set_input_row_focus(-1)"
|
||||
data-event-focus="set_input_row_focus(i)"
|
||||
data-for="cur_binding, j : input_bindings"
|
||||
data-event-click="set_input_binding(i,j)"
|
||||
class="prompt-font control-option__binding"
|
||||
data-attr-bind-slot="j"
|
||||
data-attr-style="i == 0 ? 'nav-up:#cont_kb_toggle' : 'nav-up:auto'"
|
||||
>
|
||||
<div class="control-option__binding-recording">
|
||||
<div class="control-option__binding-circle" />
|
||||
<div class="control-option__binding-edge">
|
||||
<svg class="control-option__binding-edge-svg" src="icons/RecordBorder.svg" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-option__binding-icon">{{cur_binding}}</div>
|
||||
</button>
|
||||
</div>
|
||||
<button
|
||||
data-if="get_input_enum_name(i) != 'TOGGLE_MENU' && get_input_enum_name(i) != 'ACCEPT_MENU'"
|
||||
data-event-blur="set_input_row_focus(-1)"
|
||||
data-event-focus="set_input_row_focus(i)"
|
||||
data-event-click="clear_input_bindings(i)"
|
||||
class="icon-button icon-button--danger"
|
||||
data-attr-style="i == 0 ? 'nav-up:#cont_kb_toggle' : 'nav-up:auto'"
|
||||
>
|
||||
<svg src="icons/Trash.svg" />
|
||||
</button>
|
||||
<button
|
||||
data-if="get_input_enum_name(i) == 'TOGGLE_MENU' || get_input_enum_name(i) == 'ACCEPT_MENU'"
|
||||
data-event-blur="set_input_row_focus(-1)"
|
||||
data-event-focus="set_input_row_focus(i)"
|
||||
data-event-click="reset_single_input_binding_to_default(i)"
|
||||
class="icon-button icon-button--danger"
|
||||
data-attr-style="i == 0 ? 'nav-up:#cont_kb_toggle' : 'nav-up:auto'"
|
||||
>
|
||||
<svg src="icons/Reset.svg" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-config__visual-wrapper">
|
||||
<div class="input-config__visual-aspect">
|
||||
<div class="input-config__visual">
|
||||
<!-- stick only -->
|
||||
<div class="input-config__visual-stick-wrapper">
|
||||
<div
|
||||
class="input-viz input-config__visual-stick"
|
||||
visual-input="X_AXIS_NEG X_AXIS_POS Y_AXIS_NEG Y_AXIS_POS"
|
||||
>
|
||||
<div class="input-viz__stick-split input-viz__stick-split--vertical">
|
||||
<div class="input-viz input-viz__mappings" visual-input="Y_AXIS_POS">
|
||||
<svg class="input-viz__dpad-arrow input-viz__dpad-arrow--up" src="icons/VizMap/DPadArrow.svg" />
|
||||
<div
|
||||
class="input-config__visual-mapping"
|
||||
data-for="cur_binding, i : inputs.Y_AXIS_POS"
|
||||
>
|
||||
<div>{{cur_binding}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-viz__dpad-divider" />
|
||||
<div class="input-viz input-viz__mappings" visual-input="Y_AXIS_NEG">
|
||||
<svg class="input-viz__dpad-arrow input-viz__dpad-arrow--down" src="icons/VizMap/DPadArrow.svg" />
|
||||
<div
|
||||
class="input-config__visual-mapping"
|
||||
data-for="cur_binding, i : inputs.Y_AXIS_NEG"
|
||||
>
|
||||
<div>{{cur_binding}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-viz__stick-split input-viz__stick-split--horizontal">
|
||||
<div class="input-viz input-viz__mappings" visual-input="X_AXIS_NEG">
|
||||
<svg class="input-viz__dpad-arrow input-viz__dpad-arrow--left" src="icons/VizMap/DPadArrow.svg" />
|
||||
<div
|
||||
class="input-config__visual-mapping"
|
||||
data-for="cur_binding, i : inputs.X_AXIS_NEG"
|
||||
>
|
||||
<div>{{cur_binding}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-viz__dpad-divider" />
|
||||
<div class="input-viz input-viz__mappings" visual-input="X_AXIS_POS">
|
||||
<svg class="input-viz__dpad-arrow input-viz__dpad-arrow--right" src="icons/VizMap/DPadArrow.svg" />
|
||||
<div
|
||||
class="input-config__visual-mapping"
|
||||
data-for="cur_binding, i : inputs.X_AXIS_POS"
|
||||
>
|
||||
<div>{{cur_binding}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- top half -->
|
||||
<div class="input-config__visual-half">
|
||||
<div class="input-config__visual-quarter-left">
|
||||
<div
|
||||
class="input-viz input-viz__dpad"
|
||||
visual-input="DPAD_UP DPAD_DOWN DPAD_LEFT DPAD_RIGHT"
|
||||
>
|
||||
<svg src="icons/VizMap/DPad.svg" />
|
||||
<div class="input-viz__dpad-split input-viz__dpad-split--vertical">
|
||||
<div class="input-viz input-viz__mappings" visual-input="DPAD_UP">
|
||||
<svg class="input-viz__dpad-arrow input-viz__dpad-arrow--up" src="icons/VizMap/DPadArrow.svg" />
|
||||
<div
|
||||
class="input-config__visual-mapping"
|
||||
data-for="cur_binding, i : inputs.DPAD_UP"
|
||||
>
|
||||
<div>{{cur_binding}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-viz__dpad-divider" />
|
||||
<div class="input-viz input-viz__mappings" visual-input="DPAD_DOWN">
|
||||
<svg class="input-viz__dpad-arrow input-viz__dpad-arrow--down" src="icons/VizMap/DPadArrow.svg" />
|
||||
<div
|
||||
class="input-config__visual-mapping"
|
||||
data-for="cur_binding, i : inputs.DPAD_DOWN"
|
||||
>
|
||||
<div>{{cur_binding}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-viz__dpad-split input-viz__dpad-split--horizontal">
|
||||
<div class="input-viz input-viz__mappings" visual-input="DPAD_LEFT">
|
||||
<svg class="input-viz__dpad-arrow input-viz__dpad-arrow--left" src="icons/VizMap/DPadArrow.svg" />
|
||||
<div
|
||||
class="input-config__visual-mapping"
|
||||
data-for="cur_binding, i : inputs.DPAD_LEFT"
|
||||
>
|
||||
<div>{{cur_binding}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-viz__dpad-divider" />
|
||||
<div class="input-viz input-viz__mappings" visual-input="DPAD_RIGHT">
|
||||
<svg class="input-viz__dpad-arrow input-viz__dpad-arrow--right" src="icons/VizMap/DPadArrow.svg" />
|
||||
<div
|
||||
class="input-config__visual-mapping"
|
||||
data-for="cur_binding, i : inputs.DPAD_RIGHT"
|
||||
>
|
||||
<div>{{cur_binding}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-config__visual-quarter-right">
|
||||
<div class="input-config__main-buttons">
|
||||
<div
|
||||
class="input-viz input-viz__button input-viz__button--sm input-viz__button--Start"
|
||||
visual-input="START"
|
||||
>
|
||||
<svg src="icons/VizMap/ButtonSmall.svg" />
|
||||
<div class="input-viz__mappings">
|
||||
<div
|
||||
class="input-config__visual-mapping"
|
||||
data-for="cur_binding, i : inputs.START"
|
||||
>
|
||||
<div>{{cur_binding}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="input-viz input-viz__button input-viz__button--lg input-viz__button--B"
|
||||
visual-input="B"
|
||||
>
|
||||
<svg src="icons/VizMap/ButtonLarge.svg" />
|
||||
<div class="input-viz__mappings">
|
||||
<div
|
||||
class="input-config__visual-mapping"
|
||||
data-for="cur_binding, i : inputs.B"
|
||||
>
|
||||
<div>{{cur_binding}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="input-viz input-viz__button input-viz__button--lg input-viz__button--A"
|
||||
visual-input="A"
|
||||
>
|
||||
<svg src="icons/VizMap/ButtonLarge.svg" />
|
||||
<div class="input-viz__mappings">
|
||||
<div
|
||||
class="input-config__visual-mapping"
|
||||
data-for="cur_binding, i : inputs.A"
|
||||
>
|
||||
<div>{{cur_binding}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-config__c-buttons">
|
||||
<div class="input-config__c-buttons-lr">
|
||||
<div
|
||||
class="input-viz input-viz__button input-viz__button--md input-viz__button--C"
|
||||
visual-input="C_LEFT"
|
||||
>
|
||||
<svg src="icons/VizMap/ButtonMedium.svg" />
|
||||
<div class="input-viz__mappings">
|
||||
<div
|
||||
class="input-config__visual-mapping"
|
||||
data-for="cur_binding, i : inputs.C_LEFT"
|
||||
>
|
||||
<div>{{cur_binding}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="input-viz input-viz__button input-viz__button--md input-viz__button--C"
|
||||
visual-input="C_RIGHT"
|
||||
>
|
||||
<svg src="icons/VizMap/ButtonMedium.svg" />
|
||||
<div class="input-viz__mappings">
|
||||
<div
|
||||
class="input-config__visual-mapping"
|
||||
data-for="cur_binding, i : inputs.C_RIGHT"
|
||||
>
|
||||
<div>{{cur_binding}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-config__c-buttons-du">
|
||||
<div
|
||||
class="input-viz input-viz__button input-viz__button--md input-viz__button--C"
|
||||
visual-input="C_DOWN"
|
||||
>
|
||||
<svg src="icons/VizMap/ButtonMedium.svg" />
|
||||
<div class="input-viz__mappings">
|
||||
<div
|
||||
class="input-config__visual-mapping"
|
||||
data-for="cur_binding, i : inputs.C_DOWN"
|
||||
>
|
||||
<div>{{cur_binding}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="input-viz input-viz__button input-viz__button--sm input-viz__button--C"
|
||||
visual-input="C_UP"
|
||||
>
|
||||
<svg src="icons/VizMap/ButtonMedium.svg" />
|
||||
<div class="input-viz__mappings">
|
||||
<div
|
||||
class="input-config__visual-mapping"
|
||||
data-for="cur_binding, i : inputs.C_UP"
|
||||
>
|
||||
<div>{{cur_binding}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- bottom half -->
|
||||
<div class="input-config__visual-half input-config__visual-half--bottom">
|
||||
<div
|
||||
class="input-viz input-viz__Z"
|
||||
visual-input="Z"
|
||||
>
|
||||
<svg src="icons/VizMap/Target.svg" />
|
||||
<div class="input-viz__mappings">
|
||||
<div
|
||||
class="input-config__visual-mapping"
|
||||
data-for="cur_binding, i : inputs.Z"
|
||||
>
|
||||
<div>{{cur_binding}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="input-viz input-viz__R"
|
||||
visual-input="R"
|
||||
>
|
||||
<svg src="icons/VizMap/Shield.svg" />
|
||||
<div class="input-viz__mappings">
|
||||
<div
|
||||
class="input-config__visual-mapping"
|
||||
data-for="cur_binding, i : inputs.R"
|
||||
>
|
||||
<div>{{cur_binding}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="input-viz input-viz__L"
|
||||
visual-input="L"
|
||||
>
|
||||
<svg src="icons/VizMap/Map.svg" />
|
||||
<div class="input-viz__mappings">
|
||||
<div
|
||||
class="input-config__visual-mapping"
|
||||
data-for="cur_binding, i : inputs.L"
|
||||
>
|
||||
<div>{{cur_binding}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</template>
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
<template name="config-menu__debug">
|
||||
<head>
|
||||
</head>
|
||||
<body>
|
||||
<form class="config__form">
|
||||
<div class="config__wrapper">
|
||||
<div class="config-debug">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</template>
|
||||
|
||||
@@ -1,330 +0,0 @@
|
||||
<template name="config-menu__general">
|
||||
<head>
|
||||
</head>
|
||||
<body>
|
||||
<form class="config__form" id="conf-general__form">
|
||||
<div class="config__hz-wrapper" id="conf-general__hz-wrapper">
|
||||
<!-- Options -->
|
||||
<div class="config__wrapper" data-event-mouseout="set_cur_config_index(-1)" id="conf-general__wrapper">
|
||||
<!-- rumble strength -->
|
||||
<div class="config-option" data-event-mouseover="set_cur_config_index(1)">
|
||||
<label class="config-option__title">Rumble Strength</label>
|
||||
<div class="config-option__range-wrapper config-option__list">
|
||||
<label class="config-option__range-label">{{rumble_strength}}%</label>
|
||||
<input
|
||||
class="nav-vert"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(1)"
|
||||
id="rumble_strength_input"
|
||||
type="range"
|
||||
min="0"
|
||||
max="100"
|
||||
style="flex: 1; margin: 0dp;"
|
||||
data-value="rumble_strength"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- gyro sensitivity -->
|
||||
<div class="config-option" data-event-mouseover="set_cur_config_index(2)">
|
||||
<label class="config-option__title">Gyro Sensitivity</label>
|
||||
<div class="config-option__range-wrapper config-option__list">
|
||||
<label class="config-option__range-label">{{gyro_sensitivity}}%</label>
|
||||
<input
|
||||
class="nav-vert"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(2)"
|
||||
id="gyro_sensitivity_input"
|
||||
type="range"
|
||||
min="0"
|
||||
max="100"
|
||||
style="flex: 1; margin: 0dp;"
|
||||
data-value="gyro_sensitivity"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- mouse sensitivity -->
|
||||
<div class="config-option" data-event-mouseover="set_cur_config_index(3)">
|
||||
<label class="config-option__title">Mouse Sensitivity</label>
|
||||
<div class="config-option__range-wrapper config-option__list">
|
||||
<label class="config-option__range-label">{{mouse_sensitivity}}%</label>
|
||||
<input
|
||||
class="nav-vert"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(3)"
|
||||
id="mouse_sensitivity_input"
|
||||
type="range"
|
||||
min="0"
|
||||
max="100"
|
||||
style="flex: 1; margin: 0dp;"
|
||||
data-value="mouse_sensitivity"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- joystick deadzone -->
|
||||
<div class="config-option" data-event-mouseover="set_cur_config_index(4)">
|
||||
<label class="config-option__title">Joystick Deadzone</label>
|
||||
<div class="config-option__range-wrapper config-option__list">
|
||||
<label class="config-option__range-label">{{joystick_deadzone}}%</label>
|
||||
<input
|
||||
class="nav-vert"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(4)"
|
||||
id="joystick_deadzone_input"
|
||||
type="range"
|
||||
min="0"
|
||||
max="100"
|
||||
style="flex: 1; margin: 0dp; nav-down: #bg_input_enabled"
|
||||
data-value="joystick_deadzone"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- background input -->
|
||||
<div class="config-option" data-event-mouseover="set_cur_config_index(5)" id="conf-general__Background-Input">
|
||||
<label class="config-option__title">Background Input</label>
|
||||
<div class="config-option__list">
|
||||
<input
|
||||
type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(5)"
|
||||
name="background_input_mode"
|
||||
data-checked="background_input_mode"
|
||||
value="On"
|
||||
id="bg_input_enabled"
|
||||
style="nav-up: #joystick_deadzone_input; nav-down: #camera_inversion_none"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="bg_input_enabled">On</label>
|
||||
|
||||
<input
|
||||
type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(5)"
|
||||
name="background_input_mode"
|
||||
data-checked="background_input_mode"
|
||||
value="Off"
|
||||
id="bg_input_disabled"
|
||||
style="nav-up: #joystick_deadzone_input; nav-down: #camera_inversion_x"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="bg_input_disabled">Off</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- camera inversion -->
|
||||
<div class="config-option" data-event-mouseover="set_cur_config_index(7)">
|
||||
<label class="config-option__title">Aiming Camera Mode</label>
|
||||
<div class="config-option__list">
|
||||
<input
|
||||
type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(7)"
|
||||
name="camera_invert_mode"
|
||||
data-checked="camera_invert_mode"
|
||||
value="InvertNone"
|
||||
id="camera_inversion_none"
|
||||
style="nav-up: #bg_input_enabled; nav-down: #analog_cam_enabled"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="camera_inversion_none">None</label>
|
||||
|
||||
<input
|
||||
type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(7)"
|
||||
name="camera_invert_mode"
|
||||
data-checked="camera_invert_mode"
|
||||
value="InvertX"
|
||||
id="camera_inversion_x"
|
||||
style="nav-up: #bg_input_disabled; nav-down: #analog_cam_disabled"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="camera_inversion_x">Invert X</label>
|
||||
|
||||
<input
|
||||
type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(7)"
|
||||
name="camera_invert_mode"
|
||||
data-checked="camera_invert_mode"
|
||||
value="InvertY"
|
||||
id="camera_inversion_y"
|
||||
style="nav-up: #bg_input_disabled; nav-down: #analog_cam_disabled"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="camera_inversion_y">Invert Y</label>
|
||||
|
||||
<input
|
||||
type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(7)"
|
||||
name="camera_invert_mode"
|
||||
data-checked="camera_invert_mode"
|
||||
value="InvertBoth"
|
||||
id="camera_inversion_both"
|
||||
style="nav-up: #bg_input_disabled; nav-down: #analog_cam_disabled"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="camera_inversion_both">Invert Both</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- analog camera -->
|
||||
<div class="config-option" data-event-mouseover="set_cur_config_index(8)">
|
||||
<label class="config-option__title">Analog Camera</label>
|
||||
<div class="config-option__list">
|
||||
<input
|
||||
type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(8)"
|
||||
name="analog_cam_mode"
|
||||
data-checked="analog_cam_mode"
|
||||
value="On"
|
||||
id="analog_cam_enabled"
|
||||
style="nav-up: #camera_inversion_none; nav-down: #analog_camera_inversion_none"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="analog_cam_enabled">On</label>
|
||||
|
||||
<input
|
||||
type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(8)"
|
||||
name="analog_cam_mode"
|
||||
data-checked="analog_cam_mode"
|
||||
value="Off"
|
||||
id="analog_cam_disabled"
|
||||
style="nav-up: #camera_inversion_x; nav-down: #analog_camera_inversion_x"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="analog_cam_disabled">Off</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- analog camera inversion -->
|
||||
<div class="config-option" data-event-mouseover="set_cur_config_index(9)">
|
||||
<label class="config-option__title">Analog Camera Mode</label>
|
||||
<div class="config-option__list">
|
||||
<input
|
||||
type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(9)"
|
||||
name="analog_camera_invert_mode"
|
||||
data-checked="analog_camera_invert_mode"
|
||||
value="InvertNone"
|
||||
id="analog_camera_inversion_none"
|
||||
style="nav-up: #analog_cam_enabled; nav-down: #note_saving_enabled"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="analog_camera_inversion_none">None</label>
|
||||
|
||||
<input
|
||||
type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(9)"
|
||||
name="analog_camera_invert_mode"
|
||||
data-checked="analog_camera_invert_mode"
|
||||
value="InvertX"
|
||||
id="analog_camera_inversion_x"
|
||||
style="nav-up: #analog_cam_disabled; nav-down: #note_saving_disabled"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="analog_camera_inversion_x">Invert X</label>
|
||||
|
||||
<input
|
||||
type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(9)"
|
||||
name="analog_camera_invert_mode"
|
||||
data-checked="analog_camera_invert_mode"
|
||||
value="InvertY"
|
||||
id="analog_camera_inversion_y"
|
||||
style="nav-up: #analog_cam_disabled; nav-down: #note_saving_disabled"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="analog_camera_inversion_y">Invert Y</label>
|
||||
|
||||
<input
|
||||
type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(9)"
|
||||
name="analog_camera_invert_mode"
|
||||
data-checked="analog_camera_invert_mode"
|
||||
value="InvertBoth"
|
||||
id="analog_camera_inversion_both"
|
||||
style="nav-up: #analog_cam_disabled; nav-down: #note_saving_disabled"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="analog_camera_inversion_both">Invert Both</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- note saving -->
|
||||
<div class="config-option" data-event-mouseover="set_cur_config_index(10)">
|
||||
<label class="config-option__title">Note Saving</label>
|
||||
<div class="config-option__list">
|
||||
<input
|
||||
type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(10)"
|
||||
name="note_saving_mode"
|
||||
data-checked="note_saving_mode"
|
||||
value="On"
|
||||
id="note_saving_enabled"
|
||||
style="nav-up: #analog_camera_inversion_none"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="note_saving_enabled">On</label>
|
||||
|
||||
<input
|
||||
type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(10)"
|
||||
name="note_saving_mode"
|
||||
data-checked="note_saving_mode"
|
||||
value="Off"
|
||||
id="note_saving_disabled"
|
||||
style="nav-up: #analog_camera_inversion_x"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="note_saving_disabled">Off</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Descriptions -->
|
||||
<div class="config__wrapper">
|
||||
<p data-if="cur_config_index == 1">
|
||||
Controls the strength of rumble when using a controller that supports it. <b>Setting this to zero will disable rumble.</b>
|
||||
</p>
|
||||
<p data-if="cur_config_index == 2">
|
||||
Controls the sensitivity of gyro aiming when using items in first person for controllers that support it. <b>Setting this to zero will disable gyro.</b>
|
||||
<br />
|
||||
<br />
|
||||
<b>Note: To recalibrate controller gyro, set the controller down on a still, flat surface for 5 seconds.</b>
|
||||
</p>
|
||||
<p data-if="cur_config_index == 3">
|
||||
Controls the sensitivity of mouse aiming when using items in first person. <b>Setting this to zero will disable mouse aiming.</b>
|
||||
<br />
|
||||
<br />
|
||||
<b>Note: This option does not allow mouse buttons to activate items. Mouse aiming is intended to be used with inputs that are mapped to mouse movement, such as gyro on Steam Deck.</b>
|
||||
</p>
|
||||
<p data-if="cur_config_index == 4">
|
||||
Applies a deadzone to joystick inputs.
|
||||
</p>
|
||||
<p data-if="cur_config_index == 5">
|
||||
Allows the game to read controller input when out of focus.
|
||||
<br/>
|
||||
<b>This setting does not affect keyboard input.</b>
|
||||
</p>
|
||||
<p data-if="cur_config_index == 7">
|
||||
Inverts the camera controls for first-person aiming. <b>Invert Y</b> is the default and matches the original game.
|
||||
</p>
|
||||
<p data-if="cur_config_index == 8">
|
||||
Enables an analog "free" camera similar to later entries in the series that's mapped to the right analog stick on the controller.
|
||||
<br/>
|
||||
<br/>
|
||||
When you move the right stick, the camera will enter free mode and stop centering behind Link. Press the <b>Target</b> button at any time to go back into the normal camera mode. The camera will also return to normal mode after a cutscene plays or when you move between areas.
|
||||
<br/>
|
||||
<br/>
|
||||
This option also enables right stick control while looking and aiming.
|
||||
</p>
|
||||
<p data-if="cur_config_index == 9">
|
||||
Inverts the camera controls for the analog camera if it's enabled. <b>None</b> is the default.
|
||||
</p>
|
||||
<p data-if="cur_config_index == 10">
|
||||
Note saving DESCRIPTION TODO.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</template>
|
||||
@@ -1,325 +0,0 @@
|
||||
<template name="config-menu__graphics">
|
||||
<head>
|
||||
</head>
|
||||
<body>
|
||||
<form class="config__form">
|
||||
<div class="config__hz-wrapper">
|
||||
<div class="config__wrapper" data-event-mouseout="set_cur_config_index(-1)">
|
||||
<div class="config-option" data-event-mouseover="set_cur_config_index(0)">
|
||||
<label class="config-option__title">Resolution</label>
|
||||
<div class="config-option__list">
|
||||
<input type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(0)"
|
||||
name="resolution"
|
||||
data-checked="res_option"
|
||||
value="Original"
|
||||
id="res_original"
|
||||
style="nav-up:#tab_graphics; nav-down: #ds_windowed"
|
||||
data-attr-style="res_option == 'Auto' ? 'nav-up:#tab_graphics; nav-down: #ar_original' : 'nav-up:#tab_graphics; nav-down: #ds_windowed'"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="res_original">Original</label>
|
||||
<input type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(0)"
|
||||
name="resolution"
|
||||
data-checked="res_option"
|
||||
value="Original2x"
|
||||
id="res_2x"
|
||||
style="nav-up:#tab_graphics; nav-down: #ds_2x"
|
||||
data-attr-style="res_option == 'Auto' ? 'nav-up:#tab_graphics; nav-down: #ar_expand' : 'nav-up:#tab_graphics; nav-down: #ds_2x'"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="res_2x">Original 2x</label>
|
||||
<input type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(0)"
|
||||
name="resolution"
|
||||
data-checked="res_option"
|
||||
value="Auto"
|
||||
id="res_auto"
|
||||
style="nav-up:#tab_graphics; nav-down: #ds_4x"
|
||||
data-attr-style="res_option == 'Auto' ? 'nav-up:#tab_graphics; nav-down: #ar_expand' : 'nav-up:#tab_graphics; nav-down: #ds_4x'"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="res_auto">Auto</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="config-option" data-event-mouseover="set_cur_config_index(1)">
|
||||
<label class="config-option__title">Downsampling Quality</label>
|
||||
<div class="config-option__list">
|
||||
<input type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(1)"
|
||||
name="downsampling"
|
||||
data-attrif-disabled="res_option == 'Auto'"
|
||||
data-checked="ds_option"
|
||||
value="1"
|
||||
id="ds_windowed"
|
||||
style="nav-up: #res_original; nav-down: #ar_original"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="ds_windowed">Off</label>
|
||||
<input type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(1)"
|
||||
name="downsampling"
|
||||
data-attrif-disabled="res_option == 'Auto'"
|
||||
data-checked="ds_option"
|
||||
value="2"
|
||||
id="ds_2x"
|
||||
style="nav-up: #res_2x; nav-down: #ar_expand"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="ds_2x">2x</label>
|
||||
<input type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(1)"
|
||||
name="downsampling"
|
||||
data-attrif-disabled="res_option == 'Auto'"
|
||||
data-checked="ds_option"
|
||||
value="4"
|
||||
id="ds_4x"
|
||||
style="nav-up: #res_auto; nav-down: #ar_expand"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="ds_4x">4x</label>
|
||||
<div class="config-option__details">{{ds_info}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="config-option" data-event-mouseover="set_cur_config_index(2)">
|
||||
<label class="config-option__title">Aspect Ratio</label>
|
||||
<div class="config-option__list">
|
||||
<input type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(2)"
|
||||
name="aspectratio"
|
||||
data-checked="ar_option"
|
||||
value="Original"
|
||||
id="ar_original"
|
||||
style="nav-up: #ds_windowed; nav-down: #wm_windowed"
|
||||
data-attr-style="res_option == 'Auto' ? 'nav-up:#res_original; nav-down: #wm_windowed' : 'nav-up:#ds_windowed; nav-down: #wm_windowed'"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="ar_original">Original</label>
|
||||
<input type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(2)"
|
||||
name="aspectratio"
|
||||
data-checked="ar_option"
|
||||
value="Expand"
|
||||
id="ar_expand"
|
||||
style="nav-up: #ds_2x; nav-down: #wm_fullscreen"
|
||||
data-attr-style="res_option == 'Auto' ? 'nav-up:#res_2x; nav-down: #wm_fullscreen' : 'nav-up:#ds_2x; nav-down: #wm_fullscreen'"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="ar_expand">Expand</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="config-option" data-event-mouseover="set_cur_config_index(3)">
|
||||
<label class="config-option__title">Window Mode</label>
|
||||
<div class="config-option__list">
|
||||
<input type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(3)"
|
||||
name="windowmode"
|
||||
data-checked="wm_option"
|
||||
value="Windowed"
|
||||
id="wm_windowed"
|
||||
style="nav-up: #ar_original; nav-down: #rr_original"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="wm_windowed">Windowed</label>
|
||||
<input type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(3)"
|
||||
name="windowmode"
|
||||
data-checked="wm_option"
|
||||
value="Fullscreen"
|
||||
id="wm_fullscreen"
|
||||
style="nav-up: #ar_expand; nav-down: #rr_display"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="wm_fullscreen">Fullscreen</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="config-option" data-event-mouseover="set_cur_config_index(4)">
|
||||
<label class="config-option__title">Framerate</label>
|
||||
<div class="config-option__list">
|
||||
<input type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(4)"
|
||||
name="refreshrate"
|
||||
data-checked="rr_option"
|
||||
value="Original"
|
||||
id="rr_original"
|
||||
data-attr-style="rr_option=='Manual' ? 'nav-up: #wm_windowed; nav-down: #rr_manual_input' : 'nav-up: #wm_windowed; nav-down: #msaa_none'"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="rr_original">Original</label>
|
||||
<input type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(4)"
|
||||
name="refreshrate"
|
||||
data-checked="rr_option"
|
||||
value="Display"
|
||||
id="rr_display"
|
||||
style="nav-up: #wm_fullscreen"
|
||||
data-style-nav-down="rr_option=='Manual' ? '#rr_manual_input' : (msaa2x_supported ? '#msaa_2x' : '#msaa_none')"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="rr_display">Display</label>
|
||||
<input type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(4)"
|
||||
name="refreshrate"
|
||||
data-checked="rr_option"
|
||||
value="Manual"
|
||||
id="rr_manual"
|
||||
style="nav-up: #wm_fullscreen"
|
||||
data-style-nav-down="rr_option=='Manual' ? '#rr_manual_input' : (msaa4x_supported ? '#msaa_4x' : (msaa2x_supported ? '#msaa_2x' : '#msaa_none'))"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="rr_manual">Manual</label>
|
||||
</div>
|
||||
<div data-if="rr_option=='Manual'" class="config-option__range-wrapper config-option__list">
|
||||
<label class="config-option__range-label">{{rr_manual_value}}</label>
|
||||
<input
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(4)"
|
||||
id="rr_manual_input"
|
||||
type="range"
|
||||
min="20"
|
||||
max="360"
|
||||
style="flex:1;margin: 0dp;nav-up:#rr_manual;nav-down:#msaa_none;"
|
||||
data-value="rr_manual_value"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="config-option" data-event-mouseover="set_cur_config_index(5)">
|
||||
<label class="config-option__title">MS Anti-Aliasing</label>
|
||||
<div class="config-option__list">
|
||||
<input type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(5)"
|
||||
name="antialiasing"
|
||||
data-checked="msaa_option"
|
||||
value="None"
|
||||
id="msaa_none"
|
||||
data-attr-style="rr_option=='Manual' ? 'nav-up: #rr_manual_input; nav-down: #hr_original' : 'nav-up: #rr_original; nav-down: #hr_original'"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="msaa_none">None</label>
|
||||
<input type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(5)"
|
||||
name="antialiasing"
|
||||
data-attrif-disabled="!msaa2x_supported"
|
||||
data-checked="msaa_option"
|
||||
value="MSAA2X"
|
||||
id="msaa_2x"
|
||||
data-attr-style="rr_option=='Manual' ? 'nav-up: #rr_manual_input; nav-down: #hr_16_9' : 'nav-up: #rr_display; nav-down: #hr_16_9'"
|
||||
data-style-nav-right="msaa4x_supported ? '#msaa_4x' : 'none'"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="msaa_2x">2x</label>
|
||||
<input type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(5)"
|
||||
name="antialiasing"
|
||||
data-attrif-disabled="!msaa4x_supported"
|
||||
data-checked="msaa_option"
|
||||
value="MSAA4X"
|
||||
id="msaa_4x"
|
||||
data-attr-style="rr_option=='Manual' ? 'nav-up: #rr_manual_input; nav-down: #hr_full' : 'nav-up: #rr_manual; nav-down: #hr_full'"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="msaa_4x">4x</label>
|
||||
<div class="config-option__details" data-if="!sample_positions_supported">Not available (missing sample positions support)</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="config-option" data-event-mouseover="set_cur_config_index(6)">
|
||||
<label class="config-option__title">HUD Placement</label>
|
||||
<div class="config-option__list">
|
||||
<input type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(6)"
|
||||
name="hr-option"
|
||||
data-checked="hr_option"
|
||||
value="Original"
|
||||
id="hr_original"
|
||||
style="nav-up: #msaa_none; nav-down: #apply_button"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="hr_original">Original</label>
|
||||
<input type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(6)"
|
||||
name="hr-option"
|
||||
data-checked="hr_option"
|
||||
value="Clamp16x9"
|
||||
id="hr_16_9"
|
||||
style="nav-up: #msaa_2x; nav-down: #apply_button"
|
||||
data-style-nav-up="msaa2x_supported ? '#msaa_2x' : '#msaa_none'"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="hr_16_9">16:9</label>
|
||||
<input type="radio"
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(6)"
|
||||
name="hr-option"
|
||||
data-checked="hr_option"
|
||||
value="Full"
|
||||
id="hr_full"
|
||||
style="nav-up: #msaa_4x; nav-down: #apply_button"
|
||||
data-style-nav-up="msaa4x_supported ? '#msaa_4x' : (msaa2x_supported ? '#msaa_2x' : '#msaa_none')"
|
||||
/>
|
||||
<label class="config-option__tab-label" for="hr_full">Expand</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="config__wrapper">
|
||||
<p data-if="cur_config_index == 0">
|
||||
Sets the output resolution of the game. <b>Original</b> matches the game's original 240p resolution. <b>Original 2x</b> will render at 480p. <b>Auto</b> will scale based on the game window's resolution.
|
||||
</p>
|
||||
<p data-if="cur_config_index == 1">
|
||||
Renders at a higher resolution and scales it down to the output resolution for increased quality. Only available in <b>Original</b> and <b>Original 2x</b> resolution.
|
||||
<br />
|
||||
<br />
|
||||
Note: <b>4x</b> downsampling quality at <b>Original 2x</b> resolution may cause performance issues on low end devices, as it will cause the game to render <i>at almost 4k internal resolution</i>.
|
||||
</p>
|
||||
<p data-if="cur_config_index == 2">
|
||||
Sets the horizontal aspect ratio. <b>Original</b> uses the game's original 4:3 aspect ratio. <b>Expand</b> will adjust to match the game window's aspect ratio.
|
||||
</p>
|
||||
<p data-if="cur_config_index == 3">
|
||||
Sets whether the game should display <b>Windowed</b> or <b>Fullscreen</b>. You can also use <b>F11</b> or <b>Alt + Enter</b> to toggle this option.
|
||||
</p>
|
||||
<p data-if="cur_config_index == 4">
|
||||
Sets the game's output framerate. This option does not affect gameplay.
|
||||
<br />
|
||||
<br />
|
||||
Note: If you have issues with <b>Display</b> mode while using an external frame limiter, use <b>Manual</b> mode instead and configure it to that same frame limit.
|
||||
<br />
|
||||
<br />
|
||||
<b>Detected display refresh rate: {{display_refresh_rate}}hz</b>
|
||||
</p>
|
||||
<p data-if="cur_config_index == 5">
|
||||
Sets the multisample anti-aliasing (MSAA) quality level. This reduces jagged edges in the final image at the expense of rendering performance.
|
||||
<br />
|
||||
<br />
|
||||
<b>Note: This option won't be available if your GPU does not support programmable MSAA sample positions, as it is currently required to avoid rendering glitches.</b>
|
||||
</p>
|
||||
<p data-if="cur_config_index == 6">
|
||||
Adjusts the placement of HUD elements to fit the selected aspect ratio. <b>Expand</b> will use the aspect ratio of the game's output window.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="config__footer">
|
||||
<!-- this empty div makes sure Apply button gets right aligned -->
|
||||
<div />
|
||||
<div>
|
||||
<button
|
||||
class="button button--secondary"
|
||||
nav-return="rr_manual"
|
||||
data-attrif-disabled="!options_changed"
|
||||
onclick="apply_options"
|
||||
id="apply_button"
|
||||
style="nav-up:#hr_original"
|
||||
>
|
||||
<div class="button__label">Apply<span class="prompt-font-sm">{{gfx_help__apply}}</span></div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</template>
|
||||
@@ -1,9 +0,0 @@
|
||||
<template name="config-menu__mods">
|
||||
<head>
|
||||
</head>
|
||||
<body>
|
||||
<form class="config__form">
|
||||
<recomp-mod-menu id="menu_mods" />
|
||||
</form>
|
||||
</body>
|
||||
</template>
|
||||
@@ -1,57 +0,0 @@
|
||||
<template name="config-menu__sound">
|
||||
<head>
|
||||
</head>
|
||||
<body>
|
||||
<form class="config__form">
|
||||
<div class="config__hz-wrapper">
|
||||
<!-- Options -->
|
||||
<div class="config__wrapper" data-event-mouseout="set_cur_config_index(-1)">
|
||||
<div class="config-option" data-event-mouseover="set_cur_config_index(0)">
|
||||
<label class="config-option__title">Main Volume</label>
|
||||
<div class="config-option__range-wrapper config-option__list">
|
||||
<label class="config-option__range-label">{{main_volume}}%</label>
|
||||
<input
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(0)"
|
||||
class="nav-vert"
|
||||
id="main_volume_input"
|
||||
type="range"
|
||||
min="0"
|
||||
max="100"
|
||||
style="flex: 1; margin: 0dp; nav-up: #tab_sound; nav-down: #bgm_volume_input;"
|
||||
data-value="main_volume"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="config-option" data-event-mouseover="set_cur_config_index(1)">
|
||||
<label class="config-option__title">Background Music Volume</label>
|
||||
<div class="config-option__range-wrapper config-option__list">
|
||||
<label class="config-option__range-label">{{bgm_volume}}%</label>
|
||||
<input
|
||||
data-event-blur="set_cur_config_index(-1)"
|
||||
data-event-focus="set_cur_config_index(1)"
|
||||
class="nav-vert"
|
||||
id="bgm_volume_input"
|
||||
type="range"
|
||||
min="0"
|
||||
max="100"
|
||||
style="flex: 1; margin: 0dp; nav-up: #main_volume_input;"
|
||||
data-value="bgm_volume"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Descriptions -->
|
||||
<div class="config__wrapper">
|
||||
<p data-if="cur_config_index == 0">
|
||||
Controls the main volume of the game.
|
||||
</p>
|
||||
<p data-if="cur_config_index == 1">
|
||||
Controls the overall volume of background music.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
</template>
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
<rml>
|
||||
<head>
|
||||
<link type="text/rcss" href="rml.rcss"/>
|
||||
<link type="text/rcss" href="recomp.rcss"/>
|
||||
<title>Inventory</title>
|
||||
<style>
|
||||
body
|
||||
{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
/* Hide the window icon. */
|
||||
div#title_bar div#icon
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
.flex-grid {
|
||||
display: flex;
|
||||
}
|
||||
.col {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="window">
|
||||
<!-- <handle move_target="#document"> -->
|
||||
<div id="window" class="rmlui-window" style="display:flex; flex-flow: column; background-color:rgba(0,0,0,0)" onkeydown="config_keydown">
|
||||
<div class="centered-page" onclick="close_config_menu_backdrop">
|
||||
<div class="centered-page__modal">
|
||||
<div class="config__icon-buttons">
|
||||
<button
|
||||
class="icon-button"
|
||||
onclick="open_quit_game_prompt"
|
||||
id="config__quit-game-button"
|
||||
>
|
||||
<svg src="icons/Quit.svg" />
|
||||
</button>
|
||||
<button
|
||||
class="icon-button"
|
||||
onclick="close_config_menu"
|
||||
id="config__close-menu-button"
|
||||
>
|
||||
<svg src="icons/X.svg" />
|
||||
</button>
|
||||
</div>
|
||||
<recomp-config-sub-menu id="config_sub_menu" />
|
||||
</div>
|
||||
<div
|
||||
class="centered-page__controls"
|
||||
data-model="nav_help_model"
|
||||
>
|
||||
<label>
|
||||
<span>Navigate</span>
|
||||
<span class="prompt-font-sm">{{nav_help__navigate}}</span>
|
||||
</label>
|
||||
<label>
|
||||
<span>Accept</span>
|
||||
<span class="prompt-font-sm">{{nav_help__accept}}</span>
|
||||
</label>
|
||||
<label>
|
||||
<span>Exit</span>
|
||||
<span class="prompt-font-sm">{{nav_help__exit}}</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</rml>
|
||||
@@ -0,0 +1,3 @@
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M4 11L15.2929 22.2929C15.6834 22.6834 16.3166 22.6834 16.7071 22.2929L28 11" stroke="#FFFFFF" stroke-width="8" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 248 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M7.72625 23.3925C8.13475 23.0659 8.61021 22.3958 9.032 21.7129C9.78396 20.4953 11.0499 19.6669 12.4578 19.6669H19.5422C20.9501 19.6669 22.216 20.4953 22.968 21.7129C23.3898 22.3958 23.8653 23.0659 24.2738 23.3925C25.2857 24.2015 26.6008 24.2035 27.6585 23.3925C28.4268 22.8033 29 21.7232 29 20.2983C29 18.8735 28.6384 12.9609 27.6585 9.98045C26.6786 7 23.4285 7 16 7C8.57147 7 5.32145 7 4.34153 9.98045C3.36162 12.9609 3 18.8735 3 20.2983C3 21.7232 3.5732 22.8033 4.34153 23.3925C5.39916 24.2035 6.71431 24.2015 7.72625 23.3925Z" stroke="white" stroke-width="4"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 676 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M27 7C29.2091 7 31 8.79086 31 11V21C31 23.2091 29.2091 25 27 25H5C2.79086 25 1 23.2091 1 21V11C1 8.79086 2.79086 7 5 7H27ZM5 19V21H7V19H5ZM9 19V21H23V19H9ZM25 19V21H27V19H25ZM5 15V17H9V15H5ZM11 15V17H13V15H11ZM15 15V17H17V15H15ZM19 15V17H21V15H19ZM23 15V17H27V15H23ZM5 11V13H7V11H5ZM9 11V13H11V11H9ZM13 11V13H15V11H13ZM17 11V13H19V11H17ZM21 11V13H23V11H21ZM25 11V13H27V11H25Z" fill="white"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 504 B |
@@ -0,0 +1,17 @@
|
||||
<svg width="48" height="20" viewBox="0 0 48 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_543_3678)">
|
||||
<g clip-path="url(#clip1_543_3678)">
|
||||
<path d="M8 5V15" stroke="white" stroke-width="4" stroke-linecap="round"/>
|
||||
<path d="M3 10L13 10" stroke="white" stroke-width="4" stroke-linecap="round"/>
|
||||
</g>
|
||||
<path d="M43 1C45.2091 1 47 2.79086 47 5V15C47 17.2091 45.2091 19 43 19H21C18.7909 19 17 17.2091 17 15V5C17 2.79086 18.7909 1 21 1H43ZM21 13V15H23V13H21ZM25 13V15H39V13H25ZM41 13V15H43V13H41ZM21 9V11H25V9H21ZM27 9V11H29V9H27ZM31 9V11H33V9H31ZM35 9V11H37V9H35ZM39 9V11H43V9H39ZM21 5V7H23V5H21ZM25 5V7H27V5H25ZM29 5V7H31V5H29ZM33 5V7H35V5H33ZM37 5V7H39V5H37ZM41 5V7H43V5H41Z" fill="white"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_543_3678">
|
||||
<rect width="48" height="20" fill="white"/>
|
||||
</clipPath>
|
||||
<clipPath id="clip1_543_3678">
|
||||
<rect width="16" height="16" fill="white" transform="translate(0 2)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 946 B |
@@ -0,0 +1,6 @@
|
||||
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M16 3C24.091 3.00019 28.7417 10.0042 28.9902 16.082C29.0372 17.2318 28.8162 18.5326 28.2207 19.4746C27.7079 20.2859 26.8271 21 25 21H7C5.17292 21 4.29117 20.2859 3.77832 19.4746C3.18306 18.5326 2.96285 17.2316 3.00977 16.082C3.25811 10.0041 7.90882 3 16 3Z" stroke="white" stroke-width="4" stroke-linecap="round"/>
|
||||
<circle cx="16" cy="14.5" r="2.5" fill="white"/>
|
||||
<circle cx="22.5" cy="14.5" r="2.5" fill="white"/>
|
||||
<circle cx="9.5" cy="14.5" r="2.5" fill="white"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 577 B |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user