6 // Configuration and command line parsing
7 void S9xLoadConfig(int argc, const char ** argv);
8 void S9xUnloadConfig();
9 void S9xSetRomFile(const char * file);
10 extern struct config {
11 /** Unfreeze from .frz.gz snapshot on start */
13 /** Freeze to .frz.gz on exit */
15 /** Create fullscreen surface */
17 /** Using xsp (thus take care of doubling coordinates where appropiate) */
19 /** Audio output enabled */
21 /** Speedhacks file to use */
23 /** Enable touchscreen controls */
24 bool touchscreenInput;
25 /** Current scancode->joypad mapping */
26 unsigned short joypad1Mapping[256];
27 unsigned char action[256];
28 /** If true, next time the main loop is entered application will close */
34 /** Size of the GUI Window */
35 unsigned short Width, Height;
36 /** Size of the rendering area, relative to window. 2x if Xsp on. */
37 unsigned short RenderX, RenderY, RenderW, RenderH;
39 void S9xVideoToggleFullscreen();
40 void S9xVideoOutputFocus(bool hasFocus);
43 void S9xInitAudioOutput();
44 void S9xDeinitAudioOutput();
45 void S9xAudioOutputEnable(bool enable);
48 EXTERN_C void S9xInitInputDevices();
49 void S9xDeinitInputDevices();
50 void S9xInputScreenChanged();
54 #define kActionQuit (1U << 0)
55 #define kActionToggleFullscreen (1U << 1)
57 void S9xDoAction(unsigned char action);