diff options
| author | Max Horn | 2003-09-18 02:07:18 +0000 | 
|---|---|---|
| committer | Max Horn | 2003-09-18 02:07:18 +0000 | 
| commit | be9d4066e147e1f7eebd5b554f11b876f93f3ae9 (patch) | |
| tree | 98416196bcb39d49d4effb582a6e0bba165249b1 /common | |
| parent | ec0d41137ca8bf414f674afd6f6103ad6e9bf0ac (diff) | |
| download | scummvm-rg350-be9d4066e147e1f7eebd5b554f11b876f93f3ae9.tar.gz scummvm-rg350-be9d4066e147e1f7eebd5b554f11b876f93f3ae9.tar.bz2 scummvm-rg350-be9d4066e147e1f7eebd5b554f11b876f93f3ae9.zip  | |
moved engine.* to base; this fixes some linking issues when building a barebone ScummVM (or maybe I just want to increase our CVS stats? <g>)
svn-id: r10287
Diffstat (limited to 'common')
| -rw-r--r-- | common/config-file.cpp | 2 | ||||
| -rw-r--r-- | common/engine.cpp | 199 | ||||
| -rw-r--r-- | common/engine.h | 88 | ||||
| -rw-r--r-- | common/module.mk | 1 | ||||
| -rw-r--r-- | common/scummsys.h | 35 | ||||
| -rw-r--r-- | common/util.cpp | 2 | 
6 files changed, 3 insertions, 324 deletions
diff --git a/common/config-file.cpp b/common/config-file.cpp index 9294a6a52a..c24419258b 100644 --- a/common/config-file.cpp +++ b/common/config-file.cpp @@ -22,7 +22,7 @@  #include "stdafx.h"  #include "common/config-file.h" -#include "common/engine.h" // for debug() +#include "base/engine.h" // for debug()  #define MAXLINELEN 256 diff --git a/common/engine.cpp b/common/engine.cpp deleted file mode 100644 index 9f127fc53e..0000000000 --- a/common/engine.cpp +++ /dev/null @@ -1,199 +0,0 @@ -/* ScummVM - Scumm Interpreter - * Copyright (C) 2002-2003 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. - * - * $Header$ - */ - -#include "stdafx.h" -#if defined(_MSC_VER) -#include <malloc.h> -#endif -#include "common/config-file.h" -#include "common/engine.h" -#include "base/gameDetector.h" -#include "common/timer.h" -#include "sound/mixer.h" - -/* FIXME - BIG HACK for MidiEmu */ -OSystem *g_system = 0; -Engine *g_engine = 0; - -Engine::Engine(GameDetector *detector, OSystem *syst) -	: _system(syst) { -	g_engine = this; -	_mixer = detector->createMixer(); - -	_gameDataPath = detector->_gameDataPath; - -	g_system = _system; // FIXME - BIG HACK for MidiEmu - -	_timer = new Timer(_system); -} - -Engine::~Engine() { -	delete _mixer; -	delete _timer; -} - -const char *Engine::getSavePath() const { -	const char *dir = NULL; - -#ifdef _WIN32_WCE -	dir = _gameDataPath; -#elif defined(__PALM_OS__) -	dir = SCUMMVM_SAVEPATH; -#else - -#if !defined(MACOS_CARBON) -	dir = getenv("SCUMMVM_SAVEPATH"); -#endif - -	// If SCUMMVM_SAVEPATH was not specified, try to use game specific savepath from config -	if (!dir || dir[0] == 0) -		dir = g_config->get("savepath"); - -	// If SCUMMVM_SAVEPATH was not specified, try to use general path from config -	if (!dir || dir[0] == 0) -		dir = g_config->get("savepath", "scummvm"); - -	// If no save path was specified, use no directory prefix -	if (dir == NULL) -		dir = ""; -#endif - -	return dir; -} - -void NORETURN CDECL error(const char *s, ...) { -#ifdef __PALM_OS__ -	char buf_input[256]; // 1024 is too big overflow the stack -	char buf_output[256]; -#else -	char buf_input[1024]; -	char buf_output[1024]; -#endif -	va_list va; - -	va_start(va, s); -	vsprintf(buf_input, s, va); -	va_end(va); - -	if (g_engine) { -		g_engine->errorString(buf_input, buf_output); -	} else { -		strcpy(buf_output, buf_input); -	} - -#ifdef __GP32__ //ph0x FIXME? -	printf("ERROR: %s\n", buf_output); -#else -	fprintf(stderr, "%s!\n", buf_output); -#endif - -#if defined( USE_WINDBG ) -#if defined( _WIN32_WCE ) -	TCHAR buf_output_unicode[1024]; -	MultiByteToWideChar(CP_ACP, 0, buf_output, strlen(buf_output) + 1, buf_output_unicode, sizeof(buf_output_unicode)); -	OutputDebugString(buf_output_unicode); -#else -	OutputDebugString(buf_output); -#endif -#endif - -#if defined ( _WIN32_WCE ) -	drawError(buf_output); -#endif - -#ifdef __PALM_OS__ -	PalmFatalError(buf_output); -#endif - -	// Finally exit. quit() will terminate the program if g_system iss present -	if (g_system) -		g_system->quit(); -	 -	exit(1); -} - -void CDECL warning(const char *s, ...) { -#ifdef __PALM_OS__ -	char buf[256]; // 1024 is too big overflow the stack -#else -	char buf[1024]; -#endif -	va_list va; - -	va_start(va, s); -	vsprintf(buf, s, va); -	va_end(va); - -#ifdef __GP32__ //ph0x FIXME: implement fprint? -	printf("WARNING: %s\n", buf); -#else -	fprintf(stderr, "WARNING: %s!\n", buf); -#endif -#if defined( USE_WINDBG ) -	strcat(buf, "\n"); -#if defined( _WIN32_WCE ) -	TCHAR buf_unicode[1024]; -	MultiByteToWideChar(CP_ACP, 0, buf, strlen(buf) + 1, buf_unicode, sizeof(buf_unicode)); -	OutputDebugString(buf_unicode); -#else -	OutputDebugString(buf); -#endif -#endif -} - -uint16 _debugLevel = 0; - -void CDECL debug(int level, const char *s, ...) { -#ifdef __PALM_OS__ -	char buf[256]; // 1024 is too big overflow the stack -#else -	char buf[1024]; -#endif -	va_list va; - -	if (level > _debugLevel) -		return; - -	va_start(va, s); -	vsprintf(buf, s, va); -	va_end(va); -	printf("%s\n", buf); - -#if defined( USE_WINDBG ) -	strcat(buf, "\n"); -#if defined( _WIN32_WCE ) -	TCHAR buf_unicode[1024]; -	MultiByteToWideChar(CP_ACP, 0, buf, strlen(buf) + 1, buf_unicode, sizeof(buf_unicode)); -	OutputDebugString(buf_unicode); -#else -	OutputDebugString(buf); -#endif -#endif - -	fflush(stdout); -} - -void checkHeap() { -#if defined(_MSC_VER) -	if (_heapchk() != _HEAPOK) { -		error("Heap is invalid!"); -	} -#endif -} diff --git a/common/engine.h b/common/engine.h deleted file mode 100644 index d62a4de3cd..0000000000 --- a/common/engine.h +++ /dev/null @@ -1,88 +0,0 @@ -/* ScummVM - Scumm Interpreter - * Copyright (C) 2002-2003 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. - * - * $Header$ - */ - -#ifndef ENGINE_H -#define ENGINE_H - -#include "common/scummsys.h" -#include "common/system.h" - -extern const char *gScummVMVersion;		// e.g. "0.4.1" -extern const char *gScummVMBuildDate;	// e.g. "2003-06-24" -extern const char *gScummVMFullVersion;	// e.g. "ScummVM 0.4.1 (2003-06-24)" - -// TODO: Get rid of these enums. Ideally, GIDs should be -// 100% local to the module they are defined in. Right now -// we can't make this change since some of the backends -// and also gui/launcher.cpp contain tests on the GID. -// Ideally, all those should be converted to something else. -enum GameId { -	GID_SCUMM_FIRST = 1, -	GID_SCUMM_LAST = GID_SCUMM_FIRST + 99, - -	// Simon the Sorcerer -	GID_SIMON_FIRST, -	GID_SIMON_LAST = GID_SIMON_FIRST + 49, - -	// Beneath a Steel Sky -	GID_SKY_FIRST, -	GID_SKY_LAST = GID_SKY_FIRST + 49, - -	// Broken Sword 2 -	GID_SWORD2_FIRST, -	GID_SWORD2_LAST = GID_SWORD2_FIRST + 49 -}; - - -class SoundMixer; -class GameDetector; -class Timer; -struct TargetSettings; - -/* FIXME - BIG HACK for MidiEmu */ -extern OSystem *g_system; - -class Engine { -public: -	OSystem *_system; -	SoundMixer *_mixer; -	Timer * _timer; - -protected: -	char *_gameDataPath; - -public: -	Engine(GameDetector *detector, OSystem *syst); -	virtual ~Engine(); - -	// Invoke the main engine loop using this method -	virtual void go() = 0; - -	// Get the save game dir path -	const char *getSavePath() const; - -	// Specific for each engine preparare of erroe string -	virtual void errorString(const char *buf_input, char *buf_output) = 0; -}; - -extern Engine *g_engine; - -#endif - diff --git a/common/module.mk b/common/module.mk index b38c3e2ba7..059abd5dbe 100644 --- a/common/module.mk +++ b/common/module.mk @@ -2,7 +2,6 @@ MODULE := common  MODULE_OBJS := \  	common/config-file.o \ -	common/engine.o \  	common/file.o \  	common/scaler.o \  	common/str.o \ diff --git a/common/scummsys.h b/common/scummsys.h index 5831275502..b08f520aa6 100644 --- a/common/scummsys.h +++ b/common/scummsys.h @@ -25,15 +25,11 @@  #include <stdlib.h>  #include <stdio.h> -// TODO - use config.h, generated by configure +// Use config.h, generated by configure  #if defined(HAVE_CONFIG_H)  #include "config.h"  #endif -#if defined(USE_MAD) || defined(USE_VORBIS) -#define COMPRESSED_SOUND_FILE -#endif -  #if defined(_MSC_VER)  	#define scumm_stricmp stricmp @@ -189,35 +185,6 @@  	#define NEWGUI_256 -#elif defined(macintosh) -	#include <stdio.h> - -	#include "macos.h" - -	#define scumm_stricmp strcmp// FIXME - this is definitly wrong. Try strcasecmp? - -	#define CHECK_HEAP -	#define SCUMM_BIG_ENDIAN - -	#define FORCEINLINE inline -	#define CDECL  - -	typedef unsigned char byte; -	typedef unsigned char uint8; -	typedef unsigned short uint16; -	typedef unsigned long uint32; -	typedef unsigned int uint; -	typedef signed char int8; -	typedef signed short int16; -	typedef signed long int32; - -	#define START_PACK_STRUCTS pack (1) -	#define END_PACK_STRUCTS	 pack () -	#define GCC_PACK -	#define NORETURN -	#define USE_QTMUSIC -	#define NEED_STRDUP -  #elif defined(__MORPHOS__)  	#define scumm_stricmp stricmp  	#define scumm_strnicmp strnicmp diff --git a/common/util.cpp b/common/util.cpp index 60bbd14df7..7732372dbb 100644 --- a/common/util.cpp +++ b/common/util.cpp @@ -19,7 +19,7 @@   */  #include "stdafx.h" -#include "common/engine.h" +#include "base/engine.h"  #include "common/util.h"  //  | 
