[Scummvm-cvs-logs] scummvm master -> fb6b61f14e225639bcaa1703e39fee9c0a88f5d8

ScummVM git noreply at scummvm.org
Wed May 18 00:06:07 CEST 2011


This automated email contains information about 5 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
6db6d69eed WINCE: Enable building of plugins with normal configure/make
e46f7dc1c0 WINCE: Fix mouse coordinate scaling when ARM scaler support is active
70fdec6411 WINCE: Replace custom massadd with the global one (shows progress now)
5ed939472a I18N: Small fix for german translation
fb6b61f14e WINCE: Add win32-provider.o to backends/module.mk for WinCE (fixes dynamic plugins)


Commit: 6db6d69eedeb74d4863b2dd964407ca8bca1c4a8
    https://github.com/scummvm/scummvm/commit/6db6d69eedeb74d4863b2dd964407ca8bca1c4a8
Author: CeRiAl (ikhatib at gmail.com)
Date: 2011-05-17T15:04:23-07:00

Commit Message:
WINCE: Enable building of plugins with normal configure/make

Enables building of plugin .dlls without a custom Makefile.
Also removes generation of scummvm.exe.map from configure script.

Changed paths:
    backends/platform/wince/module.mk
    backends/platform/wince/wince-sdl.cpp
    backends/platform/wince/wince.mk
    backends/plugins/sdl/sdl-provider.cpp
    backends/plugins/win32/win32-provider.cpp
    configure



diff --git a/backends/platform/wince/module.mk b/backends/platform/wince/module.mk
index d1c95f5..ddad024 100644
--- a/backends/platform/wince/module.mk
+++ b/backends/platform/wince/module.mk
@@ -21,9 +21,12 @@ MODULE_OBJS := \
 	../../../gui/Key.o \
 	../../../gui/KeysDialog.o \
 	missing/missing.o \
-	PocketSCUMM.o \
 	smartLandScale.o
 
+ifndef DYNAMIC_MODULES
+MODULE_OBJS += PocketSCUMM.o
+endif
+
 # We don't use rules.mk but rather manually update OBJS and MODULE_DIRS.
 MODULE_OBJS := $(addprefix $(MODULE)/, $(MODULE_OBJS))
 OBJS := $(MODULE_OBJS) $(OBJS)
diff --git a/backends/platform/wince/wince-sdl.cpp b/backends/platform/wince/wince-sdl.cpp
index 62d3dd8..a53bc41 100644
--- a/backends/platform/wince/wince-sdl.cpp
+++ b/backends/platform/wince/wince-sdl.cpp
@@ -63,6 +63,7 @@
 #include "backends/mixer/wincesdl/wincesdl-mixer.h"
 
 #ifdef DYNAMIC_MODULES
+#include <malloc.h>
 #include "backends/plugins/win32/win32-provider.h"
 #endif
 
diff --git a/backends/platform/wince/wince.mk b/backends/platform/wince/wince.mk
index 39be1e8..cac3ad4 100644
--- a/backends/platform/wince/wince.mk
+++ b/backends/platform/wince/wince.mk
@@ -2,3 +2,10 @@ backends/platform/wince/PocketSCUMM.o: $(srcdir)/backends/platform/wince/PocketS
 	$(QUIET)$(MKDIR) $(*D)
 	$(WINDRES) $(WINDRESFLAGS) -I$(srcdir)/backends/platform/wince $< $@
 
+ifdef DYNAMIC_MODULES
+plugins: backends/platform/wince/stub.o backends/platform/wince/PocketSCUMM.o
+	$(CXX) backends/platform/wince/stub.o backends/platform/wince/PocketSCUMM.o -L. -lscummvm -o scummvm.exe
+	
+backends/platform/wince/stub.o: $(srcdir)/backends/platform/wince/stub.cpp
+	$(CXX) -c $(srcdir)/backends/platform/wince/stub.cpp -o backends/platform/wince/stub.o
+endif
diff --git a/backends/plugins/sdl/sdl-provider.cpp b/backends/plugins/sdl/sdl-provider.cpp
index 2ebcd77..00520b4 100644
--- a/backends/plugins/sdl/sdl-provider.cpp
+++ b/backends/plugins/sdl/sdl-provider.cpp
@@ -22,7 +22,7 @@
 
 #include "common/scummsys.h"
 
-#if defined(DYNAMIC_MODULES) && defined(SDL_BACKEND)
+#if defined(DYNAMIC_MODULES) && defined(SDL_BACKEND) && !defined(_WIN32_WCE)
 
 #include "backends/plugins/sdl/sdl-provider.h"
 #include "backends/plugins/dynamic-plugin.h"
