settings.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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. bool use_cpu_jit;
  51. int frame_skip;
  52. // Data Storage
  53. bool use_virtual_sd;
  54. // System Region
  55. int region_value;
  56. // Renderer
  57. bool use_hw_renderer;
  58. bool use_shader_jit;
  59. bool use_scaled_resolution;
  60. bool use_vsync;
  61. float bg_red;
  62. float bg_green;
  63. float bg_blue;
  64. std::string log_filter;
  65. // Audio
  66. std::string sink_id;
  67. bool enable_audio_stretching;
  68. // Debugging
  69. bool use_gdbstub;
  70. u16 gdbstub_port;
  71. } extern values;
  72. void Apply();
  73. }