settings.cpp 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. // Copyright 2014 Citra Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #include "core/core.h"
  5. #include "core/gdbstub/gdbstub.h"
  6. #include "core/hle/service/hid/hid.h"
  7. #include "core/settings.h"
  8. #include "video_core/renderer_base.h"
  9. namespace Settings {
  10. namespace NativeButton {
  11. const std::array<const char*, NumButtons> mapping = {{
  12. "button_a",
  13. "button_b",
  14. "button_x",
  15. "button_y",
  16. "button_lstick",
  17. "button_rstick",
  18. "button_l",
  19. "button_r",
  20. "button_zl",
  21. "button_zr",
  22. "button_plus",
  23. "button_minus",
  24. "button_dleft",
  25. "button_dup",
  26. "button_dright",
  27. "button_ddown",
  28. "button_lstick_left",
  29. "button_lstick_up",
  30. "button_lstick_right",
  31. "button_lstick_down",
  32. "button_rstick_left",
  33. "button_rstick_up",
  34. "button_rstick_right",
  35. "button_rstick_down",
  36. "button_sl",
  37. "button_sr",
  38. "button_home",
  39. "button_screenshot",
  40. }};
  41. }
  42. namespace NativeAnalog {
  43. const std::array<const char*, NumAnalogs> mapping = {{
  44. "lstick",
  45. "rstick",
  46. }};
  47. }
  48. namespace NativeMouseButton {
  49. const std::array<const char*, NumMouseButtons> mapping = {{
  50. "left",
  51. "right",
  52. "middle",
  53. "forward",
  54. "back",
  55. }};
  56. }
  57. Values values = {};
  58. void Apply() {
  59. GDBStub::SetServerPort(values.gdbstub_port);
  60. GDBStub::ToggleServer(values.use_gdbstub);
  61. auto& system_instance = Core::System::GetInstance();
  62. if (system_instance.IsPoweredOn()) {
  63. system_instance.Renderer().RefreshBaseSettings();
  64. }
  65. Service::HID::ReloadInputDevices();
  66. }
  67. template <typename T>
  68. void LogSetting(const std::string& name, const T& value) {
  69. LOG_INFO(Config, "{}: {}", name, value);
  70. }
  71. void LogSettings() {
  72. LOG_INFO(Config, "yuzu Configuration:");
  73. LogSetting("System_UseDockedMode", Settings::values.use_docked_mode);
  74. LogSetting("System_RngSeed", Settings::values.rng_seed.value_or(0));
  75. LogSetting("System_CurrentUser", Settings::values.current_user);
  76. LogSetting("System_LanguageIndex", Settings::values.language_index);
  77. LogSetting("Core_UseCpuJit", Settings::values.use_cpu_jit);
  78. LogSetting("Core_UseMultiCore", Settings::values.use_multi_core);
  79. LogSetting("Renderer_UseResolutionFactor", Settings::values.resolution_factor);
  80. LogSetting("Renderer_UseFrameLimit", Settings::values.use_frame_limit);
  81. LogSetting("Renderer_FrameLimit", Settings::values.frame_limit);
  82. LogSetting("Renderer_UseDiskShaderCache", Settings::values.use_disk_shader_cache);
  83. LogSetting("Renderer_UseAccurateGpuEmulation", Settings::values.use_accurate_gpu_emulation);
  84. LogSetting("Renderer_UseAsynchronousGpuEmulation",
  85. Settings::values.use_asynchronous_gpu_emulation);
  86. LogSetting("Audio_OutputEngine", Settings::values.sink_id);
  87. LogSetting("Audio_EnableAudioStretching", Settings::values.enable_audio_stretching);
  88. LogSetting("Audio_OutputDevice", Settings::values.audio_device_id);
  89. LogSetting("DataStorage_UseVirtualSd", Settings::values.use_virtual_sd);
  90. LogSetting("DataStorage_NandDir", Settings::values.nand_dir);
  91. LogSetting("DataStorage_SdmcDir", Settings::values.sdmc_dir);
  92. LogSetting("Debugging_UseGdbstub", Settings::values.use_gdbstub);
  93. LogSetting("Debugging_GdbstubPort", Settings::values.gdbstub_port);
  94. LogSetting("Debugging_ProgramArgs", Settings::values.program_args);
  95. }
  96. } // namespace Settings