#include "port.h"
// Configuration and command line parsing
-void S9xLoadConfig(int argc, const char ** argv);
+void S9xLoadConfig(int argc, char ** argv);
void S9xUnloadConfig();
void S9xSetRomFile(const char * file);
extern struct config {
bool snapshotSave;
/** Create fullscreen surface */
bool fullscreen;
- /** Using xsp (thus take care of doubling coordinates where appropiate) */
- bool xsp;
+ /** Name of the scaler to use or NULL for default */
+ char * scaler;
/** Audio output enabled */
bool enableAudio;
+ /** Quit when the emulator window is deactivated */
+ bool saver;
/** Speedhacks file to use */
char * hacksFile;
/** Enable touchscreen controls */
bool touchscreenInput;
+ /** Display touchscreen controls grid */
+ bool touchscreenShow;
+ /** If true, next time the main loop is entered application will close */
+ bool quitting;
/** Current scancode->joypad mapping */
unsigned short joypad1Mapping[256];
+ unsigned short joypad2Mapping[256];
unsigned char action[256];
- /** If true, next time the main loop is entered application will close */
- bool quitting;
} Config;
// Video
extern struct gui {
/** Size of the GUI Window */
unsigned short Width, Height;
- /** Size of the rendering area, relative to window. 2x if Xsp on. */
+ /** Size of the (scaled) rendering area, relative to window. */
unsigned short RenderX, RenderY, RenderW, RenderH;
+ /** Scaling ratio */
+ float ScaleX, ScaleY;
} GUI;
+
+void S9xInitDisplay(int argc, char **argv);
+void S9xDeinitDisplay();
void S9xVideoToggleFullscreen();
-void S9xVideoOutputFocus(bool hasFocus);
+void S9xSetTitle (const char *title);
// Audio output
void S9xInitAudioOutput();
void S9xAudioOutputEnable(bool enable);
// Input devices
-EXTERN_C void S9xInitInputDevices();
+void S9xInitInputDevices();
void S9xDeinitInputDevices();
void S9xInputScreenChanged();
+void S9xInputScreenDraw(int pixelSize, void * buffer, int pitch);
+void S9xProcessEvents(bool block);
// Input actions
#define kActionNone 0