diff --git a/backends/plugins/win32/win32-provider.cpp b/backends/plugins/win32/win32-provider.cpp
index 5176ec1..bcbc6bd 100644
--- a/backends/plugins/win32/win32-provider.cpp
+++ b/backends/plugins/win32/win32-provider.cpp
@@ -70,8 +70,15 @@ public:
 		#ifndef _WIN32_WCE
 		_dlHandle = LoadLibrary(_filename.c_str());
 		#else
-		if (!_filename.hasSuffix("scummvm.dll"))	// skip loading the core scummvm module
+		if (!_filename.hasSuffix("scummvm.dll") &&
+			!_filename.hasSuffix("libstdc++-6.dll") &&
+			!_filename.hasSuffix("libgcc_s_sjlj-1.dll")) {
+			// skip loading the core scummvm module and runtime dlls
 			_dlHandle = LoadLibrary(toUnicode(_filename.c_str()));
+		} else {
+			// do not generate misleading error message
+			return false;
+		}
 		#endif
 
 		if (!_dlHandle) {
diff --git a/configure b/configure
old mode 100755
new mode 100644
index 46e6eb8..bdbda1a
--- a/configure
+++ b/configure
@@ -1697,8 +1697,8 @@ case $_host_os in
 		fi
 		;;
 	wince)
-		CXXFLAGS="$CXXFLAGS -O3 -fno-inline-functions -march=armv4 -mtune=xscale"
-		DEFINES="$DEFINES -D_WIN32_WCE=300 -D__ARM__ -D_ARM_ -DUNICODE -DFPM_DEFAULT -DNONSTANDARD_PORT"
+		CXXFLAGS="$CXXFLAGS -O3 -fno-inline-functions -march=armv4 -mtune=xscale -D_WIN32_WCE=300 "
+		DEFINES="$DEFINES -D__ARM__ -D_ARM_ -DUNICODE -DFPM_DEFAULT -DNONSTANDARD_PORT"
 		DEFINES="$DEFINES -DWIN32 -Dcdecl= -D__cdecl__="
 		;;
 	# given this is a shell script assume some type of unix
@@ -2054,7 +2054,7 @@ if test -n "$_host"; then
 			add_line_to_config_h "#define USE_WII_KBD"
 			;;
 		wince)
-			LDFLAGS="$LDFLAGS -Wl,-Map,scummvm.exe.map -Wl,--stack,65536"
+			LDFLAGS="$LDFLAGS -Wl,--stack,65536"
 			_need_memalign=yes
 			_arm_asm=yes
 			_tremolo=yes
@@ -2319,6 +2319,24 @@ PRE_OBJS_FLAGS		:= -Wl,--whole-archive
 POST_OBJS_FLAGS		:= -Wl,--export-all-symbols -Wl,--no-whole-archive -Wl,--out-implib,./libscummvm.a
 '
 		;;
+	wince)
+		DEFINES="$DEFINES -DUNCACHED_PLUGINS"
+		HOSTEXEEXT=".dll"
+_def_plugin='
+#define PLUGIN_PREFIX	""
+#define PLUGIN_SUFFIX	".dll"
+'
+_mak_plugins='
+DYNAMIC_MODULES		:= 1
+PLUGIN_PREFIX		:=
+PLUGIN_SUFFIX		:= .dll
+PLUGIN_EXTRA_DEPS	= $(EXECUTABLE)
+CXXFLAGS			+= -DDYNAMIC_MODULES
+PLUGIN_LDFLAGS		:= -shared -lscummvm -L.
+PRE_OBJS_FLAGS		:= -Wl,--whole-archive
+POST_OBJS_FLAGS		:= -Wl,--export-all-symbols -Wl,--no-whole-archive -Wl,--out-implib,./libscummvm.a -shared
+'
+		;;
 	ps2)
 		_elf_loader=yes
 		DEFINES="$DEFINES -DMIPS_TARGET"


Commit: e46f7dc1c02165bad9c7fae6a8fe1fc0a95d70d9
    https://github.com/scummvm/scummvm/commit/e46f7dc1c02165bad9c7fae6a8fe1fc0a95d70d9
Author: CeRiAl (ikhatib at gmail.com)
Date: 2011-05-17T15:04:24-07:00

Commit Message:
WINCE: Fix mouse coordinate scaling when ARM scaler support is active

Changed paths:
    backends/graphics/wincesdl/wincesdl-graphics.cpp



