diff options
author | tron <tron@openttd.org> | 2005-07-24 06:09:54 +0000 |
---|---|---|
committer | tron <tron@openttd.org> | 2005-07-24 06:09:54 +0000 |
commit | 475d7fc0aec274a1d16893ecc248e40b61ea609f (patch) | |
tree | 8bd9a5f411d6d3d03e950189c43d88519f89e9d1 | |
parent | 23c20173b1724867cd0b2d4065efcce051db5dbf (diff) | |
download | openttd-475d7fc0aec274a1d16893ecc248e40b61ea609f.tar.xz |
(svn r2697) Make compiling with SDL on Windows work again (missing #includes) and fix some warnings
-rw-r--r-- | sdl.c | 4 | ||||
-rw-r--r-- | win32.c | 36 | ||||
-rw-r--r-- | win32.h | 7 |
3 files changed, 27 insertions, 20 deletions
@@ -17,7 +17,7 @@ static int _sdl_usage; #ifdef DYNAMICALLY_LOADED_SDL -bool LoadLibraryList(void **proc, const char *dll); +#include "win32.h" #define M(x) x "\0" static const char sdl_files[] = @@ -59,7 +59,7 @@ static const char *LoadSdlDLL(void) { if (sdl_proc.SDL_Init != NULL) return NULL; - if (!LoadLibraryList((void**)&sdl_proc, sdl_files)) + if (!LoadLibraryList((Function*)&sdl_proc, sdl_files)) return "Unable to load sdl.dll"; return NULL; } @@ -14,6 +14,7 @@ #include <io.h> #include <fcntl.h> #include "variables.h" +#include "win32.h" #include "driver.h" @@ -22,10 +23,12 @@ #include "music/win32_m.h" #include "sound/null_s.h" +#include "sound/sdl_s.h" #include "sound/win32_s.h" #include "video/dedicated_v.h" #include "video/null_v.h" +#include "video/sdl_v.h" #include "video/win32_v.h" static bool _has_console; @@ -36,23 +39,20 @@ static bool _has_console; // Helper function needed by dynamically loading SDL -bool LoadLibraryList(void **proc, const char *dll) +bool LoadLibraryList(Function proc[], const char* dll) { - HMODULE lib; - void *p; - while (*dll != '\0') { - lib = LoadLibrary(dll); - if (lib == NULL) - return false; + HMODULE lib = LoadLibrary(dll); + + if (lib == NULL) return false; while (true) { - while(*dll++ != '\0'); - if (*dll == '\0') - break; + FARPROC p; + + while (*dll++ != '\0'); + if (*dll == '\0') break; p = GetProcAddress(lib, dll); - if (p == NULL) - return false; - *proc++ = p; + if (p == NULL) return false; + *proc++ = (Function)p; } dll++; } @@ -181,7 +181,7 @@ static char *PrintModuleList(char *output) BOOL res; int count,i; - if (LoadLibraryList((void*)&EnumProcessModules, "psapi.dll\0EnumProcessModules\0")) { + if (LoadLibraryList((Function*)&EnumProcessModules, "psapi.dll\0EnumProcessModules\0")) { proc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetCurrentProcessId()); if (proc) { res = EnumProcessModules(proc, modules, sizeof(modules), &needed); @@ -241,15 +241,15 @@ static const char wininet_files[] = static WinInetProcs _wininet; -static char *SubmitCrashReport(HWND wnd, void *msg, size_t msglen, const char *arg) +static const char *SubmitCrashReport(HWND wnd, void *msg, size_t msglen, const char *arg) { HINTERNET inet, conn, http; - char *err = NULL; + const char *err = NULL; DWORD code, len; static char buf[100]; char buff[100]; - if (_wininet.InternetOpen == NULL && !LoadLibraryList((void**)&_wininet, wininet_files)) return "can't load wininet.dll"; + if (_wininet.InternetOpen == NULL && !LoadLibraryList((Function*)&_wininet, wininet_files)) return "can't load wininet.dll"; inet = _wininet.InternetOpen("OTTD", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0 ); if (inet == NULL) { err = "internetopen failed"; goto error1; } @@ -368,7 +368,7 @@ static BOOL CALLBACK CrashDialogFunc(HWND wnd,UINT msg,WPARAM wParam,LPARAM lPar break; } case 14: { // Submit crash report - char *s; + const char *s; SetCursor(LoadCursor(NULL, IDC_WAIT)); diff --git a/win32.h b/win32.h new file mode 100644 index 000000000..f96807798 --- /dev/null +++ b/win32.h @@ -0,0 +1,7 @@ +#ifndef WIN32_H +#define WIN32_H + +typedef void (*Function)(int); +bool LoadLibraryList(Function proc[], const char* dll); + +#endif |