preparing emu for gui snapshot support
[drnoksnes] / platform / platform.h
1 #ifndef _PLATFORM_SDL_H_
2 #define _PLATFORM_SDL_H_
3
4 #include "port.h"
5
6 // Configuration and command line parsing
7 void S9xLoadConfig(int argc, const char ** argv);
8 void S9xSetRomFile(const char * file);
9 extern struct config {
10         char romFile[PATH_MAX + 1];
11         char hacksFile[PATH_MAX + 1];
12         /** Unfreeze from .frz.gz snapshot on start */
13         bool snapshotLoad;
14         /** Freeze to .frz.gz on exit */
15         bool snapshotSave;
16         /** Create fullscreen surface */
17         bool fullscreen;
18         /** Using xsp (thus take care of doubling coordinates where appropiate) */
19         bool xsp;
20         /** Audio output enabled */
21         bool enableAudio;
22         unsigned short joypad1Mapping[256];
23         unsigned char action[256];
24         bool quitting;
25 } Config;
26
27 // Video
28 void S9xVideoToggleFullscreen();
29 void S9xVideoOutputFocus(bool hasFocus);
30
31 // Audio output
32 void S9xInitAudioOutput();
33 void S9xDeinitAudioOutput();
34 void S9xAudioOutputEnable(bool enable);
35
36 // Input actions
37 #define kActionNone                                             0
38 #define kActionQuit                                     (1U << 0)
39 #define kActionToggleFullscreen         (1U << 1)
40
41 void S9xDoAction(unsigned char action);
42
43 // Path things
44 const char * S9xFiletitle (const char * f);
45
46 #endif