diff --git a/src/drivers/win/config.cpp b/src/drivers/win/config.cpp
index 41a21279..b65e6446 100644
--- a/src/drivers/win/config.cpp
+++ b/src/drivers/win/config.cpp
@@ -26,6 +26,20 @@
/* */
/****************************************************************/
+#include "config.h"
+#include "common.h"
+#include "main.h"
+#include "window.h"
+#include "video.h"
+
+extern CFGSTRUCT NetplayConfig[];
+extern CFGSTRUCT InputConfig[];
+extern CFGSTRUCT HotkeyConfig[];
+extern int autoHoldKey, autoHoldClearKey;
+extern int frame_display;
+extern int input_display;
+extern char *BasicBotDir;
+
/**
* Structure that contains configuration information
**/
@@ -125,7 +139,7 @@ static CFGSTRUCT fceuconfig[] = {
ENDCFGSTRUCT
};
-static void SaveConfig(char *filename)
+void SaveConfig(const char *filename)
{
SaveFCEUConfig(filename,fceuconfig);
}
diff --git a/src/drivers/win/config.h b/src/drivers/win/config.h
new file mode 100644
index 00000000..bbbcca92
--- /dev/null
+++ b/src/drivers/win/config.h
@@ -0,0 +1,4 @@
+void SaveConfig(const char *filename);
+void LoadConfig(const char *filename);
+
+extern int UsrInputType[3];
diff --git a/src/drivers/win/main.cpp b/src/drivers/win/main.cpp
index 3c7bd4f9..cc23cf4f 100644
--- a/src/drivers/win/main.cpp
+++ b/src/drivers/win/main.cpp
@@ -52,6 +52,7 @@
#include "basicbot.h"
#include "args.h"
+#include "config.h"
// #defines
@@ -442,7 +443,6 @@ void DoPriority(void)
#include "sound.cpp"
#include "video.cpp"
#include "window.cpp"
-#include "config.cpp"
int DriverInitialize()
{
diff --git a/src/drivers/win/main.h b/src/drivers/win/main.h
index cb960192..d3a52643 100644
--- a/src/drivers/win/main.h
+++ b/src/drivers/win/main.h
@@ -1,4 +1,29 @@
+#include "../../types.h"
+
static int genie;
static int pal_emulation;
static int status_icon;
-extern int eoptions;
\ No newline at end of file
+static int fullscreen;
+static int vmod;
+static char *gfsdir;
+static char *directory_names[6];
+static double winsizemulx, winsizemuly;
+static double saspectw, saspecth;
+static int soundrate;
+static int soundbuftime;
+static int soundvolume;
+static int soundquality;
+static uint32 goptions;
+static uint8 cpalette[192];
+static int srendlinen;
+static int erendlinen;
+static int srendlinep;
+static int erendlinep;
+static int ismaximized;
+static int maxconbskip;
+static int ffbskip;
+static int moviereadonly;
+
+extern int soundo;
+extern int eoptions;
+extern int soundoptions;
diff --git a/src/drivers/win/video.cpp b/src/drivers/win/video.cpp
index 37a9c79a..83e6e620 100644
--- a/src/drivers/win/video.cpp
+++ b/src/drivers/win/video.cpp
@@ -18,42 +18,10 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#include "video.h"
+
static int RecalcCustom(void);
-#define VF_DDSTRETCHED 1
-
-#define VEF_LOSTSURFACE 1
-#define VEF____INTERNAL 2
-
-#define VMDF_DXBLT 1
-#define VMDF_STRFS 2
-
-typedef struct {
- int x;
- int y;
- int bpp;
- int flags;
- int xscale;
- int yscale;
- RECT srect;
- RECT drect;
- int special;
-} vmdef;
-
-// left, top, right, bottom
-static vmdef vmodes[11]={
- {320,240,8,0,1,1,0}, //0
- {320,240,8,0,1,1,0}, //1
- {512,384,8,0,1,1,0}, //2
- {640,480,8,0,1,1,0}, //3
- {640,480,8,0,1,1,0}, //4
- {640,480,8,0,1,1,0}, //5
- {640,480,8,VMDF_DXBLT,2,2,0}, //6
- {1024,768,8,VMDF_DXBLT,4,3,0}, //7
- {1280,1024,8,VMDF_DXBLT,5,4,0}, //8
- {1600,1200,8,VMDF_DXBLT,6,5,0}, //9
- {800,600,8,VMDF_DXBLT|VMDF_STRFS,0,0} //10
- };
static DDCAPS caps;
static int mustrestore=0;
static DWORD CBM[3];
@@ -61,7 +29,6 @@ static DWORD CBM[3];
static int bpp;
static int vflags;
static int veflags;
-static int winspecial = 0;
int disvaccel = 0; /* Disable video hardware acceleration. */
diff --git a/vc8/fceux.vcproj b/vc8/fceux.vcproj
index 7853d00e..eeb7e93e 100644
--- a/vc8/fceux.vcproj
+++ b/vc8/fceux.vcproj
@@ -788,6 +788,32 @@
RelativePath="..\src\drivers\win\common.h"
>
+
+
+
+
+
+
+
+
+
+
@@ -992,6 +1018,14 @@
RelativePath="..\src\drivers\win\tracer.h"
>
+
+
+
+