diff --git a/backends/graphics/wincesdl/wincesdl-graphics.cpp b/backends/graphics/wincesdl/wincesdl-graphics.cpp
index 9ece31d..80b04ca 100644
--- a/backends/graphics/wincesdl/wincesdl-graphics.cpp
+++ b/backends/graphics/wincesdl/wincesdl-graphics.cpp
@@ -1160,16 +1160,16 @@ void WINCESdlGraphicsManager::adjustMouseEvent(const Common::Event &event) {
 	if (!event.synthetic) {
 		Common::Event newEvent(event);
 		newEvent.synthetic = true;
+		/*
 		if (!_overlayVisible) {
-			/*
 			newEvent.mouse.x = newEvent.mouse.x * _scaleFactorXd / _scaleFactorXm;
 			newEvent.mouse.y = newEvent.mouse.y * _scaleFactorYd / _scaleFactorYm;
 			newEvent.mouse.x /= _videoMode.scaleFactor;
 			newEvent.mouse.y /= _videoMode.scaleFactor;
-			*/
 			if (_videoMode.aspectRatioCorrection)
 				newEvent.mouse.y = aspect2Real(newEvent.mouse.y);
 		}
+		*/
 		g_system->getEventManager()->pushEvent(newEvent);
 	}
 }


Commit: 70fdec6411f3754bf14285dd00b13461a3d868ad
    https://github.com/scummvm/scummvm/commit/70fdec6411f3754bf14285dd00b13461a3d868ad
Author: CeRiAl (ikhatib at gmail.com)
Date: 2011-05-17T15:04:25-07:00

Commit Message:
WINCE: Replace custom massadd with the global one (shows progress now)

Replaces the formerly custom WinCE massadd function (CELauncherDialog::automaticScanDirectory) with the global one, which is better because it shows progress (massadd in combination with a uncached plugin build takes a very long time to complete and user thinks device has crashed when no progress is shown).
Also fixes the additional custom WinCE about dialog (text was cut off before).

Changed paths:
    backends/platform/wince/CELauncherDialog.cpp
    backends/platform/wince/CELauncherDialog.h



diff --git a/backends/platform/wince/CELauncherDialog.cpp b/backends/platform/wince/CELauncherDialog.cpp
index 7fb8782..9c832dd 100644
--- a/backends/platform/wince/CELauncherDialog.cpp
+++ b/backends/platform/wince/CELauncherDialog.cpp
@@ -47,12 +47,9 @@ public:
 	CEAboutDialog()
 		: Dialog(10, 60, 300, 77) {
 		char tempo[100];
-
-		// FIXME: Fingolfin asks: why is there a FIXME here? Please either clarify what
-		// needs fixing, or remove it!
 		const int buttonWidth = g_gui.xmlEval()->getVar("Globals.Button.Width", 0);
 		const int buttonHeight = g_gui.xmlEval()->getVar("Globals.Button.Height", 0);
-		new ButtonWidget(this, (_w - buttonWidth) / 2, 45, buttonWidth, buttonHeight, _("OK"), 0, kCloseCmd, '\r'); // Close dialog - FIXME
+		new ButtonWidget(this, (_w - buttonWidth) / 2, 55, buttonWidth, buttonHeight, _("OK"), 0, kCloseCmd, '\r');
 
 		Common::String videoDriver(_("Using SDL driver "));
 		SDL_VideoDriverName(tempo, sizeof(tempo));
@@ -61,7 +58,7 @@ public:
 		Common::String displayInfos(_("Display "));
 		sprintf(tempo, "%dx%d (real %dx%d)", GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), OSystem_WINCE3::getScreenWidth(), OSystem_WINCE3::getScreenHeight());
 		displayInfos += tempo;
-		new StaticTextWidget(this, 0, 20, _w, kLineHeight, displayInfos, Graphics::kTextAlignCenter);
+		new StaticTextWidget(this, 0, 30, _w, kLineHeight, displayInfos, Graphics::kTextAlignCenter);
 	}
 };
 
@@ -76,39 +73,22 @@ void CELauncherDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 d
 	}
 }
 
