5 // RC-modified variables listed here
8 #include "pd-defs.h" // Keysyms are defined in here
11 // main.cpp defines IS_MAIN_CPP, which means we actually define the variables.
12 // Otherwise, we just declare them as externs
21 #define RCVAR(name, def) intptr_t name = def
22 #define RCSTR(name, def) struct rc_str name = { def, NULL, NULL }
23 #define RCCTL(name, defk, defj, defm) \
24 intptr_t name[RCB_NUM] = { defk, defj, defm }
26 #define RCVAR(name, def) extern intptr_t name
27 #define RCSTR(name, def) extern struct rc_str name
28 #define RCCTL(name, defk, defj, defm) \
29 extern intptr_t name[RCB_NUM]
32 RCCTL(pad1_up
, PDK_UP
, JS_AXIS(0, 1, JS_AXIS_NEGATIVE
), 0);
33 RCCTL(pad1_down
, PDK_DOWN
, JS_AXIS(0, 1, JS_AXIS_POSITIVE
), 0);
34 RCCTL(pad1_left
, PDK_LEFT
, JS_AXIS(0, 0, JS_AXIS_NEGATIVE
), 0);
35 RCCTL(pad1_right
, PDK_RIGHT
, JS_AXIS(0, 0, JS_AXIS_POSITIVE
), 0);
36 RCCTL(pad1_a
, 'a', JS_BUTTON(0, 0), 0);
37 RCCTL(pad1_b
, 's', JS_BUTTON(0, 3), 0);
38 RCCTL(pad1_c
, 'd', JS_BUTTON(0, 1), 0);
39 RCCTL(pad1_x
, 'q', JS_BUTTON(0, 6), 0);
40 RCCTL(pad1_y
, 'w', JS_BUTTON(0, 4), 0);
41 RCCTL(pad1_z
, 'e', JS_BUTTON(0, 5), 0);
42 RCCTL(pad1_mode
, PDK_BACKSPACE
, JS_BUTTON(0, 9), 0);
43 RCCTL(pad1_start
, PDK_RETURN
, JS_BUTTON(0, 8), 0);
45 RCCTL(pad2_up
, PDK_KP8
, JS_AXIS(1, 1, JS_AXIS_NEGATIVE
), 0);
46 RCCTL(pad2_down
, PDK_KP2
, JS_AXIS(1, 1, JS_AXIS_POSITIVE
), 0);
47 RCCTL(pad2_left
, PDK_KP4
, JS_AXIS(1, 0, JS_AXIS_NEGATIVE
), 0);
48 RCCTL(pad2_right
, PDK_KP6
, JS_AXIS(1, 0, JS_AXIS_POSITIVE
), 0);
49 RCCTL(pad2_a
, PDK_DELETE
, JS_BUTTON(1, 0), 0);
50 RCCTL(pad2_b
, PDK_END
, JS_BUTTON(1, 3), 0);
51 RCCTL(pad2_c
, PDK_PAGEDOWN
, JS_BUTTON(1, 1), 0);
52 RCCTL(pad2_x
, PDK_INSERT
, JS_BUTTON(1, 6), 0);
53 RCCTL(pad2_y
, PDK_HOME
, JS_BUTTON(1, 4), 0);
54 RCCTL(pad2_z
, PDK_PAGEUP
, JS_BUTTON(1, 5), 0);
55 RCCTL(pad2_mode
, PDK_KP_PLUS
, JS_BUTTON(1, 9), 0);
56 RCCTL(pad2_start
, PDK_KP_ENTER
, JS_BUTTON(1, 8), 0);
60 JS_AXIS(0, 1, JS_AXIS_NEGATIVE
),
64 JS_AXIS(0, 1, JS_AXIS_POSITIVE
),
68 JS_AXIS(0, 0, JS_AXIS_NEGATIVE
),
72 JS_AXIS(0, 0, JS_AXIS_POSITIVE
),
74 RCCTL(pico_pen_button
,
78 RCVAR(pico_pen_stride
, 2);
79 RCVAR(pico_pen_delay
, 2);
81 RCCTL(dgen_fix_checksum
, PDK_F1
, 0, 0);
82 RCCTL(dgen_quit
, PDK_ESCAPE
, 0, 0);
83 RCCTL(dgen_craptv_toggle
, PDK_F5
, 0, 0);
84 RCCTL(dgen_scaling_toggle
, PDK_F6
, 0, 0);
85 RCCTL(dgen_screenshot
, PDK_F12
, 0, 0);
86 RCCTL(dgen_reset
, PDK_TAB
, 0, 0);
87 RCCTL(dgen_z80_toggle
, PDK_F10
, 0, 0);
88 RCCTL(dgen_cpu_toggle
, PDK_F11
, 0, 0);
89 RCCTL(dgen_stop
, 'z', 0, 0);
90 RCCTL(dgen_prompt
, ':', 0, 0);
91 RCCTL(dgen_game_genie
, PDK_F9
, 0, 0);
92 RCCTL(dgen_fullscreen_toggle
, (KEYSYM_MOD_ALT
| PDK_RETURN
), 0, 0);
93 RCCTL(dgen_debug_enter
, '`', 0, 0);
94 RCCTL(dgen_volume_inc
, '=', 0, 0);
95 RCCTL(dgen_volume_dec
, '-', 0, 0);
97 RCCTL(dgen_slot_0
, '0', 0, 0);
98 RCCTL(dgen_slot_1
, '1', 0, 0);
99 RCCTL(dgen_slot_2
, '2', 0, 0);
100 RCCTL(dgen_slot_3
, '3', 0, 0);
101 RCCTL(dgen_slot_4
, '4', 0, 0);
102 RCCTL(dgen_slot_5
, '5', 0, 0);
103 RCCTL(dgen_slot_6
, '6', 0, 0);
104 RCCTL(dgen_slot_7
, '7', 0, 0);
105 RCCTL(dgen_slot_8
, '8', 0, 0);
106 RCCTL(dgen_slot_9
, '9', 0, 0);
107 RCCTL(dgen_slot_next
, PDK_F8
, 0, 0);
108 RCCTL(dgen_slot_prev
, PDK_F7
, 0, 0);
109 RCCTL(dgen_save
, PDK_F2
, 0, 0);
110 RCCTL(dgen_load
, PDK_F3
, 0, 0);
112 RCVAR(dgen_autoload
, 0);
113 RCVAR(dgen_autosave
, 0);
114 RCVAR(dgen_autoconf
, 1);
115 RCVAR(dgen_frameskip
, 1);
116 RCVAR(dgen_show_carthead
, 0);
117 RCSTR(dgen_rom_path
, "roms"); /* synchronize with romload.c */
119 RCVAR(dgen_sound
, 1);
120 RCVAR(dgen_soundrate
, 44100);
121 RCVAR(dgen_soundsegs
, 8);
122 RCVAR(dgen_soundsamples
, 0);
123 RCVAR(dgen_volume
, 100);
124 RCVAR(dgen_mjazz
, 0);
128 RCVAR(dgen_region
, 0);
129 RCSTR(dgen_region_order
, "JUEX");
131 RCVAR(dgen_raw_screenshots
, 0);
132 RCVAR(dgen_craptv
, 0);
133 RCVAR(dgen_scaling
, 0);
136 RCVAR(dgen_joystick
, 1);
138 RCVAR(dgen_joystick
, 0);
140 RCVAR(dgen_mouse_delay
, 50);
143 RCVAR(dgen_buttons
, 0);
144 RCVAR(dgen_fullscreen
, 0);
145 RCVAR(dgen_info_height
, -1);
146 RCVAR(dgen_width
, -1);
147 RCVAR(dgen_height
, -1);
148 RCVAR(dgen_scale
, -1);
149 RCVAR(dgen_x_scale
, -1);
150 RCVAR(dgen_y_scale
, -1);
151 RCVAR(dgen_aspect
, 1);
152 RCVAR(dgen_depth
, 0);
154 RCVAR(dgen_opengl
, 1);
155 RCVAR(dgen_opengl_stretch
, 1);
156 RCVAR(dgen_opengl_linear
, 1);
157 RCVAR(dgen_opengl_32bit
, 1);
158 RCVAR(dgen_opengl_square
, 0);
159 RCVAR(dgen_doublebuffer
, 1);
160 RCVAR(dgen_screen_thread
, 0);
161 RCVAR(dgen_vdp_hide_plane_a
, 0);
162 RCVAR(dgen_vdp_hide_plane_b
, 0);
163 RCVAR(dgen_vdp_hide_plane_w
, 0);
164 RCVAR(dgen_vdp_hide_sprites
, 0);
165 RCVAR(dgen_vdp_sprites_boxing
, 0);
166 RCVAR(dgen_vdp_sprites_boxing_fg
, 0xffff00); // yellow
167 RCVAR(dgen_vdp_sprites_boxing_bg
, 0x00ff00); // green
169 // Keep values in sync with rc.cpp and enums in md.h
171 #if defined(WITH_DRZ80)
172 RCVAR(dgen_emu_z80
, 3);
173 #elif defined(WITH_CZ80)
174 RCVAR(dgen_emu_z80
, 2);
175 #elif defined(WITH_MZ80)
176 RCVAR(dgen_emu_z80
, 1);
178 RCVAR(dgen_emu_z80
, 0);
181 #if defined(WITH_CYCLONE)
182 RCVAR(dgen_emu_m68k
, 3);
183 #elif defined(WITH_MUSA)
184 RCVAR(dgen_emu_m68k
, 2);
185 #elif defined(WITH_STAR)
186 RCVAR(dgen_emu_m68k
, 1);
188 RCVAR(dgen_emu_m68k
, 0);
191 #endif // __RC_VARS_H__