diff options
-rw-r--r-- | audio/softsynth/opl/mame.cpp | 2 | ||||
-rw-r--r-- | backends/graphics/samsungtvsdl/samsungtvsdl-graphics.cpp | 6 | ||||
-rw-r--r-- | backends/platform/android/jni.cpp | 2 | ||||
-rw-r--r-- | backends/platform/dc/Makefile | 4 | ||||
-rw-r--r-- | backends/platform/ds/arm9/makefile | 6 | ||||
-rw-r--r-- | backends/platform/ds/arm9/source/dsmain.cpp | 5 | ||||
-rw-r--r-- | backends/platform/ps2/Makefile.gdb | 99 | ||||
-rw-r--r-- | backends/platform/ps2/Makefile.ps2 | 59 | ||||
-rw-r--r-- | backends/platform/samsungtv/main.cpp | 6 | ||||
-rw-r--r-- | backends/platform/samsungtv/samsungtv.cpp | 7 | ||||
-rw-r--r-- | base/commandLine.cpp | 4 | ||||
-rwxr-xr-x | configure | 2 | ||||
-rw-r--r-- | engines/saga/font.cpp | 32 | ||||
-rw-r--r-- | engines/saga/font.h | 4 | ||||
-rw-r--r-- | gui/gui-manager.cpp | 9 | ||||
-rw-r--r-- | gui/launcher.cpp | 5 | ||||
-rw-r--r-- | gui/massadd.cpp | 3 | ||||
-rw-r--r-- | gui/options.cpp | 2 | ||||
-rw-r--r-- | gui/saveload.cpp | 13 |
19 files changed, 188 insertions, 82 deletions
diff --git a/audio/softsynth/opl/mame.cpp b/audio/softsynth/opl/mame.cpp index 9cc35971eb..74699ba4c6 100644 --- a/audio/softsynth/opl/mame.cpp +++ b/audio/softsynth/opl/mame.cpp @@ -754,8 +754,10 @@ static int OPLOpenTable(void) { } static void OPLCloseTable(void) { +#ifndef __DS__ free(TL_TABLE); free(SIN_TABLE); +#endif free(AMS_TABLE); free(VIB_TABLE); free(ENV_CURVE); diff --git a/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.cpp b/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.cpp index b929b5fe27..18629d949a 100644 --- a/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.cpp +++ b/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.cpp @@ -20,12 +20,14 @@ * */ +#include "common/scummsys.h" + +#if defined(SAMSUNGTV) + #include "backends/platform/samsungtv/samsungtv.h" #include "backends/events/samsungtvsdl/samsungtvsdl-events.h" #include "backends/graphics/samsungtvsdl/samsungtvsdl-graphics.h" -#if defined(SAMSUNGTV) - SamsungTVSdlGraphicsManager::SamsungTVSdlGraphicsManager(SdlEventSource *sdlEventSource) : SdlGraphicsManager(sdlEventSource) { } diff --git a/backends/platform/android/jni.cpp b/backends/platform/android/jni.cpp index c4daf24e16..b38dc518ee 100644 --- a/backends/platform/android/jni.cpp +++ b/backends/platform/android/jni.cpp @@ -602,10 +602,12 @@ void JNI::setPause(JNIEnv *env, jobject self, jboolean value) { g_engine->pauseEngine(value); +#if 0 if (value && g_engine->hasFeature(Engine::kSupportsSavingDuringRuntime) && g_engine->canSaveGameStateCurrently()) g_engine->saveGameState(0, "Android parachute"); +#endif } pause = value; diff --git a/backends/platform/dc/Makefile b/backends/platform/dc/Makefile index 0133ffd9e9..00d408fdaf 100644 --- a/backends/platform/dc/Makefile +++ b/backends/platform/dc/Makefile @@ -11,9 +11,13 @@ CXX = sh-elf-g++ -ml -m4-single-only LD = $(CXX) CXXFLAGS= -O3 -Wno-multichar -funroll-loops -fschedule-insns2 -fomit-frame-pointer -fdelete-null-pointer-checks -fno-exceptions DEFINES = -D__DC__ -DNONSTANDARD_PORT -DUSE_MAD -DUSE_ZLIB -DDISABLE_DEFAULT_SAVEFILEMANAGER -DDISABLE_TEXT_CONSOLE -DDISABLE_COMMAND_LINE -DUSE_RGB_COLOR +# For release builds: +#DEFINES := -DNOSERIAL LDFLAGS = -Wl,-Ttext,0x8c010000 -nostartfiles $(ronindir)/lib/crt0.o INCLUDES= -I./ -I$(srcdir) -I$(ronindir)/include/ -I$(srcdir)/engines LIBS = -L$(ronindir)/lib -lmad -lronin -lz -lm +# For release builds: +#LIBS = -L$(ronindir)/lib -lmad -lronin-noserial -lz -lm EXECUTABLE = scummvm.elf DEPDIR = .deps CXX_UPDATE_DEP_FLAG = -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d",-MQ,"$@",-MP diff --git a/backends/platform/ds/arm9/makefile b/backends/platform/ds/arm9/makefile index 65fb98ee0d..1b21b41a9b 100644 --- a/backends/platform/ds/arm9/makefile +++ b/backends/platform/ds/arm9/makefile @@ -75,7 +75,7 @@ else ifdef DS_BUILD_K else - # USE_MAD = 1 + USE_MAD = 1 endif endif endif @@ -246,6 +246,8 @@ ifdef USE_MAD endif DEFINES += -DREDUCE_MEMORY_USAGE -DDISABLE_DEBUGGER -DUSE_TEXT_CONSOLE_FOR_DEBUGGER -DDISABLE_MASS_ADD -DDISABLE_NES_APU +# for release builds: +#DEFINES += -DNDEBUG LDFLAGS = -specs=ds_arm9.specs -mthumb-interwork -mno-fpu -Wl,-Map,map.txt -Wl,--gc-sections @@ -259,7 +261,7 @@ BACKEND := ds INCLUDES= -I$(portdir)/$(BUILD) -I$(srcdir) -I$(srcdir)/engines \ -I$(portdir)/data -I$(portdir)/../commoninclude \ -I$(portdir)/source -I$(portdir)/source/mad \ - -I$(libndsdir)/include -include $(srcdir)/common/scummsys.h + -I$(libndsdir)/include -include $(portdir)/source/portdefs.h LIBS = -lm -L$(libndsdir)/lib -L$(portdir)/lib -lnds9 diff --git a/backends/platform/ds/arm9/source/dsmain.cpp b/backends/platform/ds/arm9/source/dsmain.cpp index b3146cc16f..dfd906d816 100644 --- a/backends/platform/ds/arm9/source/dsmain.cpp +++ b/backends/platform/ds/arm9/source/dsmain.cpp @@ -575,7 +575,7 @@ void initGame() { for (int r = 0; r < NUM_SUPPORTED_GAMES; r++) { if (!stricmp(gameName, gameList[r].gameId)) { s_currentGame = &gameList[r]; - // consolePrintf("Game list num: %d\n", s_currentGame); + // consolePrintf("Game list num: %d\n", r); } } } @@ -1668,8 +1668,7 @@ void addEventsToQueue() { if (!keyboardEnable) { - - if ((isScrollingWithDPad() || (indyFightState)) && (displayModeIs8Bit)) { + if ((!isScrollingWithDPad() || (indyFightState)) && (displayModeIs8Bit)) { // Controls specific to the control method if (s_currentGame->control == CONT_SKY) { diff --git a/backends/platform/ps2/Makefile.gdb b/backends/platform/ps2/Makefile.gdb index 48dcebc1d4..1009f0fe4e 100644 --- a/backends/platform/ps2/Makefile.gdb +++ b/backends/platform/ps2/Makefile.gdb @@ -1,7 +1,7 @@ # $Header: Exp $ include $(PS2SDK)/Defs.make -PS2_EXTRA = /media/disk/nw8240/extras/scummvm/ports +PS2_EXTRA = /works/devel/ps2/sdk-extra PS2_EXTRA_INCS = /zlib/include /libmad/ee/include /SjPcm/ee/src /tremor PS2_EXTRA_LIBS = /zlib/lib /libmad/ee/lib /SjPcm/ee/lib /tremor/tremor @@ -9,31 +9,44 @@ ENABLED=STATIC_PLUGIN ENABLE_SCUMM = $(ENABLED) ENABLE_SCUMM_7_8 = $(ENABLED) -#ENABLE_HE = $(ENABLED) -#ENABLE_AGI = $(ENABLED) -#ENABLE_AGOS = $(ENABLED) -#ENABLE_CINE = $(ENABLED) -#ENABLE_CRUISE = $(ENABLED) -#ENABLE_DRASCULA = $(ENABLED) -#ENABLE_GOB = $(ENABLED) -#ENABLE_KYRA = $(ENABLED) -#ENABLE_LURE = $(ENABLED) - # ENABLE_M4 = $(ENABLED) -#ENABLE_MADE = $(ENABLED) -#ENABLE_PARALLACTION = $(ENABLED) -#ENABLE_QUEEN = $(ENABLED) -#ENABLE_SAGA = $(ENABLED) -#ENABLE_SAGA2 = $(ENABLED) -#ENABLE_IHNM = $(ENABLED) -#ENABLE_SKY = $(ENABLED) -#ENABLE_SWORD1 = $(ENABLED) -#ENABLE_SWORD2 = $(ENABLED) - # ENABLE_TINSEL = $(ENABLED) -#ENABLE_TOUCHE = $(ENABLED) +# ENABLE_HE = $(ENABLED) +# ENABLE_AGI = $(ENABLED) +# ENABLE_AGOS = $(ENABLED) +# ENABLE_AGOS2 = $(ENABLED) +# ENABLE_CINE = $(ENABLED) +# ENABLE_CRUISE = $(ENABLED) +# ENABLE_DRACI = $(ENABLED) +# ENABLE_DRASCULA = $(ENABLED) +# ENABLE_GOB = $(ENABLED) +# ENABLE_GROOVIE = $(ENABLED) +## ENABLE_GROOVIE2 = $(ENABLED) +# ENABLE_HUGO = $(ENABLED) +# ENABLE_IHNM = $(ENABLED) +# ENABLE_KYRA = $(ENABLED) +## ENABLE_LOL = $(ENABLED) +# ENABLE_LURE = $(ENABLED) +## ENABLE_M4 = $(ENABLED) +# ENABLE_MADE = $(ENABLED) +# ENABLE_MOHAWK = $(ENABLED) +# ENABLE_PARALLACTION = $(ENABLED) +# ENABLE_QUEEN = $(ENABLED) +# ENABLE_SAGA = $(ENABLED) +# ENABLE_SAGA2 = $(ENABLED) +# ENABLE_SCI = $(ENABLED) +## ENABLE_SCI32 = $(ENABLED) +# ENABLE_SKY = $(ENABLED) +# ENABLE_SWORD1 = $(ENABLED) +# ENABLE_SWORD2 = $(ENABLED) +# ENABLE_TEENAGENT = $(ENABLED) +# ENABLE_TINSEL = $(ENABLED) +# ENABLE_TOON = $(ENABLED) +# ENABLE_TOUCHE = $(ENABLED) +# ENABLE_TUCKER = $(ENABLED) + HAVE_GCC3 = true -CC = ee-gcc +CC = ee-gcc CXX = ee-g++ AS = ee-gcc LD = ee-gcc @@ -48,35 +61,35 @@ VPATH = $(srcdir) INCDIR = ../../../ # DEPDIR = .deps -DEFINES = -DUSE_VORBIS -DUSE_TREMOR -DUSE_MAD -DUSE_ZLIB -DFORCE_RTL -D_EE -D__PLAYSTATION2__ -D__PS2_DEBUG__ -g -Wall -Wno-multichar - +DEFINES = -DUSE_VORBIS -DUSE_TREMOR -DUSE_MAD -DUSE_ZLIB -DFORCE_RTL -DDISABLE_SAVEGAME_SORTING -D_EE -D__PLAYSTATION2__ -D__PS2_DEBUG__ -g -Wall -Wno-multichar -fno-rtti -fno-exceptions # -DNO_ADAPTOR +DEFINES += -DRELEASE_BUILD INCLUDES = $(addprefix -I$(PS2_EXTRA),$(PS2_EXTRA_INCS)) INCLUDES += -I $(PS2GDB)/ee -I $(PS2SDK)/ee/include -I $(PS2SDK)/common/include -I ./common -I . -I $(srcdir) -I $(srcdir)/engines +CXX_UPDATE_DEP_FLAG = -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d",-MQ,"$@",-MP + TARGET = elf/scummvm.elf -OBJS := backends/platform/ps2/DmaPipe.o \ - backends/platform/ps2/Gs2dScreen.o \ - backends/platform/ps2/irxboot.o \ - backends/platform/ps2/ps2input.o \ - backends/platform/ps2/ps2pad.o \ - backends/platform/ps2/savefilemgr.o \ - backends/platform/ps2/fileio.o \ - backends/platform/ps2/asyncfio.o \ - backends/platform/ps2/icon.o \ - backends/platform/ps2/cd.o \ - backends/platform/ps2/eecodyvdfs.o \ - backends/platform/ps2/rpckbd.o \ - backends/platform/ps2/systemps2.o \ - backends/platform/ps2/ps2mutex.o \ - backends/platform/ps2/ps2time.o \ - backends/platform/ps2/ps2debug.o +OBJS := $(srcdir)/backends/platform/ps2/DmaPipe.o \ + $(srcdir)/backends/platform/ps2/Gs2dScreen.o \ + $(srcdir)/backends/platform/ps2/irxboot.o \ + $(srcdir)/backends/platform/ps2/ps2input.o \ + $(srcdir)/backends/platform/ps2/ps2pad.o \ + $(srcdir)/backends/platform/ps2/savefilemgr.o \ + $(srcdir)/backends/platform/ps2/fileio.o \ + $(srcdir)/backends/platform/ps2/asyncfio.o \ + $(srcdir)/backends/platform/ps2/icon.o \ + $(srcdir)/backends/platform/ps2/cd.o \ + $(srcdir)/backends/platform/ps2/eecodyvdfs.o \ + $(srcdir)/backends/platform/ps2/rpckbd.o \ + $(srcdir)/backends/platform/ps2/systemps2.o \ + $(srcdir)/backends/platform/ps2/ps2mutex.o \ + $(srcdir)/backends/platform/ps2/ps2time.o \ + $(srcdir)/backends/platform/ps2/ps2debug.o MODULE_DIRS += . -BACKEND := ps2 - include $(srcdir)/Makefile.common LDFLAGS += -mno-crt0 $(PS2SDK)/ee/startup/crt0.o -T $(PS2SDK)/ee/startup/linkfile diff --git a/backends/platform/ps2/Makefile.ps2 b/backends/platform/ps2/Makefile.ps2 index 472ba5ec3a..ea966ec236 100644 --- a/backends/platform/ps2/Makefile.ps2 +++ b/backends/platform/ps2/Makefile.ps2 @@ -12,28 +12,41 @@ ENABLE_SCUMM_7_8 = $(ENABLED) ENABLE_HE = $(ENABLED) ENABLE_AGI = $(ENABLED) ENABLE_AGOS = $(ENABLED) +ENABLE_AGOS2 = $(ENABLED) ENABLE_CINE = $(ENABLED) ENABLE_CRUISE = $(ENABLED) +ENABLE_DRACI = $(ENABLED) ENABLE_DRASCULA = $(ENABLED) ENABLE_GOB = $(ENABLED) +ENABLE_GROOVIE = $(ENABLED) +# ENABLE_GROOVIE2 = $(ENABLED) +ENABLE_HUGO = $(ENABLED) +ENABLE_IHNM = $(ENABLED) ENABLE_KYRA = $(ENABLED) +# ENABLE_LOL = $(ENABLED) ENABLE_LURE = $(ENABLED) # ENABLE_M4 = $(ENABLED) ENABLE_MADE = $(ENABLED) +ENABLE_MOHAWK = $(ENABLED) ENABLE_PARALLACTION = $(ENABLED) ENABLE_QUEEN = $(ENABLED) ENABLE_SAGA = $(ENABLED) -ENABLE_SAGA2 = $(ENABLED) -ENABLE_IHNM = $(ENABLED) +# ENABLE_SAGA2 = $(ENABLED) +ENABLE_SCI = $(ENABLED) +# ENABLE_SCI32 = $(ENABLED) ENABLE_SKY = $(ENABLED) ENABLE_SWORD1 = $(ENABLED) ENABLE_SWORD2 = $(ENABLED) -# ENABLE_TINSEL = $(ENABLED) +ENABLE_TEENAGENT = $(ENABLED) +ENABLE_TINSEL = $(ENABLED) +ENABLE_TOON = $(ENABLED) ENABLE_TOUCHE = $(ENABLED) +ENABLE_TUCKER = $(ENABLED) + HAVE_GCC3 = true -CC = ee-gcc +CC = ee-gcc CXX = ee-g++ AS = ee-gcc LD = ee-gcc @@ -48,30 +61,32 @@ VPATH = $(srcdir) INCDIR = ../../../ # DEPDIR = .deps -DEFINES = -DUSE_VORBIS -DUSE_TREMOR -DUSE_MAD -DUSE_ZLIB -DFORCE_RTL -D_EE -D__PLAYSTATION2__ -O2 -Wall -Wno-multichar - +DEFINES = -DUSE_VORBIS -DUSE_TREMOR -DUSE_MAD -DUSE_ZLIB -DFORCE_RTL -DDISABLE_SAVEGAME_SORTING -D_EE -D__PLAYSTATION2__ -G2 -O2 -Wall -Wno-multichar -fno-rtti -fno-exceptions # -DNO_ADAPTOR +DEFINES += -DRELEASE_BUILD INCLUDES = $(addprefix -I$(PS2_EXTRA),$(PS2_EXTRA_INCS)) INCLUDES += -I $(PS2SDK)/ee/include -I $(PS2SDK)/common/include -I ./common -I . -I $(srcdir) -I $(srcdir)/engines +CXX_UPDATE_DEP_FLAG = -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d",-MQ,"$@",-MP + TARGET = elf/scummvm.elf -OBJS := backends/platform/ps2/DmaPipe.o \ - backends/platform/ps2/Gs2dScreen.o \ - backends/platform/ps2/irxboot.o \ - backends/platform/ps2/ps2input.o \ - backends/platform/ps2/ps2pad.o \ - backends/platform/ps2/savefilemgr.o \ - backends/platform/ps2/fileio.o \ - backends/platform/ps2/asyncfio.o \ - backends/platform/ps2/icon.o \ - backends/platform/ps2/cd.o \ - backends/platform/ps2/eecodyvdfs.o \ - backends/platform/ps2/rpckbd.o \ - backends/platform/ps2/systemps2.o \ - backends/platform/ps2/ps2mutex.o \ - backends/platform/ps2/ps2time.o \ - backends/platform/ps2/ps2debug.o +OBJS := $(srcdir)/backends/platform/ps2/DmaPipe.o \ + $(srcdir)/backends/platform/ps2/Gs2dScreen.o \ + $(srcdir)/backends/platform/ps2/irxboot.o \ + $(srcdir)/backends/platform/ps2/ps2input.o \ + $(srcdir)/backends/platform/ps2/ps2pad.o \ + $(srcdir)/backends/platform/ps2/savefilemgr.o \ + $(srcdir)/backends/platform/ps2/fileio.o \ + $(srcdir)/backends/platform/ps2/asyncfio.o \ + $(srcdir)/backends/platform/ps2/icon.o \ + $(srcdir)/backends/platform/ps2/cd.o \ + $(srcdir)/backends/platform/ps2/eecodyvdfs.o \ + $(srcdir)/backends/platform/ps2/rpckbd.o \ + $(srcdir)/backends/platform/ps2/systemps2.o \ + $(srcdir)/backends/platform/ps2/ps2mutex.o \ + $(srcdir)/backends/platform/ps2/ps2time.o \ + $(srcdir)/backends/platform/ps2/ps2debug.o MODULE_DIRS += . diff --git a/backends/platform/samsungtv/main.cpp b/backends/platform/samsungtv/main.cpp index 4f3291613d..8274bb00a2 100644 --- a/backends/platform/samsungtv/main.cpp +++ b/backends/platform/samsungtv/main.cpp @@ -22,12 +22,14 @@ #define FORBIDDEN_SYMBOL_EXCEPTION_unistd_h +#include "common/scummsys.h" + +#if defined(SAMSUNGTV) + #include "backends/platform/samsungtv/samsungtv.h" #include "backends/plugins/sdl/sdl-provider.h" #include "base/main.h" -#if defined(SAMSUNGTV) - #include <unistd.h> extern "C" int Game_Main(char *path, char *) { diff --git a/backends/platform/samsungtv/samsungtv.cpp b/backends/platform/samsungtv/samsungtv.cpp index 1b978d0121..9718eed1fe 100644 --- a/backends/platform/samsungtv/samsungtv.cpp +++ b/backends/platform/samsungtv/samsungtv.cpp @@ -20,11 +20,14 @@ * */ +#include "common/scummsys.h" + +#if defined(SAMSUNGTV) + #include "backends/platform/samsungtv/samsungtv.h" #include "backends/events/samsungtvsdl/samsungtvsdl-events.h" #include "backends/graphics/samsungtvsdl/samsungtvsdl-graphics.h" - -#if defined(SAMSUNGTV) +#include "common/textconsole.h" OSystem_SDL_SamsungTV::OSystem_SDL_SamsungTV() : diff --git a/base/commandLine.cpp b/base/commandLine.cpp index 78eea50082..e34cde4779 100644 --- a/base/commandLine.cpp +++ b/base/commandLine.cpp @@ -52,7 +52,7 @@ static const char USAGE_STRING[] = ; // DONT FIXME: DO NOT ORDER ALPHABETICALLY, THIS IS ORDERED BY IMPORTANCE/CATEGORY! :) -#if defined(__SYMBIAN32__) || defined(__GP32__) || defined(ANDROID) +#if defined(__SYMBIAN32__) || defined(__GP32__) || defined(ANDROID) || defined(__DS__) static const char HELP_STRING[] = "NoUsageString"; // save more data segment space #else static const char HELP_STRING[] = @@ -146,7 +146,7 @@ static void usage(const char *s, ...) { vsnprintf(buf, STRINGBUFLEN, s, va); va_end(va); -#if !(defined(__GP32__) || defined (__SYMBIAN32__)) +#if !(defined(__GP32__) || defined (__SYMBIAN32__) || defined(__DS__)) printf(USAGE_STRING, s_appName, buf, s_appName, s_appName); #endif exit(1); @@ -1934,6 +1934,8 @@ if test -n "$_host"; then DEFINES="$DEFINES -DDISABLE_DEFAULT_SAVEFILEMANAGER" DEFINES="$DEFINES -DDISABLE_TEXT_CONSOLE" DEFINES="$DEFINES -DDISABLE_COMMAND_LINE" + # for release builds: + #DEFINES="$DEFINES -DNOSERIAL" CXXFLAGS="$CXXFLAGS -O3" CXXFLAGS="$CXXFLAGS -funroll-loops" CXXFLAGS="$CXXFLAGS -fschedule-insns2" diff --git a/engines/saga/font.cpp b/engines/saga/font.cpp index a5363909ff..8c3f4d7c42 100644 --- a/engines/saga/font.cpp +++ b/engines/saga/font.cpp @@ -40,6 +40,10 @@ Font::Font(SagaEngine *vm) : _vm(vm) { _fonts.resize(_vm->getFontsCount()); for (i = 0; i < _vm->getFontsCount(); i++) { +#ifdef __DS__ + _fonts[i].outline.font = NULL; + _fonts[i].normal.font = NULL; +#endif loadFont(&_fonts[i], _vm->getFontDescription(i)->fontResourceId); } @@ -48,6 +52,18 @@ Font::Font(SagaEngine *vm) : _vm(vm) { Font::~Font() { debug(8, "Font::~Font(): Freeing fonts."); + +#ifdef __DS__ + for (int i = 0; i < _vm->getFontsCount(); i++) { + if (_fonts[i].outline.font) { + free(_fonts[i].outline.font); + } + + if (_fonts[i].normal.font) { + free(_fonts[i].normal.font); + } + } +#endif } @@ -104,9 +120,17 @@ void Font::loadFont(FontData *font, uint32 fontResourceId) { error("Invalid font resource size"); } +#ifndef __DS__ font->normal.font.resize(fontResourceData.size() - FONT_DESCSIZE); memcpy(font->normal.font.getBuffer(), fontResourceData.getBuffer() + FONT_DESCSIZE, fontResourceData.size() - FONT_DESCSIZE); +#else + if (font->normal.font) { + free(font->normal.font); + } + font->normal.font = (byte *) malloc(fontResourceData.size() - FONT_DESCSIZE); + memcpy(font->normal.font, fontResourceData.getBuffer() + FONT_DESCSIZE, fontResourceData.size() - FONT_DESCSIZE); +#endif // Create outline font style createOutline(font); @@ -150,7 +174,15 @@ void Font::createOutline(FontData *font) { font->outline.header.rowLength = newRowLength; // Allocate new font representation storage +#ifdef __DS__ + if (font->outline.font) { + free(font->outline.font); + } + + font->outline.font = (byte *) calloc(newRowLength * font->outline.header.charHeight, 1); +#else font->outline.font.resize(newRowLength * font->outline.header.charHeight); +#endif // Generate outline font representation diff --git a/engines/saga/font.h b/engines/saga/font.h index 75d5fa95b9..a45299ad48 100644 --- a/engines/saga/font.h +++ b/engines/saga/font.h @@ -117,7 +117,11 @@ struct FontCharEntry { struct FontStyle { FontHeader header; FontCharEntry fontCharEntry[256]; +#ifndef __DS__ ByteArray font; +#else + byte* font; +#endif }; struct FontData { diff --git a/gui/gui-manager.cpp b/gui/gui-manager.cpp index f56a9097d5..af1852d56d 100644 --- a/gui/gui-manager.cpp +++ b/gui/gui-manager.cpp @@ -74,6 +74,14 @@ GuiManager::GuiManager() : _redrawStatus(kRedrawDisabled), _stateIsSaved(false), ConfMan.registerDefault("gui_renderer", ThemeEngine::findModeConfigName(ThemeEngine::_defaultRendererMode)); ThemeEngine::GraphicsMode gfxMode = (ThemeEngine::GraphicsMode)ThemeEngine::findMode(ConfMan.get("gui_renderer")); +#ifdef __DS__ + // Searching for the theme file takes ~10 seconds on the DS. + // Disable this search here because external themes are not supported. + if (!loadNewTheme("builtin", gfxMode)) { + // Loading the built-in theme failed as well. Bail out + error("Failed to load any GUI theme, aborting"); + } +#else // Try to load the theme if (!loadNewTheme(themefile, gfxMode)) { // Loading the theme failed, try to load the built-in theme @@ -82,6 +90,7 @@ GuiManager::GuiManager() : _redrawStatus(kRedrawDisabled), _stateIsSaved(false), error("Failed to load any GUI theme, aborting"); } } +#endif } GuiManager::~GuiManager() { diff --git a/gui/launcher.cpp b/gui/launcher.cpp index 792b5bbfbe..86ca3162cb 100644 --- a/gui/launcher.cpp +++ b/gui/launcher.cpp @@ -718,6 +718,8 @@ void LauncherDialog::updateListing() { void LauncherDialog::addGame() { int modifiers = g_system->getEventManager()->getModifierState(); + +#ifndef DISABLE_MASS_ADD const bool massAdd = (modifiers & Common::KBD_SHIFT) != 0; if (massAdd) { @@ -746,6 +748,7 @@ void LauncherDialog::addGame() { updateButtons(); return; } +#endif // Allow user to add a new game to the list. // 1) show a dir selection dialog which lets the user pick the directory @@ -918,7 +921,7 @@ void LauncherDialog::loadGame(int item) { gameId = _domains[item]; const EnginePlugin *plugin = 0; - + EngineMan.findGame(gameId, &plugin); String target = _domains[item]; diff --git a/gui/massadd.cpp b/gui/massadd.cpp index 7b641d71e5..861be970c4 100644 --- a/gui/massadd.cpp +++ b/gui/massadd.cpp @@ -31,7 +31,7 @@ #include "gui/widget.h" #include "gui/widgets/list.h" - +#ifndef DISABLE_MASS_ADD namespace GUI { /* @@ -264,3 +264,4 @@ void MassAddDialog::handleTickle() { } // End of namespace GUI +#endif // DISABLE_MASS_ADD diff --git a/gui/options.cpp b/gui/options.cpp index 5cb70bc5e4..0c9d03af0c 100644 --- a/gui/options.cpp +++ b/gui/options.cpp @@ -138,7 +138,7 @@ void OptionsDialog::init() { _subSpeedDesc = 0; _subSpeedSlider = 0; _subSpeedLabel = 0; - _oldTheme = ConfMan.get("gui_theme"); + _oldTheme = g_gui.theme()->getThemeId(); // Retrieve game GUI options _guioptions = 0; diff --git a/gui/saveload.cpp b/gui/saveload.cpp index 7c7394a71d..460246e5fc 100644 --- a/gui/saveload.cpp +++ b/gui/saveload.cpp @@ -359,8 +359,19 @@ void SaveLoadChooser::updateSaveList() { } // Fill the rest of the save slots with empty saves + + int maximumSaveSlots = (*_plugin)->getMaximumSaveSlot(); + +#ifdef __DS__ + // Low memory on the DS means too many save slots are impractical, so limit + // the maximum here. + if (maximumSaveSlots > 99) { + maximumSaveSlots = 99; + } +#endif + Common::String emptyDesc; - for (int i = curSlot; i <= (*_plugin)->getMaximumSaveSlot(); i++) { + for (int i = curSlot; i <= maximumSaveSlots; i++) { saveNames.push_back(emptyDesc); SaveStateDescriptor dummySave(i, ""); _saveList.push_back(dummySave); |