OSDN Git Service

[UI][Qt] Not liking config, using_flags directly.
[csp-qt/common_source_project-fm7.git] / source / src / qt / common / menu_flags.cpp
1 #include "common.h"
2 #include "vm.h"
3 #include "menu_flags.h"
4
5 #ifndef USE_SOUND_VOLUME
6 static const _TCHAR *sound_device_caption[] = {""};
7 #endif
8 #ifndef USE_JOY_BUTTON_CAPTIONS
9 static const _TCHAR *joy_button_captions[] = {""};
10 #endif
11
12 USING_FLAGS::USING_FLAGS(config_t *cfg)
13 {
14         use_access_lamp = use_alt_f10_key = false;
15         use_auto_key = use_auto_key_us = use_auto_key_caps = false;
16         use_auto_key_no_caps = use_auto_key_release =
17         use_auto_key_shift = use_binary_file = false;
18         
19         max_binary = 0;
20         use_bitmap = false;
21         use_boot_mode = 0;
22
23         use_bubble = false;
24         max_bubble =  max_b77_banks = 0;
25
26         use_cart = false;
27         max_cart = 0;
28
29         use_cpu_type = 0;
30
31         use_compact_disc = use_crt_filter = use_debugger = false;
32         use_device_type = 0;
33         use_dipswitch = false;
34
35         use_drive_type = 0;
36
37         use_fd = false;
38         max_drive = max_d88_banks = 0;
39
40         max_draw_ranges = 0;
41         
42         use_joystick = use_joy_button_captions = false;
43         num_joy_button_captions = 0;
44
45         use_laser_disc = false;
46         use_led_device = 0;
47
48         max_memcard = 0;
49         use_minimum_rendering = use_dig_resolution = false;
50         use_monitor_type = 0;
51         use_mouse = false;
52         use_movie_player = false;
53         use_notify_power_off = false;
54
55         use_one_board_computer = false;
56         use_printer = false;
57         use_printer_type = 0;
58
59         use_qd = false;
60         max_qd = 0;
61
62         use_scanline = use_screen_rotate = false;
63         use_shift_numpad_key = false;
64         screen_mode_num = 1;
65
66
67         use_sound_device_type = 0;
68         use_sound_volume = 0;
69         without_sound = false;
70         use_special_reset = false;
71
72         use_state = false;
73
74         use_tape = use_tape_baud = use_tape_button = use_tape_ptr = false;
75         use_vm_auto_key_table = false;
76         
77         screen_width = SCREEN_WIDTH;
78         screen_height = SCREEN_HEIGHT;
79         screen_width_aspect = WINDOW_WIDTH_ASPECT;
80         screen_height_aspect = WINDOW_HEIGHT_ASPECT;
81         max_button = 0;
82         vm_buttons_d = NULL;
83
84         use_datarec_sound = false;
85         use_vertical_pixel_lines = false;
86         notify_key_down_lr_shift = false;
87         tape_binary_only = false;
88 #if defined(DEVICE_NAME)
89         device_name = QString::fromUtf8(DEVICE_NAME);
90 #else
91         device_name = QString::fromUtf8("");
92 #endif
93 #if defined(CONFIG_NAME)
94         config_name = QString::fromUtf8(CONFIG_NAME);
95 #else
96         config_name = QString::fromUtf8("");
97 #endif
98         
99         machine_pasopia_variants = false;
100 #if defined(_PASOPIA7) || defined(_PASOPIA)
101         machine_pasopia_variants = true;
102 #endif
103         machine_tk80_series = false;
104 #if defined(_TK80BS) || defined(_TK80)
105         machine_tk80_series = true;
106 #endif  
107         machine_cmt_mz_series = false;
108 #if defined(_MZ80A) || defined(_MZ80K)  || \
109         defined(_MZ1200) || defined(_MZ700) || \
110         defined(_MZ800) || defined(_MZ1500) || \
111         defined(_MZ80B) || defined(_MZ2000) || \
112         defined(_MZ2200) || defined(_MZ2500)
113         machine_cmt_mz_series = true;
114 #endif
115         machine_pc6001 = false;
116         machine_pc8001_variants = false;
117         machine_mz80a_variants = false;
118         machine_mz80b_variants = false;
119         machine_x1_series = false;
120         machine_fm7_series = false;
121         machine_gamegear = false;
122         machine_mastersystem = false;
123         machine_has_pcengine = false;
124         machine_sc3000 = false;
125         machine_z80tvgame = false;
126         
127 #if defined(_PC6001) || defined(_PC6001MK2) || \
128         defined(_PC6001MK2SR) || \
129         defined(_PC6601) || defined(_PC6601SR)
130         machine_pc6001 = true;
131 #endif
132 #if defined(_PC8001) || defined(PC8001MK2) || \
133         defined(_PC8001SR) || \
134         defined(_PC8801) || defined(_PC8801MK2) || \
135         defined(_PC8801SR) || defined(_PC8801MA)
136         machine_pc8001_variants = true;
137 #endif
138 #if defined(_MZ80A) || defined(_MZ80K)  || \
139         defined(_MZ1200) || defined(_MZ700) || \
140         defined(_MZ800) || defined(_MZ1500)
141         machine_mz80a_variants = true;
142 #endif
143 #if     defined(_MZ80B) || defined(_MZ2000) || \
144         defined(_MZ2200) || defined(_MZ2500)
145         machine_mz80b_variants = true;
146 #endif
147 #if defined(_X1) || defined(_X1TURBO) || \
148         defined(_X1TURBOZ) || defined(_X1TWIN)
149         machine_x1_series = true;
150 #endif
151 #if defined(_FM8) || defined(_FM7) || \
152         defined(_FMNEW7) || defined(_FM77) || \
153         defined(_FM77L2) || defined(_FM77L4) || \
154         defined(_FM77AV) || \
155         defined(_FM77AV20) || defined(_FM77AV20EX) || \
156         defined(_FM77AV40) || defined(_FM77AV40EX) || \
157         defined(_FM77AV40SX)
158         machine_fm7_series = true;
159 #endif  
160 #if defined(_GAMEGEAR)
161         machine_gamegear = true;
162 #endif
163 #if defined(_MASTERSYSTEM)
164         machine_mastersystem = true;
165 #endif
166 #if defined(_PCENGINE) || defined(_X1TWIN)
167         machine_has_pcengine = true;
168 #endif
169 #if defined(_SC3000)
170         machine_sc3000 = true;
171 #endif
172 #if defined(_Z80TVGAME)
173         machine_z80tvgame = true;
174 #endif
175
176 #if defined(USE_ACCESS_LAMP)    
177         use_access_lamp = true;
178 #endif  
179 #if defined(USE_ALT_F10_KEY)    
180         use_alt_f10_key = true;
181 #endif
182 #if defined(USE_AUTO_KEY)
183         use_auto_key = true;
184         #if defined(USE_AUTO_KEY_US)
185                 use_auto_key_us = true;
186         #endif
187         #if defined(USE_AUTO_KEY_CAPS)
188                 use_auto_key_caps = true;
189         #endif
190         #if defined(USE_AUTO_KEY_NO_CAPS)
191                 use_auto_key_no_caps = true;
192         #endif
193         #if defined(USE_AUTO_KEY_RELEASE)
194                 use_auto_key_release = true;
195         #endif
196         #if defined(USE_AUTO_KEY_SHIFT)
197                 use_auto_key_shift = true;
198         #endif
199 #endif  
200 #if defined(USE_BINARY_FILE1) || defined(USE_BINARY_FILE2) || defined(USE_BINARY_FILE3) || defined(USE_BINARY_FILE4) || \
201         defined(USE_BINARY_FILE5) || defined(USE_BINARY_FILE6) || defined(USE_BINARY_FILE7) || defined(USE_BINARY_FILE8)
202         use_binary_file = true;
203         #if defined(USE_BINARY_FILE8)
204                 max_binary = 8;
205         #elif defined(USE_BINARY_FILE7)
206                 max_binary = 7;
207         #elif defined(USE_BINARY_FILE6)
208                 max_binary = 6;
209         #elif defined(USE_BINARY_FILE5)
210                 max_binary = 5;
211         #elif defined(USE_BINARY_FILE4)
212                 max_binary = 4;
213         #elif defined(USE_BINARY_FILE3)
214                 max_binary = 3;
215         #elif defined(USE_BINARY_FILE2)
216                 max_binary = 2;
217         #else
218                 max_binary = 1;
219         #endif
220 #endif
221 #if defined(USE_BITMAP)
222         use_bitmap = true;
223 #endif
224 #if defined(USE_BOOT_MODE)
225         use_boot_mode = USE_BOOT_MODE;
226 #endif
227 #if defined(USE_BUBBLE1) || defined(USE_BUBBLE2) || defined(USE_BUBBLE3) || defined(USE_BUBBLE4) || \
228         defined(USE_BUBBLE5) || defined(USE_BUBBLE6) || defined(USE_BUBBLE7) || defined(USE_BUBBLE8)
229         use_bubble = true;
230         #if defined(USE_BUBBLE8)
231                 max_bubble = 8;
232         #elif defined(USE_BUBBLE7)
233                 max_bubble = 7;
234         #elif defined(USE_BUBBLE6)
235                 max_bubble = 6;
236         #elif defined(USE_BUBBLE5)
237                 max_bubble = 5;
238         #elif defined(USE_BUBBLE4)
239                 max_bubble = 4;
240         #elif defined(USE_BUBBLE3)
241                 max_bubble = 3;
242         #elif defined(USE_BUBBLE2)
243                 max_bubble = 2;
244         #else
245                 max_bubble = 1;
246         #endif
247         #if defined(MAX_B77_BANKS)
248                 max_b77_banks = MAX_B77_BANKS;
249         #else
250                 max_b77_banks = 16;
251         #endif
252 #endif
253 #if defined(USE_CART1) || defined(USE_CART2) || defined(USE_CART3) || defined(USE_CART4) || \
254         defined(USE_CART5) || defined(USE_CART6) || defined(USE_CART7) || defined(USE_CART8)
255         use_cart = true;
256         #if defined(USE_CART8)
257                 max_cart = 8;
258         #elif defined(USE_CART7)
259                 max_cart = 7;
260         #elif defined(USE_CART6)
261                 max_cart = 6;
262         #elif defined(USE_CART5)
263                 max_cart = 5;
264         #elif defined(USE_CART4)
265                 max_cart = 4;
266         #elif defined(USE_CART3)
267                 max_cart = 3;
268         #elif defined(USE_CART2)
269                 max_cart = 2;
270         #else
271                 max_cart = 1;
272         #endif
273 #endif
274 #if defined(USE_CPU_TYPE)
275         use_cpu_type = USE_CPU_TYPE;
276 #endif
277 #if defined(USE_COMPACT_DISC)
278         use_compact_disc = true;
279 #endif
280 #if defined(USE_CRT_FILTER)
281         use_crt_filter = true;
282 #endif
283 #if defined(USE_DEBUGGER)
284         use_debugger = true;
285 #endif
286 #if defined(USE_DEVICE_TYPE)
287         use_device_type = USE_DEVICE_TYPE;
288 #endif
289 #if defined(USE_DIPSWITCH)
290         use_dipswitch = true;
291 #endif
292 #if defined(USE_DRIVE_TYPE)
293         use_drive_type = USE_DRIVE_TYPE;
294 #endif
295 #if defined(USE_FD1) || defined(USE_FD2) || defined(USE_FD3) || defined(USE_FD4) || \
296         defined(USE_FD5) || defined(USE_FD6) || defined(USE_FD7) || defined(USE_FD8)
297         use_fd = true;
298         #if defined(USE_FD8)
299                 max_drive = 8;
300         #elif defined(USE_FD7)
301                 max_drive = 7;
302         #elif defined(USE_FD6)
303                 max_drive = 6;
304         #elif defined(USE_FD5)
305                 max_drive = 5;
306         #elif defined(USE_FD4)
307                 max_drive = 4;
308         #elif defined(USE_FD3)
309                 max_drive = 3;
310         #elif defined(USE_FD2)
311                 max_drive = 2;
312         #else
313                 max_drive = 1;
314         #endif
315         #if defined(MAX_D88_BANKS)
316                 max_d88_banks = MAX_D88_BANKS;
317         #else
318                 max_d88_banks = 64;
319         #endif
320 #endif
321 #if defined(MAX_DRAW_RANGES)
322         max_draw_ranges = MAX_DRAW_RANGES;
323 #endif
324 #if defined(USE_JOYSTICK)
325         use_joystick = true;
326         #if defined(USE_JOY_BUTTON_CAPTIONS)
327                 use_joy_button_captions = true;
328                 num_joy_button_captions = sizeof(joy_button_captions) / sizeof(_TCHAR *);
329         #endif  
330 #endif
331 #if defined(USE_LASER_DISC)
332         use_laser_disc = true;
333 #endif
334 #if defined(USE_LED_DEVICE)
335         use_led_device = USE_LED_DEVICE;
336 #endif
337 #if defined(USE_MEMCARD)
338         use_memcard = USE_MEMCARD;
339 #endif
340 #if defined(USE_MINIMUM_RENDERING)
341         use_minimum_rendering = true;
342 #endif
343 #if defined(USE_DIG_RESOLUTION)
344         use_dig_resolution = true;
345 #endif
346 #if defined(USE_MONITOR_TYPE)
347         use_monitor_type = USE_MONITOR_TYPE;
348 #endif
349
350 #if defined(USE_MOUSE)
351         use_mouse = true;
352 #endif
353 #if defined(USE_MOVIE_PLAYER)
354         use_movie_player = true;
355 #endif
356 #if defined(USE_NOTIFY_POWER_OFF)
357         use_notify_power_off = true;
358 #endif
359 #if defined(ONE_BOARD_MICRO_COMPUTER)
360         use_one_board_computer = true;
361 #endif          
362 #if defined(USE_PRINTER)
363         use_printer = true;
364         #if defined(USE_PRINTER_TYPE)
365                 use_printer_type = USE_PRINTER_TYPE;
366         #endif  
367 #endif
368 #if defined(USE_QD1) || defined(USE_QD2) || defined(USE_QD3) ||defined(USE_QD4) || \
369         defined(USE_QD5) || defined(USE_QD6) || defined(USE_QD7) ||defined(USE_QD8)
370         use_qd = true;
371         #if defined(USE_QD8)
372                 max_qd = 8;
373         #elif defined(USE_QD7)
374                 max_qd = 7;
375         #elif defined(USE_QD6)
376                 max_qd = 6;
377         #elif defined(USE_QD5)
378                 max_qd = 5;
379         #elif defined(USE_QD4)
380                 max_qd = 4;
381         #elif defined(USE_QD3)
382                 max_qd = 3;
383         #elif defined(USE_QD2)
384                 max_qd = 2;
385         #else
386                 max_qd = 1;
387         #endif
388 #endif
389 #if defined(USE_SCANLINE)
390         use_scanline = true;
391 #endif
392 #if defined(USE_SCREEN_ROTATE)
393         use_screen_rotate = true;
394 #endif
395 #if defined(USE_SHIFT_NUMPAD_KEY)
396         use_shift_numpad_key = true;
397 #endif
398 #if defined(MAX_SCSI)
399         max_scsi = MAX_SCSI;
400 #endif
401 #if defined(USE_SOUND_DEVICE_TYPE)
402         use_sound_device_type = USE_SOUND_DEVICE_TYPE;
403 #endif  
404 #if defined(USE_SOUND_VOLUME)
405         use_sound_volume = USE_SOUND_VOLUME;
406 #endif
407 #if defined(WITHOUT_SOUND)
408         without_sound = true;
409 #endif
410 #if defined(USE_SPECIAL_RESET)
411         use_special_reset = true;
412 #endif  
413 #if defined(USE_TAPE)
414         use_tape = true;
415         #if defined(USE_TAPE_BAUD)
416                 use_tape_baud = true;
417         #endif
418         #if defined(USE_TAPE_BUTTON)
419                 use_tape_button = true;
420         #endif
421         #if defined(USE_TAPE_PTR)
422                 use_tape_ptr = true;
423         #endif
424 #endif
425 #if defined(USE_VM_AUTO_KEY_TABLE)
426         use_vm_auto_key_table = true;
427 #endif
428 #if defined(MAX_BUTTONS)
429         max_button = MAX_BUTTONS;
430         vm_buttons_d = (button_desc_t *)vm_buttons;
431 #endif
432 #if defined(USE_VERTICAL_PIXEL_LINES)
433         use_vertical_pixel_lines = true;
434 #endif
435 #if defined(NOTIFY_KEY_DOWN_LR_SHIFT)
436         notify_key_down_lr_shift = true;
437 #endif
438 #if defined(DATAREC_SOUND)
439         use_datarec_sound = true;
440 #endif
441 #if defined(TAPE_BINARY_ONLY)
442         tape_binary_only = true;
443 #endif  
444 #if defined(_SCREEN_MODE_NUM)
445         screen_mode_num = _SCREEN_MODE_NUM;
446 #endif
447 #if defined(USE_STATE)
448         use_state = true;
449 #endif   
450
451         p_config = cfg;
452 }
453
454 USING_FLAGS::~USING_FLAGS()
455 {
456 }
457
458 const _TCHAR *USING_FLAGS::get_joy_button_captions(int num)
459 {
460 #ifdef USE_JOY_BUTTON_CAPTIONS
461         if((num < 0) || (num >= num_joy_button_captions)) {
462                 return "";
463         } else  {
464                 return joy_button_captions[num];
465         }
466 #else
467         return "";
468 #endif  
469 }
470
471 const _TCHAR *USING_FLAGS::get_sound_device_caption(int num)
472 {
473 #ifdef USE_SOUND_VOLUME
474         if((num < 0) || (num >= USE_SOUND_VOLUME)) {
475                 return "";
476         } else  {
477                 return sound_device_caption[num];
478         }
479 #else
480         return "";
481 #endif  
482 }
483
484 void USING_FLAGS::set_emu(EMU *p)
485 {
486         p_emu = p;
487 }
488
489 EMU *USING_FLAGS::get_emu(void)
490 {
491         return p_emu;
492 }
493
494 void USING_FLAGS::set_osd(OSD *p)
495 {
496         p_osd = p;
497 }
498
499 OSD *USING_FLAGS::get_osd(void)
500 {
501         return p_osd;
502 }
503
504 config_t *USING_FLAGS::get_config_ptr(void)
505 {
506         return p_config;
507 }