[Scummvm-cvs-logs] SF.net SVN: scummvm: [24064] scummvm/trunk/engines/agos
kirben at users.sourceforge.net
kirben at users.sourceforge.net
Mon Oct 2 09:06:26 CEST 2006
Revision: 24064
http://svn.sourceforge.net/scummvm/?rev=24064&view=rev
Author: kirben
Date: 2006-10-02 00:06:20 -0700 (Mon, 02 Oct 2006)
Log Message:
-----------
Fix arrows keys in swampy
Modified Paths:
--------------
scummvm/trunk/engines/agos/agos.cpp
scummvm/trunk/engines/agos/agos.h
scummvm/trunk/engines/agos/items.cpp
scummvm/trunk/engines/agos/rules.cpp
Modified: scummvm/trunk/engines/agos/agos.cpp
===================================================================
--- scummvm/trunk/engines/agos/agos.cpp 2006-10-02 06:22:05 UTC (rev 24063)
+++ scummvm/trunk/engines/agos/agos.cpp 2006-10-02 07:06:20 UTC (rev 24064)
@@ -1200,10 +1200,13 @@
for (;;) {
if ((getGameType() == GType_SIMON1 || getGameType() == GType_SIMON2) && _keyPressed == 35)
displayBoxStars();
- processSpecialKeys();
- if (getGameType() == GType_PP && _keyPressed != 0) {
- _needHitAreaRecalc++;
- return;
+ if (getGameType() == GType_PP) {
+ if (checkArrows() != 0) {
+ _needHitAreaRecalc++;
+ return;
+ }
+ } else {
+ processSpecialKeys();
}
if (_lastHitArea3 == (HitArea *) -1)
goto startOver;
@@ -1767,6 +1770,27 @@
return false;
}
+bool AGOSEngine::checkArrows() {
+ switch (_keyPressed) {
+ case 17: // Up
+ _verbHitArea = 302;
+ break;
+ case 18: // Down
+ _verbHitArea = 304;
+ break;
+ case 19: // Right
+ _verbHitArea = 303;
+ break;
+ case 20: // Left
+ _verbHitArea = 301;
+ break;
+ }
+
+ bool result = (_keyPressed != 0);
+ _keyPressed = 0;
+ return result;
+}
+
void AGOSEngine::processSpecialKeys() {
switch (_keyPressed) {
case 17: // Up
@@ -2168,7 +2192,15 @@
_fastMode ^= 1;
else if (event.kbd.keycode == 'd')
_debugger->attach();
+ }
+
+ if (getGameType() == GType_PP) {
+ if (event.kbd.flags == OSystem::KBD_SHIFT)
+ _variableArray[41] = 0;
+ else
+ _variableArray[41] = 1;
}
+
// Make sure backspace works right (this fixes a small issue on OS X)
if (event.kbd.keycode == 8)
_keyPressed = 8;
Modified: scummvm/trunk/engines/agos/agos.h
===================================================================
--- scummvm/trunk/engines/agos/agos.h 2006-10-02 06:22:05 UTC (rev 24063)
+++ scummvm/trunk/engines/agos/agos.h 2006-10-02 07:06:20 UTC (rev 24064)
@@ -740,6 +740,7 @@
void loadIconData();
void loadIconFile();
+ bool checkArrows();
void processSpecialKeys();
void hitarea_stuff_helper();
@@ -1098,6 +1099,7 @@
void o4_loadHiScores();
void o4_checkHiScores();
void o4_sync();
+ void o4_saveUserGame();
void o4_loadUserGame();
void o4_saveOopsPosition();
void o4_resetGameTime();
Modified: scummvm/trunk/engines/agos/items.cpp
===================================================================
--- scummvm/trunk/engines/agos/items.cpp 2006-10-02 06:22:05 UTC (rev 24063)
+++ scummvm/trunk/engines/agos/items.cpp 2006-10-02 07:06:20 UTC (rev 24064)
@@ -455,7 +455,7 @@
op[124] = &AGOSEngine::o3_ifTime;
op[127] = NULL;
op[131] = &AGOSEngine::o3_setTime;
- op[132] = &AGOSEngine::o3_saveUserGame;
+ op[132] = &AGOSEngine::o4_saveUserGame;
op[133] = &AGOSEngine::o4_loadUserGame;
op[134] = &AGOSEngine::o3_listSaveGames;
op[161] = &AGOSEngine::o3_screenTextBox;
@@ -2543,6 +2543,10 @@
sendSync(a);
}
+void AGOSEngine::o4_saveUserGame() {
+ // 132: save game
+}
+
void AGOSEngine::o4_loadUserGame() {
// 133: load usergame
}
Modified: scummvm/trunk/engines/agos/rules.cpp
===================================================================
--- scummvm/trunk/engines/agos/rules.cpp 2006-10-02 06:22:05 UTC (rev 24063)
+++ scummvm/trunk/engines/agos/rules.cpp 2006-10-02 07:06:20 UTC (rev 24064)
@@ -285,6 +285,8 @@
}
void AGOSEngine::checkTiles() {
+ printf("checkTiles\n");
+
const byte *tile;
uint i, slot;
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