mirror of
https://github.com/Lime3DS/Lime3DS.git
synced 2026-03-27 13:50:22 -06:00
Touch pointer rendering is now always enabled, but unless a controller is being used to move the touchscreen cursor, it will be hidden due to the timeout which is also enabled by default.
279 lines
8.1 KiB
CMake
279 lines
8.1 KiB
CMake
## This file should be the *only place* where setting keys exist as strings.
|
|
# All references to setting strings should be derived from the
|
|
# `setting_keys.h` and `jni_setting_keys.cpp` files generated here.
|
|
|
|
# !!! Changes made here should be mirrored to SettingKeys.kt if used on Android
|
|
|
|
# Shared setting keys (multi-platform)
|
|
foreach(KEY IN ITEMS
|
|
"use_artic_base_controller"
|
|
"enable_gamemode"
|
|
"use_cpu_jit"
|
|
"cpu_clock_percentage"
|
|
"is_new_3ds"
|
|
"lle_applets"
|
|
"deterministic_async_operations"
|
|
"enable_required_online_lle_modules"
|
|
"use_virtual_sd"
|
|
"use_custom_storage"
|
|
"compress_cia_installs"
|
|
"region_value"
|
|
"init_clock"
|
|
"init_time"
|
|
"init_time_offset"
|
|
"init_ticks_type"
|
|
"init_ticks_override"
|
|
"plugin_loader"
|
|
"allow_plugin_loader"
|
|
"steps_per_hour"
|
|
"apply_region_free_patch"
|
|
"graphics_api"
|
|
"physical_device"
|
|
"use_gles"
|
|
"renderer_debug"
|
|
"dump_command_buffers"
|
|
"spirv_shader_gen"
|
|
"disable_spirv_optimizer"
|
|
"async_shader_compilation"
|
|
"async_presentation"
|
|
"use_hw_shader"
|
|
"use_disk_shader_cache"
|
|
"shaders_accurate_mul"
|
|
"use_vsync"
|
|
"use_display_refresh_rate_detection"
|
|
"use_shader_jit"
|
|
"resolution_factor"
|
|
"frame_limit"
|
|
"turbo_limit"
|
|
"texture_filter"
|
|
"texture_sampling"
|
|
"delay_game_render_thread_us"
|
|
"layout_option"
|
|
"swap_screen"
|
|
"upright_screen"
|
|
"secondary_display_layout"
|
|
"large_screen_proportion"
|
|
"screen_gap"
|
|
"small_screen_position"
|
|
"custom_top_x"
|
|
"custom_top_y"
|
|
"custom_top_width"
|
|
"custom_top_height"
|
|
"custom_bottom_x"
|
|
"custom_bottom_y"
|
|
"custom_bottom_width"
|
|
"custom_bottom_height"
|
|
"custom_second_layer_opacity"
|
|
"aspect_ratio"
|
|
"screen_top_stretch"
|
|
"screen_top_leftright_padding"
|
|
"screen_top_topbottom_padding"
|
|
"screen_bottom_stretch"
|
|
"screen_bottom_leftright_padding"
|
|
"screen_bottom_topbottom_padding"
|
|
"portrait_layout_option"
|
|
"custom_portrait_top_x"
|
|
"custom_portrait_top_y"
|
|
"custom_portrait_top_width"
|
|
"custom_portrait_top_height"
|
|
"custom_portrait_bottom_x"
|
|
"custom_portrait_bottom_y"
|
|
"custom_portrait_bottom_width"
|
|
"custom_portrait_bottom_height"
|
|
"bg_red"
|
|
"bg_green"
|
|
"bg_blue"
|
|
"render_3d"
|
|
"factor_3d"
|
|
"swap_eyes_3d"
|
|
"render_3d_which_display"
|
|
"mono_render_option"
|
|
"cardboard_screen_size"
|
|
"cardboard_x_shift"
|
|
"cardboard_y_shift"
|
|
"filter_mode"
|
|
"pp_shader_name"
|
|
"anaglyph_shader_name"
|
|
"dump_textures"
|
|
"custom_textures"
|
|
"preload_textures"
|
|
"async_custom_loading"
|
|
"disable_right_eye_render"
|
|
"audio_emulation"
|
|
"enable_audio_stretching"
|
|
"enable_realtime_audio"
|
|
"volume"
|
|
"output_type"
|
|
"output_device"
|
|
"input_type"
|
|
"input_device"
|
|
"delay_start_for_lle_modules"
|
|
"use_gdbstub"
|
|
"gdbstub_port"
|
|
"instant_debug_log"
|
|
"enable_rpc_server"
|
|
"log_filter"
|
|
"log_regex_filter"
|
|
"toggle_unique_data_console_type"
|
|
"use_integer_scaling"
|
|
"layouts_to_cycle"
|
|
"camera_inner_flip"
|
|
"camera_outer_left_flip"
|
|
"camera_outer_right_flip"
|
|
"camera_inner_name"
|
|
"camera_inner_config"
|
|
"camera_outer_left_name"
|
|
"camera_outer_left_config"
|
|
"camera_outer_right_name"
|
|
"camera_outer_right_config"
|
|
"video_encoder"
|
|
"video_encoder_options"
|
|
"video_bitrate"
|
|
"audio_encoder"
|
|
"audio_encoder_options"
|
|
"audio_bitrate"
|
|
"last_artic_base_addr"
|
|
"motion_device"
|
|
"touch_device"
|
|
"udp_input_address"
|
|
"udp_input_port"
|
|
"udp_pad_index"
|
|
"record_frame_times"
|
|
"language" # FIXME: DUPLICATE KEY (libretro equivalent: language_value)
|
|
"web_api_url"
|
|
"citra_username"
|
|
"citra_token"
|
|
)
|
|
set(SETTING_KEY_LIST "${SETTING_KEY_LIST}\n\"${KEY}\",")
|
|
set(SETTING_KEY_DEFINITIONS "${SETTING_KEY_DEFINITIONS}\nDEFINE_KEY(${KEY})")
|
|
if (ANDROID)
|
|
string(REPLACE "_" "_1" KEY_JNI_ESCAPED ${KEY})
|
|
set(JNI_SETTING_KEY_DEFINITIONS "${JNI_SETTING_KEY_DEFINITIONS}
|
|
JNI_DEFINE_KEY(${KEY}, ${KEY_JNI_ESCAPED})")
|
|
endif()
|
|
endforeach()
|
|
|
|
# Qt exclusive setting keys
|
|
# Note: A lot of these are very generic because our Qt settings are currently put under groups:
|
|
# E.g. UILayout\geometry
|
|
# TODO: We should probably get rid of these groups and use complete keys at some point. -OS
|
|
# FIXME: Some of these settings don't use the standard snake_case. When we can migrate, address that. -OS
|
|
if (ENABLE_QT)
|
|
foreach(KEY IN ITEMS
|
|
"nickname"
|
|
"ip"
|
|
"port"
|
|
"room_nickname"
|
|
"room_name"
|
|
"room_port"
|
|
"host_type"
|
|
"max_player"
|
|
"room_description"
|
|
"multiplayer_filter_text"
|
|
"multiplayer_filter_games_owned"
|
|
"multiplayer_filter_hide_empty"
|
|
"multiplayer_filter_hide_full"
|
|
"username_ban_list"
|
|
"username"
|
|
"ip_ban_list"
|
|
"romsPath"
|
|
"symbolsPath"
|
|
"movieRecordPath"
|
|
"moviePlaybackPath"
|
|
"videoDumpingPath"
|
|
"gameListRootDir"
|
|
"gameListDeepScan"
|
|
"path"
|
|
"deep_scan"
|
|
"expanded"
|
|
"recentFiles"
|
|
"output_format"
|
|
"format_options"
|
|
"theme"
|
|
"program_id"
|
|
"geometry"
|
|
"state"
|
|
"geometryRenderWindow"
|
|
"gameListHeaderState"
|
|
"microProfileDialogGeometry"
|
|
"name"
|
|
"bind"
|
|
"profile"
|
|
"use_touchpad"
|
|
"controller_touch_device"
|
|
"use_touch_from_button"
|
|
"touch_from_button_map"
|
|
"touch_from_button_maps" # Why are these two so similar? Basically typo bait
|
|
"nand_directory"
|
|
"sdmc_directory"
|
|
"game_id"
|
|
"KeySeq"
|
|
"gamedirs"
|
|
"libvorbis"
|
|
"Context"
|
|
"favorites"
|
|
)
|
|
set(SETTING_KEY_LIST "${SETTING_KEY_LIST}\n\"${KEY}\",")
|
|
set(SETTING_KEY_DEFINITIONS "${SETTING_KEY_DEFINITIONS}\nDEFINE_KEY(${KEY})")
|
|
endforeach()
|
|
endif()
|
|
|
|
# Android exclusive setting keys (standalone app only, not Android libretro)
|
|
if (ANDROID)
|
|
foreach(KEY IN ITEMS
|
|
"expand_to_cutout_area"
|
|
"performance_overlay_enable"
|
|
"performance_overlay_show_fps"
|
|
"performance_overlay_show_frame_time"
|
|
"performance_overlay_show_speed"
|
|
"performance_overlay_show_app_ram_usage"
|
|
"performance_overlay_show_available_ram"
|
|
"performance_overlay_show_battery_temp"
|
|
"performance_overlay_background"
|
|
"use_frame_limit" # FIXME: DUPLICATE KEY (shared equivalent: frame_limit)
|
|
"android_hide_images"
|
|
"screen_orientation"
|
|
"performance_overlay_position"
|
|
)
|
|
string(REPLACE "_" "_1" KEY_JNI_ESCAPED ${KEY})
|
|
set(SETTING_KEY_LIST "${SETTING_KEY_LIST}\n\"${KEY}\",")
|
|
set(SETTING_KEY_DEFINITIONS "${SETTING_KEY_DEFINITIONS}\nDEFINE_KEY(${KEY})")
|
|
set(JNI_SETTING_KEY_DEFINITIONS "${JNI_SETTING_KEY_DEFINITIONS}
|
|
JNI_DEFINE_KEY(${KEY}, ${KEY_JNI_ESCAPED})")
|
|
endforeach()
|
|
endif()
|
|
|
|
# Libretro exclusive setting keys
|
|
if (ENABLE_LIBRETRO)
|
|
foreach(KEY IN ITEMS
|
|
"language_value"
|
|
"swap_screen_mode"
|
|
"use_libretro_save_path"
|
|
"analog_function"
|
|
"analog_deadzone"
|
|
"enable_mouse_touchscreen"
|
|
"enable_touch_touchscreen"
|
|
"enable_touch_pointer_timeout"
|
|
"enable_motion"
|
|
"motion_sensitivity"
|
|
)
|
|
string(REPLACE "_" "_1" KEY_JNI_ESCAPED ${KEY})
|
|
set(SETTING_KEY_LIST "${SETTING_KEY_LIST}\n\"${KEY}\",")
|
|
set(SETTING_KEY_DEFINITIONS "${SETTING_KEY_DEFINITIONS}\nDEFINE_KEY(${KEY})")
|
|
endforeach()
|
|
endif()
|
|
|
|
# Trim trailing comma and newline from SETTING_KEY_LIST
|
|
string(LENGTH "${SETTING_KEY_LIST}" SETTING_KEY_LIST_LENGTH)
|
|
math(EXPR SETTING_KEY_LIST_NEW_LENGTH "${SETTING_KEY_LIST_LENGTH} - 1")
|
|
string(SUBSTRING "${SETTING_KEY_LIST}" 0 ${SETTING_KEY_LIST_NEW_LENGTH} SETTING_KEY_LIST)
|
|
|
|
# Configure files
|
|
configure_file("common/setting_keys.h.in" "common/setting_keys.h" @ONLY)
|
|
if (ENABLE_QT)
|
|
configure_file("citra_qt/setting_qkeys.h.in" "citra_qt/setting_qkeys.h" @ONLY)
|
|
endif()
|
|
if (ANDROID AND NOT ENABLE_LIBRETRO)
|
|
configure_file("android/app/src/main/jni/jni_setting_keys.cpp.in" "android/app/src/main/jni/jni_setting_keys.cpp" @ONLY)
|
|
endif()
|