diff options
author | Max Horn | 2006-04-02 00:08:22 +0000 |
---|---|---|
committer | Max Horn | 2006-04-02 00:08:22 +0000 |
commit | 587431f8e838bd08d081d65f18b1f9b8f04566b8 (patch) | |
tree | b0d258b1c28ed19887de121773e723b966369e00 | |
parent | a2c4795f326e62fe8ff74ce0e29e0174d4dab330 (diff) | |
download | scummvm-rg350-587431f8e838bd08d081d65f18b1f9b8f04566b8.tar.gz scummvm-rg350-587431f8e838bd08d081d65f18b1f9b8f04566b8.tar.bz2 scummvm-rg350-587431f8e838bd08d081d65f18b1f9b8f04566b8.zip |
Fully and officially renamed our main function to scummvm_main, thus making
various backend specific hacks unnecessary. As a consequence, it is now the
responsibility of the backend to define main. Hence I adapted the SDL backend
accordingly.
svn-id: r21542
-rw-r--r-- | backends/dc/dcmain.cpp | 5 | ||||
-rw-r--r-- | backends/dc/portdefs.h | 3 | ||||
-rw-r--r-- | backends/gp32/gp32_main.cpp | 4 | ||||
-rw-r--r-- | backends/maemo/main.cpp | 4 | ||||
-rw-r--r-- | backends/maemo/portdefs.h | 6 | ||||
-rw-r--r-- | backends/morphos/morphos.h | 2 | ||||
-rw-r--r-- | backends/morphos/morphos_start.cpp | 3 | ||||
-rw-r--r-- | backends/ps2/systemps2.cpp | 3 | ||||
-rw-r--r-- | backends/psp/portdefs.h | 6 | ||||
-rw-r--r-- | backends/psp/psp_main.cpp | 4 | ||||
-rw-r--r-- | backends/sdl/sdl.cpp | 7 | ||||
-rw-r--r-- | backends/wince/wince-sdl.cpp | 3 | ||||
-rw-r--r-- | base/main.cpp | 10 | ||||
-rw-r--r-- | base/main.h | 38 | ||||
-rw-r--r-- | common/scummsys.h | 5 |
15 files changed, 57 insertions, 46 deletions
diff --git a/backends/dc/dcmain.cpp b/backends/dc/dcmain.cpp index 0955836bdd..d622c35019 100644 --- a/backends/dc/dcmain.cpp +++ b/backends/dc/dcmain.cpp @@ -21,13 +21,11 @@ * */ - -#define REAL_MAIN - #include <common/stdafx.h> #include <common/scummsys.h> #include <base/engine.h> #include <base/gameDetector.h> +#include <base/main.h> #include <base/plugins.h> #include "dc.h" #include "icon.h" @@ -205,7 +203,6 @@ void dc_init_hardware() init_arm(); } -extern "C" int scummvm_main(int argc, char *argv[]); int main() { static char *argv[] = { "scummvm", NULL, }; diff --git a/backends/dc/portdefs.h b/backends/dc/portdefs.h index 1217810ef5..cedfd5c0fe 100644 --- a/backends/dc/portdefs.h +++ b/backends/dc/portdefs.h @@ -37,6 +37,3 @@ #ifdef Timer #undef Timer #endif -#ifndef REAL_MAIN -#define main scummvm_main -#endif diff --git a/backends/gp32/gp32_main.cpp b/backends/gp32/gp32_main.cpp index cf636fdba4..8abdb4a7ce 100644 --- a/backends/gp32/gp32_main.cpp +++ b/backends/gp32/gp32_main.cpp @@ -26,6 +26,8 @@ #include "common/config-manager.h" +#include "base/main.h" + #include "backends/gp32/gp32std.h" #include "backends/gp32/gp32std_grap.h" @@ -34,8 +36,6 @@ GlobalVars g_vars; -extern "C" int scummvm_main(int argc, char *argv[]); - void init() { gp_setCpuSpeed(40); // Default CPU Speed diff --git a/backends/maemo/main.cpp b/backends/maemo/main.cpp index 7ef2bfd2f1..231f319158 100644 --- a/backends/maemo/main.cpp +++ b/backends/maemo/main.cpp @@ -20,7 +20,6 @@ * */ -#define REAL_MAIN #include <common/stdafx.h> #include <common/scummsys.h> #include <X11/Xlib.h> @@ -29,6 +28,7 @@ #include <SDL/SDL.h> #include <SDL/SDL_syswm.h> +#include "base/main.h" #include <hildon-widgets/hildon-app.h> #include <gtk/gtk.h> #include <libosso.h> @@ -48,8 +48,6 @@ void set_doubling(unsigned char enable) { XSPSetPixelDoubling(wminfo.info.x11.display, 0, enable); } -extern "C" int scummvm_main(int argc, char *argv[]); - int main(int argc, char *argv[]) { osso_context_t *osso_context; diff --git a/backends/maemo/portdefs.h b/backends/maemo/portdefs.h index 82894331b3..f825e5c4e2 100644 --- a/backends/maemo/portdefs.h +++ b/backends/maemo/portdefs.h @@ -52,12 +52,6 @@ typedef signed int int32; /* Whether we should use i386 assembly routines */ #undef USE_NASM -#undef main - -#ifndef REAL_MAIN -#define main scummvm_main -#endif - #include <stdio.h> #include <fcntl.h> #include <stdlib.h> diff --git a/backends/morphos/morphos.h b/backends/morphos/morphos.h index 46d35689c0..7f919f7080 100644 --- a/backends/morphos/morphos.h +++ b/backends/morphos/morphos.h @@ -226,8 +226,6 @@ class AutoLock #define AUTO_LOCK AutoLock cs(&CritSec); -int morphos_main(int argc, char *argv[]); - extern OSystem_MorphOS *TheSystem; #endif diff --git a/backends/morphos/morphos_start.cpp b/backends/morphos/morphos_start.cpp index f19a96983e..f7ec56f224 100644 --- a/backends/morphos/morphos_start.cpp +++ b/backends/morphos/morphos_start.cpp @@ -37,6 +37,7 @@ #include "common/stdafx.h" #include "scumm/scumm.h" #include "base/gameDetector.h" +#include "base/main.h" #include "common/scaler.h" #include "sound/mididrv.h" #include "morphos.h" @@ -433,6 +434,6 @@ int main() if (ScummStory) argv[argc++] = ScummStory; - return morphos_main(argc, argv); + return scummvm_main(argc, argv); } diff --git a/backends/ps2/systemps2.cpp b/backends/ps2/systemps2.cpp index 7262000986..d0154ab590 100644 --- a/backends/ps2/systemps2.cpp +++ b/backends/ps2/systemps2.cpp @@ -35,6 +35,7 @@ #include "common/scummsys.h" #include "../intern.h" #include "base/engine.h" +#include "base/main.h" #include "backends/ps2/systemps2.h" #include "backends/ps2/Gs2dScreen.h" #include "backends/ps2/ps2input.h" @@ -98,8 +99,6 @@ OSystem *OSystem_PS2_create(void) { return g_systemPs2; } -extern "C" int scummvm_main(int argc, char *argv[]); - extern "C" int main(int argc, char *argv[]) { SifInitRpc(0); #ifndef USE_PS2LINK // reset the IOP if this is a CD build diff --git a/backends/psp/portdefs.h b/backends/psp/portdefs.h index 558b218f90..a63c8ff39e 100644 --- a/backends/psp/portdefs.h +++ b/backends/psp/portdefs.h @@ -51,12 +51,6 @@ //#define printf pspDebugScreenPrintf #define exit(x) printf("exit() called\n"); sceKernelSleepThread(); -#undef main - -#ifndef REAL_MAIN -#define main scummvm_main -#endif - #endif /* PORTDEFS_H */ diff --git a/backends/psp/psp_main.cpp b/backends/psp/psp_main.cpp index b4af6dbbe7..d981c314dc 100644 --- a/backends/psp/psp_main.cpp +++ b/backends/psp/psp_main.cpp @@ -28,10 +28,10 @@ #include <stdlib.h> #include <string.h> -#define REAL_MAIN #include <common/stdafx.h> #include <common/scummsys.h> #include <base/engine.h> +#include <base/main.h> #include <base/gameDetector.h> #include <base/plugins.h> @@ -123,8 +123,6 @@ int SetupCallbacks(void) } -extern "C" int scummvm_main(int argc, char *argv[]); - int main(void) { //PSPDebugTrace("Init debug screen\n"); diff --git a/backends/sdl/sdl.cpp b/backends/sdl/sdl.cpp index 74dbb969e9..b1da08c60e 100644 --- a/backends/sdl/sdl.cpp +++ b/backends/sdl/sdl.cpp @@ -24,6 +24,7 @@ #include "backends/sdl/sdl-common.h" #include "common/config-manager.h" #include "common/util.h" +#include "base/main.h" #if defined(HAVE_CONFIG_H) #include "config.h" @@ -32,6 +33,12 @@ #include "scummvm.xpm" +#if !defined(_WIN32_WCE) && !defined(__SYMBIAN32__) && !defined(__MAEMO__) +int main(int argc, char *argv[]) { + return scummvm_main(argc, argv); +} +#endif + OSystem *OSystem_SDL_create() { return new OSystem_SDL(); } diff --git a/backends/wince/wince-sdl.cpp b/backends/wince/wince-sdl.cpp index f8150d6f2c..46c95f9ed5 100644 --- a/backends/wince/wince-sdl.cpp +++ b/backends/wince/wince-sdl.cpp @@ -26,6 +26,7 @@ #include "common/util.h" #include "base/gameDetector.h" #include "base/engine.h" +#include "base/main.h" #include "base/plugins.h" #include "common/timer.h" @@ -119,8 +120,6 @@ bool isSmartphone() { // MAIN -extern "C" int scummvm_main(GameDetector &gameDetector, int argc, char **argv); - int handleException(EXCEPTION_POINTERS *exceptionPointers) { CEException::writeException(TEXT("\\scummvmCrash"), exceptionPointers); drawError("Unrecoverable exception occurred - see crash dump in latest \\scummvmCrash file"); diff --git a/base/main.cpp b/base/main.cpp index a7eb30aff5..b3aff49641 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -155,12 +155,6 @@ const char* stackCookie = "$STACK: 655360\0"; extern "C" int main(int argc, char *argv[]); #endif -#if defined(MACOSX) || defined(QTOPIA) || defined(__SYMBIAN32__) -#include <SDL.h> -#elif !defined(__MORPHOS__) && !defined(__DC__) && !defined(__GP32__) -#undef main -#endif - #if defined (ALLEGRO_BACKEND) #include "allegro.h" #endif @@ -344,10 +338,8 @@ static int runGame(GameDetector &detector, OSystem &system, const Common::String #ifdef _WIN32_WCE extern "C" int scummvm_main(GameDetector &detector, int argc, char *argv[]) { -#elif defined(__PLAYSTATION2__) || defined(__PSP__) || defined(__GP32__) || defined(__MAEMO__) -extern "C" int scummvm_main(int argc, char *argv[]) { #else -extern "C" int main(int argc, char *argv[]) { +extern "C" int scummvm_main(int argc, char *argv[]) { #endif char *cfgFilename = NULL; Common::String specialDebug = ""; diff --git a/base/main.h b/base/main.h new file mode 100644 index 0000000000..06b7e2cb5f --- /dev/null +++ b/base/main.h @@ -0,0 +1,38 @@ +/* ScummVM - Scumm Interpreter + * Copyright (C) 2001 Ludvig Strigeus + * Copyright (C) 2001-2006 The ScummVM project + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * $URL$ + * $Id: scummsys.h 21500 2006-03-29 15:59:37Z fingolfin $ + * + */ + +#ifndef BASE_MAIN_H +#define BASE_MAIN_H + +#include "common/scummsys.h" + +// +// The scummvm main entry point, to be invoked by ports +// +#ifdef _WIN32_WCE +extern "C" int scummvm_main(GameDetector &detector, int argc, char *argv[]); +#else +extern "C" int scummvm_main(int argc, char *argv[]); +#endif + +#endif diff --git a/common/scummsys.h b/common/scummsys.h index 05a9950c41..2f38eec992 100644 --- a/common/scummsys.h +++ b/common/scummsys.h @@ -20,6 +20,7 @@ * $Id$ * */ + #ifndef COMMON_SCUMMSYS_H #define COMMON_SCUMMSYS_H @@ -200,8 +201,6 @@ #define END_PACK_STRUCTS pack () #endif - #define main morphos_main - #elif defined(__DC__) #define scumm_stricmp strcasecmp @@ -386,7 +385,6 @@ #endif - // // Overlay color type (FIXME: shouldn't be declared here) // @@ -398,4 +396,5 @@ typedef int16 OverlayColor; #endif + #endif |