-void CELauncherDialog::automaticScanDirectory(const Common::FSNode &node) {
-	// First check if we have a recognized game in the current directory
-	Common::FSList files;
-	node.getChildren(files, Common::FSNode::kListFilesOnly);
-	// detect
-	GameList candidates(EngineMan.detectGames(files));
-	// insert
-	if (candidates.size() >= 1) {
-		GameDescriptor result = candidates[0];
-		result["path"] = node.getPath();
-		addGameToConf(result);
-	}
-	// Then recurse on the subdirectories
-	Common::FSList dirs;
-	node.getChildren(dirs, Common::FSNode::kListDirectoriesOnly);
-	for (Common::FSList::const_iterator currentDir = dirs.begin(); currentDir != dirs.end(); ++currentDir)
-		automaticScanDirectory(*currentDir);
-
-}
-
-/* FIXME: We do this here, replicating code of the launcher, because findfirst/next
- * returns some illegal paths atm.
- */
 void CELauncherDialog::addGame() {
 	MessageDialog alert(_("Do you want to perform an automatic scan ?"), _("Yes"), _("No"));
 	if (alert.runModal() == kMessageOK && _browser->runModal() > 0) {
-		// Clear existing domains
-		ConfigManager::DomainMap &domains = (ConfigManager::DomainMap &)ConfMan.getGameDomains();
-		domains.clear();
-		ConfMan.flushToDisk();
-		automaticScanDirectory(_browser->getResult());
-		ConfMan.flushToDisk();
-		updateListing();
+		MassAddDialog massAddDlg(_browser->getResult());
+
+		massAddDlg.runModal();
+
+		// Update the ListWidget and force a redraw
+
+		// If new target(s) were added, update the ListWidget and move
+		// the selection to to first newly detected game.
+		Common::String newTarget = massAddDlg.getFirstAddedTarget();
+		if (!newTarget.empty()) {
+			updateListing();
+			selectTarget(newTarget);
+		}
 		draw();
 	} else
 		GUILauncherDialog::addGame();
diff --git a/backends/platform/wince/CELauncherDialog.h b/backends/platform/wince/CELauncherDialog.h
index 974b63c..ac84cd3 100644
--- a/backends/platform/wince/CELauncherDialog.h
+++ b/backends/platform/wince/CELauncherDialog.h
@@ -26,6 +26,7 @@
 #include "base/plugins.h"
 #include "common/fs.h"
 #include "gui/launcher.h"
+#include "gui/massadd.h"
 
 class CELauncherDialog : public GUI::LauncherDialog {
 public:
@@ -33,7 +34,6 @@ public:
 	virtual void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data);
 protected:
 	void addGame();
-	void automaticScanDirectory(const Common::FSNode &node);
 };
 
 typedef GUI::LauncherDialog GUILauncherDialog;


Commit: 5ed939472a0985148ef354c30734f62ac7b1e9f9
    https://github.com/scummvm/scummvm/commit/5ed939472a0985148ef354c30734f62ac7b1e9f9
Author: CeRiAl (ikhatib at gmail.com)
Date: 2011-05-17T15:04:26-07:00

Commit Message:
I18N: Small fix for german translation

Changed paths:
    po/de_DE.po



diff --git a/po/de_DE.po b/po/de_DE.po
index f5ded40..ac167b7 100755
--- a/po/de_DE.po
+++ b/po/de_DE.po
@@ -2188,15 +2188,15 @@ msgstr "Drehen"
 
 #: backends/platform/wince/CELauncherDialog.cpp:60
 msgid "Using SDL driver "
-msgstr "SDL-Treiber verwenden"
+msgstr "Verwende SDL-Treiber "
 
 #: backends/platform/wince/CELauncherDialog.cpp:64
 msgid "Display "
-msgstr "Anzeige"
+msgstr "Anzeige "
 
 #: backends/platform/wince/CELauncherDialog.cpp:106
 msgid "Do you want to perform an automatic scan ?"
-msgstr "Möchten Sie eine automatische Durchsuchung vornehmen?"
+msgstr "Möchten Sie eine automatische Suche durchführen?"
 
 #: backends/platform/wince/wince-sdl.cpp:486
 msgid "Map right click action"


Commit: fb6b61f14e225639bcaa1703e39fee9c0a88f5d8
    https://github.com/scummvm/scummvm/commit/fb6b61f14e225639bcaa1703e39fee9c0a88f5d8
Author: CeRiAl (ikhatib at gmail.com)
Date: 2011-05-17T15:04:27-07:00

Commit Message:
WINCE: Add win32-provider.o to backends/module.mk for WinCE (fixes dynamic plugins)

Changed paths:
    backends/module.mk



diff --git a/backends/module.mk b/backends/module.mk
index c665b66..15af3ab 100644
--- a/backends/module.mk
+++ b/backends/module.mk
@@ -163,7 +163,8 @@ MODULE_OBJS += \
 	fs/windows/windows-fs.o \
 	fs/windows/windows-fs-factory.o \
 	graphics/wincesdl/wincesdl-graphics.o \
-	mixer/wincesdl/wincesdl-mixer.o
+	mixer/wincesdl/wincesdl-mixer.o \
+	plugins/win32/win32-provider.o
 endif
 
 ifeq ($(BACKEND),wii)






More information about the Scummvm-git-logs mailing list