settings.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. // Copyright 2014 Citra Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include <string>
  6. #include <array>
  7. #include "common/common_types.h"
  8. namespace Settings {
  9. namespace NativeInput {
  10. enum Values {
  11. // directly mapped keys
  12. A, B, X, Y,
  13. L, R, ZL, ZR,
  14. START, SELECT, HOME,
  15. DUP, DDOWN, DLEFT, DRIGHT,
  16. CUP, CDOWN, CLEFT, CRIGHT,
  17. // indirectly mapped keys
  18. CIRCLE_UP, CIRCLE_DOWN, CIRCLE_LEFT, CIRCLE_RIGHT,
  19. CIRCLE_MODIFIER,
  20. NUM_INPUTS
  21. };
  22. static const std::array<const char*, NUM_INPUTS> Mapping = {{
  23. // directly mapped keys
  24. "pad_a", "pad_b", "pad_x", "pad_y",
  25. "pad_l", "pad_r", "pad_zl", "pad_zr",
  26. "pad_start", "pad_select", "pad_home",
  27. "pad_dup", "pad_ddown", "pad_dleft", "pad_dright",
  28. "pad_cup", "pad_cdown", "pad_cleft", "pad_cright",
  29. // indirectly mapped keys
  30. "pad_circle_up", "pad_circle_down", "pad_circle_left", "pad_circle_right",
  31. "pad_circle_modifier",
  32. }};
  33. static const std::array<Values, NUM_INPUTS> All = {{
  34. A, B, X, Y,
  35. L, R, ZL, ZR,
  36. START, SELECT, HOME,
  37. DUP, DDOWN, DLEFT, DRIGHT,
  38. CUP, CDOWN, CLEFT, CRIGHT,
  39. CIRCLE_UP, CIRCLE_DOWN, CIRCLE_LEFT, CIRCLE_RIGHT,
  40. CIRCLE_MODIFIER,
  41. }};
  42. }
  43. struct Values {
  44. // CheckNew3DS
  45. bool is_new_3ds;
  46. // Controls
  47. std::array<int, NativeInput::NUM_INPUTS> input_mappings;
  48. float pad_circle_modifier_scale;
  49. // Core
  50. int frame_skip;
  51. // Data Storage
  52. bool use_virtual_sd;
  53. // System Region
  54. int region_value;
  55. // Renderer
  56. bool use_hw_renderer;
  57. bool use_shader_jit;
  58. bool use_scaled_resolution;
  59. float bg_red;
  60. float bg_green;
  61. float bg_blue;
  62. std::string log_filter;
  63. // Audio
  64. std::string sink_id;
  65. bool enable_audio_stretching;
  66. // Debugging
  67. bool use_gdbstub;
  68. u16 gdbstub_port;
  69. } extern values;
  70. void Apply();
  71. }