[Scummvm-cvs-logs] SF.net SVN: scummvm: [30457] scummvm/branches/branch-0-11-0/backends/ platform/maemo/scummvm-0.11.0-maemo.patch

sev at users.sourceforge.net sev at users.sourceforge.net
Sat Jan 12 23:27:29 CET 2008


Revision: 30457
          http://scummvm.svn.sourceforge.net/scummvm/?rev=30457&view=rev
Author:   sev
Date:     2008-01-12 14:27:28 -0800 (Sat, 12 Jan 2008)

Log Message:
-----------
Patch #1869152: "MAEMO port preliminary patch"

Added Paths:
-----------
    scummvm/branches/branch-0-11-0/backends/platform/maemo/scummvm-0.11.0-maemo.patch

Added: scummvm/branches/branch-0-11-0/backends/platform/maemo/scummvm-0.11.0-maemo.patch
===================================================================
--- scummvm/branches/branch-0-11-0/backends/platform/maemo/scummvm-0.11.0-maemo.patch	                        (rev 0)
+++ scummvm/branches/branch-0-11-0/backends/platform/maemo/scummvm-0.11.0-maemo.patch	2008-01-12 22:27:28 UTC (rev 30457)
@@ -0,0 +1,702 @@
+diff -Naur scummvm-0.11.orig/debian/changelog scummvm-0.11/debian/changelog
+--- scummvm-0.11.orig/debian/changelog	1970-01-01 01:00:00.000000000 +0100
++++ scummvm-0.11/debian/changelog	2008-01-12 22:26:50.000000000 +0100
+@@ -0,0 +1,69 @@
++scummvm (0.11.0-0) unstable; urgency=low
++
++  * upstream 0.11 release
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Sat, 12 Jan 2008 22:26:34 +0100
++scummvm (0.10.0-5) unstable; urgency=low
++
++  * fixed for chinook, menu selection postinst script added
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Thu, 25 Oct 2007 09:56:32 +0200
++scummvm (0.10.0-4) unstable; urgency=low
++
++  * AGI - added pred.dic to DATA_PATH (=/usr/share/scummvm) to enable
++    predictive input
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Tue, 28 Aug 2007 09:58:29 +0200
++scummvm (0.10.0-3) unstable; urgency=low
++
++  * SCUMM - added mapping also for key up events (may fix right button in FT?)
++  * SWORD2 - added right button press mapping (not tested)
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Mon, 20 Aug 2007 22:39:07 +0200
++scummvm (0.10.0-2) unstable; urgency=low
++
++  * Future Wars - add mapping for left/up/down/right,zoom +/-
++  * fix SDL backend to set mouse position on button down event
++    as we may not have mousemove events with touchscreen
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Fri, 13 Jul 2007 09:56:37 +0200
++scummvm (0.10.0-1) unstable; urgency=low
++
++  * mapped F10 in Future Wars to menu key
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Wed, 11 Jul 2007 22:20:00 +0200
++scummvm (0.10.0) unstable; urgency=low
++
++  * upstream 0.10 release, enabled FLAC too
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Wed,  4 Jul 2007 12:48:48 +0200
++scummvm (0.9.1-1) unstable; urgency=low
++
++  * 0.9.1 mapped right mouse button in sword1
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Mon, 18 Jun 2007 21:15:31 +0200
++scummvm (0.9.1) unstable; urgency=low
++
++  * 0.9.1 upstream release
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Wed,  1 Nov 2006 20:40:51 +0100
++scummvm (0.9.0-3) unstable; urgency=low
++
++  * merged fixes in 0.9.0 upstream branch
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Mon,  9 Oct 2006 15:40:59 +0200
++scummvm (0.9.0-2) unstable; urgency=low
++
++  * merged fixes in 0.9.0 upstream branch
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Sat, 12 Aug 2006 20:10:47 +0200
++scummvm (0.9.0-1) unstable; urgency=low
++
++  * merged changes in 0.9.0 upstream release
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Sun, 23 Jul 2006 22:29:51 +0200
++scummvm (0.9.0) unstable; urgency=low
++
++  * 0.9.0 upstream release
++
++ -- Frantisek Dufka <dufkaf at seznam.cz>  Tue, 27 Jun 2006 20:30:54 +0200
+diff -Naur scummvm-0.11.orig/debian/compat scummvm-0.11/debian/compat
+--- scummvm-0.11.orig/debian/compat	1970-01-01 01:00:00.000000000 +0100
++++ scummvm-0.11/debian/compat	2008-01-06 20:45:14.000000000 +0100
+@@ -0,0 +1 @@
++4
+diff -Naur scummvm-0.11.orig/debian/control scummvm-0.11/debian/control
+--- scummvm-0.11.orig/debian/control	1970-01-01 01:00:00.000000000 +0100
++++ scummvm-0.11/debian/control	2008-01-06 20:45:14.000000000 +0100
+@@ -0,0 +1,47 @@
++Source: scummvm
++Section: user/games
++Priority: optional
++Maintainer: Frantisek Dufka <dufkaf at seznam.cz>
++Build-Depends: debhelper (>> 4.0.0), libsdl1.2-dev
++
++Standards-Version: 3.6.1.1
++Package: scummvm
++Pre-Depends: maemo-select-menu-location
++Depends: ${shlibs:Depends}
++Architecture: any
++Section: user/games
++Description: free implementation of LucasArts' S.C.U.M.M interpreter
++ ScummVM is a virtual machine for classic graphical adventure games.
++ This package does not contain any actual games.
++XBS-Maemo-Icon-26:
++  iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAACelLz8AAAC/VBMVEUICwcH
++  CQUKDAgLDQoMDwsOEAwREAUPEQ0QEg8PFQoRExAUEwoVFAwPGAcTFBIRFg0W
++  FQ0XFg4RGgkTGA8XGQsTGwwUHA0aGRIWGxMXHQkVHQ8aGhMbGxQcHQocGxUZ
++  HwsYIgcfHxgeIRUbJQwhIBofJAweJwgfKQocKwwgKgshKw0gLggfLg8jLQ8n
++  LwwpLhEmMwcoMRQjNgotLCYmNwQlNwwqOBQtOQgsOQ8xNh4sPQswNyQqQAUw
++  PAsuOiAsQgcwOyIqRgIsSAQvRgs0PyY1Rg06RA0+PDAwSwg2RxUzTQE4TQsz
++  VAc/SSo6VAk4VwE6VRM2XAVAUC85XwlJVCNEXQo+YwJGXwxMWS1JXC5AagBI
++  awJUagRIcQBSbwpHeAJTaD9OdwNXcwJKewZNfABacRlOfQBPfgBQfwBMggBW
++  fgBNgwNSgQJOhAVecUJjdSZefwNUiABZhgBjeDZieDxhezFQjQBgghZkhQ5j
++  iQJUkAZcixJmgDZnhCtckQpblgBekw5clwBqgkthlQBdmAJriz90hz5omgBs
++  mAhxlgd0mAB5lgBpnA16khdzmAtxnABooQBtnwB4jUpzngBkpQR5nQF8j0Vr
++  pQduoRZ4nRR3k014oQBzpAt8oAh/ogBvqA5trACBmypwqRF1pw+GogCAow+D
++  pQB8phJ/nUNurxh0rRd4rwmHqQd6qDOArwCJqwyDsgCMrgB8ryiFtAB7uQN8
++  sDKBuAWOsBWJqFR8ti2IsiOSswaBuRt6vxCOtgqXsgePrjR9wQCFuw2KuQyB
++  uSeSuACEux6JuR2OvACAxACEvCuSuhOHujSMwQGTtiqfuACRvwGOvRWHuz2T
++  wASPwwmYvwaLvTebuxiWvhmSwBqZwAmNu0aevgiKvkCVviaMvE6bwQycuTid
++  vhylvQyZwB2cwg+QywCawR6fwB+bwyGI0gaewCudxCOjwyOT1ACmwjiX0g+j
++  xTqmxzOd1gCV0i6kyyuoyTah1Sif2h6tzjukzF+pz1uq1Eeg2Uml3U1kaLAB
++  AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAHrSURBVCjPY2BAAC5ubkFB
++  BkzAzggDfKgSUFEmKCmOIsPvktA0aVpbSYQ+FwsjkwpMBsi2m/X7z89v3759
++  +ngg1UqIlZEVponJYcW/rw9unH/04u2bc0vbo+WZWGCahEv/fj+6Yc2SZfv3
++  b5w6+eACHVYWmCazMz+unN44b3ZfV3dnx5yDiaKsUAOZGD2/fL58+PSGg3Gu
++  buEVWyZacLCzw6S8X324fOHqibMxWpKy5okBIjAZoNOt9r47e+HOnafbe/ND
++  DNWkOGAyDKwsCtXPTly4eufqm+fvHy4M1RRggsnJMLI6z9x99Oqtx7cuPP/2
++  ele5LjtCGyObbcHcDfuevHn+5s319RuSpOByrEwcwsqhlcvXHbp38+LxiXP6
++  DeBSTKzWvkrCun5Zq04dO7S6p67ZHibFziiRt6PYUk5YtfbUqSMTGnKyHaFS
++  rMDA3fHr7tqayKDWa0dWVmXHp5lCpRgZ2QI2HTl25NLt+1t3rppRFJ8SrwGX
++  4g9rmbJo0cpVqxZNaK5OS0nzF4NLMWkHZ1TVN9bXlxXmAo2L0uNgZITaxcjI
++  axAYH5+RATQrPtZHk5udA+Z2cIpQN3Hy8vOwMVLmYGTidoenDSawLAsnJz8L
++  kMUiY4ySpviYoKmKRVAcIyXKyIiLyygi+ADqVqrAkApevwAAAABJRU5ErkJg
++  gg==
+diff -Naur scummvm-0.11.orig/debian/copyright scummvm-0.11/debian/copyright
+--- scummvm-0.11.orig/debian/copyright	1970-01-01 01:00:00.000000000 +0100
++++ scummvm-0.11/debian/copyright	2008-01-12 22:40:37.000000000 +0100
+@@ -0,0 +1,20 @@
++ScummVM was debianized by Bastien Nocera <hadess at hadess.net> the 5th Apr 2002.
++It was adopted by Tore Anderson <tore at linpro.no> the 4th Oct 2002.
++Packaged for the Maemo platform by Tomas Junnoen <tomas at fs-security.com> Oct 2005
++Since 0.8.2 packaging for Maemo done by Frantisek Dufka <dufkaf at seznam.cz>
++
++It was downloaded from <http://www.scummvm.org/>.
++
++Upstream Authors: see AUTHORS file of the ScummVM source distribution.
++
++Copyright:
++
++ 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, or (at your option) any
++ later version.
++
++ On Debian GNU/Linux systems, the complete text of the GNU General
++ Public License can be found in `/usr/share/common-licenses/GPL'.
++
++This copyright also applies to the Debian-related build scripts.
+diff -Naur scummvm-0.11.orig/debian/files scummvm-0.11/debian/files
+--- scummvm-0.11.orig/debian/files	1970-01-01 01:00:00.000000000 +0100
++++ scummvm-0.11/debian/files	2008-01-12 22:27:20.000000000 +0100
+@@ -0,0 +1 @@
++scummvm_0.11.0-0_armel.deb user/games optional
+diff -Naur scummvm-0.11.orig/debian/postinst scummvm-0.11/debian/postinst
+--- scummvm-0.11.orig/debian/postinst	1970-01-01 01:00:00.000000000 +0100
++++ scummvm-0.11/debian/postinst	2008-01-06 20:45:14.000000000 +0100
+@@ -0,0 +1,3 @@
++#! /bin/sh
++maemo-select-menu-location scummvm.desktop tana_fi_games
++exit 0
+diff -Naur scummvm-0.11.orig/debian/rules scummvm-0.11/debian/rules
+--- scummvm-0.11.orig/debian/rules	1970-01-01 01:00:00.000000000 +0100
++++ scummvm-0.11/debian/rules	2008-01-11 22:16:49.000000000 +0100
+@@ -0,0 +1,49 @@
++#!/usr/bin/make -f
++
++build: scummvm
++
++scummvm:
++	dh_testdir
++#	CXXFLAGS="-Os -mcpu=arm926ej-s -fomit-frame-pointer -DMAEMO_SDL" ./configure  --host=arm-linux --prefix=/usr --disable-debug --disable-mt32emu  --disable-hq-scalers --with-tremor-prefix=/usr --enable-tremor --with-zlib-prefix=/usr --enable-zlib --with-mad-prefix=/usr --enable-mad --enable-flac --disable-fluidsynth
++##  --enable-plugins --disable-scumm-7-8
++	$(MAKE)
++
++clean:
++	dh_testdir
++	dh_testroot
++	-$(MAKE) distclean
++	dh_clean
++
++install: build
++	dh_testdir
++	dh_testroot
++	dh_clean
++	dh_installdirs
++	install -m0755 scummvm debian/scummvm/usr/games/scummvm.bin
++	install -m0755 dists/maemo/scummvm.wrapper debian/scummvm/usr/games/scummvm
++	install -m0644 dists/maemo/scummvm.desktop debian/scummvm/usr/share/applications/hildon
++	install -m0644 icons/scummvm.xpm debian/scummvm/usr/share/icons
++#	install -m0644 -d debian/scummvm/usr/lib/scummvm
++#	install -m0644 plugins/lib*.so debian/scummvm/usr/lib/scummvm
++	install -m0644 -d debian/scummvm/usr/share/scummvm
++	install -m0644 dists/pred.dic debian/scummvm/usr/share/scummvm
++#	install -m0644 gui/themes/modern.ini gui/themes/modern.zip gui/themes/classic080.ini debian/scummvm/usr/share/scummvm
++	 
++binary: binary-arch
++
++binary-arch: build install
++	dh_testdir
++	dh_testroot
++	dh_installchangelogs NEWS
++	dh_link
++	dh_strip
++	dh_fixperms
++	dh_installdeb
++	dh_shlibdeps
++	dh_gencontrol
++	dh_md5sums
++	dh_builddeb
++
++binary-indep:
++
++.PHONY: build clean binary install binary-arch binary-indep
+diff -Naur scummvm-0.11.orig/debian/scummvm.dirs scummvm-0.11/debian/scummvm.dirs
+--- scummvm-0.11.orig/debian/scummvm.dirs	1970-01-01 01:00:00.000000000 +0100
++++ scummvm-0.11/debian/scummvm.dirs	2008-01-06 20:45:14.000000000 +0100
+@@ -0,0 +1,3 @@
++usr/games
++usr/share/icons
++usr/share/applications/hildon
+\ No newline at end of file
+diff -Naur scummvm-0.11.orig/debian/scummvm.links scummvm-0.11/debian/scummvm.links
+--- scummvm-0.11.orig/debian/scummvm.links	1970-01-01 01:00:00.000000000 +0100
++++ scummvm-0.11/debian/scummvm.links	2008-01-06 20:45:14.000000000 +0100
+@@ -0,0 +1 @@
++/var/lib/install/usr/share/applications/scummvm.desktop /etc/others-menu/extra_applications/scummvm.desktop
+diff -Naur scummvm-0.11.orig/debian/scummvm.substvars scummvm-0.11/debian/scummvm.substvars
+--- scummvm-0.11.orig/debian/scummvm.substvars	1970-01-01 01:00:00.000000000 +0100
++++ scummvm-0.11/debian/scummvm.substvars	2008-01-12 22:27:19.000000000 +0100
+@@ -0,0 +1 @@
++shlibs:Depends=libc6 (>= 2.3.5-1), libgcc1 (>= 1:3.4.4), libsdl1.2, libstdc++6 (>= 3.4.4), zlib1g (>= 1:1.2.1)
+--- scummvm-0.11.orig/engines/sword1/sword1.cpp	2008-01-12 00:06:35.000000000 +0100
++++ scummvm-0.11/engines/sword1/sword1.cpp	2008-01-06 21:06:26.000000000 +0100
+@@ -722,8 +722,21 @@
+ 		while (_eventMan->pollEvent(event)) {
+ 			switch (event.type) {
+ 			case Common::EVENT_KEYDOWN:
++#ifdef MAEMO_SDL
++// map center to right button
++				if (event.kbd.keycode == 13) {
++					_mouseState |= BS1R_BUTTON_DOWN;
++				} else
++#endif
+ 				_keyPressed = event.kbd;
+ 				break;
++#ifdef MAEMO_SDL
++			case Common::EVENT_KEYUP:
++				if (event.kbd.keycode == 13) {
++					_mouseState |= BS1R_BUTTON_UP;
++				}
++				break;
++#endif
+ 			case Common::EVENT_MOUSEMOVE:
+ 				_mouseCoord = event.mouse;
+ 				break;
+--- scummvm-0.11.orig/engines/sword2/sword2.cpp	2008-01-12 00:06:35.000000000 +0100
++++ scummvm-0.11/engines/sword2/sword2.cpp	2008-01-06 20:50:57.000000000 +0100
+@@ -552,11 +552,28 @@
+ 						_gameSpeed = 1;
+ 				}
+ 			}
++#ifdef MAEMO_SDL
++// map center to right button
++			else if (event.kbd.keycode == 13 && !(_inputEventFilter & RD_RIGHTBUTTONDOWN)) {
++				_mouseEvent.pending = true;
++				_mouseEvent.buttons = RD_RIGHTBUTTONDOWN;
++			} else
++#endif
+ 			if (!(_inputEventFilter & RD_KEYDOWN)) {
+ 				_keyboardEvent.pending = true;
+ 				_keyboardEvent.kbd = event.kbd;
+ 			}
++ 
++			break;
++#ifdef MAEMO_SDL
++		case Common::EVENT_KEYUP:
++// map center to right button
++			if (event.kbd.keycode == 13 && !(_inputEventFilter & RD_RIGHTBUTTONUP)) {
++				_mouseEvent.pending = true;
++				_mouseEvent.buttons = RD_RIGHTBUTTONUP;
++			}
+ 			break;
++#endif
+ 		case Common::EVENT_LBUTTONDOWN:
+ 			if (!(_inputEventFilter & RD_LEFTBUTTONDOWN)) {
+ 				_mouseEvent.pending = true;
+--- scummvm-0.11.orig/engines/scumm/input.cpp	2008-01-12 00:06:35.000000000 +0100
++++ scummvm-0.11/engines/scumm/input.cpp	2008-01-07 13:50:01.000000000 +0100
+@@ -89,6 +89,20 @@
+ 				_keyPressed = event.kbd;
+ 			}
+ 
++#ifdef	MAEMO_SDL
++		switch (_keyPressed.keycode) {
++			case Common::KEYCODE_F8: _fastMode ^= 1; break ;// Map F8 (zoom out) to toggle fast mode                                                                                             
++			case Common::KEYCODE_F4: _keyPressed.keycode = Common::KEYCODE_F5; _keyPressed.ascii=Common::ASCII_F5 ; break; // map F4 to F5 (menu key)
++			case Common::KEYCODE_RETURN: _keyPressed.keycode = Common::KEYCODE_TAB; _keyPressed.ascii=Common::ASCII_TAB ; break; // map Select (return) to Tab (right mouse button)
++			case Common::KEYCODE_F7: if(_game.id == GID_MONKEY2){ _keyPressed.ascii = '1';_keyPressed.keycode=Common::KEYCODE_1;} break; // map F7 (zoom in) to 1 (to bypass Monkey2 copy protection)
++			default: ;
++		}
++		if (_game.version < 7) switch(event.kbd.keycode){
++			case Common::KEYCODE_UP: _keyPressed.ascii = ' '; _keyPressed.keycode=Common::KEYCODE_SPACE; break ;// map Up to space (pause game)
++			case Common::KEYCODE_DOWN: _keyPressed.ascii ='.'; _keyPressed.keycode=Common::KEYCODE_PERIOD; break ;// map Down to . (skip one line of dialog)
++			default: ;
++		}
++#endif
+ 			if (_game.heversion >= 80) {
+ 				// FIXME: Move this code & VAR_KEY_STATE to class ScummEngine_v80he
+ 
+@@ -131,6 +145,21 @@
+ 			break;
+ 
+ 		case Common::EVENT_KEYUP:
++#ifdef	MAEMO_SDL
++			// map keyup with similar rules as keydown
++			switch (event.kbd.keycode) {
++
++				case Common::KEYCODE_F4: event.kbd.keycode = Common::KEYCODE_F5; event.kbd.ascii=Common::ASCII_F5 ; break; // map F4 to F5 (menu key)
++				case Common::KEYCODE_RETURN: event.kbd.keycode = Common::KEYCODE_TAB; event.kbd.ascii=Common::ASCII_TAB ; break; // map Select (return) to Tab (right mouse button)
++				case Common::KEYCODE_F7: if(_game.id == GID_MONKEY2){ event.kbd.ascii = '1';event.kbd.keycode=Common::KEYCODE_1;} break; // map F7 (zoom in) to 1 (to bypass Monkey2 copy protection)
++				default: ;
++			}
++			if (_game.version < 7) switch(event.kbd.keycode){
++				case Common::KEYCODE_UP: event.kbd.ascii = ' '; event.kbd.keycode=Common::KEYCODE_SPACE; break ;// map Up to space (pause game)
++				case Common::KEYCODE_DOWN: event.kbd.ascii ='.'; event.kbd.keycode=Common::KEYCODE_PERIOD; break ;// map Down to . (skip one line of dialog)
++				default: ;
++			}
++#endif
+ 			if (event.kbd.ascii >= 512) {
+ 				debugC(DEBUG_GENERAL, "keyPressed > 512 (%d)", event.kbd.ascii);
+ 			} else {
+@@ -480,9 +509,10 @@
+ 		if (VAR_SAVELOAD_SCRIPT != 0xFF && _currentRoom != 0)
+ 			runScript(VAR(VAR_SAVELOAD_SCRIPT2), 0, 0, 0);
+ 
++#ifndef MAEMO_SDL
+ 	} else if (restartKeyEnabled && (lastKeyHit.keycode == Common::KEYCODE_F8 && lastKeyHit.flags == 0)) {
+ 		confirmRestartDialog();
+-
++#endif
+ 	} else if (pauseKeyEnabled && (lastKeyHit.keycode == Common::KEYCODE_SPACE && lastKeyHit.flags == 0)) {
+ 		pauseGame();
+ 
+--- scummvm-0.11.orig/engines/scumm/dialogs.cpp	2008-01-12 00:06:35.000000000 +0100
++++ scummvm-0.11/engines/scumm/dialogs.cpp	2008-01-06 21:52:30.000000000 +0100
+@@ -818,7 +818,11 @@
+ }
+ 
+ void PauseDialog::handleKeyDown(Common::KeyState state) {
++#ifdef MAEMO_SDL
++	if (state.ascii == ' ' || state.keycode==273 )  // Close pause dialog if space or UP key is pressed
++#else
+ 	if (state.ascii == ' ')  // Close pause dialog if space key is pressed
++#endif
+ 		close();
+ 	else
+ 		ScummDialog::handleKeyDown(state);
+@@ -885,12 +889,19 @@
+ }
+ 
+ void ValueDisplayDialog::handleKeyDown(Common::KeyState state) {
++#ifdef MAEMO_SDL
++        if (state.ascii == _incKey || state.ascii == _decKey || state.keycode == 275 || state.keycode == 276) {
++                if ((state.ascii == _incKey || state.keycode == 275 ) && _value < _max)
++                        _value++;
++                else if ((state.ascii == _decKey || state.keycode == 276) && _value > _min)
++                        _value--;
++#else
+ 	if (state.ascii == _incKey || state.ascii == _decKey) {
+ 		if (state.ascii == _incKey && _value < _max)
+ 			_value++;
+ 		else if (state.ascii == _decKey && _value > _min)
+ 			_value--;
+-
++#endif
+ 		setResult(_value);
+ 		_timer = getMillis() + kDisplayDelay;
+ 		draw();
+--- scummvm-0.11.orig/engines/touche/touche.cpp	2008-01-12 00:06:35.000000000 +0100
++++ scummvm-0.11/engines/touche/touche.cpp	2008-01-10 23:09:41.000000000 +0100
+@@ -294,6 +294,13 @@
+ 			_flagsTable[611] = 1;
+ 			break;
+ 		case Common::EVENT_KEYDOWN:
++#ifdef	MAEMO_SDL
++			if (event.kbd.keycode == 13) { // select button simulates righ button toggle
++				_inp_rightMouseButtonPressed=!_inp_rightMouseButtonPressed;
++			} else {
++				_inp_rightMouseButtonPressed = false;
++			}
++#endif
+ 			if (!handleKeyEvents) {
+ 				break;
+ 			}
+@@ -302,15 +309,25 @@
+ 				if (_displayQuitDialog) {
+ 					_flagsTable[611] = displayQuitDialog();
+ 				}
++#ifdef	MAEMO_SDL
++			} else if (event.kbd.keycode == Common::KEYCODE_F4) {
++#else
+ 			} else if (event.kbd.keycode == Common::KEYCODE_F5) {
++#endif
+ 				if (_flagsTable[618] == 0 && !_hideInventoryTexts) {
+ 					handleOptions(0);
+ 				}
++#ifdef	MAEMO_SDL
++			} else if (event.kbd.keycode == Common::KEYCODE_F8) {
++				_fastWalkMode = !_fastWalkMode;
++			}
++#else
+ 			} else if (event.kbd.keycode == Common::KEYCODE_F9) {
+ 				_fastWalkMode = true;
+ 			} else if (event.kbd.keycode == Common::KEYCODE_F10) {
+ 				_fastWalkMode = false;
+ 			}
++#endif
+ 			if (event.kbd.flags == Common::KBD_CTRL) {
+ 				if (event.kbd.keycode == Common::KEYCODE_d) {
+ 					// enable debugging stuff ?
+@@ -333,6 +350,10 @@
+ 		case Common::EVENT_LBUTTONDOWN:
+ 			_inp_leftMouseButtonPressed = true;
+ 			break;
++		case Common::EVENT_LBUTTONUP:
++			// this is done elsewhere _inp_leftMouseButtonPressed = false;
++			_inp_rightMouseButtonPressed = false; // simulate rbutton up to close menu
++			break;
+ 		case Common::EVENT_RBUTTONDOWN:
+ 			_inp_rightMouseButtonPressed = true;
+ 			break;
+--- scummvm-0.11.orig/engines/sky/sky.cpp	2008-01-12 00:06:35.000000000 +0100
++++ scummvm-0.11/engines/sky/sky.cpp	2008-01-06 22:31:44.000000000 +0100
+@@ -524,6 +524,17 @@
+ 			switch (event.type) {
+ 			case Common::EVENT_KEYDOWN:
+ 				_keyPressed = event.kbd;
++#ifdef	MAEMO_SDL
++				// Maemo platform keybindings
++				if (_keyPressed.keycode == Common::KEYCODE_F4) // Map F4 (menu) to F5 (access main menu)
++					_keyPressed.keycode = Common::KEYCODE_F5;
++				if (_keyPressed.ascii == 13) // Map Select=Enter to right mouse button
++					_skyMouse->buttonPressed(1);
++				if (_keyPressed.keycode == Common::KEYCODE_F8) // Map F8 (zoom out) to toggle fast mode
++					_fastMode ^= 1;
++				if (_keyPressed.keycode == Common::KEYCODE_DOWN) // Map Down to . (skip one line of dialog)
++					_keyPressed.ascii = '.';
++#endif
+ 				break;
+ 			case Common::EVENT_MOUSEMOVE:
+ 				if (!(_systemVars.systemFlags & SF_MOUSE_LOCKED))
+--- scummvm-0.11.orig/engines/gob/util.cpp	2008-01-12 00:06:35.000000000 +0100
++++ scummvm-0.11/engines/gob/util.cpp	2008-01-06 20:52:51.000000000 +0100
+@@ -107,6 +107,12 @@
+ 			_mouseButtons &= ~2;
+ 			break;
+ 		case Common::EVENT_KEYDOWN:
++#ifdef MAEMO_SDL
++			if (event.kbd.keycode==285){
++				_mouseButtons |= 2;
++				break;
++			}
++#endif
+ 			if (event.kbd.flags == Common::KBD_CTRL) {
+ 				if (event.kbd.keycode == Common::KEYCODE_f)
+ 					_fastMode ^= 1;
+@@ -117,6 +123,10 @@
+ 			addKeyToBuffer(event.kbd);
+ 			break;
+ 		case Common::EVENT_KEYUP:
++#ifdef MAEMO_SDL
++			if (event.kbd.keycode==285)
++				_mouseButtons &= ~2;
++#endif
+ 			break;
+ 		case Common::EVENT_QUIT:
+ 			_vm->_quitRequested = true;
+--- scummvm-0.11.orig/engines/lure/menu.cpp	2008-01-12 00:06:35.000000000 +0100
++++ scummvm-0.11/engines/lure/menu.cpp	2008-01-07 21:07:54.000000000 +0100
+@@ -34,7 +34,7 @@
+ #include "lure/events.h"
+ #include "lure/lure.h"
+ 
+-#if defined(_WIN32_WCE)
++#if defined(_WIN32_WCE) || defined(MAEMO_SDL)
+ #define LURE_CLICKABLE_MENUS
+ #endif
+ 
+--- scummvm-0.11.orig/engines/queen/input.cpp	2008-01-12 00:06:35.000000000 +0100
++++ scummvm-0.11/engines/queen/input.cpp	2008-01-06 21:29:58.000000000 +0100
+@@ -174,7 +174,11 @@
+ 		}
+ 		break;
+ 	case Common::KEYCODE_F1: // use Journal
++#ifdef MAEMO_SDL
++	case Common::KEYCODE_F4: // menu key on N770
++#else
+ 	case Common::KEYCODE_F5:
++#endif
+ 		if (_cutawayRunning) {
+ 			if (_canQuit) {
+ 				_keyVerb = VERB_USE_JOURNAL;
+--- scummvm-0.11.orig/engines/cine/main_loop.cpp	2008-01-12 00:06:35.000000000 +0100
++++ scummvm-0.11/engines/cine/main_loop.cpp	2008-01-12 21:39:53.000000000 +0100
+@@ -78,18 +78,27 @@
+ 				mouseRight = 1;
+ 			}
+ 			break;
++#ifdef	MAEMO_SDL
++		case Common::KEYCODE_UP:
++#else
+ 		case Common::KEYCODE_F1:
++#endif
+ 			if (allowPlayerInput) {
+ 				playerCommand = 0; // EXAMINE
+ 				makeCommandLine();
+ 			}
+ 			break;
++#ifdef	MAEMO_SDL
++		case Common::KEYCODE_DOWN:
++#else
+ 		case Common::KEYCODE_F2:
++#endif
+ 			if (allowPlayerInput) {
+ 				playerCommand = 1; // TAKE
+ 				makeCommandLine();
+ 			}
+ 			break;
++#ifndef	MAEMO_SDL
+ 		case Common::KEYCODE_F3:
+ 			if (allowPlayerInput) {
+ 				playerCommand = 2; // INVENTORY
+@@ -102,13 +111,41 @@
+ 				makeCommandLine();
+ 			}
+ 			break;
++#else
++//map f3, f4 to f8,f7 = zoom +- keys, when in menu generate keypresses for savegame
++		case Common::KEYCODE_F8:
++			if (inMenu)
++				lastKeyStroke = '1';
++			else if (allowPlayerInput) {
++				playerCommand = 2; // INVENTORY
++				makeCommandLine();
++			}
++			break;
++		case Common::KEYCODE_F7:
++			if (inMenu)
++				lastKeyStroke = '2';
++			else 
++			if (allowPlayerInput) {
++				playerCommand = 3; // USE
++				makeCommandLine();
++			}
++			break;
++#endif
++#ifdef	MAEMO_SDL
++		case Common::KEYCODE_LEFT:
++#else
+ 		case Common::KEYCODE_F5:
++#endif
+ 			if (allowPlayerInput) {
+ 				playerCommand = 4; // ACTIVATE
+ 				makeCommandLine();
+ 			}
+ 			break;
++#ifdef	MAEMO_SDL
++		case Common::KEYCODE_RIGHT:
++#else
+ 		case Common::KEYCODE_F6:
++#endif
+ 			if (allowPlayerInput) {
+ 				playerCommand = 5; // SPEAK
+ 				makeCommandLine();
+@@ -120,7 +157,11 @@
+ 				makeCommandLine();
+ 			}
+ 			break;
++#ifdef	MAEMO_SDL
++		case Common::KEYCODE_F4: // Menu key
++#else
+ 		case Common::KEYCODE_F10:
++#endif
+ 			if (!disableSystemMenu && !inMenu) {
+ 				g_cine->makeSystemMenu();
+ 			}
+--- scummvm-0.11.orig/backends/plugins/sdl/sdl-provider.cpp	2008-01-12 00:06:35.000000000 +0100
++++ scummvm-0.11/backends/plugins/sdl/sdl-provider.cpp	2008-01-06 20:53:38.000000000 +0100
+@@ -31,8 +31,12 @@
+ 
+ #include "SDL.h"
+ #include "SDL_loadso.h"
+-#define PLUGIN_DIRECTORY	"plugins/"
+ 
++#ifdef	PLUGIN_PATH
++#define	PLUGIN_DIRECTORY	PLUGIN_PATH
++#else
++#define PLUGIN_DIRECTORY	"plugins/"
++#endif
+ 
+ class SDLPlugin : public DynamicPlugin {
+ protected:
+--- scummvm-0.11.orig/backends/platform/sdl/events.cpp	2008-01-12 00:06:35.000000000 +0100
++++ scummvm-0.11/backends/platform/sdl/events.cpp	2008-01-12 22:21:51.000000000 +0100
+@@ -26,7 +26,9 @@
+ #include "backends/platform/sdl/sdl.h"
+ #include "common/util.h"
+ #include "common/events.h"
+-
++#ifdef MAEMO_SDL
++#include "common/config-manager.h"
++#endif
+ // FIXME move joystick defines out and replace with confile file options
+ // we should really allow users to map any key to a joystick button
+ #define JOY_DEADZONE 3200
+@@ -192,9 +194,13 @@
+ 		case SDL_KEYDOWN:{
+ 			b = event.kbd.flags = SDLModToOSystemKeyFlags(SDL_GetModState());
+ 
++#ifdef  MAEMO_SDL
++			if (ev.key.keysym.sym == SDLK_F6) {
++#else
+ 			// Alt-Return and Alt-Enter toggle full screen mode
+ 			if (b == Common::KBD_ALT && (ev.key.keysym.sym == SDLK_RETURN
+-			                  || ev.key.keysym.sym == SDLK_KP_ENTER)) {
++					|| ev.key.keysym.sym == SDLK_KP_ENTER)) {
++#endif
+ 				setFullscreenMode(!_fullscreen);
+ #ifdef USE_OSD
+ 				if (_fullscreen)
+@@ -311,7 +317,10 @@
+ 				break;
+ 
+ 			fillMouseEvent(event, ev.button.x, ev.button.y);
+-
++#ifdef  MAEMO_SDL
++			// we have touchscreen so we may have no mousemotion events between taps
++			setMousePos(event.mouse.x, event.mouse.y);
++#endif
+ 			return true;
+ 
+ 		case SDL_MOUSEBUTTONUP:
+@@ -444,7 +453,54 @@
+ 	return false;
+ }
+ 
++// called on SDL KEYUP and KEYDOWN events
+ bool OSystem_SDL::remapKey(SDL_Event &ev, Common::Event &event) {
++#ifdef MAEMO_SDL
++	static int engine=0;
++#define	ENG_OTHER	-1
++//#define	ENG_SCUMM	1
++	static int game=0;
++#define GAME_OTHER	-1	
++#define GAME_LURE	1
++//#define GAME_SWORD1	2
++//#define	GAME_SWORD2	3
++	if (!engine){
++		// one time initialization
++		Common::String gameid(ConfMan.get("gameid"));                                                                                                                
++		if (gameid == "lure") {
++			game=GAME_LURE;
++			engine=ENG_OTHER;
++		} else {
++			game=GAME_OTHER;
++			engine=ENG_OTHER;
++		}
++	}
++	// engine specific mappings
++	switch (engine){
++	
++	}
++	// game specific mapping
++	switch (game) {
++		case GAME_LURE:
++			switch(ev.key.keysym.sym){
++				case SDLK_F5: // map F5 (home key) to f9 = restart game
++					ev.key.keysym.sym=SDLK_F9;
++					break;
++				case SDLK_F8: // map F8 (zoom key) to F5 (save dialog) in game
++					ev.key.keysym.sym=SDLK_F5;
++					break;
++				case SDLK_F4: // map menu to right click
++					event.type = ((ev.type==SDL_KEYUP) ? Common::EVENT_RBUTTONUP : Common::EVENT_RBUTTONDOWN );
++					event.mouse.x = _mouseCurState.x;                                                                                                                        
++					event.mouse.y = _mouseCurState.y;                                                                                                                        
++					return true;			 
++				default:
++					;
++			}
++		break;	
++	}
++#endif //SDL_MAEMO
++
+ #ifdef LINUPY
+ 	// On Yopy map the End button to quit
+ 	if ((ev.key.keysym.sym == 293)) {


Property changes on: scummvm/branches/branch-0-11-0/backends/platform/maemo/scummvm-0.11.0-maemo.patch
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list