summaryrefslogtreecommitdiffstats
path: root/apps/plugins/sdl/progs/wolf3d
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/sdl/progs/wolf3d')
-rw-r--r--apps/plugins/sdl/progs/wolf3d/sdl_winmain.c378
-rw-r--r--apps/plugins/sdl/progs/wolf3d/wl_def.h26
-rw-r--r--apps/plugins/sdl/progs/wolf3d/wl_main.c25
-rw-r--r--apps/plugins/sdl/progs/wolf3d/wl_menu.c6
4 files changed, 11 insertions, 424 deletions
diff --git a/apps/plugins/sdl/progs/wolf3d/sdl_winmain.c b/apps/plugins/sdl/progs/wolf3d/sdl_winmain.c
deleted file mode 100644
index 366616d5ff..0000000000
--- a/apps/plugins/sdl/progs/wolf3d/sdl_winmain.c
+++ /dev/null
@@ -1,378 +0,0 @@
-#ifdef _WIN32
-
-/*
- SDL_main.c, placed in the public domain by Sam Lantinga 4/13/98
-
- Modified to write stdout/stderr to a message box at shutdown by Ripper 2007-12-27
-
- The WinMain function -- calls your program's main() function
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-
-#ifdef _WIN32_WCE
-# define DIR_SEPERATOR TEXT("\\")
-# undef _getcwd
-# define _getcwd(str,len) wcscpy(str,TEXT(""))
-# define setbuf(f,b)
-# define setvbuf(w,x,y,z)
-# define fopen _wfopen
-# define freopen _wfreopen
-# define remove(x) DeleteFile(x)
-#else
-# define DIR_SEPERATOR TEXT("/")
-# include <direct.h>
-#endif
-
-/* Include the SDL main definition header */
-#include "SDL.h"
-#include "SDL_main.h"
-
-#ifdef main
-# ifndef _WIN32_WCE_EMULATION
-# undef main
-# endif /* _WIN32_WCE_EMULATION */
-#endif /* main */
-
-/* The standard output files */
-#define STDOUT_FILE TEXT("stdout.txt")
-#define STDERR_FILE TEXT("stderr.txt")
-
-#ifndef NO_STDIO_REDIRECT
-# ifdef _WIN32_WCE
- static wchar_t stdoutPath[MAX_PATH];
- static wchar_t stderrPath[MAX_PATH];
-# else
- static char stdoutPath[MAX_PATH];
- static char stderrPath[MAX_PATH];
-# endif
-#endif
-
-#if defined(_WIN32_WCE) && _WIN32_WCE < 300
-/* seems to be undefined in Win CE although in online help */
-#define isspace(a) (((CHAR)a == ' ') || ((CHAR)a == '\t'))
-#endif /* _WIN32_WCE < 300 */
-
-/* Parse a command line buffer into arguments */
-static int ParseCommandLine(char *cmdline, char **argv)
-{
- char *bufp;
- int argc;
-
- argc = 0;
- for ( bufp = cmdline; *bufp; ) {
- /* Skip leading whitespace */
- while ( isspace(*bufp) ) {
- ++bufp;
- }
- /* Skip over argument */
- if ( *bufp == '"' ) {
- ++bufp;
- if ( *bufp ) {
- if ( argv ) {
- argv[argc] = bufp;
- }
- ++argc;
- }
- /* Skip over word */
- while ( *bufp && (*bufp != '"') ) {
- ++bufp;
- }
- } else {
- if ( *bufp ) {
- if ( argv ) {
- argv[argc] = bufp;
- }
- ++argc;
- }
- /* Skip over word */
- while ( *bufp && ! isspace(*bufp) ) {
- ++bufp;
- }
- }
- if ( *bufp ) {
- if ( argv ) {
- *bufp = '\0';
- }
- ++bufp;
- }
- }
- if ( argv ) {
- argv[argc] = NULL;
- }
- return(argc);
-}
-
-/* Show an error message */
-static void ShowError(const char *title, const char *message)
-{
-/* If USE_MESSAGEBOX is defined, you need to link with user32.lib */
-#ifdef USE_MESSAGEBOX
- MessageBox(NULL, message, title, MB_ICONEXCLAMATION|MB_OK);
-#else
- fprintf(stderr, "%s: %s\n", title, message);
-#endif
-}
-
-/* Pop up an out of memory message, returns to Windows */
-static bool OutOfMemory(void)
-{
- ShowError("Fatal Error", "Out of memory - aborting");
- return FALSE;
-}
-
-/* SDL_Quit() shouldn't be used with atexit() directly because
- calling conventions may differ... */
-static void cleanup(void)
-{
- SDL_Quit();
-}
-
-/* Remove the output files if there was no output written */
-static void cleanup_output(void)
-{
-#if 1
-#ifndef NO_STDIO_REDIRECT
- FILE *file;
-#endif
-#endif
-
- /* Flush the output in case anything is queued */
- fclose(stdout);
- fclose(stderr);
-
-#if 1
-#ifndef NO_STDIO_REDIRECT
- /* See if the files have any output in them */
- if ( stdoutPath[0] ) {
- file = fopen(stdoutPath, TEXT("r"));
- if ( file ) {
- char buf[16384];
- size_t readbytes = fread(buf, 1, 16383, file);
- fclose(file);
-
- if(readbytes != 0)
- {
- buf[readbytes] = 0; // cut after last byte (<=16383)
- MessageBox(NULL, buf, "Wolf4SDL", MB_OK);
- }
- else
- remove(stdoutPath); // remove empty file
- }
- }
- if ( stderrPath[0] ) {
- file = fopen(stderrPath, TEXT("rb"));
- if ( file ) {
- char buf[16384];
- size_t readbytes = fread(buf, 1, 16383, file);
- fclose(file);
-
- if(readbytes != 0)
- {
- buf[readbytes] = 0; // cut after last byte (<=16383)
- MessageBox(NULL, buf, "Wolf4SDL", MB_OK);
- }
- else
- remove(stderrPath); // remove empty file
- }
- }
-#endif
-#endif
-}
-
-//#if defined(_MSC_VER) && !defined(_WIN32_WCE)
-///* The VC++ compiler needs main defined */
-//#define console_main main
-//#endif
-
-/* This is where execution begins [console apps] */
-int console_main(int argc, char *argv[])
-{
- size_t n;
- char *bufp, *appname;
- int status;
-
- /* Get the class name from argv[0] */
- appname = argv[0];
- if ( (bufp=SDL_strrchr(argv[0], '\\')) != NULL ) {
- appname = bufp+1;
- } else
- if ( (bufp=SDL_strrchr(argv[0], '/')) != NULL ) {
- appname = bufp+1;
- }
-
- if ( (bufp=SDL_strrchr(appname, '.')) == NULL )
- n = SDL_strlen(appname);
- else
- n = (bufp-appname);
-
- bufp = SDL_stack_alloc(char, n+1);
- if ( bufp == NULL ) {
- return OutOfMemory();
- }
- SDL_strlcpy(bufp, appname, n+1);
- appname = bufp;
-
- /* Load SDL dynamic link library */
- if ( SDL_Init(SDL_INIT_NOPARACHUTE) < 0 ) {
- ShowError("WinMain() error", SDL_GetError());
- return(FALSE);
- }
- atexit(cleanup_output);
- atexit(cleanup);
-
- /* Sam:
- We still need to pass in the application handle so that
- DirectInput will initialize properly when SDL_RegisterApp()
- is called later in the video initialization.
- */
- SDL_SetModuleHandle(GetModuleHandle(NULL));
-
- /* Run the application main() code */
- status = SDL_main(argc, argv);
-
- /* Exit cleanly, calling atexit() functions */
- exit(status);
-
- /* Hush little compiler, don't you cry... */
- return 0;
-}
-
-/* This is where execution begins [windowed apps] */
-#ifdef _WIN32_WCE
-int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPWSTR szCmdLine, int sw)
-#else
-int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmdLine, int sw)
-#endif
-{
- HINSTANCE handle;
- char **argv;
- int argc;
- char *cmdline;
-#ifdef _WIN32_WCE
- wchar_t *bufp;
- int nLen;
-#else
- char *bufp;
- size_t nLen;
-#endif
-#ifndef NO_STDIO_REDIRECT
- DWORD pathlen;
-#ifdef _WIN32_WCE
- wchar_t path[MAX_PATH];
-#else
- char path[MAX_PATH];
-#endif
- FILE *newfp;
-#endif
-
- /* Start up DDHELP.EXE before opening any files, so DDHELP doesn't
- keep them open. This is a hack.. hopefully it will be fixed
- someday. DDHELP.EXE starts up the first time DDRAW.DLL is loaded.
- */
- handle = LoadLibrary(TEXT("DDRAW.DLL"));
- if ( handle != NULL ) {
- FreeLibrary(handle);
- }
-
-#ifndef NO_STDIO_REDIRECT
- pathlen = GetModuleFileName(NULL, path, SDL_arraysize(path));
- while ( pathlen > 0 && path[pathlen] != '\\' ) {
- --pathlen;
- }
- path[pathlen] = '\0';
-
-#ifdef _WIN32_WCE
- wcsncpy( stdoutPath, path, SDL_arraysize(stdoutPath) );
- wcsncat( stdoutPath, DIR_SEPERATOR STDOUT_FILE, SDL_arraysize(stdoutPath) );
-#else
- SDL_strlcpy( stdoutPath, path, SDL_arraysize(stdoutPath) );
- SDL_strlcat( stdoutPath, DIR_SEPERATOR STDOUT_FILE, SDL_arraysize(stdoutPath) );
-#endif
-
- /* Redirect standard input and standard output */
- newfp = freopen(stdoutPath, TEXT("w"), stdout);
-
-#ifndef _WIN32_WCE
- if ( newfp == NULL ) { /* This happens on NT */
-#if !defined(stdout)
- stdout = fopen(stdoutPath, TEXT("w"));
-#else
- newfp = fopen(stdoutPath, TEXT("w"));
- if ( newfp ) {
- *stdout = *newfp;
- }
-#endif
- }
-#endif /* _WIN32_WCE */
-
-#ifdef _WIN32_WCE
- wcsncpy( stderrPath, path, SDL_arraysize(stdoutPath) );
- wcsncat( stderrPath, DIR_SEPERATOR STDOUT_FILE, SDL_arraysize(stdoutPath) );
-#else
- SDL_strlcpy( stderrPath, path, SDL_arraysize(stderrPath) );
- SDL_strlcat( stderrPath, DIR_SEPERATOR STDERR_FILE, SDL_arraysize(stderrPath) );
-#endif
-
- newfp = freopen(stderrPath, TEXT("w"), stderr);
-#ifndef _WIN32_WCE
- if ( newfp == NULL ) { /* This happens on NT */
-#if !defined(stderr)
- stderr = fopen(stderrPath, TEXT("w"));
-#else
- newfp = fopen(stderrPath, TEXT("w"));
- if ( newfp ) {
- *stderr = *newfp;
- }
-#endif
- }
-#endif /* _WIN32_WCE */
-
- setvbuf(stdout, NULL, _IOLBF, BUFSIZ); /* Line buffered */
- setbuf(stderr, NULL); /* No buffering */
-#endif /* !NO_STDIO_REDIRECT */
-
-#ifdef _WIN32_WCE
- nLen = wcslen(szCmdLine)+128+1;
- bufp = SDL_stack_alloc(wchar_t, nLen*2);
- wcscpy (bufp, TEXT("\""));
- GetModuleFileName(NULL, bufp+1, 128-3);
- wcscpy (bufp+wcslen(bufp), TEXT("\" "));
- wcsncpy(bufp+wcslen(bufp), szCmdLine,nLen-wcslen(bufp));
- nLen = wcslen(bufp)+1;
- cmdline = SDL_stack_alloc(char, nLen);
- if ( cmdline == NULL ) {
- return OutOfMemory();
- }
- WideCharToMultiByte(CP_ACP, 0, bufp, -1, cmdline, nLen, NULL, NULL);
-#else
- /* Grab the command line */
- bufp = GetCommandLine();
- nLen = SDL_strlen(bufp)+1;
- cmdline = SDL_stack_alloc(char, nLen);
- if ( cmdline == NULL ) {
- return OutOfMemory();
- }
- SDL_strlcpy(cmdline, bufp, nLen);
-#endif
-
- /* Parse it into argv and argc */
- argc = ParseCommandLine(cmdline, NULL);
- argv = SDL_stack_alloc(char*, argc+1);
- if ( argv == NULL ) {
- return OutOfMemory();
- }
- ParseCommandLine(cmdline, argv);
-
- /* Run the main program (after a little SDL initialization) */
- console_main(argc, argv);
-
- /* Hush little compiler, don't you cry... */
- return 0;
-}
-
-#endif // _WIN32
diff --git a/apps/plugins/sdl/progs/wolf3d/wl_def.h b/apps/plugins/sdl/progs/wolf3d/wl_def.h
index 1b8670ffb6..13ec77cf70 100644
--- a/apps/plugins/sdl/progs/wolf3d/wl_def.h
+++ b/apps/plugins/sdl/progs/wolf3d/wl_def.h
@@ -1392,23 +1392,17 @@ static fixed FixedMul(fixed a, fixed b)
#define CHECKMALLOCRESULT(x) if(!(x)) Quit("Out of memory at %s:%i", __FILE__, __LINE__)
-#ifdef _WIN32
- #define strcasecmp stricmp
- #define strncasecmp strnicmp
- #define snprintf _snprintf
-#else
- static char* itoa(int value, char* string, int radix)
- {
- sprintf(string, "%d", value);
- return string;
- }
+static char* itoa(int value, char* string, int radix)
+{
+ sprintf(string, "%d", value);
+ return string;
+}
- static char* ltoa(long value, char* string, int radix)
- {
- sprintf(string, "%ld", value);
- return string;
- }
-#endif
+static char* ltoa(long value, char* string, int radix)
+{
+ sprintf(string, "%ld", value);
+ return string;
+}
#define lengthof(x) (sizeof(x) / sizeof(*(x)))
#define endof(x) ((x) + lengthof(x))
diff --git a/apps/plugins/sdl/progs/wolf3d/wl_main.c b/apps/plugins/sdl/progs/wolf3d/wl_main.c
index 634196498a..8808cd0883 100644
--- a/apps/plugins/sdl/progs/wolf3d/wl_main.c
+++ b/apps/plugins/sdl/progs/wolf3d/wl_main.c
@@ -1191,9 +1191,6 @@ static void InitGame()
#endif
// initialize SDL
-#if defined _WIN32
- putenv("SDL_VIDEODRIVER=directx");
-#endif
if(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) < 0)
{
printf("Unable to init SDL: %s\n", SDL_GetError());
@@ -1217,23 +1214,7 @@ static void InitGame()
#endif
SignonScreen ();
-
-#if defined _WIN32
- if(!fullscreen)
- {
- struct SDL_SysWMinfo wmInfo;
- SDL_VERSION(&wmInfo.version);
-
- if(SDL_GetWMInfo(&wmInfo) != -1)
- {
- HWND hwndSDL = wmInfo.window;
- DWORD style = GetWindowLong(hwndSDL, GWL_STYLE) & ~WS_SYSMENU;
- SetWindowLong(hwndSDL, GWL_STYLE, style);
- SetWindowPos(hwndSDL, NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);
- }
- }
-#endif
-
+
VH_Startup ();
IN_Startup ();
PM_Startup ();
@@ -1911,11 +1892,7 @@ void CheckParameters(int argc, char *argv[])
" --ignorenumchunks Ignores the number of chunks in VGAHEAD.*\n"
" (may be useful for some broken mods)\n"
" --configdir <dir> Directory where config file and save games are stored\n"
-#if defined(_arch_dreamcast) || defined(_WIN32)
- " (default: current directory)\n"
-#else
" (default: $HOME/.wolf4sdl)\n"
-#endif
#if defined(SPEAR) && !defined(SPEARDEMO)
" --mission <mission> Mission number to play (0-3)\n"
" (default: 0 -> .sod, 1-3 -> .sd*)\n"
diff --git a/apps/plugins/sdl/progs/wolf3d/wl_menu.c b/apps/plugins/sdl/progs/wolf3d/wl_menu.c
index d72f0733c2..cdbc70aad1 100644
--- a/apps/plugins/sdl/progs/wolf3d/wl_menu.c
+++ b/apps/plugins/sdl/progs/wolf3d/wl_menu.c
@@ -3992,7 +3992,6 @@ CheckForEpisodes (void)
int statbuf;
// On Linux like systems, the configdir defaults to $HOME/.wolf4sdl
-#if !defined(_WIN32) && !defined(_arch_dreamcast)
if(configdir[0] == 0)
{
// Set config location to home directory for multi-user support
@@ -4008,18 +4007,13 @@ CheckForEpisodes (void)
}
snprintf(configdir, sizeof(configdir), "%s" WOLFDIR, homedir);
}
-#endif
if(configdir[0] != 0)
{
// Ensure config directory exists and create if necessary
if(stat(configdir, &statbuf) != 0)
{
-#ifdef _WIN32
- if(_mkdir(configdir) != 0)
-#else
if(mkdir(configdir) != 0)
-#endif
{
Quit("The configuration directory \"%s\" could not be created.", configdir);
}