From 86d6b757594ba821c09cf0d61b836b7b99d18c38 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 22 Nov 2013 00:55:29 +0100 Subject: TSAGE: R2R - Fix Animation issue in scene 3150 --- engines/tsage/ringworld2/ringworld2_scenes3.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes3.cpp b/engines/tsage/ringworld2/ringworld2_scenes3.cpp index eab3178368..0e42789f3e 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes3.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes3.cpp @@ -492,7 +492,7 @@ bool Scene3150::ToiletFlush::startAction(CursorType action, Event &event) { scene->setAction(&scene->_sequenceManager, scene, 3152, &R2_GLOBALS._player, NULL); } else { scene->_sceneMode = 3153; - scene->setAction(&scene->_sequenceManager, scene, 3152, &R2_GLOBALS._player, &scene->_water, NULL); + scene->setAction(&scene->_sequenceManager, scene, 3153, &R2_GLOBALS._player, &scene->_water, NULL); } } else { SceneItem::display(3150, 42, 0, 280, 1, 160, 9, 1, 2, 20, 7, 7, LIST_END); -- cgit v1.2.3 From ce857d77d2ea032b10b15db8d1bab5d1d0c4b1ac Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 22 Nov 2013 01:12:05 +0100 Subject: TSAGE: R2R - Fix bug in the initialization of an actor --- engines/tsage/ringworld2/ringworld2_scenes3.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes3.cpp b/engines/tsage/ringworld2/ringworld2_scenes3.cpp index 0e42789f3e..1119f44d3b 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes3.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes3.cpp @@ -629,7 +629,7 @@ void Scene3150::postInit(SceneObjectList *OwnerList) { if (R2_INVENTORY.getObjectScene(R2_SUPERCONDUCTOR_WIRE) == 3150) { _bulbOrWire.postInit(); - _bulbOrWire.setup(3152, 7, 3); + _bulbOrWire.setup(3152, 7, 2); _bulbOrWire.setPosition(Common::Point(70, 55)); _bulbOrWire.fixPriority(111); _bulbOrWire._effect = EFFECT_SHADED2; -- cgit v1.2.3 From 5996cdc56c8f08b770e6e1f89cf04bbc90839846 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 22 Nov 2013 07:52:08 +0100 Subject: TSAGE: R2R - Fix animation bug in scene 3350 --- engines/tsage/ringworld2/ringworld2_scenes3.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes3.cpp b/engines/tsage/ringworld2/ringworld2_scenes3.cpp index 1119f44d3b..b3b512e75d 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes3.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes3.cpp @@ -1719,7 +1719,7 @@ void Scene3350::signal() { break; case 3351: _sceneMode = 3352; - setAction(&_sequenceManager, this, 3352, &_seeker, &R2_GLOBALS._player, + setAction(&_sequenceManager, this, 3352, &_seatedPeople, &R2_GLOBALS._player, &_miranda, &_seeker, &_webbster, NULL); break; case 3352: -- cgit v1.2.3 From af4d1227b183c724c2b8de078abf0c7ca33e00de Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Thu, 21 Nov 2013 14:16:36 -0800 Subject: FULLPIPE: Started work on sceneSwitcher04 --- engines/fullpipe/scenes/scene04.cpp | 258 ++++++++++++++++++++++++++++++++++++ 1 file changed, 258 insertions(+) diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index 6a2b32ad6f..a8bd75adf7 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -212,6 +212,264 @@ int scene04_updateCursor() { } int sceneHandler04(ExCommand *ex) { +#if 0 + v2 = 0; + if (ex->msg.messageKind != 17) + return v2; + v3 = ex->messageNum; + if (v3 <= (signed int)MSG_UPDATEBOTTLE) { + if (v3 == MSG_UPDATEBOTTLE) { + sceneHandler04_msgUpdateBottle(); + return v2; + } + if (v3 > (signed int)MSG_CLICKPLANK) { + switch (v3) { + case MSG_CLICKBOTTLE: + sceneHandler04_clickBottle(); + break; + case MSG_SHOOTKOZAW: + sceneHandler04_chootKozyawka(); + break; + case MSG_SHAKEBOTTLE: + if (!g_vars_scene04_var02) + ++g_vars_scene04_var20; + break; + case MSG_STARTHAND: + g_vars_scene04_var09 = 1; + g_vars_scene04_coinPut = 0; + if (g_vars_scene04_var10) + sceneHandler04_sub1(0); + sceneHandler04_sub15(); + sceneHandler04_stopSound(); + break; + case MSG_TAKEKOZAW: + sceneHandler04_takeKozyawka(); + break; + case MSG_CLICKBUTTON: + sceneHandler04_clickButton(); + break; + default: + return v2; + } + } else { + if (v3 == MSG_CLICKPLANK) { + sceneHandler04_clickPlank(); + return v2; + } + if (v3 > (signed int)MSG_LOWERPLANK) { + v17 = v3 - MSG_KOZAWRESTART; + if (v17) { + if (v17 == 1) + sceneHandler04_raisePlank(); + } else { + if (g_vars_scene04_var05) { + CObList::AddTail(&g_vars_scene04_kozyawkiObjList, g_vars_scene04_var05); + StaticANIObject_hide((StaticANIObject *)g_vars_scene04_var05); + g_vars_scene04_var05 = 0; + } + if (g_vars_scene04_soundPlaying) + sceneHandler04_sub3(); + } + } else { + if (v3 == MSG_LOWERPLANK) { + sceneHandler04_lowerPlank(); + return v2; + } + if (v3 != 29) { + if (v3 != 33) { + if (v3 == MSG_TESTPLANK) + sceneHandler04_testPlank((int)ex); + return v2; + } + v4 = g_aniMan; + v5 = g_aniMan->GameObject.ox; + g_vars_scene04_dudePosX = g_aniMan->GameObject.ox; + g_vars_scene04_dudePosY = g_aniMan->GameObject.oy; + if (!g_aniMan2) + goto LABEL_130; + v6 = g_sceneRect.left; + if (v5 < g_sceneRect.left + 200) { + g_currentScene->bg.x = v5 - g_sceneRect.left - 300; + v5 = g_vars_scene04_dudePosX; + v4 = g_aniMan; + v6 = g_sceneRect.left; + } + if (v5 > g_sceneRect.right - 200) { + g_currentScene->bg.x = v5 - g_sceneRect.right + 300; + v4 = g_aniMan; + v6 = g_sceneRect.left; + } + v2 = 1; + if (g_aniMan2) { + if (g_vars_scene04_soundPlaying) { + v8 = v4->movement; + if (v8) { + if (v8->GameObject.id == MV_MAN_TOLADDER) { + g_aniMan2 = 0; + if (v6 > 380) + g_currentScene->bg.x = 380 - v6; + } + } + } + } else { + LABEL_130: + v7 = v4->movement; + if (v7 && v7->GameObject.id == MV_MAN_GOD) + g_aniMan2 = v4; + } + sceneHandler04_sub4(); + if (g_vars_scene04_var07 && !g_vars_scene04_var09) + sceneHandler04_sub5(); + if (g_vars_scene04_var12) + sceneHandler04_sub6(); + if (g_vars_scene04_var08) + sceneHandler04_clickLadder(); + if (g_vars_scene04_var10 && g_vars_scene04_hand->movement) + sceneHandler04_sub1(0); + if (g_vars_scene04_coinPut && g_vars_scene04_var18 && !g_vars_scene04_var09 && !g_vars_scene04_soundPlaying) + sceneHandler04_sub7(); + if (g_vars_scene04_var01) { + if (!g_vars_scene04_soundPlaying) + goto LABEL_46; + v11 = __OFSUB__(g_vars_scene04_var14 + 1, 600); + v9 = g_vars_scene04_var14 == 599; + v10 = g_vars_scene04_var14++ - 599 < 0; + if (!((unsigned __int8)(v10 ^ v11) | v9)) + sceneHandler04_sub17(); + } + if (g_vars_scene04_soundPlaying) { + LABEL_47: + BehaviorManager_updateBehaviors(&g_behaviorManager); + return v2; + } + LABEL_46: + startSceneTrack(); + goto LABEL_47; + } + v12 = Scene_getPictureObjectIdAtPos(g_currentScene, ex->msg.sceneClickX, ex->msg.sceneClickY); + LOWORD(sceneHandler_pic) = v12; + if (g_vars_scene04_var10) { + sceneHandler04_sub1(ex); + return v2; + } + if (v12 == PIC_SC4_LADDER) { + if (!g_vars_scene04_var04) { + dword_476CB8 = ex->msg.sceneClickX; + dword_476CBC = ex->msg.sceneClickY; + sceneHandler04_clickLadder(); + ex->msg.messageKind = 0; + return v2; + } + goto LABEL_52; + } + v13 = Scene_getStaticANIObjectAtPos(g_currentScene, ex->msg.sceneClickX, ex->msg.sceneClickY); + v14 = (GameObject *)v13; + if (v13 && v13->GameObject.id == ANI_PLANK + || Scene_getPictureObjectIdAtPos(g_currentScene, ex->msg.sceneClickX, ex->msg.sceneClickY) == PIC_SC4_PLANK) { + sceneHandler04_clickPlank(); + ex->msg.messageKind = 0; + } else if (g_vars_scene04_var01) { + sceneHandler04_sub8(ex); + } else if (!v14 || !canInteractAny(&g_aniMan->GameObject, v14, LOWORD(ex->msg.keyCode))) { + v15 = (GameObject *)Scene_getPictureObjectById(g_currentScene, sceneHandler_pic, 0); + if (!v15 || !canInteractAny(&g_aniMan->GameObject, v15, LOWORD(ex->msg.keyCode))) { + if ((v16 = ex->msg.sceneClickX, g_sceneRect.right - v16 < 47) && g_sceneRect.right < g_sceneWidth - 1 + || v16 - g_sceneRect.left < 47 && g_sceneRect.left > 0) + sceneHandlers_sub01(ex); + } + } + } + } + return v2; + } + if (v3 > (signed int)MSG_SC4_MANFROMBOTTLE) { + if (v3 > (signed int)MSG_SC4_HANDOVER) { + if (v3 == MSG_SC4_HIDEBOOT) { + GameObject_setFlags(&g_vars_scene04_boot->GameObject, g_vars_scene04_boot->GameObject.flags & 0xFFFB); + } else if (v3 == MSG_CMN_WINARCADE) { + sceneHandler04_winArcade(); + } + return v2; + } + if (v3 == MSG_SC4_HANDOVER) { + g_vars_scene04_var09 = 0; + g_vars_scene04_var19 = 1; + return v2; + } + v20 = v3 - MSG_SC4_KOZAWFALL; + if (v20) { + v21 = v20 - 37; + if (v21) { + if (v21 == 1) // MSG_SC4_DROPBOTTLE + sceneHandler04_dropBottle(); + } else { // MSG_SC4_COINOUT + StaticANIObject_changeStatics2(g_vars_scene04_clock, ST_CLK_CLOSED); + g_vars_scene04_coinPut = 0; + sceneHandler04_stopSound(); + if (g_vars_scene04_kozyawkiAni.m_nCount && !g_vars_scene04_var02) { + g_vars_scene04_var09 = 1; + if (g_vars_scene04_var10) + sceneHandler04_sub1(0); + sceneHandler04_sub15(); + } + } + return v2; + } + if (g_vars_scene04_var11) { + sceneHandler04_sub9((void *)dword_476E54); + g_vars_scene04_var11 = 0; + v22 = (ExCommand *)operator new(sizeof(ExCommand)); + if (v22) { + v23 = ExCommand_ctor(v22, 0, 35, SND_4_010, 0, 0, 0, 1, 0, 0, 0); + LABEL_119: + v24 = v23->excFlags | 2; + v23->msg.field_14 = 5; + v23->excFlags = v24; + ExCommand_postMessage(v23); + return v2; + } + } else { + v25 = (ExCommand *)operator new(sizeof(ExCommand)); + if (v25) { + v23 = ExCommand_ctor(v25, 0, 35, SND_4_012, 0, 0, 0, 1, 0, 0, 0); + goto LABEL_119; + } + } + v23 = 0; + goto LABEL_119; + } + if (v3 == MSG_SC4_MANFROMBOTTLE) { + sceneHandler04_manFromBottle(); + return v2; + } + if (v3 > (signed int)MSG_SHOWCOIN) { + if (v3 == MSG_SC4_CLICKLADDER) { + sceneHandler04_clickLadder(); + } else if (v3 == MSG_SC4_MANTOBOTTLE) { + sceneHandler04_manToBottle(); + } + } else { + if (v3 == MSG_SHOWCOIN) { + sceneHandler04_showCoin(); + return v2; + } + v18 = v3 - MSG_TAKEBOTTLE; + if (!v18) { + sceneHandler04_takeBottle(); + return v2; + } + v19 = v18 - 4; + if (!v19) { // MSG_GOTOLADDER + LABEL_52: + sceneHandler04_gotoLadder(0); + return v2; + } + if (v19 == 414) // MSG_SC4_COINPUT + g_vars_scene04_coinPut = 1; + } + return v2; + +#endif warning("STUB: sceneHandler04()"); return 0; -- cgit v1.2.3 From 13529e06fde001244cc7c20e5b9f630a6ecb0823 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Thu, 21 Nov 2013 19:11:34 -0800 Subject: FULLPIPE: Further work on sceneSwitcher04 --- engines/fullpipe/scenes/scene04.cpp | 480 ++++++++++++++++++------------------ 1 file changed, 244 insertions(+), 236 deletions(-) diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index a8bd75adf7..2d594df462 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -214,260 +214,268 @@ int scene04_updateCursor() { int sceneHandler04(ExCommand *ex) { #if 0 v2 = 0; - if (ex->msg.messageKind != 17) - return v2; - v3 = ex->messageNum; - if (v3 <= (signed int)MSG_UPDATEBOTTLE) { - if (v3 == MSG_UPDATEBOTTLE) { - sceneHandler04_msgUpdateBottle(); - return v2; + + if (ex->_messageKind != 17) + return 0; + + switch (ex->_messageNum) { + case MSG_UPDATEBOTTLE: + sceneHandler04_msgUpdateBottle(); + break; + + case MSG_CLICKBOTTLE: + sceneHandler04_clickBottle(); + break; + + case MSG_SHOOTKOZAW: + sceneHandler04_chootKozyawka(); + break; + + case MSG_SHAKEBOTTLE: + if (!g_vars->scene04_var02) + ++g_vars->scene04_var20; + break; + + case MSG_STARTHAND: + g_vars->scene04_var09 = 1; + g_vars->scene04_coinPut = 0; + if (g_vars->scene04_var10) + sceneHandler04_sub1(0); + sceneHandler04_sub15(); + sceneHandler04_stopSound(); + break; + + case MSG_TAKEKOZAW: + sceneHandler04_takeKozyawka(); + break; + + case MSG_CLICKBUTTON: + sceneHandler04_clickButton(); + break; + + case MSG_CLICKPLANK: + sceneHandler04_clickPlank(); + break; + + case MSG_RAISEPLANK: + sceneHandler04_raisePlank(); + break; + + case MSG_KOZAWRESTART: + if (g_vars->scene04_var05) { + CObList::AddTail(&g_vars->scene04_kozyawkiObjList, g_vars->scene04_var05); + StaticANIObject_hide((StaticANIObject *)g_vars->scene04_var05); + g_vars->scene04_var05 = 0; } - if (v3 > (signed int)MSG_CLICKPLANK) { - switch (v3) { - case MSG_CLICKBOTTLE: - sceneHandler04_clickBottle(); - break; - case MSG_SHOOTKOZAW: - sceneHandler04_chootKozyawka(); - break; - case MSG_SHAKEBOTTLE: - if (!g_vars_scene04_var02) - ++g_vars_scene04_var20; - break; - case MSG_STARTHAND: - g_vars_scene04_var09 = 1; - g_vars_scene04_coinPut = 0; - if (g_vars_scene04_var10) - sceneHandler04_sub1(0); - sceneHandler04_sub15(); - sceneHandler04_stopSound(); - break; - case MSG_TAKEKOZAW: - sceneHandler04_takeKozyawka(); - break; - case MSG_CLICKBUTTON: - sceneHandler04_clickButton(); - break; - default: - return v2; + if (g_vars->scene04_soundPlaying) + sceneHandler04_sub3(); + + break; + + case MSG_LOWERPLANK: + sceneHandler04_lowerPlank(); + break; + + case MSG_TESTPLANK: + sceneHandler04_testPlank((int)ex); + break; + + case 33: + v4 = g_aniMan; + v5 = g_aniMan->GameObject.ox; + g_vars->scene04_dudePosX = g_aniMan->GameObject.ox; + g_vars->scene04_dudePosY = g_aniMan->GameObject.oy; + + int res = 0; + if (g_aniMan2) { + v6 = g_sceneRect.left; + if (v5 < g_sceneRect.left + 200) { + g_currentScene->bg.x = v5 - g_sceneRect.left - 300; + v5 = g_vars->scene04_dudePosX; + v4 = g_aniMan; + v6 = g_sceneRect.left; } - } else { - if (v3 == MSG_CLICKPLANK) { - sceneHandler04_clickPlank(); - return v2; + if (v5 > g_sceneRect.right - 200) { + g_currentScene->bg.x = v5 - g_sceneRect.right + 300; + v4 = g_aniMan; + v6 = g_sceneRect.left; } - if (v3 > (signed int)MSG_LOWERPLANK) { - v17 = v3 - MSG_KOZAWRESTART; - if (v17) { - if (v17 == 1) - sceneHandler04_raisePlank(); - } else { - if (g_vars_scene04_var05) { - CObList::AddTail(&g_vars_scene04_kozyawkiObjList, g_vars_scene04_var05); - StaticANIObject_hide((StaticANIObject *)g_vars_scene04_var05); - g_vars_scene04_var05 = 0; - } - if (g_vars_scene04_soundPlaying) - sceneHandler04_sub3(); - } - } else { - if (v3 == MSG_LOWERPLANK) { - sceneHandler04_lowerPlank(); - return v2; - } - if (v3 != 29) { - if (v3 != 33) { - if (v3 == MSG_TESTPLANK) - sceneHandler04_testPlank((int)ex); - return v2; - } - v4 = g_aniMan; - v5 = g_aniMan->GameObject.ox; - g_vars_scene04_dudePosX = g_aniMan->GameObject.ox; - g_vars_scene04_dudePosY = g_aniMan->GameObject.oy; - if (!g_aniMan2) - goto LABEL_130; - v6 = g_sceneRect.left; - if (v5 < g_sceneRect.left + 200) { - g_currentScene->bg.x = v5 - g_sceneRect.left - 300; - v5 = g_vars_scene04_dudePosX; - v4 = g_aniMan; - v6 = g_sceneRect.left; - } - if (v5 > g_sceneRect.right - 200) { - g_currentScene->bg.x = v5 - g_sceneRect.right + 300; - v4 = g_aniMan; - v6 = g_sceneRect.left; - } - v2 = 1; - if (g_aniMan2) { - if (g_vars_scene04_soundPlaying) { - v8 = v4->movement; - if (v8) { - if (v8->GameObject.id == MV_MAN_TOLADDER) { - g_aniMan2 = 0; - if (v6 > 380) - g_currentScene->bg.x = 380 - v6; - } - } - } - } else { - LABEL_130: - v7 = v4->movement; - if (v7 && v7->GameObject.id == MV_MAN_GOD) - g_aniMan2 = v4; - } - sceneHandler04_sub4(); - if (g_vars_scene04_var07 && !g_vars_scene04_var09) - sceneHandler04_sub5(); - if (g_vars_scene04_var12) - sceneHandler04_sub6(); - if (g_vars_scene04_var08) - sceneHandler04_clickLadder(); - if (g_vars_scene04_var10 && g_vars_scene04_hand->movement) - sceneHandler04_sub1(0); - if (g_vars_scene04_coinPut && g_vars_scene04_var18 && !g_vars_scene04_var09 && !g_vars_scene04_soundPlaying) - sceneHandler04_sub7(); - if (g_vars_scene04_var01) { - if (!g_vars_scene04_soundPlaying) - goto LABEL_46; - v11 = __OFSUB__(g_vars_scene04_var14 + 1, 600); - v9 = g_vars_scene04_var14 == 599; - v10 = g_vars_scene04_var14++ - 599 < 0; - if (!((unsigned __int8)(v10 ^ v11) | v9)) - sceneHandler04_sub17(); - } - if (g_vars_scene04_soundPlaying) { - LABEL_47: - BehaviorManager_updateBehaviors(&g_behaviorManager); - return v2; - } - LABEL_46: - startSceneTrack(); - goto LABEL_47; - } - v12 = Scene_getPictureObjectIdAtPos(g_currentScene, ex->msg.sceneClickX, ex->msg.sceneClickY); - LOWORD(sceneHandler_pic) = v12; - if (g_vars_scene04_var10) { - sceneHandler04_sub1(ex); - return v2; - } - if (v12 == PIC_SC4_LADDER) { - if (!g_vars_scene04_var04) { - dword_476CB8 = ex->msg.sceneClickX; - dword_476CBC = ex->msg.sceneClickY; - sceneHandler04_clickLadder(); - ex->msg.messageKind = 0; - return v2; - } - goto LABEL_52; - } - v13 = Scene_getStaticANIObjectAtPos(g_currentScene, ex->msg.sceneClickX, ex->msg.sceneClickY); - v14 = (GameObject *)v13; - if (v13 && v13->GameObject.id == ANI_PLANK - || Scene_getPictureObjectIdAtPos(g_currentScene, ex->msg.sceneClickX, ex->msg.sceneClickY) == PIC_SC4_PLANK) { - sceneHandler04_clickPlank(); - ex->msg.messageKind = 0; - } else if (g_vars_scene04_var01) { - sceneHandler04_sub8(ex); - } else if (!v14 || !canInteractAny(&g_aniMan->GameObject, v14, LOWORD(ex->msg.keyCode))) { - v15 = (GameObject *)Scene_getPictureObjectById(g_currentScene, sceneHandler_pic, 0); - if (!v15 || !canInteractAny(&g_aniMan->GameObject, v15, LOWORD(ex->msg.keyCode))) { - if ((v16 = ex->msg.sceneClickX, g_sceneRect.right - v16 < 47) && g_sceneRect.right < g_sceneWidth - 1 - || v16 - g_sceneRect.left < 47 && g_sceneRect.left > 0) - sceneHandlers_sub01(ex); + res = 1; + + if (g_vars->scene04_soundPlaying) { + v8 = v4->movement; + if (v8) { + if (v8->GameObject.id == MV_MAN_TOLADDER) { + g_aniMan2 = 0; + if (v6 > 380) + g_currentScene->bg.x = 380 - v6; } } } + } else { + v7 = v4->movement; + if (v7 && v7->GameObject.id == MV_MAN_GOD) + g_aniMan2 = v4; } - return v2; - } - if (v3 > (signed int)MSG_SC4_MANFROMBOTTLE) { - if (v3 > (signed int)MSG_SC4_HANDOVER) { - if (v3 == MSG_SC4_HIDEBOOT) { - GameObject_setFlags(&g_vars_scene04_boot->GameObject, g_vars_scene04_boot->GameObject.flags & 0xFFFB); - } else if (v3 == MSG_CMN_WINARCADE) { - sceneHandler04_winArcade(); + + sceneHandler04_sub4(); + if (g_vars->scene04_var07 && !g_vars->scene04_var09) + sceneHandler04_sub5(); + if (g_vars->scene04_var12) + sceneHandler04_sub6(); + if (g_vars->scene04_var08) + sceneHandler04_clickLadder(); + if (g_vars->scene04_var10 && g_vars->scene04_hand->movement) + sceneHandler04_sub1(0); + if (g_vars->scene04_coinPut && g_vars->scene04_var18 && !g_vars->scene04_var09 && !g_vars->scene04_soundPlaying) + sceneHandler04_sub7(); + if (g_vars->scene04_var01) { + if (!g_vars->scene04_soundPlaying) { + startSceneTrack(); + + BehaviorManager_updateBehaviors(&g_behaviorManager); + return res; } - return v2; + v11 = __OFSUB__(g_vars->scene04_var14 + 1, 600); + v9 = g_vars->scene04_var14 == 599; + v10 = g_vars->scene04_var14++ - 599 < 0; + if (!((unsigned __int8)(v10 ^ v11) | v9)) + sceneHandler04_sub17(); } - if (v3 == MSG_SC4_HANDOVER) { - g_vars_scene04_var09 = 0; - g_vars_scene04_var19 = 1; - return v2; + + if (g_vars->scene04_soundPlaying) { + BehaviorManager_updateBehaviors(&g_behaviorManager); + return res; } - v20 = v3 - MSG_SC4_KOZAWFALL; - if (v20) { - v21 = v20 - 37; - if (v21) { - if (v21 == 1) // MSG_SC4_DROPBOTTLE - sceneHandler04_dropBottle(); - } else { // MSG_SC4_COINOUT - StaticANIObject_changeStatics2(g_vars_scene04_clock, ST_CLK_CLOSED); - g_vars_scene04_coinPut = 0; - sceneHandler04_stopSound(); - if (g_vars_scene04_kozyawkiAni.m_nCount && !g_vars_scene04_var02) { - g_vars_scene04_var09 = 1; - if (g_vars_scene04_var10) - sceneHandler04_sub1(0); - sceneHandler04_sub15(); - } + + startSceneTrack(); + + BehaviorManager_updateBehaviors(&g_behaviorManager); + return res; + + case 29: + v12 = Scene_getPictureObjectIdAtPos(g_currentScene, ex->msg.sceneClickX, ex->msg.sceneClickY); + LOWORD(sceneHandler_pic) = v12; + if (g_vars->scene04_var10) { + sceneHandler04_sub1(ex); + break; + } + + if (v12 == PIC_SC4_LADDER) { + if (!g_vars->scene04_var04) { + dword_476CB8 = ex->msg.sceneClickX; + dword_476CBC = ex->msg.sceneClickY; + sceneHandler04_clickLadder(); + ex->msg.messageKind = 0; + + break; } - return v2; + sceneHandler04_gotoLadder(0); + + break; } - if (g_vars_scene04_var11) { - sceneHandler04_sub9((void *)dword_476E54); - g_vars_scene04_var11 = 0; - v22 = (ExCommand *)operator new(sizeof(ExCommand)); - if (v22) { - v23 = ExCommand_ctor(v22, 0, 35, SND_4_010, 0, 0, 0, 1, 0, 0, 0); - LABEL_119: - v24 = v23->excFlags | 2; - v23->msg.field_14 = 5; - v23->excFlags = v24; - ExCommand_postMessage(v23); - return v2; + v13 = Scene_getStaticANIObjectAtPos(g_currentScene, ex->msg.sceneClickX, ex->msg.sceneClickY); + v14 = (GameObject *)v13; + if (v13 && v13->GameObject.id == ANI_PLANK + || Scene_getPictureObjectIdAtPos(g_currentScene, ex->msg.sceneClickX, ex->msg.sceneClickY) == PIC_SC4_PLANK) { + sceneHandler04_clickPlank(); + ex->msg.messageKind = 0; + } else if (g_vars->scene04_var01) { + sceneHandler04_sub8(ex); + } else if (!v14 || !canInteractAny(&g_aniMan->GameObject, v14, LOWORD(ex->msg.keyCode))) { + v15 = (GameObject *)Scene_getPictureObjectById(g_currentScene, sceneHandler_pic, 0); + if (!v15 || !canInteractAny(&g_aniMan->GameObject, v15, LOWORD(ex->msg.keyCode))) { + if ((v16 = ex->msg.sceneClickX, g_sceneRect.right - v16 < 47) && g_sceneRect.right < g_sceneWidth - 1 + || v16 - g_sceneRect.left < 47 && g_sceneRect.left > 0) + sceneHandlers_sub01(ex); } - } else { - v25 = (ExCommand *)operator new(sizeof(ExCommand)); - if (v25) { - v23 = ExCommand_ctor(v25, 0, 35, SND_4_012, 0, 0, 0, 1, 0, 0, 0); - goto LABEL_119; + } + + break; + + case MSG_SC4_HIDEBOOT: + g_vars->scene04_boot->_flags &= 0xfffb; + break; + + case MSG_CMN_WINARCADE: + sceneHandler04_winArcade(); + break; + + case MSG_SC4_HANDOVER: + g_vars->scene04_var09 = 0; + g_vars->scene04_var19 = 1; + break; + + case MSG_SC4_DROPBOTTLE: + sceneHandler04_dropBottle(); + break; + + case MSG_SC4_COINOUT: + StaticANIObject_changeStatics2(g_vars->scene04_clock, ST_CLK_CLOSED); + g_vars->scene04_coinPut = 0; + sceneHandler04_stopSound(); + + if (g_vars->scene04_kozyawkiAni.size() && !g_vars->scene04_var02) { + g_vars->scene04_var09 = 1; + + if (g_vars->scene04_var10) + sceneHandler04_sub1(0); + + sceneHandler04_sub15(); + } + + break; + + case MSG_SC4_KOZAWFALL: + { + ExCommand *exnew; + + if (g_vars->scene04_var11) { + sceneHandler04_sub9(g_vars->scene04_var24); + + g_vars->scene04_var11 = 0; + + exnew = new ExCommand(0, 35, SND_4_010, 0, 0, 0, 1, 0, 0, 0); + } else { + exnew = new ExCommand(0, 35, SND_4_012, 0, 0, 0, 1, 0, 0, 0); } + + exnew->_field_14 = 5; + exnew->_excFlags |= 2; + exnew->postMessage(); + break; } - v23 = 0; - goto LABEL_119; - } - if (v3 == MSG_SC4_MANFROMBOTTLE) { + + case MSG_SC4_MANFROMBOTTLE: sceneHandler04_manFromBottle(); return v2; + + case MSG_SC4_CLICKLADDER: + sceneHandler04_clickLadder(); + break; + + case MSG_SC4_MANTOBOTTLE: + sceneHandler04_manToBottle(); + break; + + case MSG_SHOWCOIN: + sceneHandler04_showCoin(); + return v2; + + case MSG_TAKEBOTTLE: + sceneHandler04_takeBottle(); + return v2; + + case MSG_GOTOLADDER: + sceneHandler04_gotoLadder(0); + break; + + case MSG_SC4_COINPUT: + g_vars->scene04_coinPut = 1; + break; } - if (v3 > (signed int)MSG_SHOWCOIN) { - if (v3 == MSG_SC4_CLICKLADDER) { - sceneHandler04_clickLadder(); - } else if (v3 == MSG_SC4_MANTOBOTTLE) { - sceneHandler04_manToBottle(); - } - } else { - if (v3 == MSG_SHOWCOIN) { - sceneHandler04_showCoin(); - return v2; - } - v18 = v3 - MSG_TAKEBOTTLE; - if (!v18) { - sceneHandler04_takeBottle(); - return v2; - } - v19 = v18 - 4; - if (!v19) { // MSG_GOTOLADDER - LABEL_52: - sceneHandler04_gotoLadder(0); - return v2; - } - if (v19 == 414) // MSG_SC4_COINPUT - g_vars_scene04_coinPut = 1; - } - return v2; + + return 0; #endif warning("STUB: sceneHandler04()"); -- cgit v1.2.3 From dc2685ddef6466f462638e8e9d835651d94918d1 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Thu, 21 Nov 2013 19:19:44 -0800 Subject: FULLPIPE: More work on sceneSwitcher04 --- engines/fullpipe/scenes.h | 2 +- engines/fullpipe/scenes/scene04.cpp | 75 +++++++++++++++++++------------------ 2 files changed, 40 insertions(+), 37 deletions(-) diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index 741835fd1e..0ed1b82a7e 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -101,7 +101,7 @@ public: int scene04_var01; int scene04_var02; int scene04_var04; - int scene04_var05; + StaticANIObject *scene04_var05; int scene04_var06; int scene04_var07; int scene04_var08; diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index 2d594df462..c51a6d7a11 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -213,8 +213,6 @@ int scene04_updateCursor() { int sceneHandler04(ExCommand *ex) { #if 0 - v2 = 0; - if (ex->_messageKind != 17) return 0; @@ -239,8 +237,10 @@ int sceneHandler04(ExCommand *ex) { case MSG_STARTHAND: g_vars->scene04_var09 = 1; g_vars->scene04_coinPut = 0; + if (g_vars->scene04_var10) sceneHandler04_sub1(0); + sceneHandler04_sub15(); sceneHandler04_stopSound(); break; @@ -263,8 +263,8 @@ int sceneHandler04(ExCommand *ex) { case MSG_KOZAWRESTART: if (g_vars->scene04_var05) { - CObList::AddTail(&g_vars->scene04_kozyawkiObjList, g_vars->scene04_var05); - StaticANIObject_hide((StaticANIObject *)g_vars->scene04_var05); + g_vars->scene04_kozyawkiObjList.push_back(g_vars->scene04_var05); + g_vars->scene04_var05->hide(); g_vars->scene04_var05 = 0; } if (g_vars->scene04_soundPlaying) @@ -281,61 +281,62 @@ int sceneHandler04(ExCommand *ex) { break; case 33: - v4 = g_aniMan; - v5 = g_aniMan->GameObject.ox; - g_vars->scene04_dudePosX = g_aniMan->GameObject.ox; - g_vars->scene04_dudePosY = g_aniMan->GameObject.oy; + g_vars->scene04_dudePosX = g_fullpipe->_aniMan->_ox; + g_vars->scene04_dudePosY = g_fullpipe->_aniMan->_oy; int res = 0; - if (g_aniMan2) { - v6 = g_sceneRect.left; - if (v5 < g_sceneRect.left + 200) { - g_currentScene->bg.x = v5 - g_sceneRect.left - 300; - v5 = g_vars->scene04_dudePosX; - v4 = g_aniMan; - v6 = g_sceneRect.left; + + if (g_fullpipe->_aniMan2) { + if (g_fullpipe->_aniMan->_ox < g_fullpipe->_sceneRect.left + 200) { + g_currentScene->_x = g_fullpipe->_aniMan->_ox - g_fullpipe->_sceneRect.left - 300; + g_fullpipe->_aniMan->_ox = g_vars->scene04_dudePosX; } - if (v5 > g_sceneRect.right - 200) { - g_currentScene->bg.x = v5 - g_sceneRect.right + 300; - v4 = g_aniMan; - v6 = g_sceneRect.left; + if (g_fullpipe->_aniMan->_ox > g_fullpipe->_sceneRect.right - 200) { + g_currentScene->_x = g_fullpipe->_aniMan->_ox - g_fullpipe->_sceneRect.right + 300; } + res = 1; if (g_vars->scene04_soundPlaying) { - v8 = v4->movement; - if (v8) { - if (v8->GameObject.id == MV_MAN_TOLADDER) { - g_aniMan2 = 0; - if (v6 > 380) - g_currentScene->bg.x = 380 - v6; + if (g_fullpipe->_aniMan->_movement) { + if (g_fullpipe->_aniMan->_movement->_id == MV_MAN_TOLADDER) { + g_fullpipe->_aniMan2 = 0; + if (g_fullpipe->_sceneRect.left > 380) + g_currentScene->bg.x = 380 - g_fullpipe->_sceneRect.left; } } } } else { - v7 = v4->movement; - if (v7 && v7->GameObject.id == MV_MAN_GOD) - g_aniMan2 = v4; + v7 = ; + if (g_fullpipe->_aniMan->_movement && g_fullpipe->_aniMan->_movement->_id == MV_MAN_GOD) + g_fullpipe->_aniMan2 = g_fullpipe->_aniMan; } sceneHandler04_sub4(); + if (g_vars->scene04_var07 && !g_vars->scene04_var09) sceneHandler04_sub5(); + if (g_vars->scene04_var12) sceneHandler04_sub6(); + if (g_vars->scene04_var08) sceneHandler04_clickLadder(); - if (g_vars->scene04_var10 && g_vars->scene04_hand->movement) + + if (g_vars->scene04_var10 && g_vars->scene04_hand->_movement) sceneHandler04_sub1(0); + if (g_vars->scene04_coinPut && g_vars->scene04_var18 && !g_vars->scene04_var09 && !g_vars->scene04_soundPlaying) sceneHandler04_sub7(); + if (g_vars->scene04_var01) { if (!g_vars->scene04_soundPlaying) { startSceneTrack(); - BehaviorManager_updateBehaviors(&g_behaviorManager); + g_fullpipe->_behaviorManager->updateBehaviors(); return res; } + v11 = __OFSUB__(g_vars->scene04_var14 + 1, 600); v9 = g_vars->scene04_var14 == 599; v10 = g_vars->scene04_var14++ - 599 < 0; @@ -344,13 +345,15 @@ int sceneHandler04(ExCommand *ex) { } if (g_vars->scene04_soundPlaying) { - BehaviorManager_updateBehaviors(&g_behaviorManager); + g_fullpipe->_behaviorManager->updateBehaviors(); + return res; } startSceneTrack(); - BehaviorManager_updateBehaviors(&g_behaviorManager); + g_fullpipe->_behaviorManager->updateBehaviors(); + return res; case 29: @@ -382,11 +385,11 @@ int sceneHandler04(ExCommand *ex) { ex->msg.messageKind = 0; } else if (g_vars->scene04_var01) { sceneHandler04_sub8(ex); - } else if (!v14 || !canInteractAny(&g_aniMan->GameObject, v14, LOWORD(ex->msg.keyCode))) { + } else if (!v14 || !canInteractAny(&g_fullpipe->_aniMan->GameObject, v14, LOWORD(ex->msg.keyCode))) { v15 = (GameObject *)Scene_getPictureObjectById(g_currentScene, sceneHandler_pic, 0); - if (!v15 || !canInteractAny(&g_aniMan->GameObject, v15, LOWORD(ex->msg.keyCode))) { - if ((v16 = ex->msg.sceneClickX, g_sceneRect.right - v16 < 47) && g_sceneRect.right < g_sceneWidth - 1 - || v16 - g_sceneRect.left < 47 && g_sceneRect.left > 0) + if (!v15 || !canInteractAny(&g_fullpipe->_aniMan->GameObject, v15, LOWORD(ex->msg.keyCode))) { + if ((v16 = ex->msg.sceneClickX, g_fullpipe->_sceneRect.right - v16 < 47) && g_fullpipe->_sceneRect.right < g_sceneWidth - 1 + || v16 - g_fullpipe->_sceneRect.left < 47 && g_fullpipe->_sceneRect.left > 0) sceneHandlers_sub01(ex); } } -- cgit v1.2.3 From 8ae2cf1ed418cec0cd3dec6758900068ad173c02 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Thu, 21 Nov 2013 21:04:24 -0800 Subject: FULLPIPE: Implement switchScene04 --- engines/fullpipe/constants.h | 30 ++++ engines/fullpipe/scenes.cpp | 5 + engines/fullpipe/scenes.h | 6 + engines/fullpipe/scenes/scene04.cpp | 300 +++++++++++++++++++++++++----------- 4 files changed, 251 insertions(+), 90 deletions(-) diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index a2e8121f8f..fd1a0112b0 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -48,6 +48,9 @@ namespace Fullpipe { #define ANI_SC4_BOOT 1035 #define ANI_SPEAKER_4 3275 #define ANI_SPRING 542 +#define MSG_CLICKBOTTLE 569 +#define MSG_CLICKBUTTON 609 +#define MSG_CLICKPLANK 549 #define MSG_CMN_WINARCADE 4778 #define MSG_DISABLESAVES 5201 #define MSG_ENABLESAVES 5202 @@ -57,13 +60,16 @@ namespace Fullpipe { #define MSG_INTR_GETUPMAN 5135 #define MSG_INTR_SWITCHTO1 5145 #define MSG_INTR_SWITCHTO2 5134 +#define MSG_KOZAWRESTART 546 #define MSG_LIFT_CLICKBUTTON 2780 #define MSG_LIFT_CLOSEDOOR 5194 #define MSG_LIFT_EXITLIFT 5187 #define MSG_LIFT_GO 1065 #define MSG_LIFT_STARTEXITQUEUE 5186 +#define MSG_LOWERPLANK 540 #define MSG_MANSHADOWSOFF 5196 #define MSG_MANSHADOWSON 5197 +#define MSG_RAISEPLANK 547 #define MSG_RESTARTGAME 4767 #define MSG_SC1_SHOWOSK 1019 #define MSG_SC1_SHOWOSK2 468 @@ -78,10 +84,30 @@ namespace Fullpipe { #define MSG_SC3_TAKEEGG 1583 #define MSG_SC3_TESTFAT 1582 #define MSG_SC3_UTRUBACLICK 1103 +#define MSG_SC4_COINOUT 2895 +#define MSG_SC4_COINPUT 1032 +#define MSG_SC4_CLICKLADDER 1439 +#define MSG_SC4_DROPBOTTLE 2896 +#define MSG_SC4_HANDOVER 2960 +#define MSG_SC4_HIDEBOOT 4563 +#define MSG_SC4_KOZAWFALL 2858 +#define MSG_SC4_MANFROMBOTTLE 2854 +#define MSG_SC4_MANTOBOTTLE 2852 +#define PIC_SC4_LADDER 1438 +#define MSG_GOTOLADDER 618 +#define MSG_SHAKEBOTTLE 584 +#define MSG_SHOOTKOZAW 557 +#define MSG_SHOWCOIN 1033 +#define MSG_STARTHAND 612 +#define MSG_TAKEBOTTLE 614 +#define MSG_TAKEKOZAW 611 +#define MSG_TESTPLANK 538 +#define MSG_UPDATEBOTTLE 613 #define MV_EGTR_FATASK 5332 #define MV_IN1MAN_SLEEP 5111 #define MV_KZW_JUMP 558 #define MV_KZW_JUMPROTATE 561 +#define MV_MAN_GOD 481 #define MV_MAN_GOLADDER 451 #define MV_MAN_GOLADDER2 2844 #define MV_MAN_LOOKUP 4773 @@ -142,6 +168,7 @@ namespace Fullpipe { #define PIC_SC4_BOTTLE 568 #define PIC_SC4_BOTTLE2 2936 #define PIC_SC4_DOWNTRUBA 619 +#define PIC_SC4_LADDER 1438 #define PIC_SC4_LRTRUBA 616 #define PIC_SC4_MASK 585 #define PIC_SC4_PLANK 5183 @@ -207,9 +234,12 @@ namespace Fullpipe { #define SC_MAP 5222 #define SC_TEST 903 #define SC_TITLES 5166 +#define SND_4_010 3125 +#define SND_4_012 3127 #define SND_CMN_031 3516 #define SND_CMN_070 5199 #define SND_INTR_019 5220 +#define ST_CLK_CLOSED 590 #define ST_DYAS_LIES 318 #define ST_EGTR_MID1 2863 #define ST_EGTR_MID2 2869 diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index 801734eff8..6771fe8ec8 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -73,6 +73,9 @@ Vars::Vars() { scene04_soundPlaying = false; scene04_dynamicPhaseIndex = 0; + scene04_sceneClickX = 0; + scene04_sceneClickY = 0; + scene04_var01 = 0; scene04_var02 = 0; scene04_var04 = 0; @@ -91,6 +94,8 @@ Vars::Vars() { scene04_var17 = 0; scene04_var18 = 0; scene04_var19 = 0; + scene04_var20 = 0; + scene04_var24 = 0; selector = 0; } diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index 0ed1b82a7e..4131fbb676 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -97,6 +97,10 @@ public: bool scene04_coinPut; bool scene04_soundPlaying; int scene04_dynamicPhaseIndex; + int scene04_sceneClickX; + int scene04_sceneClickY; + int scene04_dudePosX; + int scene04_dudePosY; int scene04_var01; int scene04_var02; @@ -116,6 +120,8 @@ public: int scene04_var17; int scene04_var18; int scene04_var19; + int scene04_var20; + StaticANIObject *scene04_var24; PictureObject *selector; }; diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index c51a6d7a11..119fed5041 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -32,6 +32,7 @@ #include "fullpipe/scene.h" #include "fullpipe/interaction.h" #include "fullpipe/gameloader.h" +#include "fullpipe/behavior.h" namespace Fullpipe { @@ -211,14 +212,129 @@ int scene04_updateCursor() { return g_fullpipe->_cursorId; } +void sceneHandlers_sub01(ExCommand *ex) { + warning("sceneHandlers_sub01()"); +} + +void sceneHandler04_clickBottle() { + warning("sceneHandler04_clickBottle()"); +} + +void sceneHandler04_clickButton() { + warning("sceneHandler04_clickButton()"); +} + +void sceneHandler04_clickLadder() { + warning("sceneHandler04_clickLadder()"); +} + +void sceneHandler04_clickPlank() { + warning("sceneHandler04_clickPlank()"); +} + +void sceneHandler04_dropBottle() { + warning("sceneHandler04_dropBottle()"); +} + +void sceneHandler04_gotoLadder(int par) { + warning("sceneHandler04_gotoLadder()"); +} + +void sceneHandler04_lowerPlank() { + warning("sceneHandler04_lowerPlank()"); +} + +void sceneHandler04_manFromBottle() { + warning("sceneHandler04_manFromBottle()"); +} + +void sceneHandler04_manToBottle() { + warning("sceneHandler04_manToBottle()"); +} + +void sceneHandler04_raisePlank() { + warning("sceneHandler04_raisePlank()"); +} + +void sceneHandler04_shootKozyawka() { + warning("sceneHandler04_shootKozyawka()"); +} + +void sceneHandler04_showCoin() { + warning("sceneHandler04_showCoin()"); +} + +void sceneHandler04_stopSound() { + warning("sceneHandler04_stopSound()"); +} + +void sceneHandler04_sub1(ExCommand *ex) { + warning("sceneHandler04_sub1()"); +} + +void sceneHandler04_sub3() { + warning("sceneHandler04_sub3()"); +} + +void sceneHandler04_sub4() { + warning("sceneHandler04_sub4()"); +} + +void sceneHandler04_sub5() { + warning("sceneHandler04_sub5()"); +} + +void sceneHandler04_sub6() { + warning("sceneHandler04_sub6()"); +} + +void sceneHandler04_sub7() { + warning("sceneHandler04_sub7()"); +} + +void sceneHandler04_sub8(ExCommand *ex) { + warning("sceneHandler04_sub8()"); +} + +void sceneHandler04_sub9(StaticANIObject *ani) { + warning("sceneHandler04_sub9()"); +} + +void sceneHandler04_sub15() { + warning("sceneHandler04_sub15()"); +} + +void sceneHandler04_sub17() { + warning("sceneHandler04_sub17()"); +} + +void sceneHandler04_takeBottle() { + warning("sceneHandler04_takeBottle()"); +} + +void sceneHandler04_takeKozyawka() { + warning("sceneHandler04_takeKozyawka()"); +} + +void sceneHandler04_testPlank(ExCommand *ex) { + warning("sceneHandler04_testPlank()"); +} + +void sceneHandler04_updateBottle() { + warning("sceneHandler04_updateBottle()"); +} + +void sceneHandler04_winArcade() { + warning("sceneHandler04_winArcade()"); +} + int sceneHandler04(ExCommand *ex) { -#if 0 if (ex->_messageKind != 17) return 0; switch (ex->_messageNum) { case MSG_UPDATEBOTTLE: - sceneHandler04_msgUpdateBottle(); + sceneHandler04_updateBottle(); break; case MSG_CLICKBOTTLE: @@ -226,7 +342,7 @@ int sceneHandler04(ExCommand *ex) { break; case MSG_SHOOTKOZAW: - sceneHandler04_chootKozyawka(); + sceneHandler04_shootKozyawka(); break; case MSG_SHAKEBOTTLE: @@ -277,120 +393,129 @@ int sceneHandler04(ExCommand *ex) { break; case MSG_TESTPLANK: - sceneHandler04_testPlank((int)ex); + sceneHandler04_testPlank(ex); break; case 33: - g_vars->scene04_dudePosX = g_fullpipe->_aniMan->_ox; - g_vars->scene04_dudePosY = g_fullpipe->_aniMan->_oy; + { + g_vars->scene04_dudePosX = g_fullpipe->_aniMan->_ox; + g_vars->scene04_dudePosY = g_fullpipe->_aniMan->_oy; - int res = 0; + int res = 0; - if (g_fullpipe->_aniMan2) { - if (g_fullpipe->_aniMan->_ox < g_fullpipe->_sceneRect.left + 200) { - g_currentScene->_x = g_fullpipe->_aniMan->_ox - g_fullpipe->_sceneRect.left - 300; - g_fullpipe->_aniMan->_ox = g_vars->scene04_dudePosX; - } - if (g_fullpipe->_aniMan->_ox > g_fullpipe->_sceneRect.right - 200) { - g_currentScene->_x = g_fullpipe->_aniMan->_ox - g_fullpipe->_sceneRect.right + 300; - } + if (g_fullpipe->_aniMan2) { + if (g_fullpipe->_aniMan->_ox < g_fullpipe->_sceneRect.left + 200) { + g_fullpipe->_currentScene->_x = g_fullpipe->_aniMan->_ox - g_fullpipe->_sceneRect.left - 300; + g_fullpipe->_aniMan->_ox = g_vars->scene04_dudePosX; + } + if (g_fullpipe->_aniMan->_ox > g_fullpipe->_sceneRect.right - 200) { + g_fullpipe->_currentScene->_x = g_fullpipe->_aniMan->_ox - g_fullpipe->_sceneRect.right + 300; + } - res = 1; + res = 1; - if (g_vars->scene04_soundPlaying) { - if (g_fullpipe->_aniMan->_movement) { - if (g_fullpipe->_aniMan->_movement->_id == MV_MAN_TOLADDER) { - g_fullpipe->_aniMan2 = 0; - if (g_fullpipe->_sceneRect.left > 380) - g_currentScene->bg.x = 380 - g_fullpipe->_sceneRect.left; + if (g_vars->scene04_soundPlaying) { + if (g_fullpipe->_aniMan->_movement) { + if (g_fullpipe->_aniMan->_movement->_id == MV_MAN_TOLADDER) { + g_fullpipe->_aniMan2 = 0; + + if (g_fullpipe->_sceneRect.left > 380) + g_fullpipe->_currentScene->_x = 380 - g_fullpipe->_sceneRect.left; + } } } + } else { + if (g_fullpipe->_aniMan->_movement && g_fullpipe->_aniMan->_movement->_id == MV_MAN_GOD) + g_fullpipe->_aniMan2 = g_fullpipe->_aniMan; } - } else { - v7 = ; - if (g_fullpipe->_aniMan->_movement && g_fullpipe->_aniMan->_movement->_id == MV_MAN_GOD) - g_fullpipe->_aniMan2 = g_fullpipe->_aniMan; - } - sceneHandler04_sub4(); + sceneHandler04_sub4(); - if (g_vars->scene04_var07 && !g_vars->scene04_var09) - sceneHandler04_sub5(); + if (g_vars->scene04_var07 && !g_vars->scene04_var09) + sceneHandler04_sub5(); - if (g_vars->scene04_var12) - sceneHandler04_sub6(); + if (g_vars->scene04_var12) + sceneHandler04_sub6(); - if (g_vars->scene04_var08) - sceneHandler04_clickLadder(); + if (g_vars->scene04_var08) + sceneHandler04_clickLadder(); - if (g_vars->scene04_var10 && g_vars->scene04_hand->_movement) - sceneHandler04_sub1(0); + if (g_vars->scene04_var10 && g_vars->scene04_hand->_movement) + sceneHandler04_sub1(0); - if (g_vars->scene04_coinPut && g_vars->scene04_var18 && !g_vars->scene04_var09 && !g_vars->scene04_soundPlaying) - sceneHandler04_sub7(); + if (g_vars->scene04_coinPut && g_vars->scene04_var18 && !g_vars->scene04_var09 && !g_vars->scene04_soundPlaying) + sceneHandler04_sub7(); - if (g_vars->scene04_var01) { - if (!g_vars->scene04_soundPlaying) { - startSceneTrack(); + if (g_vars->scene04_var01) { + if (!g_vars->scene04_soundPlaying) { + g_fullpipe->startSceneTrack(); + g_fullpipe->_behaviorManager->updateBehaviors(); + return res; + } + + g_vars->scene04_var14++; + + if (g_vars->scene04_var14 > 600) + sceneHandler04_sub17(); + } + + if (g_vars->scene04_soundPlaying) { g_fullpipe->_behaviorManager->updateBehaviors(); + return res; } - v11 = __OFSUB__(g_vars->scene04_var14 + 1, 600); - v9 = g_vars->scene04_var14 == 599; - v10 = g_vars->scene04_var14++ - 599 < 0; - if (!((unsigned __int8)(v10 ^ v11) | v9)) - sceneHandler04_sub17(); - } + g_fullpipe->startSceneTrack(); - if (g_vars->scene04_soundPlaying) { g_fullpipe->_behaviorManager->updateBehaviors(); return res; } - startSceneTrack(); + case 29: + { + int picid = g_fullpipe->_currentScene->getPictureObjectIdAtPos(ex->_sceneClickX, ex->_sceneClickY); - g_fullpipe->_behaviorManager->updateBehaviors(); + if (g_vars->scene04_var10) { + sceneHandler04_sub1(ex); - return res; + break; + } - case 29: - v12 = Scene_getPictureObjectIdAtPos(g_currentScene, ex->msg.sceneClickX, ex->msg.sceneClickY); - LOWORD(sceneHandler_pic) = v12; - if (g_vars->scene04_var10) { - sceneHandler04_sub1(ex); - break; - } + if (picid == PIC_SC4_LADDER) { + if (!g_vars->scene04_var04) { + g_vars->scene04_sceneClickX = ex->_sceneClickX; + g_vars->scene04_sceneClickY = ex->_sceneClickY; - if (v12 == PIC_SC4_LADDER) { - if (!g_vars->scene04_var04) { - dword_476CB8 = ex->msg.sceneClickX; - dword_476CBC = ex->msg.sceneClickY; - sceneHandler04_clickLadder(); - ex->msg.messageKind = 0; + sceneHandler04_clickLadder(); + + ex->_messageKind = 0; + + break; + } + + sceneHandler04_gotoLadder(0); break; } - sceneHandler04_gotoLadder(0); - break; - } - v13 = Scene_getStaticANIObjectAtPos(g_currentScene, ex->msg.sceneClickX, ex->msg.sceneClickY); - v14 = (GameObject *)v13; - if (v13 && v13->GameObject.id == ANI_PLANK - || Scene_getPictureObjectIdAtPos(g_currentScene, ex->msg.sceneClickX, ex->msg.sceneClickY) == PIC_SC4_PLANK) { - sceneHandler04_clickPlank(); - ex->msg.messageKind = 0; - } else if (g_vars->scene04_var01) { - sceneHandler04_sub8(ex); - } else if (!v14 || !canInteractAny(&g_fullpipe->_aniMan->GameObject, v14, LOWORD(ex->msg.keyCode))) { - v15 = (GameObject *)Scene_getPictureObjectById(g_currentScene, sceneHandler_pic, 0); - if (!v15 || !canInteractAny(&g_fullpipe->_aniMan->GameObject, v15, LOWORD(ex->msg.keyCode))) { - if ((v16 = ex->msg.sceneClickX, g_fullpipe->_sceneRect.right - v16 < 47) && g_fullpipe->_sceneRect.right < g_sceneWidth - 1 - || v16 - g_fullpipe->_sceneRect.left < 47 && g_fullpipe->_sceneRect.left > 0) - sceneHandlers_sub01(ex); + StaticANIObject *ani = g_fullpipe->_currentScene->getStaticANIObjectAtPos(ex->_sceneClickX, ex->_sceneClickY); + + if ((ani && ani->_id == ANI_PLANK) || picid == PIC_SC4_PLANK) { + sceneHandler04_clickPlank(); + + ex->_messageKind = 0; + } else if (g_vars->scene04_var01) { + sceneHandler04_sub8(ex); + } else if (!ani || !canInteractAny(g_fullpipe->_aniMan, ani, ex->_keyCode)) { + PictureObject *pic = g_fullpipe->_currentScene->getPictureObjectById(picid, 0); + + if (!pic || !canInteractAny(g_fullpipe->_aniMan, pic,ex->_keyCode)) { + if ((g_fullpipe->_sceneRect.right - ex->_sceneClickX < 47 && g_fullpipe->_sceneRect.right < g_fullpipe->_sceneWidth - 1) + || (ex->_sceneClickX - g_fullpipe->_sceneRect.left < 47 && g_fullpipe->_sceneRect.left > 0)) + sceneHandlers_sub01(ex); + } } } @@ -414,7 +539,7 @@ int sceneHandler04(ExCommand *ex) { break; case MSG_SC4_COINOUT: - StaticANIObject_changeStatics2(g_vars->scene04_clock, ST_CLK_CLOSED); + g_vars->scene04_clock->changeStatics2(ST_CLK_CLOSED); g_vars->scene04_coinPut = 0; sceneHandler04_stopSound(); @@ -451,7 +576,7 @@ int sceneHandler04(ExCommand *ex) { case MSG_SC4_MANFROMBOTTLE: sceneHandler04_manFromBottle(); - return v2; + break; case MSG_SC4_CLICKLADDER: sceneHandler04_clickLadder(); @@ -463,11 +588,11 @@ int sceneHandler04(ExCommand *ex) { case MSG_SHOWCOIN: sceneHandler04_showCoin(); - return v2; + break; case MSG_TAKEBOTTLE: sceneHandler04_takeBottle(); - return v2; + break; case MSG_GOTOLADDER: sceneHandler04_gotoLadder(0); @@ -478,11 +603,6 @@ int sceneHandler04(ExCommand *ex) { break; } - return 0; - -#endif - warning("STUB: sceneHandler04()"); - return 0; } -- cgit v1.2.3 From b0ca746a185a137be3848ebc1dec321243b485ec Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Thu, 21 Nov 2013 21:11:46 -0800 Subject: FULLPIPE: More work on scene 4 --- engines/fullpipe/constants.h | 3 +++ engines/fullpipe/scenes/scene04.cpp | 14 ++++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index fd1a0112b0..0ca1dd503d 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -118,6 +118,7 @@ namespace Fullpipe { #define MV_MAN_TOLADDER 448 #define MV_MAN_TOLADDER2 2841 #define MV_MAN_TURN_LU 486 +#define MV_PNK_WEIGHTRIGHT 502 #define MV_SPK4_PLAY 3276 #define PIC_CMN_EVAL 3468 #define PIC_CSR_DEFAULT 4891 @@ -180,6 +181,7 @@ namespace Fullpipe { #define QU_INTR_FINISH 5138 #define QU_INTR_GETUPMAN 5136 #define QU_INTR_STARTINTRO 5133 +#define QU_PNK_CLICK 550 #define QU_SC3_ENTERLIFT 2779 #define QU_SC3_EXITLIFT 2808 #define SC_1 301 @@ -236,6 +238,7 @@ namespace Fullpipe { #define SC_TITLES 5166 #define SND_4_010 3125 #define SND_4_012 3127 +#define SND_4_033 4990 #define SND_CMN_031 3516 #define SND_CMN_070 5199 #define SND_INTR_019 5220 diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index 119fed5041..6db3359bd7 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -217,7 +217,8 @@ void sceneHandlers_sub01(ExCommand *ex) { } void sceneHandler04_clickBottle() { - warning("sceneHandler04_clickBottle()"); + if (!g_vars->scene04_var02) + g_vars->scene04_var20 += 5; } void sceneHandler04_clickButton() { @@ -228,8 +229,17 @@ void sceneHandler04_clickLadder() { warning("sceneHandler04_clickLadder()"); } +void sceneHandler04_sub13() { + warning("sceneHandler04_sub13()"); +} + void sceneHandler04_clickPlank() { - warning("sceneHandler04_clickPlank()"); + if (sceneHandler04_friesAreWalking()) + sceneHandler04_sub13(); + else if (g_vars->scene04_var01) + g_fullpipe->playSound(SND_4_033, 0); + else if (!g_vars->scene04_soundPlaying) + chainQueue(QU_PNK_CLICK, 0); } void sceneHandler04_dropBottle() { -- cgit v1.2.3 From 70e471acd7edb03c32a9c33038558887d7e1e99d Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Thu, 21 Nov 2013 21:21:32 -0800 Subject: FULLPIPE: Continued work on scene 4 --- engines/fullpipe/constants.h | 5 +++++ engines/fullpipe/scenes.h | 2 +- engines/fullpipe/scenes/scene04.cpp | 18 ++++++++++++++---- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 0ca1dd503d..087a768156 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -46,6 +46,7 @@ namespace Fullpipe { #define ANI_PLANK 501 #define ANI_SC2_BOX 1020 #define ANI_SC4_BOOT 1035 +#define ANI_SC4_COIN 690 #define ANI_SPEAKER_4 3275 #define ANI_SPRING 542 #define MSG_CLICKBOTTLE 569 @@ -107,9 +108,11 @@ namespace Fullpipe { #define MV_IN1MAN_SLEEP 5111 #define MV_KZW_JUMP 558 #define MV_KZW_JUMPROTATE 561 +#define MV_BDG_OPEN 1379 #define MV_MAN_GOD 481 #define MV_MAN_GOLADDER 451 #define MV_MAN_GOLADDER2 2844 +#define MV_MAN_GOU 460 #define MV_MAN_LOOKUP 4773 #define MV_MAN_STARTLADDER 452 #define MV_MAN_STARTLADDER2 2842 @@ -118,7 +121,9 @@ namespace Fullpipe { #define MV_MAN_TOLADDER 448 #define MV_MAN_TOLADDER2 2841 #define MV_MAN_TURN_LU 486 +#define MV_PNK_WEIGHTLEFT 541 #define MV_PNK_WEIGHTRIGHT 502 +#define MV_SC4_COIN_default 1029 #define MV_SPK4_PLAY 3276 #define PIC_CMN_EVAL 3468 #define PIC_CSR_DEFAULT 4891 diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index 4131fbb676..277beb0083 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -90,7 +90,7 @@ public: Common::Point scene04_jumpRotateKozyawki[20]; Common::Array scene04_kozyawkiObjList; - Common::Array scene04_bottleObjList; + Common::Array scene04_bottleObjList; Common::Array scene04_kozyawkiAni; int scene04_ladder; diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index 6db3359bd7..5e1454793f 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -251,7 +251,7 @@ void sceneHandler04_gotoLadder(int par) { } void sceneHandler04_lowerPlank() { - warning("sceneHandler04_lowerPlank()"); + g_vars->scene04_plank->startAnim(MV_PNK_WEIGHTRIGHT, 0, -1); } void sceneHandler04_manFromBottle() { @@ -259,11 +259,15 @@ void sceneHandler04_manFromBottle() { } void sceneHandler04_manToBottle() { - warning("sceneHandler04_manToBottle()"); + g_vars->scene04_bottleObjList.push_back(g_fullpipe->_aniMan); + g_vars->scene04_var20 = 5; + g_vars->scene04_var06 += 9; + g_fullpipe->_aniMan2 = g_fullpipe->_aniMan; + g_vars->scene04_var10 = 1; } void sceneHandler04_raisePlank() { - warning("sceneHandler04_raisePlank()"); + g_vars->scene04_plank->startAnim(MV_PNK_WEIGHTLEFT, 0, -1); } void sceneHandler04_shootKozyawka() { @@ -271,7 +275,13 @@ void sceneHandler04_shootKozyawka() { } void sceneHandler04_showCoin() { - warning("sceneHandler04_showCoin()"); + StaticANIObject *ani = g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_SC4_COIN, -1); + + if (ani) { + ani->show1(MV_BDG_OPEN, MV_MAN_GOU, MV_SC4_COIN_default, 0); + + ani->_priority = 40; + } } void sceneHandler04_stopSound() { -- cgit v1.2.3 From 66109101f8c57a927c3ec9a2b8982a0f5309e25d Mon Sep 17 00:00:00 2001 From: urukgit Date: Fri, 22 Nov 2013 18:03:01 +0100 Subject: AVALANCHE: Add skeleton code for the minigame called Nim. --- engines/avalanche/avalanche.cpp | 3 ++ engines/avalanche/avalanche.h | 2 + engines/avalanche/module.mk | 3 +- engines/avalanche/nim.cpp | 98 +++++++++++++++++++++++++++++++++++++++++ engines/avalanche/nim.h | 72 ++++++++++++++++++++++++++++++ engines/avalanche/parser.cpp | 8 ++-- 6 files changed, 181 insertions(+), 5 deletions(-) create mode 100644 engines/avalanche/nim.cpp create mode 100644 engines/avalanche/nim.h diff --git a/engines/avalanche/avalanche.cpp b/engines/avalanche/avalanche.cpp index 8b3efe4081..b608ed1f11 100644 --- a/engines/avalanche/avalanche.cpp +++ b/engines/avalanche/avalanche.cpp @@ -55,6 +55,7 @@ AvalancheEngine::AvalancheEngine(OSystem *syst, const AvalancheGameDescription * _menu = nullptr; _closing = nullptr; _sound = nullptr; + _nim = nullptr; _platform = gd->desc.platform; initVariables(); @@ -77,6 +78,7 @@ AvalancheEngine::~AvalancheEngine() { delete _menu; delete _closing; delete _sound; + delete _nim; for (int i = 0; i < 31; i++) { for (int j = 0; j < 2; j++) { @@ -182,6 +184,7 @@ Common::ErrorCode AvalancheEngine::initialize() { _menu = new Menu(this); _closing = new Closing(this); _sound = new SoundHandler(this); + _nim = new Nim(this); _graphics->init(); _dialogs->init(); diff --git a/engines/avalanche/avalanche.h b/engines/avalanche/avalanche.h index fdbc4c7a15..b2a4269249 100644 --- a/engines/avalanche/avalanche.h +++ b/engines/avalanche/avalanche.h @@ -41,6 +41,7 @@ #include "avalanche/menu.h" #include "avalanche/closing.h" #include "avalanche/sound.h" +#include "avalanche/nim.h" #include "common/serializer.h" @@ -84,6 +85,7 @@ public: Menu *_menu; Closing *_closing; SoundHandler *_sound; + Nim *_nim; OSystem *_system; diff --git a/engines/avalanche/module.mk b/engines/avalanche/module.mk index 9c1205df02..0f66bb8213 100644 --- a/engines/avalanche/module.mk +++ b/engines/avalanche/module.mk @@ -15,7 +15,8 @@ MODULE_OBJS = \ dialogs.o \ sequence.o \ sound.o \ - timer.o + timer.o \ + nim.o # This module can be built as a plugin ifeq ($(ENABLE_AVALANCHE), DYNAMIC_PLUGIN) diff --git a/engines/avalanche/nim.cpp b/engines/avalanche/nim.cpp new file mode 100644 index 0000000000..e7a73b5a62 --- /dev/null +++ b/engines/avalanche/nim.cpp @@ -0,0 +1,98 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +/* + * This code is based on the original source code of Lord Avalot d'Argent version 1.3. + * Copyright (c) 1994-1995 Mike, Mark and Thomas Thurman. + */ + +#include "avalanche/avalanche.h" +#include "avalanche/nim.h" + +namespace Avalanche { + + Nim::Nim(AvalancheEngine *vm) { + _vm = vm; + } + + void Nim::playNim() { + warning("STUB: Nim::playNim()"); + } + + void Nim::chalk(int x,int y, Common::String z) { + warning("STUB: Nim::chalk()"); + } + + void Nim::setup() { + warning("STUB: Nim::setup()"); + } + + void Nim::plotStone(byte x,byte y) { + warning("STUB: Nim::plotStone()"); + } + + void Nim::board() { + warning("STUB: Nim::board()"); + } + + void Nim::startMove() { + warning("STUB: Nim::startMove()"); + } + + void Nim::showChanges() { + warning("STUB: Nim::showChanges()"); + } + + void Nim::blip() { + warning("STUB: Nim::blip()"); + } + + void Nim::checkMouse() { + warning("STUB: Nim::checkMouse()"); + } + + void Nim::less() { + warning("STUB: Nim::less()"); + } + + void Nim::takeSome() { + warning("STUB: Nim::takeSome()"); + } + + void Nim::endOfGame() { + warning("STUB: Nim::endOfGame()"); + } + + void Nim::dogFood() { + warning("STUB: Nim::dogFood()"); + } + + bool Nim::find(byte x) { + warning("STUB: Nim::find()"); + return true; + } + + void Nim::findAp(byte start,byte stepsize) { + warning("STUB: Nim::findAp()"); + } + +} // End of namespace Avalanche diff --git a/engines/avalanche/nim.h b/engines/avalanche/nim.h new file mode 100644 index 0000000000..9d421c401c --- /dev/null +++ b/engines/avalanche/nim.h @@ -0,0 +1,72 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +/* + * This code is based on the original source code of Lord Avalot d'Argent version 1.3. + * Copyright (c) 1994-1995 Mike, Mark and Thomas Thurman. + */ + +#ifndef AVALANCHE_NIM_H +#define AVALANCHE_NIM_H + +namespace Avalanche { + +class Nim { +public: + Nim(AvalancheEngine *vm); + void playNim(); + +private: + AvalancheEngine *_vm; + + const Common::String names[2] = {"Avalot", "Dogfood"}; + byte old[3]; + byte stones[3]; + byte stonePic[4][23][7]; // Picture of Nimstone. + byte turns; + bool dogfoodsTurn; + byte stonesLeft; + bool clicked; + byte row; + byte number; + bool squeak; + int8 mNum, mRow; + + void chalk(int x,int y, Common::String z); + void setup(); + void plotStone(byte x,byte y); + void board(); + void startMove(); + void showChanges(); + void blip(); + void checkMouse(); + void less(); + void takeSome(); + void endOfGame(); + void dogFood(); + bool find(byte x); + void findAp(byte start,byte stepsize); +}; + +} // End of namespace Avalanche + +#endif // AVALANCHE_NIM_H diff --git a/engines/avalanche/parser.cpp b/engines/avalanche/parser.cpp index 6090dc967a..eef325fa63 100644 --- a/engines/avalanche/parser.cpp +++ b/engines/avalanche/parser.cpp @@ -27,6 +27,7 @@ #include "avalanche/avalanche.h" #include "avalanche/parser.h" +#include "avalanche/nim.h" #include "gui/saveload.h" @@ -1965,11 +1966,10 @@ void Parser::doThat() { switch (_vm->_room) { case kRoomArgentPub: // ...in the pub, => play Nim. - warning("STUB: Parser::doThat() - case kVerbCodeplay - play_nim()"); - // play_nim(); + _vm->_nim->playNim(); - // The following parts are copied from play_nim(). - // The player automatically wins the game everytime he wins, until I implement the mini-game. + // The following parts are copied from the original play_nim() and a little plus. + // The player automatically wins the game everytime he plays, until I implement the mini-game. if (_vm->_wonNim) { // Already won the game. _vm->_dialogs->displayScrollChain('Q', 6); return; -- cgit v1.2.3 From be41405969c6aa6a7472562eafda0092b9b97e52 Mon Sep 17 00:00:00 2001 From: urukgit Date: Fri, 22 Nov 2013 18:39:51 +0100 Subject: AVALANCHE: Fix Nim. --- engines/avalanche/nim.cpp | 130 +++++++++++++++++++++++----------------------- engines/avalanche/nim.h | 2 +- 2 files changed, 67 insertions(+), 65 deletions(-) diff --git a/engines/avalanche/nim.cpp b/engines/avalanche/nim.cpp index e7a73b5a62..cc4681bf3b 100644 --- a/engines/avalanche/nim.cpp +++ b/engines/avalanche/nim.cpp @@ -30,69 +30,71 @@ namespace Avalanche { - Nim::Nim(AvalancheEngine *vm) { - _vm = vm; - } - - void Nim::playNim() { - warning("STUB: Nim::playNim()"); - } - - void Nim::chalk(int x,int y, Common::String z) { - warning("STUB: Nim::chalk()"); - } - - void Nim::setup() { - warning("STUB: Nim::setup()"); - } - - void Nim::plotStone(byte x,byte y) { - warning("STUB: Nim::plotStone()"); - } - - void Nim::board() { - warning("STUB: Nim::board()"); - } - - void Nim::startMove() { - warning("STUB: Nim::startMove()"); - } - - void Nim::showChanges() { - warning("STUB: Nim::showChanges()"); - } - - void Nim::blip() { - warning("STUB: Nim::blip()"); - } - - void Nim::checkMouse() { - warning("STUB: Nim::checkMouse()"); - } - - void Nim::less() { - warning("STUB: Nim::less()"); - } - - void Nim::takeSome() { - warning("STUB: Nim::takeSome()"); - } - - void Nim::endOfGame() { - warning("STUB: Nim::endOfGame()"); - } - - void Nim::dogFood() { - warning("STUB: Nim::dogFood()"); - } - - bool Nim::find(byte x) { - warning("STUB: Nim::find()"); - return true; - } - - void Nim::findAp(byte start,byte stepsize) { - warning("STUB: Nim::findAp()"); - } +const char * const Nim::names[2] = {"Avalot", "Dogfood"}; + +Nim::Nim(AvalancheEngine *vm) { + _vm = vm; +} + +void Nim::playNim() { + warning("STUB: Nim::playNim()"); +} + +void Nim::chalk(int x,int y, Common::String z) { + warning("STUB: Nim::chalk()"); +} + +void Nim::setup() { + warning("STUB: Nim::setup()"); +} + +void Nim::plotStone(byte x,byte y) { + warning("STUB: Nim::plotStone()"); +} + +void Nim::board() { + warning("STUB: Nim::board()"); +} + +void Nim::startMove() { + warning("STUB: Nim::startMove()"); +} + +void Nim::showChanges() { + warning("STUB: Nim::showChanges()"); +} + +void Nim::blip() { + warning("STUB: Nim::blip()"); +} + +void Nim::checkMouse() { + warning("STUB: Nim::checkMouse()"); +} + +void Nim::less() { + warning("STUB: Nim::less()"); +} + +void Nim::takeSome() { + warning("STUB: Nim::takeSome()"); +} + +void Nim::endOfGame() { + warning("STUB: Nim::endOfGame()"); +} + +void Nim::dogFood() { + warning("STUB: Nim::dogFood()"); +} + +bool Nim::find(byte x) { + warning("STUB: Nim::find()"); + return true; +} + +void Nim::findAp(byte start,byte stepsize) { + warning("STUB: Nim::findAp()"); +} } // End of namespace Avalanche diff --git a/engines/avalanche/nim.h b/engines/avalanche/nim.h index 9d421c401c..087f1e830b 100644 --- a/engines/avalanche/nim.h +++ b/engines/avalanche/nim.h @@ -38,7 +38,7 @@ public: private: AvalancheEngine *_vm; - const Common::String names[2] = {"Avalot", "Dogfood"}; + static const char * const names[2]; byte old[3]; byte stones[3]; byte stonePic[4][23][7]; // Picture of Nimstone. -- cgit v1.2.3 From b76b301d4f4854d143e9e5f6f5c14eaf7e4d3aa7 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 22 Nov 2013 21:19:43 +0100 Subject: TSAGE: R2R - Add a hack to avoid the display of giant character in circular hall (scene 3375) --- engines/tsage/ringworld2/ringworld2_scenes3.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes3.cpp b/engines/tsage/ringworld2/ringworld2_scenes3.cpp index b3b512e75d..07e3a8afab 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes3.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes3.cpp @@ -1996,11 +1996,11 @@ void Scene3375::postInit(SceneObjectList *OwnerList) { setZoomPercents(126, 55, 200, 167); R2_GLOBALS._player.postInit(); - if (R2_GLOBALS._player._characterIndex == R2_SEEKER) { + if (R2_GLOBALS._player._characterIndex == R2_SEEKER) R2_GLOBALS._player._moveDiff = Common::Point(5, 3); - } else { + else R2_GLOBALS._player._moveDiff = Common::Point(3, 2); - } + R2_GLOBALS._player.changeZoom(-1); switch (R2_GLOBALS._player._characterIndex) { @@ -2191,6 +2191,14 @@ void Scene3375::signal() { _companion2._shade = 4; _webbster._effect = EFFECT_SHADED2; _webbster._shade = 4; + + // HACK: Reset zooms in order to avoid giant characters on the upper right of the screen + R2_GLOBALS._player.setZoom(-1); + _companion1.setZoom(-1); + _companion2.setZoom(-1); + _webbster.setZoom(-1); + // + enterArea(_sceneMode); break; case 3379: -- cgit v1.2.3 From 93e5d415c6818ada219e3848a5e10ac98087e158 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 22 Nov 2013 21:31:39 +0100 Subject: AVALANCHE: Janitorial - Removing trailing spaces and tabs --- engines/avalanche/animation.cpp | 2 +- engines/avalanche/animation.h | 2 +- engines/avalanche/avalanche.cpp | 10 +++++----- engines/avalanche/avalanche.h | 2 +- engines/avalanche/avalot.cpp | 24 ++++++++++++------------ engines/avalanche/avalot.h | 2 +- engines/avalanche/background.cpp | 2 +- engines/avalanche/dialogs.cpp | 22 +++++++++++----------- engines/avalanche/enums.h | 4 ++-- engines/avalanche/graphics.cpp | 6 +++--- engines/avalanche/menu.cpp | 6 +++--- engines/avalanche/parser.cpp | 8 ++++---- engines/avalanche/timer.cpp | 2 +- 13 files changed, 46 insertions(+), 46 deletions(-) diff --git a/engines/avalanche/animation.cpp b/engines/avalanche/animation.cpp index 927de07236..7bfae0fb78 100644 --- a/engines/avalanche/animation.cpp +++ b/engines/avalanche/animation.cpp @@ -248,7 +248,7 @@ void AnimationType::walk() { break; case kMagicUnfinished: { bounce(); - Common::String tmpStr = Common::String::format("%c%cSorry.%cThis place is not available yet!", + Common::String tmpStr = Common::String::format("%c%cSorry.%cThis place is not available yet!", kControlBell, kControlCenter, kControlRoman); _anim->_vm->_dialogs->displayText(tmpStr); } diff --git a/engines/avalanche/animation.h b/engines/avalanche/animation.h index 3223615985..cda5f05bd0 100644 --- a/engines/avalanche/animation.h +++ b/engines/avalanche/animation.h @@ -157,7 +157,7 @@ private: void followAvalotY(byte tripnum); void backAndForth(byte tripnum); void faceAvvy(byte tripnum); - + // Movements for Homing NPCs: Spludwick and Geida. void spin(Direction dir, byte &tripnum); void takeAStep(byte &tripnum); diff --git a/engines/avalanche/avalanche.cpp b/engines/avalanche/avalanche.cpp index b608ed1f11..573f9abe71 100644 --- a/engines/avalanche/avalanche.cpp +++ b/engines/avalanche/avalanche.cpp @@ -42,7 +42,7 @@ AvalancheEngine::AvalancheEngine(OSystem *syst, const AvalancheGameDescription * _system->getTimeAndDate(time); _rnd->setSeed(time.tm_sec + time.tm_min + time.tm_hour); _showDebugLines = false; - + _clock = nullptr; _graphics = nullptr; _parser = nullptr; @@ -352,7 +352,7 @@ void AvalancheEngine::synchronize(Common::Serializer &sz) { sz.syncAsByte(_timer->_times[i]._action); sz.syncAsByte(_timer->_times[i]._reason); } - + } bool AvalancheEngine::canSaveGameStateCurrently() { // TODO: Refine these!!! @@ -469,9 +469,9 @@ bool AvalancheEngine::loadGame(const int16 slot) { _animation->animLink(); _background->update(); - Common::String tmpStr = Common::String::format("%cLoaded: %c%s.ASG%c%c%c%s%c%csaved on %s.", - kControlItalic, kControlRoman, description.c_str(), kControlCenter, kControlNewLine, - kControlNewLine, _roomnName.c_str(), kControlNewLine, kControlNewLine, + Common::String tmpStr = Common::String::format("%cLoaded: %c%s.ASG%c%c%c%s%c%csaved on %s.", + kControlItalic, kControlRoman, description.c_str(), kControlCenter, kControlNewLine, + kControlNewLine, _roomnName.c_str(), kControlNewLine, kControlNewLine, expandDate(t.tm_mday, t.tm_mon, t.tm_year).c_str()); _dialogs->displayText(tmpStr); diff --git a/engines/avalanche/avalanche.h b/engines/avalanche/avalanche.h index b2a4269249..fac17df6e3 100644 --- a/engines/avalanche/avalanche.h +++ b/engines/avalanche/avalanche.h @@ -291,7 +291,7 @@ public: void newGame(); // This sets up the DNA for a completely new game. bool getFlag(char x); bool decreaseMoney(uint16 amount); // Called pennycheck in the original. - + Common::String getName(People whose); Common::String getItem(byte which); // Called get_better in the original. Common::String f5Does(); // This procedure determines what f5 does. diff --git a/engines/avalanche/avalot.cpp b/engines/avalanche/avalot.cpp index 08096d85c0..568f950604 100644 --- a/engines/avalanche/avalot.cpp +++ b/engines/avalanche/avalot.cpp @@ -143,7 +143,7 @@ void Clock::update() { if ((_hour == 0) && (_oldHour != 0) && (_oldHour != 17717)) { Common::String tmpStr = Common::String::format("Good morning!%c%cYes, it's just past " \ - "midnight. Are you having an all-night Avvy session? Glad you like the game that much!", + "midnight. Are you having an all-night Avvy session? Glad you like the game that much!", kControlNewLine, kControlNewLine); _vm->_dialogs->displayText(tmpStr); } @@ -184,7 +184,7 @@ void Clock::chime() { // Mute - skip the sound generation if ((_oldHour == 17717) || (!_vm->_soundFx)) return; - + byte hour = _hour % 12; if (hour == 0) hour = 12; @@ -194,7 +194,7 @@ void Clock::chime() { for (int i = 1; i <= hour; i++) { for (int j = 1; j <= 3; j++) _vm->_sound->playNote((i % 3) * 64 + 140 - j * 30, 50 - j * 12); - if (i != hour) + if (i != hour) _vm->_system->delayMillis(100); } } @@ -999,7 +999,7 @@ void AvalancheEngine::enterRoom(Room roomId, byte ped) { case kRoomDucks: _npcFacing = 1; // Duck. - break; + break; default: break; @@ -1064,7 +1064,7 @@ void AvalancheEngine::drawScore() { _scoreToDisplay[i] = numbers[i]; } -void AvalancheEngine::incScore(byte num) { +void AvalancheEngine::incScore(byte num) { for (int i = 1; i <= num; i++) { _dnascore++; @@ -1311,9 +1311,9 @@ void AvalancheEngine::fadeOut() { void AvalancheEngine::fadeIn() { if (_holdTheDawn || !_fxHidden) return; - + _fxHidden = false; - + byte pal[3]; for (int i = 15; i >= 0; i--) { for (int j = 0; j < 16; j++) { @@ -1380,7 +1380,7 @@ uint16 AvalancheEngine::bearing(byte whichPed) { if (avvy->_x == curPed->_x) return 0; - + int16 deltaX = avvy->_x - curPed->_x; int16 deltaY = avvy->_y - curPed->_y; uint16 result = (uint16)(atan((float)(deltaY / deltaX)) * 180 / M_PI); @@ -1391,7 +1391,7 @@ uint16 AvalancheEngine::bearing(byte whichPed) { } } -/** +/** * @remarks Originally called 'sprite_run' */ void AvalancheEngine::spriteRun() { @@ -1566,7 +1566,7 @@ Common::String AvalancheEngine::getName(People whose) { static const char lads[17][20] = { "Avalot", "Spludwick", "Crapulus", "Dr. Duck", "Malagauche", "Friar Tuck", "Robin Hood", "Cwytalot", "du Lustie", "the Duke of Cardiff", - "Dogfood", "A trader", "Ibythneth", "Ayles", "Port", + "Dogfood", "A trader", "Ibythneth", "Ayles", "Port", "Spurge", "Jacques" }; @@ -1748,10 +1748,10 @@ void AvalancheEngine::openDoor(Room whither, byte ped, byte magicnum) { } void AvalancheEngine::setRoom(People persId, Room roomId) { - _whereIs[persId - kPeopleAvalot] = roomId; + _whereIs[persId - kPeopleAvalot] = roomId; } Room AvalancheEngine::getRoom(People persId) { - return _whereIs[persId - kPeopleAvalot]; + return _whereIs[persId - kPeopleAvalot]; } } // End of namespace Avalanche diff --git a/engines/avalanche/avalot.h b/engines/avalanche/avalot.h index ab78f5c385..f50ad28bc4 100644 --- a/engines/avalanche/avalot.h +++ b/engines/avalanche/avalot.h @@ -40,7 +40,7 @@ public: Clock(AvalancheEngine *vm); void update(); - + private: static const int kCenterX = 510; static const int kCenterY = 183; diff --git a/engines/avalanche/background.cpp b/engines/avalanche/background.cpp index 523b7a6826..5d168a20af 100644 --- a/engines/avalanche/background.cpp +++ b/engines/avalanche/background.cpp @@ -251,7 +251,7 @@ void Background::update() { if (_nextBell < 5) _nextBell = 12; _nextBell--; - // CHECKME: 2 is a guess. No length in the original? + // CHECKME: 2 is a guess. No length in the original? _vm->_sound->playNote(_vm->kNotes[_nextBell], 2); break; case 2: diff --git a/engines/avalanche/dialogs.cpp b/engines/avalanche/dialogs.cpp index 4b6cacf569..e5d2bf678c 100644 --- a/engines/avalanche/dialogs.cpp +++ b/engines/avalanche/dialogs.cpp @@ -375,7 +375,7 @@ void Dialogs::scrollModeMusic() { else store(kPitchHigher, played); } - + if (theyMatch(played)) { setReadyLight(0); _vm->_timer->addTimer(8, Timer::kProcJacquesWakesUp, Timer::kReasonJacquesWakingUp); @@ -502,7 +502,7 @@ void Dialogs::drawScroll(DialogFunctionType modeFunc) { _underScroll = (my + 3) * 2; // Multiplying because of the doubled screen height. ringBell(); - + _vm->_dropsOk = false; dodgem(); @@ -510,7 +510,7 @@ void Dialogs::drawScroll(DialogFunctionType modeFunc) { unDodgem(); _vm->_dropsOk = true; - + resetScrollDriver(); } @@ -597,7 +597,7 @@ Common::String Dialogs::displayMoney() { else result = Common::String::format("%d/%d", _vm->_money / 12, _vm->_money % 12); } else { // L, s & d - result = Common::String::format("\x9C%d.%d.%d", _vm->_money / 240, (_vm->_money / 12) % 20, + result = Common::String::format("\x9C%d.%d.%d", _vm->_money / 240, (_vm->_money / 12) % 20, _vm->_money % 12); } if (_vm->_money > 12) { @@ -636,7 +636,7 @@ void Dialogs::solidify(byte n) { /** * @remarks Originally called 'calldriver' - * Display text by calling the dialog driver. It unifies the function of the original + * Display text by calling the dialog driver. It unifies the function of the original * 'calldriver' and 'display' by using Common::String instead of a private buffer. */ void Dialogs::displayText(Common::String text) { @@ -717,7 +717,7 @@ void Dialogs::displayText(Common::String text) { PedType *quasiPed = &_vm->_peds[kQuasipeds[_param - 10]._whichPed]; _talkX = quasiPed->_x; _talkY = quasiPed->_y; // Position. - + _vm->_graphics->setDialogColor(kQuasipeds[_param - 10]._backgroundColor, kQuasipeds[_param - 10]._textColor); } else { _vm->errorLed(); // Not valid. @@ -732,7 +732,7 @@ void Dialogs::displayText(Common::String text) { return; break; - // CHECME: The whole kControlNegative block seems completely unused, as the only use (the easter egg check) is a false positive + // CHECME: The whole kControlNegative block seems completely unused, as the only use (the easter egg check) is a false positive case kControlNegative: switch (_param) { case 1: @@ -777,7 +777,7 @@ void Dialogs::displayText(Common::String text) { break; case 11: for (int j = 0; j < kObjectNum; j++) { - if (_vm->_objects[j]) + if (_vm->_objects[j]) displayText(_vm->getItem(j) + ", " + kControlToBuffer); } break; @@ -830,7 +830,7 @@ int16 Dialogs::getTalkPosX() { bool Dialogs::displayQuestion(Common::String question) { displayText(question + kControlNewLine + kControlQuestion); - + if (_scReturn && (_vm->_rnd->getRandomNumber(1) == 0)) { // Half-and-half chance. Common::String tmpStr = Common::String::format("...Positive about that?%cI%c%c%c", kControlRegister, kControlIcon, kControlNewLine, kControlQuestion); displayText(tmpStr); // Be annoying! @@ -874,7 +874,7 @@ void Dialogs::loadFont() { * @remarks Originally called 'musical_scroll' */ void Dialogs::displayMusicalScroll() { - Common::String tmpStr = Common::String::format("To play the harp...%c%cUse these keys:%c%cQ W E R T Y U I O P [ ]%c%cOr press Enter to stop playing.%c", + Common::String tmpStr = Common::String::format("To play the harp...%c%cUse these keys:%c%cQ W E R T Y U I O P [ ]%c%cOr press Enter to stop playing.%c", kControlNewLine, kControlNewLine, kControlNewLine, kControlInsertSpaces, kControlNewLine, kControlNewLine, kControlToBuffer); displayText(tmpStr); @@ -1019,7 +1019,7 @@ void Dialogs::talkTo(byte whom) { case 1: // Fallthrough is intended. case 2: { Common::String objStr = _vm->getItem(AvalancheEngine::kSpludwicksOrder[_vm->_givenToSpludwick]); - Common::String tmpStr = Common::String::format("Can you get me %s, please?%c2%c", + Common::String tmpStr = Common::String::format("Can you get me %s, please?%c2%c", objStr.c_str(), kControlRegister, kControlSpeechBubble); displayText(tmpStr); } diff --git a/engines/avalanche/enums.h b/engines/avalanche/enums.h index 604c62de84..dbb3d70034 100644 --- a/engines/avalanche/enums.h +++ b/engines/avalanche/enums.h @@ -81,12 +81,12 @@ enum VerbCode { kVerbCodeRestart = 31, kVerbCodeEat = 32, kVerbCodeListen = 33, kVerbCodeBuy = 34, kVerbCodeAttack = 35, kVerbCodePasswd = 36, kVerbCodeDir = 37, kVerbCodeDie = 38, kVerbCodeScore = 39, kVerbCodePut = 40, kVerbCodeKiss = 41, kVerbCodeClimb = 42, kVerbCodeJump = 43, kVerbCodeHiscores = 44, kVerbCodeWake = 45, - kVerbCodeHello = 46, kVerbCodeThanks = 47, + kVerbCodeHello = 46, kVerbCodeThanks = 47, kVerbCodeSmartAlec = 249, kVerbCodeExpletive = 253, kVerbCodePardon = 254 }; enum MouseCursor { - kCurUpArrow = 0, kCurScrewDriver = 1, kCurRightArrow = 2, kCurFletch = 3, kCurWait = 4, kCurHand = 5, + kCurUpArrow = 0, kCurScrewDriver = 1, kCurRightArrow = 2, kCurFletch = 3, kCurWait = 4, kCurHand = 5, kCurCrosshair = 6, kCurIBeam = 7 }; diff --git a/engines/avalanche/graphics.cpp b/engines/avalanche/graphics.cpp index d7c32cb1fc..e5a3d119ae 100644 --- a/engines/avalanche/graphics.cpp +++ b/engines/avalanche/graphics.cpp @@ -573,7 +573,7 @@ void GraphicManager::drawPicture(Graphics::Surface &target, const Graphics::Surf if (destX + maxX > target.w) maxX = target.w - destX; - + if (destY + maxY > target.h) maxY = target.h - destY; @@ -624,7 +624,7 @@ void GraphicManager::drawSign(Common::String fn, int16 xl, int16 yl, int16 y) { } } } - + drawPicture(_scrolls, sign, kScreenWidth / 2 - width / 2, y); file.close(); @@ -669,7 +669,7 @@ void GraphicManager::prepareBubble(int xc, int xw, int my, Common::Point points[ drawTriangle(points, _talkBackgroundColor); } -/** +/** * Set the background of the text to the desired color. */ void GraphicManager::wipeChar(int x, int y, Color color) { diff --git a/engines/avalanche/menu.cpp b/engines/avalanche/menu.cpp index 7c37b79bc8..c3fa709ee4 100644 --- a/engines/avalanche/menu.cpp +++ b/engines/avalanche/menu.cpp @@ -64,7 +64,7 @@ void HeadType::highlight() { // Force reload and redraw of cursor. _menu->_vm->_currentMouse = 177; - + } bool HeadType::parseAltTrigger(char key) { @@ -141,8 +141,8 @@ void MenuItem::display() { void MenuItem::wipe() { CursorMan.showMouse(false); - _menu->drawMenuText(_menu->_menuBar._menuItems[_menu->_activeMenuItem._activeNum]._xpos, 1, - _menu->_menuBar._menuItems[_menu->_activeMenuItem._activeNum]._trigger, + _menu->drawMenuText(_menu->_menuBar._menuItems[_menu->_activeMenuItem._activeNum]._xpos, 1, + _menu->_menuBar._menuItems[_menu->_activeMenuItem._activeNum]._trigger, _menu->_menuBar._menuItems[_menu->_activeMenuItem._activeNum]._title, true, false); _activeNow = false; diff --git a/engines/avalanche/parser.cpp b/engines/avalanche/parser.cpp index eef325fa63..cca79ff0b4 100644 --- a/engines/avalanche/parser.cpp +++ b/engines/avalanche/parser.cpp @@ -926,7 +926,7 @@ void Parser::parse() { _polite = true; } - if ((!unkString.empty()) && (_verb != kVerbCodeExam) && (_verb != kVerbCodeTalk) && + if ((!unkString.empty()) && (_verb != kVerbCodeExam) && (_verb != kVerbCodeTalk) && (_verb != kVerbCodeSave) && (_verb != kVerbCodeLoad) && (_verb != kVerbCodeDir)) { Common::String tmpStr = Common::String::format("Sorry, but I have no idea what \"%s\" means. Can you rephrase it?", unkString.c_str()); _vm->_dialogs->displayText(tmpStr); @@ -1691,7 +1691,7 @@ void Parser::doThat() { case kVerbCodeOpen: openDoor(); break; - case kVerbCodePause: { + case kVerbCodePause: { // Note that the original game doesn't care about the "O.K." box neither, it accepts // clicks from everywhere on the screen to continue. Just like my code. Common::String tmpStr = Common::String::format("Game paused.%c%c%cPress Enter, Esc, or click the mouse on the `O.K.\" " \ @@ -1861,7 +1861,7 @@ void Parser::doThat() { if (savegameId < 0) // dialog aborted, nothing to load return; - + _vm->loadGame(savegameId); } break; @@ -2317,7 +2317,7 @@ void Parser::doThat() { break; case kVerbCodeScore: { Common::String tmpStr = Common::String::format("Your score is %d,%c%cout of a possible 128.%c%c " \ - "This gives you a rank of %s.%c%c%s", _vm->_dnascore, kControlCenter, kControlNewLine, kControlNewLine, + "This gives you a rank of %s.%c%c%s", _vm->_dnascore, kControlCenter, kControlNewLine, kControlNewLine, kControlNewLine, rank().c_str(), kControlNewLine, kControlNewLine, totalTime().c_str()); _vm->_dialogs->displayText(tmpStr); } diff --git a/engines/avalanche/timer.cpp b/engines/avalanche/timer.cpp index 8a4aa1c055..8a42efb1ee 100644 --- a/engines/avalanche/timer.cpp +++ b/engines/avalanche/timer.cpp @@ -201,7 +201,7 @@ void Timer::updateTimer() { } } } - + _vm->_roomCycles++; // Cycles since you've been in this room. } -- cgit v1.2.3 From 11c15bea004cac31ade82679c31958c63f22a5ce Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 22 Nov 2013 21:40:16 +0100 Subject: AVALANCHE: Janitorial - Remove extra blank lines --- engines/avalanche/avalot.cpp | 3 --- engines/avalanche/console.cpp | 1 - engines/avalanche/dialogs.cpp | 1 - engines/avalanche/enums.h | 1 - engines/avalanche/graphics.cpp | 17 ++++++++--------- engines/avalanche/parser.cpp | 4 ---- engines/avalanche/parser.h | 1 - 7 files changed, 8 insertions(+), 20 deletions(-) diff --git a/engines/avalanche/avalot.cpp b/engines/avalanche/avalot.cpp index 568f950604..27c02449e2 100644 --- a/engines/avalanche/avalot.cpp +++ b/engines/avalanche/avalot.cpp @@ -199,7 +199,6 @@ void Clock::chime() { } } - void AvalancheEngine::handleKeyDown(Common::Event &event) { _sound->click(); @@ -576,7 +575,6 @@ void AvalancheEngine::exitRoom(byte x) { _lastRoomNotMap = _room; } - /** * Only when entering a NEW town! Not returning to the last one, * but choosing another from the map. @@ -1341,7 +1339,6 @@ void AvalancheEngine::drawDirection() { // It's data is loaded in load_digits(). CursorMan.showMouse(true); } - void AvalancheEngine::gameOver() { _userMovesAvvy = false; diff --git a/engines/avalanche/console.cpp b/engines/avalanche/console.cpp index 656cc1907c..e4b52116e4 100644 --- a/engines/avalanche/console.cpp +++ b/engines/avalanche/console.cpp @@ -50,5 +50,4 @@ bool AvalancheConsole::Cmd_MagicLines(int argc, const char **argv) { return false; } - } // End of namespace Avalanche diff --git a/engines/avalanche/dialogs.cpp b/engines/avalanche/dialogs.cpp index e5d2bf678c..24faa47eb7 100644 --- a/engines/avalanche/dialogs.cpp +++ b/engines/avalanche/dialogs.cpp @@ -190,7 +190,6 @@ void Dialogs::scrollModeNormal() { break; } while (!((mrelease > 0) || (buttona1()) || (buttonb1()))); - if (mrelease == 0) { inkey(); if (aboutscroll) { diff --git a/engines/avalanche/enums.h b/engines/avalanche/enums.h index dbb3d70034..2b5db67609 100644 --- a/engines/avalanche/enums.h +++ b/engines/avalanche/enums.h @@ -127,7 +127,6 @@ static const int16 kScreenHeight = 200; static const int16 kWalk = 3; static const int16 kRun = 5; - } // End of namespace Avalanche #endif // AVALANCHE_ENUMS_H diff --git a/engines/avalanche/graphics.cpp b/engines/avalanche/graphics.cpp index e5a3d119ae..841512847f 100644 --- a/engines/avalanche/graphics.cpp +++ b/engines/avalanche/graphics.cpp @@ -36,15 +36,15 @@ namespace Avalanche { const byte GraphicManager::kEgaPaletteIndex[16] = {0, 1, 2, 3, 4, 5, 20, 7, 56, 57, 58, 59, 60, 61, 62, 63}; const MouseHotspotType GraphicManager::kMouseHotSpots[9] = { - {8,0}, // 0 - up-arrow - {0,0}, // 1 - screwdriver + {8,0}, // 0 - up-arrow + {0,0}, // 1 - screwdriver {15,6}, // 2 - right-arrow - {0,0}, // 3 - fletch - {8,7}, // 4 - hourglass - {4,0}, // 5 - TTHand - {8,5}, // 6 - Mark's crosshairs - {8,7}, // 7 - I-beam - {0,0} // 8 - question mark + {0,0}, // 3 - fletch + {8,7}, // 4 - hourglass + {4,0}, // 5 - TTHand + {8,5}, // 6 - Mark's crosshairs + {8,7}, // 7 - I-beam + {0,0} // 8 - question mark }; GraphicManager::GraphicManager(AvalancheEngine *vm) { @@ -127,7 +127,6 @@ void GraphicManager::loadMouse(byte which) { cursor.create(16, 32, Graphics::PixelFormat::createFormatCLUT8()); cursor.fillRect(Common::Rect(0, 0, 16, 32), 255); - // The AND mask. f.seek(kMouseSize * 2 * which + 134); diff --git a/engines/avalanche/parser.cpp b/engines/avalanche/parser.cpp index cca79ff0b4..852a063a7e 100644 --- a/engines/avalanche/parser.cpp +++ b/engines/avalanche/parser.cpp @@ -749,8 +749,6 @@ void Parser::storeInterrogation(byte interrogation) { _vm->_timer->cardiffSurvey(); } - - void Parser::parse() { // First parsing - word identification if (!_thats.empty()) @@ -763,7 +761,6 @@ void Parser::parse() { _person = kPeoplePardon; clearWords(); - // A cheat mode attempt. if (_inputText[0] == '.') { cheatParse(_inputText); @@ -1669,7 +1666,6 @@ void Parser::doThat() { // "Slip" object _thing -= 49; - if ((_verb != kVerbCodeLoad) && (_verb != kVerbCodeSave) && (_verb != kVerbCodeQuit) && (_verb != kVerbCodeInfo) && (_verb != kVerbCodeHelp) && (_verb != kVerbCodeLarrypass) && (_verb != kVerbCodePhaon) && (_verb != kVerbCodeBoss) && (_verb != kVerbCodeCheat) && (_verb != kVerbCodeRestart) && (_verb != kVerbCodeDir) && (_verb != kVerbCodeScore) && (_verb != kVerbCodeHiscores) && (_verb != kVerbCodeSmartAlec)) { diff --git a/engines/avalanche/parser.h b/engines/avalanche/parser.h index bdb5ab9bc1..dfbe2dccb1 100644 --- a/engines/avalanche/parser.h +++ b/engines/avalanche/parser.h @@ -34,7 +34,6 @@ #include "common/str.h" #include "common/serializer.h" - namespace Avalanche { class AvalancheEngine; -- cgit v1.2.3 From 95ee8cb9f51a2632e67ebcf3be5b663837badb97 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 22 Nov 2013 21:56:13 +0100 Subject: AVALANCHE: Janitorial - Fix Alignment in Nim --- engines/avalanche/nim.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/engines/avalanche/nim.h b/engines/avalanche/nim.h index 087f1e830b..fba34f5b01 100644 --- a/engines/avalanche/nim.h +++ b/engines/avalanche/nim.h @@ -48,21 +48,21 @@ private: bool clicked; byte row; byte number; - bool squeak; + bool squeak; int8 mNum, mRow; void chalk(int x,int y, Common::String z); void setup(); - void plotStone(byte x,byte y); + void plotStone(byte x,byte y); void board(); void startMove(); - void showChanges(); - void blip(); + void showChanges(); + void blip(); void checkMouse(); - void less(); + void less(); void takeSome(); - void endOfGame(); - void dogFood(); + void endOfGame(); + void dogFood(); bool find(byte x); void findAp(byte start,byte stepsize); }; -- cgit v1.2.3 From dc8dc450fb7844ec3be2a45e6061981ea526fd4a Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 22 Nov 2013 21:57:02 +0100 Subject: AVALANCHE: Janitorial - Align some comments in Parser --- engines/avalanche/parser.cpp | 28 +++++++++++++++++++++++++++- engines/avalanche/parser.h | 36 ++++++++++++++++++------------------ 2 files changed, 45 insertions(+), 19 deletions(-) diff --git a/engines/avalanche/parser.cpp b/engines/avalanche/parser.cpp index 852a063a7e..d5f57919b5 100644 --- a/engines/avalanche/parser.cpp +++ b/engines/avalanche/parser.cpp @@ -522,10 +522,17 @@ void Parser::cursorOff() { _cursorState = false; } +/** + * Asks the parsekey proc in Dropdown if it knows it. + */ void Parser::tryDropdown() { - warning("STUB: Parser::tryDropdown()"); // TODO: Implement at the same time with Dropdown's keyboard handling. + // TODO: Implement at the same time with Dropdown's keyboard handling. + warning("STUB: Parser::tryDropdown()"); } +/** + * Returns the index of the first appearance of crit in src. + */ int16 Parser::getPos(const Common::String &crit, const Common::String &src) { if (src.contains(crit)) return strstr(src.c_str(),crit.c_str()) - src.c_str(); @@ -625,6 +632,9 @@ void Parser::cheatParse(Common::String codes) { warning("STUB: Parser::cheatParse()"); } +/** + * Strips punctuation from word. + */ void Parser::stripPunctuation(Common::String &word) { const char punct[] = "~`!@#$%^&*()_+-={}[]:\"|;'\\,./<>?"; @@ -945,6 +955,9 @@ void Parser::parse() { } } +/** + * Examine a standard object-thing + */ void Parser::examineObject() { if (_thing != _vm->_thinks) _vm->thinkAbout(_thing, AvalancheEngine::kThing); @@ -1175,6 +1188,9 @@ void Parser::swallow() { } } +/** + * this lists the other people in the room. + */ void Parser::peopleInRoom() { // First compute the number of people in the room. byte numPeople = 0; @@ -1212,6 +1228,9 @@ void Parser::peopleInRoom() { _vm->_dialogs->displayText(tmpStr + " here."); } +/** + * This is called when you say "look". + */ void Parser::lookAround() { _vm->_dialogs->displayText(*_vm->_also[0][1]); switch (_vm->_room) { @@ -1316,6 +1335,9 @@ void Parser::openDoor() { _vm->_dialogs->displayText("Door? What door?"); } +/** + * Called when you call kVerbCodeput. + */ void Parser::putProc() { if (!isHolding()) return; @@ -1422,6 +1444,7 @@ void Parser::goToCauldron() { /** * Check is it's possible to give something to Spludwick + * The result of this function is whether or not he says "Hey, thanks!". * @remarks Originally called 'give2spludwick' */ bool Parser::giveToSpludwick() { @@ -1501,6 +1524,9 @@ void Parser::already() { _vm->_dialogs->displayText("You're already standing!"); } +/** + * Called when you ask Avvy to stand. + */ void Parser::standUp() { switch (_vm->_room) { case kRoomYours: diff --git a/engines/avalanche/parser.h b/engines/avalanche/parser.h index dfbe2dccb1..fe46170e65 100644 --- a/engines/avalanche/parser.h +++ b/engines/avalanche/parser.h @@ -39,11 +39,11 @@ class AvalancheEngine; class Parser { public: - static const byte kPardon = 254; // Didn't understand / wasn't given. static const int16 kParserWordsNum = 277; // How many words does the parser know? + static const int16 kFirstPassword = 88; // words[kFirstPassword] should equal "TIROS". + static const byte kPardon = 254; // Didn't understand / wasn't given. static const byte kNothing = 250; - static const byte kMoved = 0; // This word was moved. (Usually because it was the subject of conversation.) - static const int16 kFirstPassword = 88; // words[kFirstPassword] should equal "TIROS". + static const byte kMoved = 0; // This word was moved. (Usually because it was the subject of conversation.) struct VocabEntry { byte _number; @@ -62,9 +62,9 @@ public: byte _thing; People _person; bool _polite; - Common::String _inputText; // Original name: current + Common::String _inputText; Common::String _inputTextBackup; - byte _inputTextPos; // Original name: curpos + byte _inputTextPos; bool _quote; bool _cursorState; bool _weirdWord; @@ -86,8 +86,8 @@ public: void plotText(); void cursorOn(); void cursorOff(); - void tryDropdown(); // This asks the parsekey proc in Dropdown if it knows it. - int16 getPos(const Common::String &crit, const Common::String &src); // Returns the index of the first appearance of crit in src. + void tryDropdown(); + int16 getPos(const Common::String &crit, const Common::String &src); void doVerb(VerbCode id); void resetVariables(); @@ -106,10 +106,10 @@ private: Common::String _thats; byte _thing2; - byte _sworeNum; // number of times you've sworn + byte _sworeNum; // number of times you've sworn byte _alcoholLevel; // Your blood alcohol level. - byte _playedNim; // How many times you've played Nim. - bool _boughtOnion; // Have you bought an onion yet? + byte _playedNim; // How many times you've played Nim. + bool _boughtOnion; // Have you bought an onion yet? byte wordNum(Common::String word); void replace(Common::String oldChars, byte newChar); @@ -119,14 +119,14 @@ private: void clearWords(); void cheatParse(Common::String codes); - void stripPunctuation(Common::String &word); // Strips punctuation from word. - void displayWhat(byte target, bool animate, bool &ambiguous); // << It's an adjective! + void stripPunctuation(Common::String &word); + void displayWhat(byte target, bool animate, bool &ambiguous); bool doPronouns(); void properNouns(); - void lookAround(); // This is called when you say "look". + void lookAround(); void openDoor(); void storeInterrogation(byte interrogation); - void examineObject(); // Examine a standard object-thing + void examineObject(); bool isPersonHere(); void exampers(); bool isHolding(); @@ -134,14 +134,14 @@ private: void examine(); void inventory(); void swallow(); - void peopleInRoom(); // This lists the other people in the room. - void putProc(); // Called when you call kVerbCodeput. + void peopleInRoom(); + void putProc(); void notInOrder(); void goToCauldron(); - bool giveToSpludwick(); // The result of this fn is whether or not he says "Hey, thanks!". + bool giveToSpludwick(); void cardiffClimbing(); void already(); - void standUp(); // Called when you ask Avvy to stand. + void standUp(); void getProc(char thing); void giveGeidaTheLute(); void playHarp(); -- cgit v1.2.3 From d58775f792c40c99d06c8041c0c52a6494a21eb9 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Fri, 22 Nov 2013 16:17:20 -0700 Subject: FULLPIPE: Implement sceneHandler04_updateBottle() --- engines/fullpipe/scenes/scene04.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index 5e1454793f..dbcff07003 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -340,8 +340,25 @@ void sceneHandler04_testPlank(ExCommand *ex) { warning("sceneHandler04_testPlank()"); } +void sceneHandler04_bottleUpdateObjects(int off) { + warning("sceneHandler04_bottleUpdateObjects()"); +} + void sceneHandler04_updateBottle() { - warning("sceneHandler04_updateBottle()"); + Common::Point point; + + int yoff; + + if (g_vars->scene04_hand->_movement) + yoff = g_vars->scene04_hand->_movement->_oy; + else + yoff = g_vars->scene04_hand->_oy; + + int newy = g_vars->scene04_hand->getSomeXY(point)->y + yoff + 140; + + sceneHandler04_bottleUpdateObjects(newy - g_vars->scene04_spring->_oy); + + g_vars->scene04_spring->setOXY(g_vars->scene04_spring->_ox, newy); } void sceneHandler04_winArcade() { -- cgit v1.2.3 From 13449472f2b2930cb09bcb685bf1d9a49c0d8ed1 Mon Sep 17 00:00:00 2001 From: urukgit Date: Sat, 23 Nov 2013 07:50:24 +0100 Subject: AVALANCHE: Implement Nim::playNim(). Repair naming of variables in Nim and add some helper functions. --- engines/avalanche/avalanche.cpp | 1 + engines/avalanche/avalot.cpp | 1 + engines/avalanche/nim.cpp | 73 +++++++++++++++++++++++++++++++++++++++-- engines/avalanche/nim.h | 28 +++++++++------- engines/avalanche/parser.cpp | 43 ++---------------------- engines/avalanche/parser.h | 1 - 6 files changed, 91 insertions(+), 56 deletions(-) diff --git a/engines/avalanche/avalanche.cpp b/engines/avalanche/avalanche.cpp index 573f9abe71..eacb01f132 100644 --- a/engines/avalanche/avalanche.cpp +++ b/engines/avalanche/avalanche.cpp @@ -213,6 +213,7 @@ const char *AvalancheEngine::getCopyrightString() const { void AvalancheEngine::synchronize(Common::Serializer &sz) { _animation->synchronize(sz); _parser->synchronize(sz); + _nim->synchronize(sz); _sequence->synchronize(sz); _background->synchronize(sz); diff --git a/engines/avalanche/avalot.cpp b/engines/avalanche/avalot.cpp index 27c02449e2..8b2a590e35 100644 --- a/engines/avalanche/avalot.cpp +++ b/engines/avalanche/avalot.cpp @@ -1481,6 +1481,7 @@ void AvalancheEngine::resetVariables() { _startTime = getTimeInSeconds(); _parser->resetVariables(); + _nim->resetVariables(); _animation->resetVariables(); _sequence->resetVariables(); _background->resetVariables(); diff --git a/engines/avalanche/nim.cpp b/engines/avalanche/nim.cpp index cc4681bf3b..faca3e491d 100644 --- a/engines/avalanche/nim.cpp +++ b/engines/avalanche/nim.cpp @@ -30,14 +30,83 @@ namespace Avalanche { -const char * const Nim::names[2] = {"Avalot", "Dogfood"}; +const char * const Nim::kNames[2] = {"Avalot", "Dogfood"}; Nim::Nim(AvalancheEngine *vm) { _vm = vm; + + _playedNim = 0; +} + +void Nim::resetVariables() { + _playedNim = 0; +} + +void Nim::synchronize(Common::Serializer &sz) { + sz.syncAsByte(_playedNim); } void Nim::playNim() { - warning("STUB: Nim::playNim()"); + if (_vm->_wonNim) { // Already won the game. + _vm->_dialogs->displayScrollChain('Q',6); + return; + } + + if (!_vm->_askedDogfoodAboutNim) { + _vm->_dialogs->displayScrollChain('q',84); + return; + } + + _vm->_dialogs->displayScrollChain('Q',3); + _playedNim++; + _vm->fadeOut(); + + _vm->_graphics->saveScreen(); + + CursorMan.showMouse(false); + setup(); + board(); + CursorMan.showMouse(true); + + do { + startMove(); + if (_dogfoodsTurn) + dogFood(); + else + takeSome(); + _stones[_row] -= _number; + showChanges(); + } while (_stonesLeft != 0); + + endOfGame(); // Winning sequence is A1, B3, B1, C1, C1, btw. + + _vm->fadeOut(); + CursorMan.showMouse(false); + + _vm->_graphics->restoreScreen(); + _vm->_graphics->removeBackup(); + + CursorMan.showMouse(true); + _vm->fadeIn(); + + if (_dogfoodsTurn) { // Dogfood won - as usual. + if (_playedNim == 1) // Your first game. + _vm->_dialogs->displayScrollChain('Q',4); // Goody! Play me again? + else + _vm->_dialogs->displayScrollChain('Q',5); // Oh, look at that! I've won again! + _vm->decreaseMoney(4); // And you've just lost 4d! + } + else { // You won - strange! + _vm->_dialogs->displayScrollChain('Q', 7); + _vm->_objects[kObjectLute - 1] = true; + _vm->refreshObjectList(); + _vm->_wonNim = true; + _vm->_background->draw(-1, -1, 0); // Show the settle with no lute on it. + _vm->incScore(7); // 7 points for winning! + } + + if (_playedNim == 1) + _vm->incScore(3); // 3 points for playing your 1st game. } void Nim::chalk(int x,int y, Common::String z) { diff --git a/engines/avalanche/nim.h b/engines/avalanche/nim.h index fba34f5b01..a76afcfe22 100644 --- a/engines/avalanche/nim.h +++ b/engines/avalanche/nim.h @@ -33,23 +33,27 @@ namespace Avalanche { class Nim { public: Nim(AvalancheEngine *vm); + void resetVariables(); + void synchronize(Common::Serializer &sz); void playNim(); private: AvalancheEngine *_vm; - static const char * const names[2]; - byte old[3]; - byte stones[3]; - byte stonePic[4][23][7]; // Picture of Nimstone. - byte turns; - bool dogfoodsTurn; - byte stonesLeft; - bool clicked; - byte row; - byte number; - bool squeak; - int8 mNum, mRow; + static const char * const kNames[2]; + + byte _old[3]; + byte _stones[3]; + byte _stonePic[4][23][7]; // Picture of Nimstone. + byte _turns; + bool _dogfoodsTurn; + byte _stonesLeft; + bool _clicked; + byte _row; + byte _number; + bool _squeak; + int8 _mNum, _mRow; + byte _playedNim; // How many times you've played Nim. void chalk(int x,int y, Common::String z); void setup(); diff --git a/engines/avalanche/parser.cpp b/engines/avalanche/parser.cpp index d5f57919b5..a77a71d157 100644 --- a/engines/avalanche/parser.cpp +++ b/engines/avalanche/parser.cpp @@ -51,7 +51,7 @@ Parser::Parser(AvalancheEngine *vm) { _thing2 = 0; _sworeNum = 0; _alcoholLevel = 0; - _playedNim = 0; + _boughtOnion = false; } @@ -1987,44 +1987,7 @@ void Parser::doThat() { // They just typed "play"... switch (_vm->_room) { case kRoomArgentPub: - // ...in the pub, => play Nim. - _vm->_nim->playNim(); - - // The following parts are copied from the original play_nim() and a little plus. - // The player automatically wins the game everytime he plays, until I implement the mini-game. - if (_vm->_wonNim) { // Already won the game. - _vm->_dialogs->displayScrollChain('Q', 6); - return; - } - - if (!_vm->_askedDogfoodAboutNim) { - _vm->_dialogs->displayScrollChain('q', 84); - return; - } - - _vm->_dialogs->displayScrollChain('Q', 3); - _playedNim++; - - // You won - strange! - - // You won! Give us a lute! - _vm->_dialogs->displayScrollChain('Q', 7); - _vm->_objects[kObjectLute - 1] = true; - _vm->refreshObjectList(); - _vm->_wonNim = true; - // Show the settle with no lute on it. - _vm->_background->draw(-1, -1, 0); - // 7 points for winning! - _vm->incScore(7); - - if (_playedNim == 1) - // 3 points for playing your 1st game. - _vm->incScore(3); - - // A warning to the player that there should have been a mini-game. TODO: Remove it later!!! - _vm->_dialogs->displayText(Common::String("P.S.: There should have been the mini-game called \"Nim\", " \ - "but I haven't implemented it yet: you win and get the lute automatically.") - + kControlNewLine + kControlNewLine + "Peter (uruk)"); + _vm->_nim->playNim(); // ...in the pub, => play Nim. break; case kRoomMusicRoom: playHarp(); @@ -2501,7 +2464,6 @@ void Parser::resetVariables() { _wearing = kNothing; _sworeNum = 0; _alcoholLevel = 0; - _playedNim = 0; _boughtOnion = false; } @@ -2509,7 +2471,6 @@ void Parser::synchronize(Common::Serializer &sz) { sz.syncAsByte(_wearing); sz.syncAsByte(_sworeNum); sz.syncAsByte(_alcoholLevel); - sz.syncAsByte(_playedNim); sz.syncAsByte(_boughtOnion); } diff --git a/engines/avalanche/parser.h b/engines/avalanche/parser.h index fe46170e65..20066329e5 100644 --- a/engines/avalanche/parser.h +++ b/engines/avalanche/parser.h @@ -108,7 +108,6 @@ private: byte _thing2; byte _sworeNum; // number of times you've sworn byte _alcoholLevel; // Your blood alcohol level. - byte _playedNim; // How many times you've played Nim. bool _boughtOnion; // Have you bought an onion yet? byte wordNum(Common::String word); -- cgit v1.2.3 From 84e99ae652662dfb32294cd9034666af9cf47e76 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 23 Nov 2013 10:18:04 +0100 Subject: AVALANCHE: Fix savegames compatibility before/after Nim implementation --- engines/avalanche/avalanche.h | 2 +- engines/avalanche/nim.cpp | 3 +++ engines/avalanche/parser.cpp | 4 ++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/engines/avalanche/avalanche.h b/engines/avalanche/avalanche.h index fac17df6e3..87eb3c2158 100644 --- a/engines/avalanche/avalanche.h +++ b/engines/avalanche/avalanche.h @@ -60,7 +60,7 @@ struct AvalancheGameDescription { ADGameDescription desc; }; -static const int kSavegameVersion = 1; +static const int kSavegameVersion = 2; enum Pitch { kPitchInvalid, diff --git a/engines/avalanche/nim.cpp b/engines/avalanche/nim.cpp index faca3e491d..d066ffc3e8 100644 --- a/engines/avalanche/nim.cpp +++ b/engines/avalanche/nim.cpp @@ -43,6 +43,9 @@ void Nim::resetVariables() { } void Nim::synchronize(Common::Serializer &sz) { + if (sz.isLoading() && sz.getVersion() < 2) + return; + sz.syncAsByte(_playedNim); } diff --git a/engines/avalanche/parser.cpp b/engines/avalanche/parser.cpp index a77a71d157..f43ba61dcf 100644 --- a/engines/avalanche/parser.cpp +++ b/engines/avalanche/parser.cpp @@ -2471,6 +2471,10 @@ void Parser::synchronize(Common::Serializer &sz) { sz.syncAsByte(_wearing); sz.syncAsByte(_sworeNum); sz.syncAsByte(_alcoholLevel); + if (sz.isLoading() && sz.getVersion() < 2) { + int dummy; + sz.syncAsByte(dummy); + } sz.syncAsByte(_boughtOnion); } -- cgit v1.2.3 From 937619c6f7a98de76859887a92fe63d59a4ad9f9 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 23 Nov 2013 10:20:07 +0100 Subject: TSAGE: R2R - Fix spacing errors, add comment about an useless variable --- engines/tsage/ringworld2/ringworld2_scenes0.cpp | 2 +- engines/tsage/ringworld2/ringworld2_scenes3.cpp | 2 +- engines/tsage/ringworld2/ringworld2_scenes3.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes0.cpp b/engines/tsage/ringworld2/ringworld2_scenes0.cpp index f483b1e47c..2592bde19a 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes0.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes0.cpp @@ -712,7 +712,7 @@ void Scene125::signal() { R2_GLOBALS._player._canWalk = false; break; case 10: - switch (_consoleMode) { + switch (_consoleMode) { case 12: _sceneMode = 129; diff --git a/engines/tsage/ringworld2/ringworld2_scenes3.cpp b/engines/tsage/ringworld2/ringworld2_scenes3.cpp index 07e3a8afab..8bcdcd8e36 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes3.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes3.cpp @@ -4246,7 +4246,7 @@ void Scene3500::dispatch() { } if (_mazeChangeAmount != 0) { - R2_GLOBALS._player._uiEnabled = false; + R2_GLOBALS._player._uiEnabled = false; if (_mazeChangeAmount != _speed) _aSound1.play(276); } else { diff --git a/engines/tsage/ringworld2/ringworld2_scenes3.h b/engines/tsage/ringworld2/ringworld2_scenes3.h index b282900c3a..9e93a61665 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes3.h +++ b/engines/tsage/ringworld2/ringworld2_scenes3.h @@ -566,7 +566,7 @@ class Scene3500 : public SceneExt { public: int _direction; bool _field20; - int _field22; + int _field22; // CHECKME: Useless field bool _field24; Action1(); -- cgit v1.2.3 From e854c364a9420cc75a84a0638065469ba50f5f27 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 23 Nov 2013 10:24:36 +0100 Subject: TSAGE: Janitorial - Fix more spacing errors --- engines/tsage/blue_force/blueforce_scenes3.cpp | 2 +- engines/tsage/events.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/tsage/blue_force/blueforce_scenes3.cpp b/engines/tsage/blue_force/blueforce_scenes3.cpp index 5dd795cb39..2bf4a82180 100644 --- a/engines/tsage/blue_force/blueforce_scenes3.cpp +++ b/engines/tsage/blue_force/blueforce_scenes3.cpp @@ -4531,7 +4531,7 @@ void Scene360::signal() { BF_GLOBALS._player.enableControl(); break; case 3608: - BF_GLOBALS._sceneManager.changeScene(355); + BF_GLOBALS._sceneManager.changeScene(355); break; case 3610: BF_GLOBALS._sceneManager.changeScene(666); diff --git a/engines/tsage/events.cpp b/engines/tsage/events.cpp index d2d8464763..6baa654214 100644 --- a/engines/tsage/events.cpp +++ b/engines/tsage/events.cpp @@ -71,7 +71,7 @@ bool EventsClass::pollEvent() { break; default: - break; + break; } return true; -- cgit v1.2.3 From f05afb9bff48e35952971998f64b6a42ba5bbd70 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 23 Nov 2013 10:26:29 +0100 Subject: TONY: Janitorial - Fix spacing errors --- engines/tony/mpal/mpal.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/tony/mpal/mpal.cpp b/engines/tony/mpal/mpal.cpp index 7010c238b5..5f2452dcfe 100644 --- a/engines/tony/mpal/mpal.cpp +++ b/engines/tony/mpal/mpal.cpp @@ -1935,7 +1935,7 @@ bool mpalExecuteScript(int nScript) { // !!! New process management if (CoroScheduler.createProcess(ScriptThread, &s, sizeof(LpMpalScript)) == CORO_INVALID_PID_VALUE) - return false; + return false; return true; } -- cgit v1.2.3 From 8f557cd4fe06c6fcb159e62d9fb99423f604704e Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 23 Nov 2013 10:26:45 +0100 Subject: HOPKINS: Janitorial - Fix spacing errors --- engines/hopkins/events.cpp | 2 +- engines/hopkins/graphics.cpp | 2 +- engines/hopkins/talk.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/engines/hopkins/events.cpp b/engines/hopkins/events.cpp index 51c66c4f92..d0c1dcea4d 100644 --- a/engines/hopkins/events.cpp +++ b/engines/hopkins/events.cpp @@ -271,7 +271,7 @@ void EventsManager::pollEvents() { _mouseButton = 0; return; default: - break; + break; } } diff --git a/engines/hopkins/graphics.cpp b/engines/hopkins/graphics.cpp index de9f043763..05b8296b86 100644 --- a/engines/hopkins/graphics.cpp +++ b/engines/hopkins/graphics.cpp @@ -1359,7 +1359,7 @@ void GraphicsManager::drawCompressedSprite(byte *surface, const byte *srcData, i _posYClipped = 0; _clipX1 = 0; _clipY1 = 0; - if ((xp300 <= _minX) || (yp300 <= _minY) || (xp300 >= _maxX + 300) || (yp300 >= _maxY + 300)) + if ((xp300 <= _minX) || (yp300 <= _minY) || (xp300 >= _maxX + 300) || (yp300 >= _maxY + 300)) return; // Clipped values are greater or equal to zero, thanks to the previous test diff --git a/engines/hopkins/talk.cpp b/engines/hopkins/talk.cpp index 1bb6701fc8..d218dd27b5 100644 --- a/engines/hopkins/talk.cpp +++ b/engines/hopkins/talk.cpp @@ -266,7 +266,7 @@ int TalkManager::dialogQuestion(bool animatedFl) { int retVal = -1; bool loopCond = false; - do { + do { int mousePosY = _vm->_events->getMouseY(); if (sentence1PosY < mousePosY && mousePosY < (sentence2PosY - 1)) { _vm->_fontMan->setOptimalColor(6, 7, 8, 5); -- cgit v1.2.3 From 4fe5c64c3fa8c173c5c23d5dac4abc1dfd717910 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 23 Nov 2013 10:31:51 +0100 Subject: AVALANCHE: Fix formatting in Nim --- engines/avalanche/nim.cpp | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/engines/avalanche/nim.cpp b/engines/avalanche/nim.cpp index d066ffc3e8..44a7975bae 100644 --- a/engines/avalanche/nim.cpp +++ b/engines/avalanche/nim.cpp @@ -51,16 +51,16 @@ void Nim::synchronize(Common::Serializer &sz) { void Nim::playNim() { if (_vm->_wonNim) { // Already won the game. - _vm->_dialogs->displayScrollChain('Q',6); + _vm->_dialogs->displayScrollChain('Q', 6); return; } if (!_vm->_askedDogfoodAboutNim) { - _vm->_dialogs->displayScrollChain('q',84); + _vm->_dialogs->displayScrollChain('q', 84); return; } - _vm->_dialogs->displayScrollChain('Q',3); + _vm->_dialogs->displayScrollChain('Q', 3); _playedNim++; _vm->fadeOut(); @@ -92,24 +92,29 @@ void Nim::playNim() { CursorMan.showMouse(true); _vm->fadeIn(); - if (_dogfoodsTurn) { // Dogfood won - as usual. - if (_playedNim == 1) // Your first game. - _vm->_dialogs->displayScrollChain('Q',4); // Goody! Play me again? + if (_dogfoodsTurn) { + // Dogfood won - as usual. + if (_playedNim == 1) // Your first game. + _vm->_dialogs->displayScrollChain('Q', 4); // Goody! Play me again? else - _vm->_dialogs->displayScrollChain('Q',5); // Oh, look at that! I've won again! + _vm->_dialogs->displayScrollChain('Q', 5); // Oh, look at that! I've won again! _vm->decreaseMoney(4); // And you've just lost 4d! - } - else { // You won - strange! + } else { + // You won - strange! _vm->_dialogs->displayScrollChain('Q', 7); _vm->_objects[kObjectLute - 1] = true; _vm->refreshObjectList(); _vm->_wonNim = true; _vm->_background->draw(-1, -1, 0); // Show the settle with no lute on it. - _vm->incScore(7); // 7 points for winning! + + // 7 points for winning! + _vm->incScore(7); } - if (_playedNim == 1) - _vm->incScore(3); // 3 points for playing your 1st game. + if (_playedNim == 1) { + // 3 points for playing your 1st game. + _vm->incScore(3); + } } void Nim::chalk(int x,int y, Common::String z) { -- cgit v1.2.3 From 1a7bcd72cfd0857c9e0e97be9b4daed5490427fe Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 23 Nov 2013 10:42:15 +0100 Subject: AVALANCHE: Make the call of displayScrollChain() a bit more consistent --- engines/avalanche/animation.cpp | 14 +++---- engines/avalanche/avalot.cpp | 6 +-- engines/avalanche/dialogs.cpp | 32 +++++++-------- engines/avalanche/nim.cpp | 2 +- engines/avalanche/parser.cpp | 86 ++++++++++++++++++++--------------------- engines/avalanche/timer.cpp | 34 ++++++++-------- 6 files changed, 87 insertions(+), 87 deletions(-) diff --git a/engines/avalanche/animation.cpp b/engines/avalanche/animation.cpp index 7bfae0fb78..cef4088722 100644 --- a/engines/avalanche/animation.cpp +++ b/engines/avalanche/animation.cpp @@ -792,7 +792,7 @@ void Animation::callSpecial(uint16 which) { _vm->_magics[11]._data = 5; _vm->_magics[3]._operation = kMagicBounce; // Now works as planned! stopWalking(); - _vm->_dialogs->displayScrollChain('q', 26); + _vm->_dialogs->displayScrollChain('Q', 26); _vm->_userMovesAvvy = true; break; case 3: // _vm->special 3: Room 71: triggers dart. @@ -824,12 +824,12 @@ void Animation::callSpecial(uint16 which) { if (_vm->_friarWillTieYouUp) { // _vm->special 5: Room 42: touched tree, and get tied up. _vm->_magics[4]._operation = kMagicBounce; // Boundary effect is now working again. - _vm->_dialogs->displayScrollChain('q', 35); + _vm->_dialogs->displayScrollChain('Q', 35); _sprites[0]->remove(); AnimationType *spr1 = _sprites[1]; _vm->_background->draw(-1, -1, 1); - _vm->_dialogs->displayScrollChain('q', 36); + _vm->_dialogs->displayScrollChain('Q', 36); _vm->_tiedUp = true; _vm->_friarWillTieYouUp = false; spr1->walkTo(2); @@ -862,7 +862,7 @@ void Animation::callSpecial(uint16 which) { case 8: // _vm->special 8: leave du Lustie's room. if (_vm->_geidaFollows && !_vm->_lustieIsAsleep) { AnimationType *spr1 = _sprites[1]; - _vm->_dialogs->displayScrollChain('q', 63); + _vm->_dialogs->displayScrollChain('Q', 63); spr1->turn(kDirDown); spr1->stopWalk(); spr1->_callEachStepFl = false; // Geida @@ -885,9 +885,9 @@ void Animation::callSpecial(uint16 which) { if ((_vm->_catacombX == 4) && (_vm->_catacombY == 1)) { // Into Geida's room. if (_vm->_objects[kObjectKey - 1]) - _vm->_dialogs->displayScrollChain('q', 62); + _vm->_dialogs->displayScrollChain('Q', 62); else { - _vm->_dialogs->displayScrollChain('q', 61); + _vm->_dialogs->displayScrollChain('Q', 61); return; } } @@ -1247,7 +1247,7 @@ void Animation::animLink() { if (_mustExclaim) { _mustExclaim = false; - _vm->_dialogs->displayScrollChain('x', _sayWhat); + _vm->_dialogs->displayScrollChain('X', _sayWhat); } } diff --git a/engines/avalanche/avalot.cpp b/engines/avalanche/avalot.cpp index 8b2a590e35..ec3f81e55d 100644 --- a/engines/avalanche/avalot.cpp +++ b/engines/avalanche/avalot.cpp @@ -300,7 +300,7 @@ void AvalancheEngine::setup() { fxToggle(); thinkAbout(kObjectMoney, kThing); - _dialogs->displayScrollChain('q', 83); // Info on the game, etc. + _dialogs->displayScrollChain('Q', 83); // Info on the game, etc. } } @@ -809,12 +809,12 @@ void AvalancheEngine::enterRoom(Room roomId, byte ped) { _graphics->zoomOut(_peds[ped - 1]._x, _peds[ped - 1]._y); if ((_objects[kObjectWine - 1]) && (_wineState != 3)) { - _dialogs->displayScrollChain('q', 9); // Don't want to waste the wine! + _dialogs->displayScrollChain('Q', 9); // Don't want to waste the wine! _objects[kObjectWine - 1] = false; refreshObjectList(); } - _dialogs->displayScrollChain('q', 69); + _dialogs->displayScrollChain('Q', 69); break; case kRoomCatacombs: diff --git a/engines/avalanche/dialogs.cpp b/engines/avalanche/dialogs.cpp index 24faa47eb7..043bf30cbb 100644 --- a/engines/avalanche/dialogs.cpp +++ b/engines/avalanche/dialogs.cpp @@ -762,7 +762,7 @@ void Dialogs::displayText(Common::String text) { case 10: switch (_vm->_boxContent) { case 0: // Sixpence. - displayScrollChain('q', 37); // You find the sixpence. + displayScrollChain('Q', 37); // You find the sixpence. _vm->_money += 6; _vm->_boxContent = _vm->_parser->kNothing; _vm->incScore(2); @@ -905,7 +905,7 @@ void Dialogs::displayScrollChain(char block, byte point, bool report, bool bubbl bool error = false; - indexfile.seek((toupper(block) - 65) * 2); + indexfile.seek((toupper(block) - 'A') * 2); uint16 idx_offset = indexfile.readUint16LE(); if (idx_offset == 0) error = true; @@ -1006,7 +1006,7 @@ void Dialogs::talkTo(byte whom) { switch (whom) { case kPeopleSpludwick: if ((_vm->_lustieIsAsleep) & (!_vm->_objects[kObjectPotion - 1])) { - displayScrollChain('q', 68); + displayScrollChain('Q', 68); _vm->_objects[kObjectPotion - 1] = true; _vm->refreshObjectList(); _vm->incScore(3); @@ -1024,58 +1024,58 @@ void Dialogs::talkTo(byte whom) { } return; case 3: - displayScrollChain('q', 30); // Need any help with the game? + displayScrollChain('Q', 30); // Need any help with the game? return; } } else { - displayScrollChain('q', 42); // Haven't talked to Crapulus. Go and talk to him. + displayScrollChain('Q', 42); // Haven't talked to Crapulus. Go and talk to him. return; } break; case kPeopleIbythneth: if (_vm->_givenBadgeToIby) { - displayScrollChain('q', 33); // Thanks a lot! + displayScrollChain('Q', 33); // Thanks a lot! return; // And leave the proc. } break; // Or... just continue, 'cos he hasn't got it. case kPeopleDogfood: if (_vm->_wonNim) { // We've won the game. - displayScrollChain('q', 6); // "I'm Not Playing!" + displayScrollChain('Q', 6); // "I'm Not Playing!" return; // Zap back. } else _vm->_askedDogfoodAboutNim = true; break; case kPeopleAyles: if (!_vm->_aylesIsAwake) { - displayScrollChain('q', 43); // He's fast asleep! + displayScrollChain('Q', 43); // He's fast asleep! return; } else if (!_vm->_givenPenToAyles) { - displayScrollChain('q', 44); // Can you get me a pen, Avvy? + displayScrollChain('Q', 44); // Can you get me a pen, Avvy? return; } break; case kPeopleJacques: - displayScrollChain('q', 43); + displayScrollChain('Q', 43); return; case kPeopleGeida: if (_vm->_givenPotionToGeida) _vm->_geidaFollows = true; else { - displayScrollChain('u', 17); + displayScrollChain('U', 17); return; } break; case kPeopleSpurge: if (!_vm->_sittingInPub) { - displayScrollChain('q', 71); // Try going over and sitting down. + displayScrollChain('Q', 71); // Try going over and sitting down. return; } else { if (_vm->_spurgeTalkCount < 5) _vm->_spurgeTalkCount++; if (_vm->_spurgeTalkCount > 1) { // no. 1 falls through - displayScrollChain('q', 70 + _vm->_spurgeTalkCount); + displayScrollChain('Q', 70 + _vm->_spurgeTalkCount); return; } } @@ -1083,7 +1083,7 @@ void Dialogs::talkTo(byte whom) { } // On a subject. Is there any reason to block it? } else if ((whom == kPeopleAyles) && (!_vm->_aylesIsAwake)) { - displayScrollChain('q', 43); // He's fast asleep! + displayScrollChain('Q', 43); // He's fast asleep! return; } @@ -1108,12 +1108,12 @@ void Dialogs::talkTo(byte whom) { speak(whom, _vm->_subjectNum); if (!_noError) - displayScrollChain('n', whom); // File not found! + displayScrollChain('N', whom); // File not found! if ((_vm->_subjectNum == 0) && ((whom + 149) == kPeopleCrapulus)) { // Crapulus: get the badge - first time only _vm->_objects[kObjectBadge - 1] = true; _vm->refreshObjectList(); - displayScrollChain('q', 1); // Circular from Cardiff. + displayScrollChain('Q', 1); // Circular from Cardiff. _vm->_talkedToCrapulus = true; _vm->setRoom(kPeopleCrapulus, kRoomDummy); // Crapulus walks off. diff --git a/engines/avalanche/nim.cpp b/engines/avalanche/nim.cpp index 44a7975bae..a2572f1fa5 100644 --- a/engines/avalanche/nim.cpp +++ b/engines/avalanche/nim.cpp @@ -56,7 +56,7 @@ void Nim::playNim() { } if (!_vm->_askedDogfoodAboutNim) { - _vm->_dialogs->displayScrollChain('q', 84); + _vm->_dialogs->displayScrollChain('Q', 84); return; } diff --git a/engines/avalanche/parser.cpp b/engines/avalanche/parser.cpp index f43ba61dcf..b4c918c2dc 100644 --- a/engines/avalanche/parser.cpp +++ b/engines/avalanche/parser.cpp @@ -743,7 +743,7 @@ void Parser::storeInterrogation(byte interrogation) { if (!_vm->_spareEvening.empty()) _vm->_spareEvening.clear(); _vm->_spareEvening = _inputText; - _vm->_dialogs->displayScrollChain('z', 5); // His closing statement... + _vm->_dialogs->displayScrollChain('Z', 5); // His closing statement... _vm->_animation->_sprites[1]->walkTo(3); // The end of the drawbridge _vm->_animation->_sprites[1]->_vanishIfStill = true; // Then go away! _vm->_magics[1]._operation = kMagicNothing; @@ -967,29 +967,29 @@ void Parser::examineObject() { switch (_vm->_wineState) { case 1: // Normal examine wine scroll - _vm->_dialogs->displayScrollChain('t', 1); + _vm->_dialogs->displayScrollChain('T', 1); break; case 2: // Bad wine - _vm->_dialogs->displayScrollChain('d', 6); + _vm->_dialogs->displayScrollChain('D', 6); break; case 3: // Vinegar - _vm->_dialogs->displayScrollChain('d', 7); + _vm->_dialogs->displayScrollChain('D', 7); break; } break; case kObjectOnion: if (_vm->_rottenOnion) // Yucky onion - _vm->_dialogs->displayScrollChain('q', 21); + _vm->_dialogs->displayScrollChain('Q', 21); else // Normal onion - _vm->_dialogs->displayScrollChain('t', 18); + _vm->_dialogs->displayScrollChain('T', 18); break; default: // Ordinarily - _vm->_dialogs->displayScrollChain('t', _thing); + _vm->_dialogs->displayScrollChain('T', _thing); } } @@ -1151,7 +1151,7 @@ void Parser::swallow() { case 2: case 3: // You can't drink it! - _vm->_dialogs->displayScrollChain('d', 8); + _vm->_dialogs->displayScrollChain('D', 8); break; } break; @@ -1236,37 +1236,37 @@ void Parser::lookAround() { switch (_vm->_room) { case kRoomSpludwicks: if (_vm->_avariciusTalk > 0) - _vm->_dialogs->displayScrollChain('q', 23); + _vm->_dialogs->displayScrollChain('Q', 23); else peopleInRoom(); break; case kRoomRobins: if (_vm->_tiedUp) - _vm->_dialogs->displayScrollChain('q', 38); + _vm->_dialogs->displayScrollChain('Q', 38); if (_vm->_mushroomGrowing) - _vm->_dialogs->displayScrollChain('q', 55); + _vm->_dialogs->displayScrollChain('Q', 55); break; case kRoomInsideCardiffCastle: if (!_vm->_takenPen) - _vm->_dialogs->displayScrollChain('q', 49); + _vm->_dialogs->displayScrollChain('Q', 49); break; case kRoomLustiesRoom: if (_vm->_lustieIsAsleep) - _vm->_dialogs->displayScrollChain('q', 65); + _vm->_dialogs->displayScrollChain('Q', 65); break; case kRoomCatacombs: switch (_vm->_catacombY * 256 + _vm->_catacombX) { case 258 : // Inside art gallery. - _vm->_dialogs->displayScrollChain('q', 80); + _vm->_dialogs->displayScrollChain('Q', 80); break; case 514 : // Outside ditto. - _vm->_dialogs->displayScrollChain('q', 81); + _vm->_dialogs->displayScrollChain('Q', 81); break; case 260 : // Outside Geida's room. - _vm->_dialogs->displayScrollChain('q', 82); + _vm->_dialogs->displayScrollChain('Q', 82); break; } break; @@ -1289,7 +1289,7 @@ void Parser::openDoor() { break; case kRoomSpludwicks: if (_thing == 61) { - _vm->_dialogs->displayScrollChain('q', 85); + _vm->_dialogs->displayScrollChain('Q', 85); return; } break; @@ -1307,7 +1307,7 @@ void Parser::openDoor() { switch (portal->_operation) { case kMagicExclaim: _vm->_animation->_sprites[0]->bounce(); - _vm->_dialogs->displayScrollChain('x', portal->_data); + _vm->_dialogs->displayScrollChain('X', portal->_data); break; case kMagicTransport: _vm->flipRoom((Room)((portal->_data) >> 8), portal->_data & 0x0F); @@ -1366,7 +1366,7 @@ void Parser::putProc() { // Put onion into vinegar! Yes! _vm->_onionInVinegar = true; _vm->incScore(7); - _vm->_dialogs->displayScrollChain('u', 9); + _vm->_dialogs->displayScrollChain('U', 9); } } } else @@ -1457,10 +1457,10 @@ bool Parser::giveToSpludwick() { case kObjectOnion: _vm->_objects[kObjectOnion - 1] = false; if (_vm->_rottenOnion) - _vm->_dialogs->displayScrollChain('q', 22); + _vm->_dialogs->displayScrollChain('Q', 22); else { _vm->_givenToSpludwick++; - _vm->_dialogs->displayScrollChain('q', 20); + _vm->_dialogs->displayScrollChain('Q', 20); goToCauldron(); _vm->incScore(3); } @@ -1470,13 +1470,13 @@ bool Parser::giveToSpludwick() { _vm->_objects[kObjectInk - 1] = false; _vm->refreshObjectList(); _vm->_givenToSpludwick++; - _vm->_dialogs->displayScrollChain('q', 24); + _vm->_dialogs->displayScrollChain('Q', 24); goToCauldron(); _vm->incScore(3); break; case kObjectMushroom: _vm->_objects[kObjectMushroom - 1] = false; - _vm->_dialogs->displayScrollChain('q', 25); + _vm->_dialogs->displayScrollChain('Q', 25); _vm->incScore(5); _vm->_givenToSpludwick++; goToCauldron(); @@ -1534,9 +1534,9 @@ void Parser::standUp() { if (_vm->_avvyIsAwake && _vm->_avvyInBed) { // But he's in bed. if (_vm->_teetotal) { - _vm->_dialogs->displayScrollChain('d', 12); + _vm->_dialogs->displayScrollChain('D', 12); _vm->_graphics->setBackgroundColor(kColorBlack); - _vm->_dialogs->displayScrollChain('d', 14); + _vm->_dialogs->displayScrollChain('D', 14); } _vm->_animation->_sprites[0]->_visible = true; _vm->_userMovesAvvy = true; @@ -1591,7 +1591,7 @@ void Parser::getProc(char thing) { _vm->_dialogs->displayText(tmpStr); } } else - _vm->_dialogs->displayScrollChain('q', 57); + _vm->_dialogs->displayScrollChain('Q', 57); break; case kRoomInsideCardiffCastle: switch (thing) { @@ -1612,15 +1612,15 @@ void Parser::getProc(char thing) { _vm->_dialogs->displayText("Taken."); } } else if (_vm->_standingOnDais) - _vm->_dialogs->displayScrollChain('q', 53); + _vm->_dialogs->displayScrollChain('Q', 53); else - _vm->_dialogs->displayScrollChain('q', 51); + _vm->_dialogs->displayScrollChain('Q', 51); break; case kObjectBolt: - _vm->_dialogs->displayScrollChain('q', 52); + _vm->_dialogs->displayScrollChain('Q', 52); break; default: - _vm->_dialogs->displayScrollChain('q', 57); + _vm->_dialogs->displayScrollChain('Q', 57); } break; case kRoomRobins: @@ -1633,10 +1633,10 @@ void Parser::getProc(char thing) { _vm->refreshObjectList(); _vm->incScore(3); } else - _vm->_dialogs->displayScrollChain('q', 57); + _vm->_dialogs->displayScrollChain('Q', 57); break; default: - _vm->_dialogs->displayScrollChain('q', 57); + _vm->_dialogs->displayScrollChain('Q', 57); } } @@ -1653,7 +1653,7 @@ void Parser::giveGeidaTheLute() { _vm->_objects[kObjectLute - 1] = false; _vm->refreshObjectList(); // She plays it. - _vm->_dialogs->displayScrollChain('q', 64); + _vm->_dialogs->displayScrollChain('Q', 64); _vm->_timer->addTimer(1, Timer::kProcGiveLuteToGeida, Timer::kReasonGeidaSings); //_vm->_enid->backToBootstrap(4); TODO: Replace it with proper ScummVM-friendly function(s)! Do not remove until then! @@ -1667,7 +1667,7 @@ void Parser::playHarp() { } void Parser::winSequence() { - _vm->_dialogs->displayScrollChain('q', 78); + _vm->_dialogs->displayScrollChain('Q', 78); _vm->_sequence->startWinSeq(); _vm->_timer->addTimer(30, Timer::kProcWinning, Timer::kReasonWinning); } @@ -1805,7 +1805,7 @@ void Parser::doThat() { break; case kPeopleIbythneth: if (_thing == kObjectBadge) { - _vm->_dialogs->displayScrollChain('q', 32); // Thanks! Wow! + _vm->_dialogs->displayScrollChain('Q', 32); // Thanks! Wow! _vm->incScore(3); _vm->_objects[kObjectBadge - 1] = false; _vm->_objects[kObjectHabit - 1] = true; @@ -1819,7 +1819,7 @@ void Parser::doThat() { if (_vm->_aylesIsAwake) { if (_thing == kObjectPen) { _vm->_objects[kObjectPen - 1] = false; - _vm->_dialogs->displayScrollChain('q', 54); + _vm->_dialogs->displayScrollChain('Q', 54); _vm->_objects[kObjectInk - 1] = true; _vm->_givenPenToAyles = true; _vm->refreshObjectList(); @@ -1834,7 +1834,7 @@ void Parser::doThat() { case kObjectPotion: _vm->_objects[kObjectPotion - 1] = false; // She drinks it. - _vm->_dialogs->displayScrollChain('u', 16); + _vm->_dialogs->displayScrollChain('U', 16); _vm->incScore(2); _vm->_givenPotionToGeida = true; _vm->refreshObjectList(); @@ -1853,7 +1853,7 @@ void Parser::doThat() { winSequence(); else // That Geida woman! - _vm->_dialogs->displayScrollChain('q', 77); + _vm->_dialogs->displayScrollChain('Q', 77); break; default: _vm->_dialogs->sayThanks(_thing - 1); @@ -2066,13 +2066,13 @@ void Parser::doThat() { break; case kVerbCodeMagic: if (_vm->_avariciusTalk > 0) - _vm->_dialogs->displayScrollChain('q', 19); + _vm->_dialogs->displayScrollChain('Q', 19); else { if ((_vm->_room == kRoomSpludwicks) & (_vm->_animation->inField(1))) { // Avaricius appears! - _vm->_dialogs->displayScrollChain('q', 17); + _vm->_dialogs->displayScrollChain('Q', 17); if (_vm->getRoom(kPeopleSpludwick) == kRoomSpludwicks) - _vm->_dialogs->displayScrollChain('q', 18); + _vm->_dialogs->displayScrollChain('Q', 18); else { Avalanche::AnimationType *spr = _vm->_animation->_sprites[1]; // Avaricius @@ -2226,7 +2226,7 @@ void Parser::doThat() { case kRoomNottsPub: // Can't sell to southerners. - _vm->_dialogs->displayScrollChain('n', 15); + _vm->_dialogs->displayScrollChain('N', 15); break; default: // Can't buy that. @@ -2363,7 +2363,7 @@ void Parser::doThat() { // Picture of Avvy, awake in bed. _vm->_background->draw(-1, -1, 2); if (_vm->_teetotal) - _vm->_dialogs->displayScrollChain('d', 13); + _vm->_dialogs->displayScrollChain('D', 13); } else _vm->_dialogs->displayText("You're already awake, Avvy!"); break; diff --git a/engines/avalanche/timer.cpp b/engines/avalanche/timer.cpp index 8a42efb1ee..40f2af529a 100644 --- a/engines/avalanche/timer.cpp +++ b/engines/avalanche/timer.cpp @@ -224,7 +224,7 @@ void Timer::openDrawbridge() { } void Timer::avariciusTalks() { - _vm->_dialogs->displayScrollChain('q', _vm->_avariciusTalk); + _vm->_dialogs->displayScrollChain('Q', _vm->_avariciusTalk); _vm->_avariciusTalk++; if (_vm->_avariciusTalk < 17) @@ -267,25 +267,25 @@ void Timer::stairs() { void Timer::cardiffSurvey() { if (_vm->_cardiffQuestionNum == 0) { _vm->_cardiffQuestionNum++; - _vm->_dialogs->displayScrollChain('q', 27); + _vm->_dialogs->displayScrollChain('Q', 27); } - _vm->_dialogs->displayScrollChain('z', _vm->_cardiffQuestionNum); + _vm->_dialogs->displayScrollChain('Z', _vm->_cardiffQuestionNum); _vm->_interrogation = _vm->_cardiffQuestionNum; addTimer(182, kProcCardiffSurvey, kReasonCardiffsurvey); } void Timer::cardiffReturn() { - _vm->_dialogs->displayScrollChain('q', 28); + _vm->_dialogs->displayScrollChain('Q', 28); cardiffSurvey(); // Add end of question. } void Timer::cwytalotInHerts() { - _vm->_dialogs->displayScrollChain('q', 29); + _vm->_dialogs->displayScrollChain('Q', 29); } void Timer::getTiedUp() { - _vm->_dialogs->displayScrollChain('q', 34); // ...Trouble! + _vm->_dialogs->displayScrollChain('Q', 34); // ...Trouble! _vm->_userMovesAvvy = false; _vm->_beenTiedUp = true; _vm->_animation->stopWalking(); @@ -312,18 +312,18 @@ void Timer::hangAround() { avvy->init(7, true); // Robin Hood _vm->setRoom(kPeopleRobinHood, kRoomRobins); _vm->_animation->appearPed(0, 1); - _vm->_dialogs->displayScrollChain('q', 39); + _vm->_dialogs->displayScrollChain('Q', 39); avvy->walkTo(6); addTimer(55, kProcHangAround2, kReasonHangingAround); } void Timer::hangAround2() { - _vm->_dialogs->displayScrollChain('q', 40); + _vm->_dialogs->displayScrollChain('Q', 40); AnimationType *spr = _vm->_animation->_sprites[1]; spr->_vanishIfStill = false; spr->walkTo(3); _vm->setRoom(kPeopleFriarTuck, kRoomRobins); - _vm->_dialogs->displayScrollChain('q', 41); + _vm->_dialogs->displayScrollChain('Q', 41); _vm->_animation->_sprites[0]->remove(); spr->remove(); // Get rid of Robin Hood and Friar Tuck. @@ -367,7 +367,7 @@ void Timer::afterTheShootemup() { warning("STUB: Timer::after_the_shootemup()"); - _vm->_dialogs->displayScrollChain('q', 70); + _vm->_dialogs->displayScrollChain('Q', 70); } void Timer::jacquesWakesUp() { @@ -423,7 +423,7 @@ void Timer::naughtyDuke() { // This is when the Duke comes in and takes your mon void Timer::naughtyDuke2() { AnimationType *spr = _vm->_animation->_sprites[1]; - _vm->_dialogs->displayScrollChain('q', 48); // "Ha ha, it worked again!" + _vm->_dialogs->displayScrollChain('Q', 48); // "Ha ha, it worked again!" spr->walkTo(0); // Walk to the door. spr->_vanishIfStill = true; // Then go away! @@ -476,14 +476,14 @@ void Timer::jump() { _vm->_arrowInTheDoor = false; // You've got it. _vm->_objects[kObjectBolt - 1] = true; _vm->refreshObjectList(); - _vm->_dialogs->displayScrollChain('q', 50); + _vm->_dialogs->displayScrollChain('Q', 50); _vm->incScore(3); } } } void Timer::crapulusSaysSpludOut() { - _vm->_dialogs->displayScrollChain('q', 56); + _vm->_dialogs->displayScrollChain('Q', 56); _vm->_crapulusWillTell = false; } @@ -578,7 +578,7 @@ void Timer::robinHoodAndGeida() { } void Timer::robinHoodAndGeidaTalk() { - _vm->_dialogs->displayScrollChain('q', 66); + _vm->_dialogs->displayScrollChain('Q', 66); AnimationType *avvy = _vm->_animation->_sprites[0]; AnimationType *spr = _vm->_animation->_sprites[1]; @@ -597,7 +597,7 @@ void Timer::avalotReturns() { spr->remove(); avvy->init(0, true); _vm->_animation->appearPed(0, 0); - _vm->_dialogs->displayScrollChain('q', 67); + _vm->_dialogs->displayScrollChain('Q', 67); _vm->_userMovesAvvy = true; } @@ -628,12 +628,12 @@ void Timer::arkataShouts() { if (_vm->_teetotal) return; - _vm->_dialogs->displayScrollChain('q', 76); + _vm->_dialogs->displayScrollChain('Q', 76); addTimer(160, kProcArkataShouts, kReasonArkataShouts); } void Timer::winning() { - _vm->_dialogs->displayScrollChain('q', 79); + _vm->_dialogs->displayScrollChain('Q', 79); _vm->_pingo->winningPic(); warning("STUB: Timer::winning()"); -- cgit v1.2.3 From 6795fdf639bd261530b88fa8d22ff7b9ace9a3c9 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 23 Nov 2013 11:02:24 +0100 Subject: SCI: Janitorial - Fix spacing errors --- engines/sci/detection_tables.h | 790 ++++++++++++++++++++------------------- engines/sci/engine/kfile.cpp | 2 +- engines/sci/engine/savegame.cpp | 2 +- engines/sci/engine/seg_manager.h | 2 +- engines/sci/resource.h | 2 +- 5 files changed, 400 insertions(+), 398 deletions(-) diff --git a/engines/sci/detection_tables.h b/engines/sci/detection_tables.h index 5ad49acf5c..05af2ff78c 100644 --- a/engines/sci/detection_tables.h +++ b/engines/sci/detection_tables.h @@ -50,7 +50,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "f3d1be7752d30ba60614533d531e2e98", 474}, {"resource.001", 0, "6fd05926c2199af0af6f72f90d0d7260", 126895}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Castle of Dr. Brain - English Amiga (from www.back2roots.org) // Executable scanning reports "1.005.000" @@ -62,7 +62,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "d226d7d3b4f77c4a566913fc310487fc", 792380}, {"resource.003", 0, "d226d7d3b4f77c4a566913fc310487fc", 464348}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Castle of Dr. Brain - German Amiga (from www.back2roots.org, also includes English language) // Executable scanning reports "1.005.001" @@ -74,7 +74,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "85e51acb5f9c539d66e3c8fe40e17da5", 826309}, {"resource.003", 0, "85e51acb5f9c539d66e3c8fe40e17da5", 493638}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformAmiga, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformAmiga, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Castle of Dr. Brain Macintosh (from omer_mor, bug report #3328251) {"castlebrain", "", { @@ -84,7 +84,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "e1a6b6f1060f60be9dcb6d28ad7a2a20", 1168310}, {"resource.003", 0, "6c3d1bb26ad532c94046bc9ac49b5ff4", 891295}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformMacintosh, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformMacintosh, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Castle of Dr. Brain - English DOS Non-Interactive Demo // SCI interpreter version 1.000.005 @@ -93,7 +93,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "9780f040d58182994e22d2e34fab85b0", 67367}, {"resource.001", 0, "2af49dbd8f2e1db4ab09f9310dc91259", 570553}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Castle of Dr. Brain - English DOS 5.25" Floppy EGA (from omer_mor, bug report #3035349) {"castlebrain", "EGA", { @@ -106,7 +106,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.005", 0, "8a5ed3ba96e2eaf18e36fedfaab89419", 297838}, {"resource.006", 0, "dceed92e709cad1bd9582809a235b0a0", 266682}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Castle of Dr. Brain - English DOS 3.5" Floppy EGA (from nozomi77, bug report #3405307) {"castlebrain", "EGA", { @@ -116,7 +116,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "de2f182529efaad2c4b510b452ab77ac", 633662}, {"resource.003", 0, "38b4b37febc6b4f5061c461a283df148", 430388}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Castle of Dr. Brain - English DOS Floppy (from jvprat) // Executable scanning reports "1.000.044", Floppy label reports "1.0, 10.30.91", VERSION file reports "1.000" @@ -127,7 +127,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.001", 0, "d2f5a1be74ed963fa849a76892be5290", 794832}, {"resource.002", 0, "c0c29c51af66d65cb53f49e785a2d978", 1280907}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Castle of Dr. Brain - English DOS 5.25" Floppy VGA 1.1 (from rnjacobs, bug report #3578286) {"castlebrain", "", { @@ -137,7 +137,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "583d348c908f89f94f8551d7fe0a2eca", 991752}, {"resource.003", 0, "6c3d1bb26ad532c94046bc9ac49b5ff4", 728315}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Castle of Dr. Brain - English DOS Floppy 1.1 {"castlebrain", "", { @@ -146,7 +146,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.001", 0, "13e81e1839cd7b216d2bb5615c1ca160", 796776}, {"resource.002", 0, "930e416bec196b9703a331d81b3d66f2", 1283812}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Castle of Dr. Brain - English DOS Floppy 1.000 // Reported by graxer in bug report #3037942 @@ -161,7 +161,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "1d778a0c65cac9ddbab65495e50a94ee", 335281}, {"resource.007", 0, "063bb8ce4157c778cf30d1c912c006f1", 335631}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Castle of Dr. Brain - Spanish DOS (also includes english language) // SCI interpreter version 1.000.510 @@ -170,7 +170,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "27ec5fa09cd12a7fd16e86d96a2ed245", 1197694}, {"resource.001", 0, "735be4e58957180cfc807d5e18fdffcd", 1433302}, AD_LISTEND}, - Common::ES_ESP, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::ES_ESP, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #ifdef ENABLE_SCI32 // Inside the Chest / Behind the Developer's Shield @@ -179,7 +179,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "9dd015e79cac4f91e7de805448f39775", 1912}, {"resource.000", 0, "e4efcd042f86679dd4e1834bb3a38edb", 3770943}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO3(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO3(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_FB01_MIDI) }, #endif // Christmas Card 1988 - English DOS @@ -188,7 +188,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "39485580d34a72997f3d5b3aba4d24f1", 426}, {"resource.001", 0, "11391434f41c834090d7a1e9488ce936", 129739}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Christmas Card 1990: The Seasoned Professional - English DOS (16 Colors) // SCI interpreter version 1.000.172 @@ -196,7 +196,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "8f656714a05b94423ac6eb10ee8797d0", 600}, {"resource.001", 0, "acde93e58fca4f7a2a5a220558a94aa8", 272629}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Christmas Card 1990: The Seasoned Professional - English DOS (256 Colors) // SCI interpreter version 1.000.174 @@ -204,7 +204,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "44b8f45b841b9b5e17e939a35e443988", 600}, {"resource.001", 0, "acde93e58fca4f7a2a5a220558a94aa8", 335362}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Christmas Card 1992 - English DOS // SCI interpreter version 1.001.055 @@ -212,7 +212,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "f1f8c8a8443f523422af70b4ec85b71c", 318}, {"resource.000", 0, "62fb9256f8e7e6e65a6875efdb7939ac", 203396}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Codename: Iceman - English Amiga (from www.back2roots.org) // Executable scanning reports "1.002.031" @@ -226,7 +226,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.004", 0, "8613c45fc771d658e5a505b9a4a54f31", 713382}, {"resource.005", 0, "605b67a9ef199a9bb015745e7c004cf4", 478384}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Codename: Iceman - English DOS Non-Interactive Demo // Executable scanning reports "0.000.685" @@ -234,7 +234,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "782974f29d8a824782d2d4aea39964e3", 1056}, {"resource.001", 0, "d4b75e280d1c3a97cfef1b0bebff387c", 573647}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Codename: Iceman - English DOS (from jvprat) // Executable scanning reports "0.000.685", Floppy label reports "1.033, 6.8.90", VERSION file reports "1.033" @@ -247,7 +247,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "d97a96f1ab91b41cf46a02cc89b0a04e", 624303}, {"resource.004", 0, "8613c45fc771d658e5a505b9a4a54f31", 670883}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Codename: Iceman - English DOS (from FRG) // SCI interpreter version 0.000.668 @@ -259,7 +259,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "dc7c5280e7acfaffe6ef2a6c963c5f94", 622118}, {"resource.004", 0, "64f342463f6f35ba71b3509ef696ae3f", 669188}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Codename: Iceman - English DOS (supplied by ssburnout in bug report #3049193) // 1.022 9x5.25" (label: Int#0.000.668) @@ -274,7 +274,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "08050329aa113a9f14ed99cbfe3536ec", 232942}, {"resource.007", 0, "64f342463f6f35ba71b3509ef696ae3f", 267811}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Codename: Iceman - English DOS 1.023 (from abevi, bug report #2612718) {"iceman", "", { @@ -288,7 +288,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "08050329aa113a9f14ed99cbfe3536ec", 232942}, {"resource.007", 0, "64f342463f6f35ba71b3509ef696ae3f", 267702}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Conquests of Camelot - English Amiga (from www.back2roots.org) // Executable scanning reports "1.002.030" @@ -303,7 +303,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.005", 0, "c6e551bdc24f0acc193159038d4ca767", 605882}, {"resource.006", 0, "8f880a536908ab496bbc552f7f5c3738", 585255}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Conquests of Camelot - English DOS Non-Interactive Demo // SCI interpreter version 0.000.668 @@ -311,7 +311,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "f4cd75c15be75e04cdca3acda2c0b0ea", 468}, {"resource.001", 0, "4930708722f34bfbaa4945fb08f55f61", 232523}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Conquests of Camelot - English DOS (from jvprat) // Executable scanning reports "0.000.685", Floppy label reports "1.001, 0.000.685", VERSION file reports "1.001.000" @@ -323,7 +323,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "8e1a3a8c588007404b532b8dfacc1460", 723712}, {"resource.004", 0, "8e1a3a8c588007404b532b8dfacc1460", 729143}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Conquests of Camelot - English DOS // SCI interpreter version 0.000.685 @@ -337,7 +337,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "8e1a3a8c588007404b532b8dfacc1460", 332446}, {"resource.007", 0, "8e1a3a8c588007404b532b8dfacc1460", 358182}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Conquests of the Longbow - English Amiga (from www.back2roots.org) // Executable scanning reports "1.005.001" @@ -352,7 +352,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.005", 0, "1c3804e56b114028c5873a35c2f06d13", 653002}, {"resource.006", 0, "f9487732289a4f4966b4e34eea413325", 842817}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Conquests of the Longbow - English DOS // SCI interpreter version 1.000.510 @@ -366,7 +366,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.005", 0, "d036df0872f2db19bca34601276be2d7", 1154950}, {"resource.006", 0, "b367a6a59f29ee30dde1d88a5a41152d", 1042966}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Conquests of the Longbow - English DOS Floppy (from jvprat) // Executable scanning reports "1.000.168", Floppy label reports "1.1, 1.13.92", VERSION file reports "1.1" @@ -380,7 +380,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.004", 0, "9cfce07e204a329e94fda8b5657621da", 1261462}, {"resource.005", 0, "21ebe6b39b57a73fc449f67f013765aa", 1284720}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Conquests of the Longbow - English DOS // SCI interpreter version 1.000.510 @@ -393,30 +393,32 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.004", 0, "9cfce07e204a329e94fda8b5657621da", 1260237}, {"resource.005", 0, "21ebe6b39b57a73fc449f67f013765aa", 1284609}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Conquests of the Longbow EGA - English DOS // SCI interpreter version 1.000.510 {"longbow", "EGA", { - {"resource.map", 0, "7676ec9f08967d7a9a7724f5170456e0", 6261}, - {"resource.000", 0, "36e8fda5d0b8c49e587c8a9617959f72", 718161}, - {"resource.001", 0, "3c3735caa34fa3f261a9552831bb43ed", 705680}, - {"resource.002", 0, "7025b87e735b1df3f0e9488a621f4333", 700633}, - {"resource.003", 0, "eaca7933e8e56bea22b42f7fd5d7a8a7", 686510}, - {"resource.004", 0, "b7bb35c027bb424ecefcd122768e5e60", 705631}, - {"resource.005", 0, "58942b1aa6d6ffeb66e9f8897fd4435f", 469243}, - {"resource.006", 0, "8c767b3939add63d11274065e46aad04", 713158}, - AD_LISTEND}, Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + {"resource.map", 0, "7676ec9f08967d7a9a7724f5170456e0", 6261}, + {"resource.000", 0, "36e8fda5d0b8c49e587c8a9617959f72", 718161}, + {"resource.001", 0, "3c3735caa34fa3f261a9552831bb43ed", 705680}, + {"resource.002", 0, "7025b87e735b1df3f0e9488a621f4333", 700633}, + {"resource.003", 0, "eaca7933e8e56bea22b42f7fd5d7a8a7", 686510}, + {"resource.004", 0, "b7bb35c027bb424ecefcd122768e5e60", 705631}, + {"resource.005", 0, "58942b1aa6d6ffeb66e9f8897fd4435f", 469243}, + {"resource.006", 0, "8c767b3939add63d11274065e46aad04", 713158}, + AD_LISTEND}, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Conquests of the Longbow DOS 1.0 EGA (4 x 5.25" disks) // Provided by ssburnout in bug report #3046802 {"longbow", "EGA", { - {"resource.map", 0, "0517ca368ec844df0cb21a05020fae01", 6021}, - {"resource.000", 0, "36e8fda5d0b8c49e587c8a9617959f72", 934643}, - {"resource.001", 0, "76c729e563809170e6cc8b2f3f6cf0a4", 1196133}, - {"resource.002", 0, "8c767b3939add63d11274065e46aad04", 1152478}, - {"resource.003", 0, "7025b87e735b1df3f0e9488a621f4333", 1171439}, - AD_LISTEND}, Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + {"resource.map", 0, "0517ca368ec844df0cb21a05020fae01", 6021}, + {"resource.000", 0, "36e8fda5d0b8c49e587c8a9617959f72", 934643}, + {"resource.001", 0, "76c729e563809170e6cc8b2f3f6cf0a4", 1196133}, + {"resource.002", 0, "8c767b3939add63d11274065e46aad04", 1152478}, + {"resource.003", 0, "7025b87e735b1df3f0e9488a621f4333", 1171439}, + AD_LISTEND}, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Conquests of the Longbow - English DOS Non-Interactive Demo // SCI interpreter version 1.000.510 @@ -424,7 +426,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "cbc5cb73341de1bff1b1e20a640af220", 588}, {"resource.001", 0, "f05a20cc07eee85da8e999d0ac0f596b", 869916}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Conquests of the Longbow - German DOS (suplied by markcoolio in bug report #2727681, also includes english language) // SCI interpreter version 1.000.510 @@ -438,7 +440,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.005", 0, "d036df0872f2db19bca34601276be2d7", 1176914}, {"resource.006", 0, "b367a6a59f29ee30dde1d88a5a41152d", 1123585}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Eco Quest - English DOS Non-Interactive Demo (from FRG) // Executable scanning reports "x.yyy.zzz" @@ -447,7 +449,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "c819e171359b7c95f4c13b846d5c034e", 873}, {"resource.001", 0, "baf9393a9bfa73098adb501e5bc5487b", 657518}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Eco Quest - English DOS CD 1.1 // SCI interpreter version 1.001.064 @@ -455,7 +457,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "a4b73d5d2b55bdb6e44345e99c8fbdd0", 4804}, {"resource.000", 0, "d908dbef56816ac6c60dd145fdeafb2b", 3536046}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_CD, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_CD, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Eco Quest - English DOS CD 1.1 // SCI interpreter version 1.001.064 @@ -465,7 +467,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "a4b73d5d2b55bdb6e44345e99c8fbdd0", 4804}, {"resource.000", 0, "d908dbef56816ac6c60dd145fdeafb2b", 3536046}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_CD, GUIO4(GUIO_MIDIGM, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_CD, GUIO4(GUIO_MIDIGM, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Eco Quest - English DOS Floppy // SCI interpreter version 1.000.510 @@ -476,7 +478,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "28fe9b4f0567e71feb198bc9f3a2c605", 1241816}, {"resource.003", 0, "f3146df0ad4297f5ce35aa8c4753bf6c", 586832}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Eco Quest - English DOS Floppy // SCI interpreter version 1.000.510 @@ -487,7 +489,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "323b3b12f43d53f27d259beb225f0aa7", 1129316}, {"resource.003", 0, "83ac03e4bddb2c1ac2d36d2a587d0536", 1145616}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Eco Quest - German DOS Floppy (supplied by markcoolio in bug report #2723744, also includes english language) // SCI interpreter version 1.000.510 @@ -498,7 +500,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "02d7d0411f7903aacb3bc8b0f8ca8a9a", 1202581}, {"resource.003", 0, "84dd11b6825255671c703aee5ceff620", 1175835}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Eco Quest - Spanish DOS Floppy (from jvprat, also includes english language) // Executable scanning reports "1.ECO.013", VERSION file reports "1.000, 11.12.92" @@ -510,7 +512,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "2d21a1d2dcbffa551552e3e0725d2284", 1186033}, {"resource.003", 0, "84dd11b6825255671c703aee5ceff620", 1174993}, AD_LISTEND}, - Common::ES_ESP, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::ES_ESP, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Eco Quest - French DOS Floppy (from Strangerke, also includes english language) // SCI interpreter version 1.ECO.013 @@ -521,7 +523,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "b836c6ee9de67d814ac5d1b05f5b9858", 1173872}, {"resource.003", 0, "f8f767f9d6351432621c6e54c1b2ba8c", 1141520}, AD_LISTEND}, - Common::FR_FRA, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::FR_FRA, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Eco Quest 2 - English DOS Non-Interactive Demo // SCI interpreter version 1.001.055 @@ -529,7 +531,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "607cfa0d8a03b7d348c06ee727e3d939", 1321}, {"resource.000", 0, "dd6f614c43c029f063e93cd243af90a4", 525992}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Eco Quest 2 - English DOS Floppy (supplied by markcoolio in bug report #2723761) // SCI interpreter version 1.001.065 @@ -537,7 +539,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "28fb7b6abb9fc1cb8882d7c2e701b63f", 5658}, {"resource.000", 0, "cc1d17e5637528dbe4a812699e1cbfc6", 4208192}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Eco Quest 2 - French DOS Floppy (from Strangerke) // SCI interpreter version 1.001.081 @@ -545,7 +547,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "c22ab8b33c339c138b6b1697b77b9e79", 5588}, {"resource.000", 0, "1c4093f7248240329121fdf8c0d59152", 4231946}, AD_LISTEND}, - Common::FR_FRA, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::FR_FRA, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Eco Quest 2 - Spanish DOS Floppy (supplied by umbrio in bug report #3313962) {"ecoquest2", "Floppy", { @@ -553,7 +555,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "1c4093f7248240329121fdf8c0d59152", 4209150}, {"resource.msg", 0, "eff8be1925d42288de55e405983e9314", 117810}, AD_LISTEND}, - Common::ES_ESP, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::ES_ESP, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Eco Quest 2 - German DOS Floppy (supplied by frankenbuam in bug report #3615072) {"ecoquest2", "Floppy", { @@ -569,7 +571,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "97aa9fcfe84c9993a64debd28c32393a", 1909}, {"resource.000", 0, "5ea8e7a3ea10cce6efd5c106dc62fd8c", 867724}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Freddy Pharkas - English CD DOS (from FRG) // SCI interpreter version 1.001.132 @@ -577,7 +579,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "d46b282f228a67ba13bd4b4009e95f8f", 6058}, {"resource.000", 0, "ee3c64ffff0ba9fb08bea2624631c598", 5490246}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_CD, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_CD, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Freddy Pharkas - English DOS Floppy (updated information from markcoolio in bug reports #2723773 and #2724720) // Executable scanning reports "1.cfs.081" @@ -587,7 +589,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "96b07e9b914dba1c8dc6c78a176326df", 5233230}, {"resource.msg", 0, "554f65315d851184f6e38211489fdd8f", -1}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Freddy Pharkas - French DOS Floppy (supplied by misterhands in bug report #3589449) // Executable scanning reports "1.cfs.081" @@ -596,7 +598,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "fed4808fdb72486908ac7ad0044b14d8", 5233230}, {"resource.msg", 0, "4dc478f5c73b57e5d690bdfffdcf1c44", 816518}, AD_LISTEND}, - Common::FR_FRA, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::FR_FRA, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Freddy Pharkas - Windows (supplied by abevi in bug report #2612718) // Executable scanning reports "1.cfs.081" @@ -605,7 +607,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "a32674e7fbf7b213b4a066c8037f16b6", 5816}, {"resource.000", 0, "fed4808fdb72486908ac7ad0044b14d8", 5233230}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Freddy Pharkas - German DOS Floppy (from Tobis87, updated information from markcoolio in bug reports #2723772 and #2724720) // Executable scanning reports "1.cfs.081" @@ -615,7 +617,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "96b07e9b914dba1c8dc6c78a176326df", 5233230}, {"resource.msg", 0, "304b5a5781800affd2235152a5794fa8", -1}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Freddy Pharkas - Spanish DOS (from jvprat) // Executable scanning reports "1.cfs.081", VERSION file reports "1.000, March 30, 1995" @@ -628,7 +630,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "05acdc256c742e79c50b9fe7ec2cc898", 863310}, {"resource.msg", 0, "45b5bf74933ac3727e4cc844446dc052", 796156}, AD_LISTEND}, - Common::ES_ESP, Common::kPlatformDOS, ADGF_CD, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::ES_ESP, Common::kPlatformDOS, ADGF_CD, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Freddy Pharkas - Spanish DOS (from jvprat) // Executable scanning reports "1.cfs.081", VERSION file reports "1.000, March 30, 1995" @@ -638,7 +640,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "96b07e9b914dba1c8dc6c78a176326df", 5233230}, {"resource.msg", 0, "45b5bf74933ac3727e4cc844446dc052", 796156}, AD_LISTEND}, - Common::ES_ESP, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::ES_ESP, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Freddy Pharkas - English DOS CD Demo // SCI interpreter version 1.001.095 @@ -646,14 +648,14 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "a62a7eae85dd1e6b07f39662b278437e", 1918}, {"resource.000", 0, "4962a3c4dd44e36e78ea4a7a374c2220", 957382}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Freddy Pharkas - English Macintosh {"freddypharkas", "", { {"Data1", 0, "ef7cbd62727989818f1cfae69c9fd61d", 3038492}, {"Data2", 0, "2424b418f7d52c385cea4701f529c69a", 4721732}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformMacintosh, ADGF_MACRESFORK, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformMacintosh, ADGF_MACRESFORK, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Fun Seeker's Guide - English DOS // SCI interpreter version 0.000.506 @@ -661,7 +663,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "7ee6859ef74314f6d91938c3595348a9", 282}, {"resource.001", 0, "f1e680095424e31f7fae1255d36bacba", 40692}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Gabriel Knight - English DOS CD Demo // SCI interpreter version 1.001.092 @@ -669,7 +671,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "39645952ae0ed8072c7e838f31b75464", 2490}, {"resource.000", 0, "eb3ed7477ca4110813fe1fcf35928561", 1718450}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Gabriel Knight - English DOS CD Demo (from DrMcCoy) // SCI interpreter version 1.001.092 @@ -677,7 +679,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "8cad2a256f41463030cbb7ea1bfb2857", 2490}, {"resource.000", 0, "eb3ed7477ca4110813fe1fcf35928561", 1718450}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #ifdef ENABLE_SCI32 // Gabriel Knight - English DOS Floppy @@ -686,7 +688,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "372d059f75856afa6d73dd84cbb8913d", 10783}, {"resource.000", 0, "69b7516962510f780d38519cc15fcc7c", 13022630}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Gabriel Knight - English DOS Floppy (supplied my markcoolio in bug report #2723777) // SCI interpreter version 2.000.000 @@ -694,7 +696,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "65e8c14092e4c9b3b3538b7602c8c5ec", 10783}, {"resource.000", 0, "69b7516962510f780d38519cc15fcc7c", 13022630}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Gabriel Knight - English DOS Floppy // SCI interpreter version 2.000.000, VERSION file reports "1.0\nGabriel Knight\n11/22/10:33 pm\n\x1A" @@ -702,7 +704,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "ef41df08cf2c1f680216cdbeed0f8311", 10783}, {"resource.000", 0, "69b7516962510f780d38519cc15fcc7c", 13022630}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Gabriel Knight - German DOS Floppy (supplied my markcoolio in bug report #2723775) // SCI interpreter version 2.000.000 @@ -710,7 +712,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "ad6508b0296b25c07b1f58828dc33696", 10789}, {"resource.000", 0, "091cf08910780feabc56f8551b09cb36", 13077029}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Gabriel Knight - French DOS Floppy (supplied my kervala in bug report #3611487) // SCI interpreter version 2.000.000 @@ -718,7 +720,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "236e36cc847cdeafdd5e5fa8cba916ed", 10801}, {"resource.000", 0, "091cf08910780feabc56f8551b09cb36", 13033072}, AD_LISTEND}, - Common::FR_FRA, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::FR_FRA, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Gabriel Knight - English DOS CD (from jvprat) // Executable scanning reports "2.000.000", VERSION file reports "01.100.000" @@ -726,7 +728,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "372d059f75856afa6d73dd84cbb8913d", 10996}, {"resource.000", 0, "69b7516962510f780d38519cc15fcc7c", 12581736}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_CD | ADGF_UNSTABLE, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_CD | ADGF_UNSTABLE, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Gabriel Knight - English Windows CD (from jvprat) // Executable scanning reports "2.000.000", VERSION file reports "01.100.000" @@ -734,7 +736,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "372d059f75856afa6d73dd84cbb8913d", 10996}, {"resource.000", 0, "69b7516962510f780d38519cc15fcc7c", 12581736}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_CD | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_CD | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Gabriel Knight - German DOS CD (from Tobis87) // SCI interpreter version 2.000.000 @@ -742,7 +744,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "a7d3e55114c65647310373cb390815ba", 11392}, {"resource.000", 0, "091cf08910780feabc56f8551b09cb36", 13400497}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, ADGF_CD | ADGF_UNSTABLE, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, ADGF_CD | ADGF_UNSTABLE, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Gabriel Knight - Spanish DOS CD (from jvprat) // Executable scanning reports "2.000.000", VERSION file reports "1.000.000, April 13, 1995" @@ -750,7 +752,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "7cb6e9bba15b544ec7a635c45bde9953", 11404}, {"resource.000", 0, "091cf08910780feabc56f8551b09cb36", 13381599}, AD_LISTEND}, - Common::ES_ESP, Common::kPlatformDOS, ADGF_CD | ADGF_UNSTABLE, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::ES_ESP, Common::kPlatformDOS, ADGF_CD | ADGF_UNSTABLE, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Gabriel Knight - French DOS CD (from Hkz) // VERSION file reports "1.000.000, May 3, 1994" @@ -758,7 +760,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "55f909ba93a2515042a08d8a2da8414e", 11392}, {"resource.000", 0, "091cf08910780feabc56f8551b09cb36", 13325145}, AD_LISTEND}, - Common::FR_FRA, Common::kPlatformDOS, ADGF_CD | ADGF_UNSTABLE, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::FR_FRA, Common::kPlatformDOS, ADGF_CD | ADGF_UNSTABLE, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Gabriel Knight - German Windows CD (from Tobis87) // SCI interpreter version 2.000.000 @@ -766,7 +768,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "a7d3e55114c65647310373cb390815ba", 11392}, {"resource.000", 0, "091cf08910780feabc56f8551b09cb36", 13400497}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformWindows, ADGF_CD | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformWindows, ADGF_CD | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Gabriel Knight - Spanish Windows CD (from jvprat) // Executable scanning reports "2.000.000", VERSION file reports "1.000.000, April 13, 1995" @@ -774,7 +776,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "7cb6e9bba15b544ec7a635c45bde9953", 11404}, {"resource.000", 0, "091cf08910780feabc56f8551b09cb36", 13381599}, AD_LISTEND}, - Common::ES_ESP, Common::kPlatformWindows, ADGF_CD | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::ES_ESP, Common::kPlatformWindows, ADGF_CD | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Gabriel Knight - English Macintosh {"gk1", "", { @@ -783,7 +785,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"Data3", 0, "f25068b408b09275d8b698866462f578", 3677599}, {"Data4", 0, "1cceebbe411b26c860a74f91c337fdf3", 3230086}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformMacintosh, ADGF_MACRESFORK | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformMacintosh, ADGF_MACRESFORK | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Gabriel Knight 2 - English Windows Non-Interactive Demo // Executable scanning reports "2.100.002" @@ -791,7 +793,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "e0effce11c4908f4b91838741716c83d", 1351}, {"resource.000", 0, "d04cfc7f04b6f74d13025378be49ec2b", 4640330}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_DEMO | ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_DEMO | ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Gabriel Knight 2 - English DOS (GOG version) - ressci.* merged in ressci.000 // using Enrico Rolfi's HD/DVD installer: http://gkpatches.vogons.zetafleet.com/ @@ -799,7 +801,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.000", 0, "b996fa1e57389a1e179a00a0049de1f4", 8110}, {"ressci.000", 0, "a19fc3604c6e5407abcf03d59ee87217", 168522221}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Gabriel Knight 2 - English DOS (from jvprat) // Executable scanning reports "2.100.002", VERSION file reports "1.1" @@ -817,7 +819,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.006", 0, "ce9359037277b7d7976da185c2fa0aad", 2977}, {"ressci.006", 0, "8e44e03890205a7be12f45aaba9644b4", 60659424}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Gabriel Knight 2 - French DOS (6-CDs Sierra Originals reedition) // Executable scanning reports "2.100.002", VERSION file reports "1.0" @@ -835,7 +837,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.006", 0, "11b2e722170b8c93fdaa5428e2c7676f", 3001}, {"ressci.006", 0, "4037d941aec39d2e654e20960429aefc", 60568486}, AD_LISTEND}, - Common::FR_FRA, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::FR_FRA, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Gabriel Knight 2 - English Macintosh // NOTE: This only contains disc 1 files (as well as the persistent file: @@ -847,7 +849,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"Data4", 0, "8b843c62eb53136a855d6e0087e3cb0d", 5889553}, {"Data5", 0, "f9fcf9ab2eb13b2125c33a1cda03a093", 14349984}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformMacintosh, ADGF_MACRESFORK | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformMacintosh, ADGF_MACRESFORK | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #endif // ENABLE_SCI32 @@ -859,7 +861,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "e0dd44069a62a463fd124974b915f10d", 342149}, {"resource.003", 0, "e0dd44069a62a463fd124974b915f10d", 328925}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Hoyle 1 - English DOS (supplied by wibble92 in bug report #2644547) // SCI interpreter version 0.000.530 @@ -869,7 +871,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "e0dd44069a62a463fd124974b915f10d", 342309}, {"resource.003", 0, "e0dd44069a62a463fd124974b915f10d", 328912}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Hoyle 1 - English DOS (supplied by merkur in bug report #2719227) // SCI interpreter version 0.000.530 @@ -877,14 +879,14 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "1034a218943d12f1f36e753fa10c95b8", 4386}, {"resource.001", 0, "e0dd44069a62a463fd124974b915f10d", 518308}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Hoyle 1 3.5' - English DOS (supplied by eddydrama in bug report #3052366 and dinnerx in bug report #3090841) {"hoyle1", "", { {"resource.map", 0, "0af9a3dcd72a091960de070432e1f524", 4386}, {"resource.001", 0, "e0dd44069a62a463fd124974b915f10d", 518127}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #if 0 // TODO: unknown if these files are corrupt // Hoyle 1 - English Amiga (from www.back2roots.org) @@ -894,7 +896,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.001", 0, "e0dd44069a62a463fd124974b915f10d", 218755}, {"resource.002", 0, "e0dd44069a62a463fd124974b915f10d", 439502}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #endif // Hoyle 2 - English DOS @@ -904,7 +906,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.001", 0, "8f2dd70abe01112eca464cda818b5eb6", 98138}, {"resource.002", 0, "8f2dd70abe01112eca464cda818b5eb6", 196631}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Hoyle 2 - English DOS (supplied by ssburnout in bug report #3049193) // 1.000.011 1x3.5" (label:Int#6.21.90) @@ -912,7 +914,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "db0ba08b953e9904a4960ad99cd29c20", 1356}, {"resource.001", 0, "8f2dd70abe01112eca464cda818b5eb6", 216315}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Hoyle 2 - English Amiga (from www.back2roots.org) // Executable scanning reports "1.002.032" @@ -921,7 +923,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "62ed48d20c580e5a98f102f7cd93706a", 1356}, {"resource.001", 0, "8f2dd70abe01112eca464cda818b5eb6", 222704}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Hoyle 2 - English Macintosh // Executable scanning reports "x.yyy.zzz" @@ -929,7 +931,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "1af1d3aa3cf564f93477c9f87e53f495", 1728}, {"resource.001", 0, "b73b8131669d69d41a326415e4519138", 482882}, {NULL, 0, NULL, 0}}, - Common::EN_ANY, Common::kPlatformMacintosh, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformMacintosh, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #if 0 // TODO: unknown if these files are corrupt // Hoyle 3 - English Amiga (from www.back2roots.org) @@ -940,7 +942,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "595b6039ea1356e7f96a52c58eedcf22", 355791}, {"resource.001", 0, "143df8aef214a2db34c2d48190742012", 632273}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #endif // Hoyle 3 - English DOS Non-Interactive Demo @@ -950,7 +952,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "0d06cacc87dc21a08cd017e73036f905", 735}, {"resource.001", 0, "24db2bccda0a3c43ac4a7b5edb116c7e", 797678}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Hoyle 3 - English DOS Floppy (from jvprat) // Executable scanning reports "x.yyy.zzz", Floppy label reports "1.0, 11.2.91", VERSION file reports "1.000" @@ -960,7 +962,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "6ef28cac094dcd97fdb461662ead6f92", 541845}, {"resource.001", 0, "0a98a268ee99b92c233a0d7187c1f0fa", 845795}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Hoyle 3 - English DOS Floppy (supplied by eddydrama in bug report #3038837) {"hoyle3", "", { @@ -971,7 +973,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "97cfd72633f8f9b2a0b1d4116cf3ee81", 346116}, {"resource.004", 0, "2884fb91b225fabd9ca87ea231293b48", 351218}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Hoyle 3 EGA - English DOS Floppy 1.0 (supplied by abevi in bug report #2612718) {"hoyle3", "EGA", { @@ -979,14 +981,14 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "6ef28cac094dcd97fdb461662ead6f92", 319905}, {"resource.001", 0, "0a98a268ee99b92c233a0d7187c1f0fa", 526438}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Hoyle 4 (Hoyle Classic Card Games) - English DOS Demo {"hoyle4", "Demo", { {"resource.map", 0, "60f764020a6b788bbbe415dbc2ccb9f3", 931}, {"resource.000", 0, "5fe3670e3ddcd4f85c10013b5453141a", 615522}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Hoyle 4 (Hoyle Classic Card Games) - English DOS Demo // SCI interpreter version 1.001.200 (just a guess) @@ -995,7 +997,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "662087cb383e52e3cc4ae7ecb10e20aa", 938}, {"resource.000", 0, "24c10844792c54d476d272213cbac300", 675252}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Hoyle 4 (Hoyle Classic Card Games) - English DOS/Win // Supplied by abevi in bug report #3039291 @@ -1003,7 +1005,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "2b577c975cc8d8d43f61b6a756129fe3", 4352}, {"resource.000", 0, "43e2c15ce436aab611a462ad0603e12d", 2000132}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Hoyle 4 (Hoyle Classic Card Games) - English Macintosh Floppy // VERSION file reports "2.0" @@ -1011,7 +1013,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"Data1", 0, "99575fae4579540a314bbedd72d51e8c", 7682887}, {"Data2", 0, "7d4bf5bdf3c02edbf35cb8471c84ec13", 1539134}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformMacintosh, ADGF_MACRESFORK, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformMacintosh, ADGF_MACRESFORK, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Jones in the Fast Lane EGA - English DOS // SCI interpreter version 1.000.172 (not 100% sure FIXME) @@ -1020,14 +1022,14 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.001", 0, "bac3ec6cb3e3920984ab0f32becf5163", 202105}, {"resource.002", 0, "b86daa3ba2784d1502da881eedb80d9b", 341771}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Jones in the Fast Lane EGA - English DOS (supplied by EddyDrama in bug report #3038761) {"jones", "EGA", { {"resource.map", 0, "8e92cf319180cc8b5b87b2ce93a4fe22", 1602}, {"resource.001", 0, "bac3ec6cb3e3920984ab0f32becf5163", 511528}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Jones in the Fast Lane VGA - English DOS // SCI interpreter version 1.000.172 @@ -1036,7 +1038,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.001", 0, "bac3ec6cb3e3920984ab0f32becf5163", 313476}, {"resource.002", 0, "b86daa3ba2784d1502da881eedb80d9b", 719747}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Jones in the Fast Lane VGA - English DOS (supplied by omer_mor in bug report #3037054) // VERSION file reports "1.000.060" @@ -1044,14 +1046,14 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "db175ab494ab0666f19ab8f2597a8e49", 1602}, {"resource.001", 0, "bac3ec6cb3e3920984ab0f32becf5163", 994487}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Jones in the Fast Lane - English DOS CD {"jones", "CD", { {"resource.map", 0, "459f5b04467bc2107aec02f5c4b71b37", 4878}, {"resource.001", 0, "3876da2ce16fb7dea2f5d943d946fa84", 1652150}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_CD, GUIO1(GAMEOPTION_JONES_CDAUDIO) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_CD, GUIO1(GAMEOPTION_JONES_CDAUDIO) }, // Jones in the Fast Lane - English DOS CD // Same entry as the DOS version above. This one is used for the alternate @@ -1060,7 +1062,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "459f5b04467bc2107aec02f5c4b71b37", 4878}, {"resource.001", 0, "3876da2ce16fb7dea2f5d943d946fa84", 1652150}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_CD, GUIO4(GUIO_MIDIGM, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_FB01_MIDI, GAMEOPTION_JONES_CDAUDIO) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_CD, GUIO4(GUIO_MIDIGM, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_FB01_MIDI, GAMEOPTION_JONES_CDAUDIO) }, // Jones in the Fast Lane - English DOS US CD (alternate version) // Supplied by collector9 in bug #3614668 @@ -1068,7 +1070,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "4344ff3f796707843b992adec2c87663", 4878}, {"resource.001", 0, "3876da2ce16fb7dea2f5d943d946fa84", 1652062}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_CD, GUIO1(GAMEOPTION_JONES_CDAUDIO) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_CD, GUIO1(GAMEOPTION_JONES_CDAUDIO) }, // Jones in the Fast Lane - English DOS US CD (alternate version) // Same entry as the DOS version above. This one is used for the alternate @@ -1077,7 +1079,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "4344ff3f796707843b992adec2c87663", 4878}, {"resource.001", 0, "3876da2ce16fb7dea2f5d943d946fa84", 1652062}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_CD, GUIO4(GUIO_MIDIGM, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_FB01_MIDI, GAMEOPTION_JONES_CDAUDIO) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_CD, GUIO4(GUIO_MIDIGM, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_FB01_MIDI, GAMEOPTION_JONES_CDAUDIO) }, // King's Quest 1 SCI Remake - English Amiga (from www.back2roots.org) // Executable scanning reports "1.003.007" @@ -1089,7 +1091,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "9ae2a13708d691cd42f9129173c4b39d", 763224}, {"resource.004", 0, "9ae2a13708d691cd42f9129173c4b39d", 820443}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 1 SCI Remake - English DOS Non-Interactive Demo // Executable scanning reports "S.old.010" @@ -1097,7 +1099,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "59b13619078bd47011421468959ee5d4", 954}, {"resource.001", 0, "4cfb9040db152868f7cb6a1e8151c910", 296555}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 1 SCI Remake - English DOS (from the King's Quest Collection) // Executable scanning reports "S.old.010", VERSION file reports "1.000.051" @@ -1108,7 +1110,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "fed9e0072ffd511d248674e60dee2099", 714062}, {"resource.003", 0, "fed9e0072ffd511d248674e60dee2099", 717478}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 1 SCI Remake - English DOS (supplied by ssburnout in bug report #3049193) // 1.000.051 9x5.25" (label: INT#9.19.90) @@ -1122,7 +1124,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "fed9e0072ffd511d248674e60dee2099", 351062}, {"resource.007", 0, "fed9e0072ffd511d248674e60dee2099", 330472}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 4 - English Amiga (from www.back2roots.org) // Executable scanning reports "1.002.032" @@ -1135,7 +1137,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "fd16c9c223f7dc5b65f06447615224ff", 683016}, {"resource.004", 0, "3fac034c7d130e055d05bc43a1f8d5f8", 549993}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 4 - English DOS Non-Interactive Demo // Executable scanning reports "0.000.494" @@ -1143,7 +1145,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "992ac7cc31d3717fe53818a9bb6d1dae", 594}, {"resource.001", 0, "143e1c14f15ad0fbfc714f648a65f661", 205330}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 4 - English DOS (original boxed release, 3 1/2" disks) // SCI interpreter version 0.000.247 @@ -1154,7 +1156,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "851a62d00972dc4002f472cc0d84e71d", 683145}, {"resource.004", 0, "851a62d00972dc4002f472cc0d84e71d", 649441}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 4 - English DOS (from the King's Quest Collection) // Executable scanning reports "0.000.502" @@ -1166,7 +1168,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "77615c595388acf3d1df8e107bfb6b52", 707591}, {"resource.004", 0, "77615c595388acf3d1df8e107bfb6b52", 479562}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 4 - English DOS (supplied by ssburnout in bug report #3049193) // 1.006.003 8x5.25" (label: Int.#0.000.502) @@ -1180,7 +1182,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "6db7de6f93c6ea62dca78abee677f8c0", 324789}, {"resource.007", 0, "6db7de6f93c6ea62dca78abee677f8c0", 334441}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 4 - English DOS // SCI interpreter version 0.000.274 @@ -1194,7 +1196,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "851a62d00972dc4002f472cc0d84e71d", 333777}, {"resource.007", 0, "851a62d00972dc4002f472cc0d84e71d", 341038}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 4 - English DOS // SCI interpreter version 0.000.253 @@ -1208,7 +1210,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "0c8566848a76eea19a6d6220914030a7", 337288}, {"resource.007", 0, "0c8566848a76eea19a6d6220914030a7", 343882}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 4 - English Atari ST (double-sided diskettes) // Game version 1.003.006 (January 12, 1989) @@ -1221,7 +1223,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "a3cdb4848fb859fdd302976fff56490f", 705074}, {"resource.004", 0, "a3cdb4848fb859fdd302976fff56490f", 478366}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAtariST, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAtariST, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 5 - English Amiga (from www.back2roots.org) // Executable scanning reports "1.004.018" @@ -1237,7 +1239,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "26c0c25399b6715fec03fc3e12544fe3", 823048}, {"resource.007", 0, "b914b5901e786327213e779725d30dd1", 778772}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 5 - German Amiga (also includes english language) // Executable scanning reports "1.004.024" @@ -1253,7 +1255,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "56546b20db11a4836f900efa6d3a3e74", 672099}, {"resource.007", 0, "56546b20db11a4836f900efa6d3a3e74", 794194}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformAmiga, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformAmiga, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 5 - Italian Amiga (also includes english language) // Executable scanning reports "1.004.024" @@ -1269,7 +1271,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "11cb750f5f816445ad0f4b9f50a4f59a", 672527}, {"resource.007", 0, "11cb750f5f816445ad0f4b9f50a4f59a", 794259}, AD_LISTEND}, - Common::IT_ITA, Common::kPlatformAmiga, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::IT_ITA, Common::kPlatformAmiga, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 5 - English DOS CD (from the King's Quest Collection) // Executable scanning reports "x.yyy.zzz", VERSION file reports "1.000.052" @@ -1279,7 +1281,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "449471bfd77be52f18a3773c7f7d843d", 571368}, {"resource.001", 0, "b45a581ff8751e052c7e364f58d3617f", 16800210}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_CD, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_CD, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 5 - English DOS CD (from the King's Quest Collection) // Executable scanning reports "x.yyy.zzz", VERSION file reports "1.000.052" @@ -1291,7 +1293,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "449471bfd77be52f18a3773c7f7d843d", 571368}, {"resource.001", 0, "b45a581ff8751e052c7e364f58d3617f", 16800210}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_CD, GUIO4(GUIO_MIDIGM, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_CD, GUIO4(GUIO_MIDIGM, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 5 - English DOS Floppy // SCI interpreter version 1.000.060 @@ -1306,7 +1308,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "672ede1136e9e401658538e51bd5dc22", 1172619}, {"resource.007", 0, "2f48faf27666b58c276dda20f91f4a93", 1240456}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 5 - English DOS Floppy // VERSION file reports "0.000.051" @@ -1324,7 +1326,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "da82e4beb744731d0a151f1d4922fafa", 1170456}, {"resource.007", 0, "431def14ca29cdb5e6a5e84d3f38f679", 1240176}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 5 - English DOS Floppy (supplied by omer_mor in bug report #3036996) // VERSION file reports "0.000.051" @@ -1339,7 +1341,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "06cb3f689836086ebe08b1efc0126592", 921113}, {"resource.007", 0, "252249753c6e850eacceb8af634986d3", 1133608}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 5 EGA (supplied by markcoolio in bug report #2829470) // SCI interpreter version 1.000.060 @@ -1355,7 +1357,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "698c698570cde9015e4d51eb8d2e9db1", 666527}, {"resource.007", 0, "703d8df30e89541af337d7706540d5c4", 541743}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 5 EGA 1.2M disk version (from LordHoto) // VERSION file reports "0.000.055" @@ -1367,7 +1369,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "53206afb4fd73871a484e83acab80f31", 7608}, {"resource.004", 0, "83568edf7fde18b3eed988bc5d22ceb1", 1188053}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 5 EGA (supplied by omer_mor in bug report #3035421) // VERSION file reports "0.000.062" @@ -1382,7 +1384,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "698c698570cde9015e4d51eb8d2e9db1", 666541}, {"resource.007", 0, "703d8df30e89541af337d7706540d5c4", 541762}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest V DOS 0.000.062 EGA (5 x 5.25" disks) // Supplied by ssburnout in bug report #3046780 @@ -1394,7 +1396,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "3cca5b2dae8afe94532edfdc98d7edbe", 1092325}, {"resource.004", 0, "8e5c1bc4d738cf7316ff506f59d265e2", 1187803}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 5 DOS Spanish Floppy 0.000.062 VGA (5 x 3.5" disks) // Supplied by dianiu in bug report #3555646 @@ -1409,7 +1411,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "65b520e60c4217e6a6572d9edf77193b", 1141985}, {"resource.007", 0, "f42b0100f0a1c30806814f8648b6bc28", 1145583}, AD_LISTEND}, - Common::ES_ESP, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::ES_ESP, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 5 - German DOS Floppy (supplied by markcoolio in bug report #2727101, also includes english language) // SCI interpreter version 1.000.060 @@ -1424,7 +1426,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "d1a75fdc01840664d00366cff6919366", 1208972}, {"resource.007", 0, "c07494f0cce7c05210893938786a955b", 1337361}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 5 - French DOS Floppy (from the King's Quest Collector's Edition 1994, also includes english language) // Supplied by aroenai in bug report #2812611 @@ -1440,7 +1442,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "f7dc85307632ef657ceb1651204f6f51", 1210081}, {"resource.007", 0, "7db4d0a1d8d547c0019cb7d2a6acbdd4", 1338473}, AD_LISTEND}, - Common::FR_FRA, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::FR_FRA, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 5 - Italian DOS Floppy (from glorifindel, includes english language) // SCI interpreter version 1.000.060 @@ -1455,7 +1457,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "8eeabd92af71e766e323db2100879102", 1209325}, {"resource.007", 0, "dc10c107e0923b902326a040b9c166b9", 1337859}, AD_LISTEND}, - Common::IT_ITA, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::IT_ITA, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 5 - Polish DOS Floppy (supplied by jacek909 in bug report #2725722) // SCI interpreter version 1.000.060 @@ -1473,7 +1475,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.007", 0, "431def14ca29cdb5e6a5e84d3f38f679", 1240176}, {"text.000", 0, "601aa35a3ddeb558e1280e0963e955a2", 1517}, AD_LISTEND}, - Common::PL_POL, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::PL_POL, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 5 - English Macintosh // VERSION file reports "1.000.055" @@ -1488,7 +1490,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "3d22904a374c192f51e5665b74364133", 1264079}, {"resource.007", 0, "ffe17e23d5833a79f3695addfc149a56", 1361965}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformMacintosh, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformMacintosh, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 5 - FM-Towns (supplied by abevi in bug report #3038720) {"kq5", "", { @@ -1496,7 +1498,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "71afd220d46bde1109c58e6acc0f3a01", 469094}, {"resource.001", 0, "72a569f46f1abf2d9d2b1526ad3799c3", 12808839}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformFMTowns, 0, GUIO2(GUIO_NOASPECT, GUIO_MIDITOWNS) }, + Common::EN_ANY, Common::kPlatformFMTowns, 0, GUIO2(GUIO_NOASPECT, GUIO_MIDITOWNS) }, {"kq5", "", { {"resource.map", 0, "20c7cd248ff1a349ed354568eebd972b", 12733}, {"resource.000", 0, "71afd220d46bde1109c58e6acc0f3a01", 469094}, @@ -1514,7 +1516,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.004", 0, "e114ce8f884601c43308fb5cbbea4874", 1174129}, {"resource.005", 0, "349ad9438172265d00680075c5a988d0", 1019669}, AD_LISTEND}, - Common::JA_JPN, Common::kPlatformPC98, ADGF_ADDENGLISH, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::JA_JPN, Common::kPlatformPC98, ADGF_ADDENGLISH, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 6 - English DOS Non-Interactive Demo // Executable scanning reports "1.001.055", VERSION file reports "1.000.000" @@ -1524,7 +1526,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "535b1b920441ec73f42eaa4ccfd47b89", 264116}, {"resource.msg", 0, "54d1fdc936f98c81f9e4c19e04fb1510", 8260}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 6 - English DOS Floppy // SCI interpreter version 1.001.054 @@ -1533,7 +1535,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "f2b7f753992c56a0c7a08d6a5077c895", 7863324}, {"resource.msg", 0, "3cf5de44de36191f109d425b8450efc8", 258590}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 6 - French DOS Floppy (supplied by misterhands in bug #3503425) // SCI interpreter version ??? @@ -1542,7 +1544,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "f2b7f753992c56a0c7a08d6a5077c895", 7863324}, {"resource.msg", 0, "adc2aa8adbdcc97507d44a6f492fbd77", 265194}, AD_LISTEND}, - Common::FR_FRA, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::FR_FRA, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 6 - German DOS Floppy (supplied by markcoolio in bug report #2727156) // SCI interpreter version 1.001.054 @@ -1551,7 +1553,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "f2b7f753992c56a0c7a08d6a5077c895", 7863324}, {"resource.msg", 0, "756297b2155db9e43f621c6f6fb763c3", 282822}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 6 - Spanish DOS Floppy (from jvprat) // Executable scanning reports "1.cfs.158", VERSION file reports "1.000.000, July 5, 1994" @@ -1561,7 +1563,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "4da3ad5868a775549a7cc4f72770a58e", 8537260}, {"resource.msg", 0, "41eed2d3893e1ca6c3695deba4e9d2e8", 267102}, AD_LISTEND}, - Common::ES_ESP, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::ES_ESP, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 6 - Italian DOS Floppy (supplied by guybrush79 in bug report #3606719) {"kq6", "", { @@ -1569,7 +1571,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "d3358ba7306378aed83d02b5c3f11311", 8531908}, {"resource.msg", 0, "b7e8220be596fd6a9287eae5a8fd354a", 279886}, AD_LISTEND}, - Common::IT_ITA, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::IT_ITA, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 6 - English DOS CD (from the King's Quest Collection) // Executable scanning reports "1.cfs.158", VERSION file reports "1.034 9/11/94 - KQ6 version 1.000.00G" @@ -1578,7 +1580,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "7a550ebfeae2575ca00d47703a6a774c", 9215}, {"resource.000", 0, "233394a5f33b475ae5975e7e9a420865", 8376352}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_CD, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_CD, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 6 - English Windows CD (from the King's Quest Collection) // Executable scanning reports "1.cfs.158", VERSION file reports "1.034 9/11/94 - KQ6 version 1.000.00G" @@ -1587,7 +1589,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "7a550ebfeae2575ca00d47703a6a774c", 9215}, {"resource.000", 0, "233394a5f33b475ae5975e7e9a420865", 8376352}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_CD, GUIO5(GUIO_NOASPECT, GAMEOPTION_KQ6_WINDOWS_CURSORS, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_CD, GUIO5(GUIO_NOASPECT, GAMEOPTION_KQ6_WINDOWS_CURSORS, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 6 - English Macintosh Floppy // VERSION file reports "1.0" @@ -1595,7 +1597,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"Data1", 0, "a183fc0c22fcbd9be4c8800d974b5599", 3892124}, {"Data2", 0, "b3722460dfd3097a1fbaf99a21ad8ea5", 15031272}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformMacintosh, ADGF_MACRESFORK, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformMacintosh, ADGF_MACRESFORK, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #ifdef ENABLE_SCI32 @@ -1606,7 +1608,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "4948e4e1506f1e1c4e1d47abfa06b7f8", 204385195}, {"resource.map", 0, "40ccafb2195301504eba2e4f4f2c7f3d", 18925}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 7 - English Windows (from the King's Quest Collection) // Executable scanning reports "2.100.002", VERSION file reports "1.4" @@ -1614,7 +1616,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "2be9ab94429c721af8e05c507e048a15", 18697}, {"resource.000", 0, "eb63ea3a2c2469dc2d777d351c626404", 203882535}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 7 - English DOS (from FRG) // SCI interpreter version 2.100.002, VERSION file reports "2.00b" @@ -1622,7 +1624,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "8676b0fbbd7362989a029fe72fea14c6", 18709}, {"resource.000", 0, "51c1ead1163e19a2de8f121c39df7a76", 200764100}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 7 - English Windows (from FRG) // SCI interpreter version 2.100.002, VERSION file reports "2.00b" @@ -1630,7 +1632,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "8676b0fbbd7362989a029fe72fea14c6", 18709}, {"resource.000", 0, "51c1ead1163e19a2de8f121c39df7a76", 200764100}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 7 - German Windows (supplied by markcoolio in bug report #2727402) // SCI interpreter version 2.100.002 @@ -1638,7 +1640,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "838b9ff132bd6962026fee832e8a7ddb", 18697}, {"resource.000", 0, "eb63ea3a2c2469dc2d777d351c626404", 206626576}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 7 - Spanish DOS (from jvprat) // Executable scanning reports "2.100.002", VERSION file reports "2.00" @@ -1646,7 +1648,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "0b62693cbe87e3aaca3e8655a437f27f", 18709}, {"resource.000", 0, "51c1ead1163e19a2de8f121c39df7a76", 200764100}, AD_LISTEND}, - Common::ES_ESP, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::ES_ESP, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 7 - English DOS Non-Interactive Demo // SCI interpreter version 2.100.002 @@ -1654,7 +1656,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "b44f774108d63faa1d021101221c5a54", 1690}, {"resource.000", 0, "d9659d2cf0c269c6a9dc776707f5bea0", 2433827}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO | ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO | ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Quest 7 - English Windows Demo (from DrMcCoy) // SCI interpreter version 2.100.002 @@ -1662,7 +1664,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "38e627a37a975aea40cc72b0518b0709", 18412}, {"resource.000", 0, "bad61d50aaa64298fa57a7c6ccd3bccf", 84020382}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_DEMO | ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_DEMO | ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // King's Questions mini-game from the King's Quest Collection // SCI interpreter version 2.000.000 @@ -1670,7 +1672,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "9b1cddecd4f0720d83661ba7aed28891", 162697}, {"resource.map", 0, "93a2251fa64e729d7a7d2fe56b217c8e", 502}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO3(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO3(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_FB01_MIDI) }, #endif // ENABLE_SCI32 @@ -1686,7 +1688,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.004", 0, "aa553977f7e5804081de293800d3bcce", 695067}, {"resource.005", 0, "bfd870d51dc97729f0914095f58e6957", 676881}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Laura Bow - English Atari ST (from jvprat) // Executable scanning reports "1.002.030", Floppy label reports "1.000.062, 9.23.90" @@ -1698,7 +1700,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "e45c888d9c7c04aec0a20e9f820b79ff", 667365}, {"resource.004", 0, "e45c888d9c7c04aec0a20e9f820b79ff", 683737}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAtariST, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAtariST, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Laura Bow - English DOS Non-Interactive Demo // Executable scanning reports "x.yyy.zzz" @@ -1706,7 +1708,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "e625726268ff4e123ada11f31f0249f3", 768}, {"resource.001", 0, "0c8912290af0890f8d95faeb4ddb2d68", 333031}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Laura Bow - English DOS 3.5" Floppy (from "The Roberta Williams Anthology"/1996) // SCI interpreter version 0.000.631 @@ -1717,7 +1719,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "e45c888d9c7c04aec0a20e9f820b79ff", 667468}, {"resource.004", 0, "e45c888d9c7c04aec0a20e9f820b79ff", 683807}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Laura Bow - English DOS (from FRG) // SCI interpreter version 0.000.631 @@ -1731,7 +1733,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "e45c888d9c7c04aec0a20e9f820b79ff", 328390}, {"resource.007", 0, "e45c888d9c7c04aec0a20e9f820b79ff", 317687}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Laura Bow 2 - English DOS Non-Interactive Demo (from FRG) // Executable scanning reports "x.yyy.zzz" @@ -1740,7 +1742,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "24dffc5db1d88c7999f13e8767ed7346", 855}, {"resource.000", 0, "2b2b1b4f7584f9b38fd13f6ab95634d1", 781912}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Laura Bow 2 - English DOS Floppy // Executable scanning reports "2.000.274" @@ -1749,7 +1751,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "610bfd9a852004222f0faaf5fc9e630a", 6489}, {"resource.000", 0, "57084910bc923bff5d6d9bc1b56e9604", 5035964}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Laura Bow 2 - English DOS CD (from "The Roberta Williams Antology"/1996) // Executable scanning reports "1.001.072", VERSION file reports "1.1" (from jvprat) @@ -1758,7 +1760,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "a70945e61ba7ac7bfea6b7bd72c6aec5", 7274}, {"resource.000", 0, "82578b8d5a7e09c4c58891ca49fae35b", 5598672}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_CD, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_CD, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Laura Bow 2 v1.1 - French DOS Floppy (from Hkz) {"laurabow2", "", { @@ -1766,7 +1768,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "57084910bc923bff5d6d9bc1b56e9604", 5028766}, {"resource.msg", 0, "0fceedfbdd85a4bc7851fdd9dd2d2f19", 278253}, AD_LISTEND}, - Common::FR_FRA, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::FR_FRA, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Laura Bow 2 v1.1 - German DOS Floppy (from Tobis87, updated info from markcoolio in bug report #2723787, updated info from #2797962)) // Executable scanning reports "2.000.274" @@ -1775,7 +1777,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "57084910bc923bff5d6d9bc1b56e9604", 5028766}, {"resource.msg", 0, "795c928cd00dfec9fbc62ebcd12e1f65", 303185}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Laura Bow 2 - Spanish DOS CD (from jvprat) // Executable scanning reports "2.000.274", VERSION file reports "1.000.000, May 10, 1994" @@ -1784,7 +1786,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "57084910bc923bff5d6d9bc1b56e9604", 5028766}, {"resource.msg", 0, "71f1f0cd9f082da2e750c793a8ed9d84", 286141}, AD_LISTEND}, - Common::ES_ESP, Common::kPlatformDOS, ADGF_CD, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::ES_ESP, Common::kPlatformDOS, ADGF_CD, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 1 EGA Remake - English DOS (from spookypeanut) // SCI interpreter version 0.000.510 (or 0.000.577?) @@ -1795,7 +1797,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "24c958bc922b07f91e25e8c93aa01fcf", 491230}, {"resource.003", 0, "685cd6c1e05a695ab1e0db826337ee2a", 553279}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #if 0 // The resource.002 file, contained in disk 3, is broken in this version @@ -1813,7 +1815,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "5790ac0505f7ca98d4567132b875eb1e", 681041}, {"resource.003", 0, "4a34c3367c2fe7eb380d741374da1989", 572251}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #endif // Larry 1 VGA Remake - English DOS (from spookypeanut) @@ -1824,7 +1826,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.001", 0, "ec20246209d7b19f38989261e5c8f5b8", 1111226}, {"resource.002", 0, "85d6935ef77e6b0e16bc307640a0d913", 1088312}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 1 VGA Remake - English DOS (from FRG) // SCI interpreter version 1.000.510 @@ -1834,7 +1836,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.001", 0, "d34cadb11e1aefbb497cf91bc1d3baa7", 1114688}, {"resource.002", 0, "85b030bb66d5342b0a068f1208c431a8", 1078443}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 1 VGA Remake - English Macintosh (from omer_mor, bug report #3328262) {"lsl1sci", "SCI", { @@ -1843,7 +1845,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.001", 0, "aa6f153f70f1e32d1bde465fff08eecf", 1137418}, {"resource.002", 0, "b22c616aa789ebef990290c7ffd86548", 1097477}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformMacintosh, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformMacintosh, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 1 VGA Remake - English DOS Non-Interactive Demo // SCI interpreter version 1.000.084 @@ -1851,7 +1853,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "434e1f6c39d71647b34f0ee57b2bbd68", 444}, {"resource.001", 0, "0c0768215c562d9dace4a5ca53696cf3", 359913}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 1 VGA Remake - Spanish DOS (from the Leisure Suit Larry Collection, also includes english language) // Executable scanning reports "1.SQ4.057", VERSION file reports "1.000" @@ -1864,7 +1866,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "3fe2a3aec0ed53c7d6db1845a67e3aa2", 1095908}, {"resource.003", 0, "ac175df0ea9a2cba57f0248651856d27", 376556}, AD_LISTEND}, - Common::ES_ESP, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::ES_ESP, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 1 VGA Remake - Russian DOS (also includes english language?!) // Executable scanning reports "1.000.510", VERSION file reports "2.0" @@ -1875,7 +1877,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.001", 0, "bc8ca10c807515d959cbd91f9ba47735", 1123759}, {"resource.002", 0, "b7409ab32bc3bee2d6cce887cd33f2b6", 1092160}, AD_LISTEND}, - Common::RU_RUS, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::RU_RUS, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 1 VGA Remake - Polish DOS (from Polish Leisure Suit Larry Collection, official release) // SCI interpreter version 1.000.577, VERSION file reports "2.1" (this release does NOT include english text) @@ -1883,7 +1885,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "58330a85767e42a2487129913283ab5b", 3228}, {"resource.000", 0, "b6097ff35cdc8469f02150fe2f824198", 4781210}, AD_LISTEND}, - Common::PL_POL, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::PL_POL, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 2 - English Amiga (from www.back2roots.org) // Executable scanning reports "x.yyy.zzz" @@ -1895,7 +1897,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "a0d4a625311d307257da7fc43d00459d", 570356}, {"resource.004", 0, "a0d4a625311d307257da7fc43d00459d", 717844}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 2 - English DOS Non-Interactive Demo // Executable scanning reports "x.yyy.zzz" @@ -1904,7 +1906,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "03dba704bb77da55a91ad27b5a3cac09", 528}, {"resource.001", 0, "9f5520f0297206928df0b0b36493cd33", 127532}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 2 - English DOS // SCI interpreter version 0.000.409 @@ -1917,7 +1919,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.005", 0, "4a24443a25e2b1492462a52809605dc2", 277732}, {"resource.006", 0, "4a24443a25e2b1492462a52809605dc2", 345683}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 2 - English DOS // SCI interpreter version 0.000.343 @@ -1932,7 +1934,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { //{"resource.006", 0, "96033f57accfca903750413fd09193c8", 345818}, {"resource.006", 0, "96033f57accfca903750413fd09193c8", -1}, // 345818 or 208739 AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 2 - English DOS (supplied by ssburnout in bug report #3049193) // 1.000.011 3x3.5" (label: Int. #0.000.343) @@ -1942,7 +1944,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "96033f57accfca903750413fd09193c8", 407014}, {"resource.003", 0, "96033f57accfca903750413fd09193c8", 592834}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 2 - English DOS (supplied by ssburnout in bug report #3049193) // 1.002.000 3x3.5" (label: INT#0.000.409) @@ -1952,7 +1954,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "4a24443a25e2b1492462a52809605dc2", 406935}, {"resource.003", 0, "4a24443a25e2b1492462a52809605dc2", 592533}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 3 - English Amiga (from www.back2roots.org) // Executable scanning reports "1.002.032" @@ -1966,7 +1968,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.004", 0, "f408e59cbee1457f042e5773b8c53951", 651634}, {"resource.005", 0, "433911eb764089d493aed1f958a5615a", 524259}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 3 - English DOS (supplied by ssburnout in bug report #3049193) // 1.021 8x5.25" (label: Int#5.15.90) @@ -1980,7 +1982,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "f18441027154292836b973c655fa3175", 282649}, {"resource.007", 0, "f18441027154292836b973c655fa3175", 257178}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 3 - English DOS // SCI interpreter version 0.000.572 @@ -1994,7 +1996,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "f18441027154292836b973c655fa3175", 282465}, {"resource.007", 0, "f18441027154292836b973c655fa3175", 257174}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 3 - English DOS // SCI interpreter version 0.000.572 @@ -2005,7 +2007,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "f18441027154292836b973c655fa3175", 506807}, {"resource.004", 0, "f18441027154292836b973c655fa3175", 513651}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 3 - English DOS (supplied by kervala in bug report #3611488) {"lsl3", "", { @@ -2015,7 +2017,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "f18441027154292836b973c655fa3175", 506817}, {"resource.004", 0, "f18441027154292836b973c655fa3175", 513337}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 3 - English DOS Non-Interactive Demo // SCI interpreter version 0.000.530 @@ -2024,7 +2026,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.001", 0, "f773d79b93dfd4052ec8c1cc64c1e6ab", 76525}, {"resource.002", 0, "f773d79b93dfd4052ec8c1cc64c1e6ab", 268299}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 3 - German DOS (from Tobis87, updated info from markcoolio in bug report #2723832, also includes english language) // Executable scanning reports "S.old.123" @@ -2036,7 +2038,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "3827a9b17b926e12dcc336860f50612a", 587036}, {"resource.004", 0, "3827a9b17b926e12dcc336860f50612a", 691932}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 3 - French DOS (provided by richiefs in bug report #2670691, also includes english language) // Executable scanning reports "S.old.123" @@ -2048,7 +2050,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "65f1bdaa20f6d0470e9d969f22473873", 586921}, {"resource.004", 0, "65f1bdaa20f6d0470e9d969f22473873", 690826}, AD_LISTEND}, - Common::FR_FRA, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::FR_FRA, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 3 1.050 Fr/En (9 x 5.25" disks) // Provided by ssburnout in bug report #3046779 @@ -2062,7 +2064,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "65f1bdaa20f6d0470e9d969f22473873", 325292}, {"resource.007", 0, "65f1bdaa20f6d0470e9d969f22473873", 308982}, AD_LISTEND}, - Common::FR_FRA, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::FR_FRA, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 5 - English Amiga // Executable scanning reports "1.004.023" @@ -2077,7 +2079,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.005", 0, "f8b2d1137bb767e5d232056b99dd69eb", 623621}, {"resource.006", 0, "bafc64e3144f115dc58c6aee02de98fb", 715598}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 5 - German Amiga (also includes english language) // Executable scanning reports "1.004.024" @@ -2093,7 +2095,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "bafc64e3144f115dc58c6aee02de98fb", 754966}, {"resource.007", 0, "59eba83ad465b08d763b44f86afa86f6", 683135}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformAmiga, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformAmiga, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 5 - English DOS Non-Interactive Demo (from FRG) // SCI interpreter version 1.000.181 @@ -2101,7 +2103,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "efe8d3f45ce4f6bd9a6643e0ac8d2a97", 504}, {"resource.001", 0, "8bd8d9c0b5f455ee1269d63ce86c50dd", 531380}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 5 - English DOS (from spookypeanut) // SCI interpreter version 1.000.510 @@ -2116,7 +2118,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "dda27ce00682aa76198dac124bbbe334", 1024810}, {"resource.007", 0, "ac443fae1285fb359bf2b2bc6a7301ae", 1030656}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 5 - English Macintosh (from omer_mor, bug report #3328257) {"lsl5", "", { @@ -2130,7 +2132,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "dda27ce00682aa76198dac124bbbe334", 1110043}, {"resource.007", 0, "ac443fae1285fb359bf2b2bc6a7301ae", 989801}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformMacintosh, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformMacintosh, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 5 - German DOS (from Tobis87) // SCI interpreter version T.A00.196 @@ -2145,7 +2147,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "dda27ce00682aa76198dac124bbbe334", 1021774}, {"resource.007", 0, "ac443fae1285fb359bf2b2bc6a7301ae", 993408}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 5 - French DOS (provided by richiefs in bug report #2670691) // Executable scanning reports "1.lsl5.019" @@ -2161,7 +2163,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "dda27ce00682aa76198dac124bbbe334", 946540}, {"resource.007", 0, "ac443fae1285fb359bf2b2bc6a7301ae", 958842}, AD_LISTEND}, - Common::FR_FRA, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::FR_FRA, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 5 - Spanish DOS (from the Leisure Suit Larry Collection) // Executable scanning reports "1.ls5.006", VERSION file reports "1.000, 4/21/92" @@ -2177,7 +2179,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "dda27ce00682aa76198dac124bbbe334", 1015136}, {"resource.007", 0, "ac443fae1285fb359bf2b2bc6a7301ae", 987222}, AD_LISTEND}, - Common::ES_ESP, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::ES_ESP, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 5 - Italian DOS Floppy (from glorifindel) // SCI interpreter version 1.000.510 (just a guess) @@ -2185,7 +2187,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "a99776df795127f387cb35dae872d4e4", 5919}, {"resource.000", 0, "a8989a5a89e7d4f702b26b378c7a357a", 7001981}, AD_LISTEND}, - Common::IT_ITA, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::IT_ITA, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 5 1.0 EGA DOS (8 x 3.5" disks) // Provided by ssburnout in bug report #3046806 @@ -2200,7 +2202,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "f6046a8445422f17d40b1b10ab21ebf3", 568551}, {"resource.007", 0, "640ee65595d40372ef95462f2c1ae28a", 593429}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 5 EGA // Supplied by omer_mor in bug report #3049771 @@ -2211,7 +2213,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "5a55af4e40728b1a8103dc47ad2afa8d", 1100539}, {"resource.003", 0, "16f4d8fb1b526125edaca4fc6cbb7530", 1064563}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 6 - English DOS (from spookypeanut) // SCI interpreter version 1.001.113 @@ -2219,7 +2221,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "bb8a39d9e2a77ba449a1e591109ad9a8", 6973}, {"resource.000", 0, "4462fe48c7452d98fddcec327a3e738d", 5789138}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 6 - English/German/French DOS CD - LOWRES // SCI interpreter version 1.001.115 @@ -2227,7 +2229,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "0b91234b7112782962cb480b7791b6e2", 7263}, {"resource.000", 0, "57d5fe8bb9e044158514476ea7678eb0", 5754790}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_CD, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_CD, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 6 - German DOS CD - LOWRES (provided by richiefs in bug report #2670691) // SCI interpreter version 1.001.115 @@ -2235,7 +2237,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "bafe85f32738854135991d4324ad147e", 7268}, {"resource.000", 0, "f6cbc6da7b90ea135883e0759848ca2c", 5773160}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, ADGF_CD, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, ADGF_CD, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 6 - French DOS CD - LOWRES (provided by richiefs in bug report #2670691) // SCI interpreter version 1.001.115 @@ -2243,7 +2245,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "97797ea775baaf18a1907d357d3c0ea6", 7268}, {"resource.000", 0, "f6cbc6da7b90ea135883e0759848ca2c", 5776092}, AD_LISTEND}, - Common::FR_FRA, Common::kPlatformDOS, ADGF_CD, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::FR_FRA, Common::kPlatformDOS, ADGF_CD, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 6 - Spanish DOS - LOWRES (from the Leisure Suit Larry Collection) // Executable scanning reports "1.001.113", VERSION file reports "1.000, 11.06.93, FIVE PATCHES ADDED TO DISK 6 ON 11-18-93" @@ -2251,7 +2253,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "633bf8f42170b6271019917c8009989b", 6943}, {"resource.000", 0, "7884a8db9253e29e6b37a2651fd90ba3", 5733116}, AD_LISTEND}, - Common::ES_ESP, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::ES_ESP, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Crazy Nick's Software Picks: Leisure Suit Larry's Casino - English DOS (from the Leisure Suit Larry Collection) // Executable scanning reports "1.001.029", VERSION file reports "1.000" @@ -2259,35 +2261,35 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "194f1578f2624db813c9072359ad1639", 783}, {"resource.001", 0, "3733433b517ec3d14a3331d9ab3842ae", 344830}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Crazy Nick's Software Picks: King Graham's Board Game Challenge {"cnick-kq", "", { {"resource.map", 0, "44bc538a5cd24b39ffccc967c0ebf84d", 1137}, {"resource.001", 0, "470e7a4a3504635e70b623c44461e1ac", 451272}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Crazy Nick's Software Picks: Parlor Games with Laura Bow {"cnick-laurabow", "", { {"resource.map", 0, "3b826bfe64f8ff1ccf30eef93cd2f727", 999}, {"resource.001", 0, "985ac8db6f636f2b4334c04b0fbb44fb", 336698}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Crazy Nick's Software Picks: Robin Hood's Game of Skill and Chance {"cnick-longbow", "", { {"resource.map", 0, "4a5c81f485a2416bde12978506f2fb5f", 897}, {"resource.001", 0, "ef16dc9e867eb8eeb5b13e110b90bd4b", 571466}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Crazy Nick's Software Picks: Roger Wilco's Spaced Out Game Pack {"cnick-sq", "", { {"resource.map", 0, "b4d95b02d84e297441bd999d34eaa6b1", 879}, {"resource.001", 0, "82ff2b64a60117886fbcd6a3a8c977c6", 364921}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #ifdef ENABLE_SCI32 // Larry 6 - English/German DOS CD - HIRES @@ -2296,7 +2298,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "0c0804434ea62278dd15032b1947426c", 8872}, {"resource.000", 0, "9a9f4870504444cda863dd14d077a680", 18520872}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 6 - German DOS CD - HIRES (provided by richiefs in bug report #2670691) // SCI interpreter version 2.100.002 @@ -2304,7 +2306,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "badfdf446ffed569a310d2c63a249421", 8896}, {"resource.000", 0, "bd944d2b06614a5b39f1586906f0ee88", 18534274}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 6 - French DOS CD - HIRES (provided by richiefs in bug report #2670691) // SCI interpreter version 2.100.002 @@ -2312,7 +2314,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "d184e9aa4f2d4b5670ddb3669db82cda", 8896}, {"resource.000", 0, "bd944d2b06614a5b39f1586906f0ee88", 18538987}, AD_LISTEND}, - Common::FR_FRA, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::FR_FRA, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 7 - English DOS Demo (provided by richiefs in bug report #2670691) // SCI interpreter version 2.100.002 @@ -2320,7 +2322,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"ressci.000", 0, "5cc6159688b2dc03790a67c90ccc67f9", 10195878}, {"resmap.000", 0, "6a2b2811eef82e87cde91cf1de845af8", 2695}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO | ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO | ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #ifdef ENABLE_SCI3_GAMES // Larry 7 - English DOS CD (from spookypeanut) @@ -2329,7 +2331,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.000", 0, "eae93e1b1d1ccc58b4691c371281c95d", 8188}, {"ressci.000", 0, "89353723488219e25589165d73ed663e", 66965678}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 7 - German DOS (from Tobis87) // SCI interpreter version 3.000.000 @@ -2337,7 +2339,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.000", 0, "c11e6bfcfc2f2d05da47e5a7df3e9b1a", 8188}, {"ressci.000", 0, "a8c6817bb94f332ff498a71c8b47f893", 66971724}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 7 - French DOS (provided by richiefs in bug report #2670691) // SCI interpreter version 3.000.000 @@ -2345,7 +2347,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.000", 0, "4407849fd52fe3efb0c30fba60cd5cd4", 8206}, {"ressci.000", 0, "dc37c3055fffbefb494ff22b145d377b", 66964472}, AD_LISTEND}, - Common::FR_FRA, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::FR_FRA, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 7 - Italian DOS CD (from glorifindel) // SCI interpreter version 3.000.000 @@ -2353,7 +2355,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.000", 0, "9852a97141f789413f29bf956052acdb", 8212}, {"ressci.000", 0, "440b9fed89590abb4e4386ed6f948ee2", 67140181}, AD_LISTEND}, - Common::IT_ITA, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::IT_ITA, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Larry 7 - Spanish DOS (from the Leisure Suit Larry Collection) // Executable scanning reports "3.000.000", VERSION file reports "1.0s" @@ -2361,7 +2363,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.000", 0, "8f3d603e1acc834a5d598b30cdfc93f3", 8188}, {"ressci.000", 0, "32792f9bc1bf3633a88b382bb3f6e40d", 67071418}, AD_LISTEND}, - Common::ES_ESP, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::ES_ESP, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #endif // Lighthouse - English Windows Demo (from jvprat) @@ -2370,7 +2372,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "543124606352bfa5e07696ddf2a669be", 64}, {"resource.000", 0, "5d7714416b612463d750fb9c5690c859", 28952}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO | ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO | ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #ifdef ENABLE_SCI3_GAMES // Lighthouse - English Windows Demo @@ -2379,7 +2381,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.000", 0, "3bdee7a16926975a4729f75cf6b80a92", 1525}, {"ressci.000", 0, "3c585827fa4a82f4c04a56a0bc52ccee", 11494351}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO | ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO | ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Lighthouse - English DOS (from jvprat) // Executable scanning reports "3.000.000", VERSION file reports "1.1" @@ -2389,7 +2391,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.002", 0, "c68db5333f152fea6ca2dfc75cad8b34", 7573}, {"ressci.002", 0, "175468431a979b9f317c294ce3bc1430", 94628315}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Lighthouse - Spanish DOS (from jvprat) // Executable scanning reports "3.000.000", VERSION file reports "1.1" @@ -2399,7 +2401,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.002", 0, "e7dc85884a2417e2eff9de0c63dd65fa", 7630}, {"ressci.002", 0, "3c8d627c555b0e3e4f1d9955bc0f0df4", 94631127}, AD_LISTEND}, - Common::ES_ESP, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::ES_ESP, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #endif // ENABLE_SCI3_GAMES #endif // ENABLE_SCI32 @@ -2410,7 +2412,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "8be56a3a88c065ee00c02c0e29199f3a", 14643}, {"resource.001", 0, "9e33566515b18bee7915db448063bba2", 871853}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Mixed-Up Fairy Tales - English DOS Floppy EGA (from omer_mor, bug report #3035350) {"fairytales", "EGA", { @@ -2421,7 +2423,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "509b2467ba779100d5933ed51a9ae32f", 560255}, {"resource.004", 0, "93afc85d5ffa60ea555d6cc336d22c03", 651109}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Mixed-Up Fairy Tales v1.000 - English DOS (supplied by markcoolio in bug report #2723791) // Executable scanning reports "1.000.145" @@ -2433,7 +2435,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "b1288e0821ee358d1ffe877e5900c8ec", 1047565}, {"resource.004", 0, "f79daa70390d73746742ffcfc3dc4471", 937580}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Mixed-Up Fairy Tales - English DOS Floppy (from jvprat) // Executable scanning reports "1.000.145", Floppy label reports "1.0, 11.13.91", VERSION file reports "1.000" @@ -2444,7 +2446,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "564f516d991032e781492592a4eaa275", 1414142}, {"resource.003", 0, "dd6cef0c592eadb7e6be9a25307c57a2", 1344719}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Mixed-Up Mother Goose - English Amiga (from www.back2roots.org) // Executable scanning reports "1.003.009" @@ -2454,7 +2456,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.001", 0, "fb552ae550ca1dac19ed8f6a3767612d", 262885}, {"resource.002", 0, "fb552ae550ca1dac19ed8f6a3767612d", 817191}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Mixed-Up Mother Goose - English DOS Floppy EGA (from omer_mor, bug report #3035354) {"mothergoose", "EGA", { @@ -2462,7 +2464,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.001", 0, "d893892d62b3f061357291d66775e360", 239906}, {"resource.002", 0, "d893892d62b3f061357291d66775e360", 719398}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Mixed-Up Mother Goose - English DOS Floppy EGA (supplied by ssburnout in bug report #3049193) // 1.011 5x5.25" (label: Int#8.2.90) @@ -2475,7 +2477,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.004", 0, "dbbc22f124533ce308bc386b08956326", 146251}, {"resource.005", 0, "2ba5348e7fad641b9c4c7ff7c7cf4e68", 110979}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Mixed-Up Mother Goose v2.000 - English DOS Floppy (supplied by markcoolio in bug report #2723795) // Executable scanning reports "1.001.031" @@ -2483,7 +2485,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "52aae15e493cafd1da7e1c9b657a5bb9", 7026}, {"resource.000", 0, "b7ecd8ae9e254e80310b5a668b276e6e", 2948975}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Mixed-Up Mother Goose - English DOS CD (from jvprat) // Executable scanning reports "x.yyy.zzz" @@ -2492,7 +2494,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "1c7f311b0a2c927b2fbe81ae341fb2f6", 5790}, {"resource.001", 0, "5a0ed1d745855148364de1b3be099bac", 4369438}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_CD, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_CD, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Mixed-Up Mother Goose - English Windows Interactive Demo // Executable scanning reports "x.yyy.zzz" @@ -2500,19 +2502,19 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "87f9dc1cafc4d4fa835fb2f00cf3a6ef", 4560}, {"resource.001", 0, "5a0ed1d745855148364de1b3be099bac", 2070072}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Mixed-Up Mother Goose - FM-Towns (supplied by abevi in bug report #3038720) {"mothergoose256", "", { {"resource.map", 0, "b11e971ccd2040bebba59dfb409a08ef", 5772}, {"resource.001", 0, "d49625d9b8005ec01c852f8322a82867", 4330713}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformFMTowns, 0, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformFMTowns, 0, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, {"mothergoose256", "", { {"resource.map", 0, "b11e971ccd2040bebba59dfb409a08ef", 5772}, {"resource.001", 0, "d49625d9b8005ec01c852f8322a82867", 4330713}, AD_LISTEND}, - Common::JA_JPN, Common::kPlatformFMTowns, 0, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::JA_JPN, Common::kPlatformFMTowns, 0, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #ifdef ENABLE_SCI32 // Mixed-Up Mother Goose Deluxe - English Windows/DOS CD (supplied by markcoolio in bug report #2723810) @@ -2521,7 +2523,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "5159a1578c4306bfe070a3e4d8c2e1d3", 4741}, {"resource.000", 0, "1926925c95d82f0999590e93b02887c5", 15150768}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Mixed-Up Mother Goose Deluxe - Multilingual Windows CD (English/French/German/Spanish) // Executable scanning reports "2.100.002" @@ -2529,7 +2531,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.000", 0, "ef611af561898dcfea87846919ebf3eb", 4969}, {"ressci.000", 0, "227685bc59d90821978d330713e44a7a", 17205800}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #endif // ENABLE_SCI32 // Ms. Astro Chicken - English DOS @@ -2538,7 +2540,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "5b457cbe5042f557e5b610148171f6c0", 1158}, {"resource.001", 0, "453ea81ef66a50cbe33ce06302afe47f", 229737}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #ifdef ENABLE_SCI32 // Phantasmagoria - English DOS (from jvprat) @@ -2559,7 +2561,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.007", 0, "afbd16ea77869a720afa1c5371de107d", 7972}, //{"ressci.007", 0, "3aae6559aa1df273bc542d5ac6330d75", 25859038}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Phantasmagoria - English DOS Demo // Executable scanning reports "2.100.002" @@ -2567,7 +2569,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.001", 0, "416138651ea828219ca454cae18341a3", 11518}, {"ressci.001", 0, "3aae6559aa1df273bc542d5ac6330d75", 65844612}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO | ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO | ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Phantasmagoria - English DOS/Windows (GOG version) - ressci.* merged in ressci.000 // Windows executable scanning reports "2.100.002" - "Sep 19 1995 15:09:43" @@ -2578,7 +2580,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"ressci.000", 0, "cd5967f9b9586e3380645961c0765be3", 116822037}, {"resmap.000", 0, "3cafc1c6a53945c1f3babbfd6380c64c", 16468}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Phantasmagoria - English Macintosh // NOTE: This only contains disc 1 files (as well as the two persistent files: @@ -2611,7 +2613,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.005", 0, "8bd5ceeedcbe16dfe55d1b90dcd4be84", 1942}, {"ressci.005", 0, "05f9fe2bee749659acb3cd2c90252fc5", 67905112}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Phantasmagoria 2 - English DOS (GOG version) - ressci.* merged in ressci.000 // Executable scanning reports "3.000.000" - "Dec 07 1996 09:29:03" @@ -2621,7 +2623,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"ressci.000", 0, "c54f26d9f43f908151263254b6d97053", 108134481}, {"resmap.000", 0, "de154a223a9ef4ea7358b76adc38ef5b", 2956}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #endif // ENABLE_SCI3_GAMES #endif // ENABLE_SCI32 @@ -2632,7 +2634,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "72726dc81c1b4c1110c486be77369bc8", 5179}, {"resource.000", 0, "670d0c53622429f4b11275caf7f8d292", 5459574}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Pepper - English DOS Non-Interactive Demo // Executable scanning reports "1.001.060", VERSION file reports "1.000" @@ -2640,7 +2642,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "379bb4fb896630b14f2d91ed21e36ba1", 984}, {"resource.000", 0, "118f6c31a93ec7fd9a231c61125229e3", 645494}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Pepper - English DOS/Windows Interactive Demo // Executable scanning reports "1.001.069", VERSION file reports ".001" @@ -2648,7 +2650,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "975e8df76106a5c13d12ab674f906a02", 2514}, {"resource.000", 0, "e6a918a2dd7a4bcecd8fb389f43287c2", 1698164}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Pepper - English DOS Interactive Demo // Executable scanning reports "1.001.072", VERSION file reports "1.000" @@ -2656,7 +2658,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "9c9b7b900651a370dd3fb38d478b1798", 2524}, {"resource.000", 0, "e6a918a2dd7a4bcecd8fb389f43287c2", 1713544}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Police Quest 1 VGA Remake - English DOS (from the Police Quest Collection) // Executable scanning reports "1.001.029", VERSION file reports "2.000" @@ -2664,7 +2666,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "35efa814fb994b1cbdac9611e401da67", 5013}, {"resource.000", 0, "e0d5ddf34eda903a38f0837e2aa7145b", 6401433}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Police Quest 2 - English Amiga (from www.back2roots.org) // SCI interpreter version 0.000.685 (just a guess) @@ -2675,7 +2677,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "499737c21a28ac026e11ab817100d610", 511099}, {"resource.003", 0, "e008f5d6e2a7c4d4a0da0173e4fa8f8b", 553970}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Police Quest 2 - English DOS Non-Interactive Demo // Executable scanning reports "0.000.413" @@ -2683,7 +2685,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "8b77d0d4650c2052b356cece28294b58", 576}, {"resource.001", 0, "376ef6d6eaaeed66e1424bd219c4b9ab", 215398}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Police Quest 2 - English DOS (provided by richiefs in bug report #2670691) // SCI interpreter version 0.000.395 @@ -2696,7 +2698,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.005", 0, "77f02def3094af804fd2371db25b7100", 349899}, {"resource.006", 0, "77f02def3094af804fd2371db25b7100", 354991}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Police Quest 2 - English DOS (from the Police Quest Collection) // Executable scanning reports "0.000.490" @@ -2706,7 +2708,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "77f02def3094af804fd2371db25b7100", 546000}, {"resource.003", 0, "77f02def3094af804fd2371db25b7100", 591851}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Police Quest 2 - English DOS (from FRG) // SCI interpreter version 0.000.395 @@ -2716,7 +2718,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "77f02def3094af804fd2371db25b7100", 542897}, {"resource.003", 0, "77f02def3094af804fd2371db25b7100", 586857}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Police Quest 2 English DOS 1.001.006 (supplied by merkur-kun in bug report #3028479) {"pq2", "", { @@ -2725,7 +2727,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "77f02def3094af804fd2371db25b7100", 541261}, {"resource.003", 0, "77f02def3094af804fd2371db25b7100", 587511}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Police Quest 2 - Japanese PC-98 (also includes english language) // SCI interpreter version unknown @@ -2735,7 +2737,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "05fdee43a228dd6ea4d1a92ccae3f788", 637662}, {"resource.003", 0, "05fdee43a228dd6ea4d1a92ccae3f788", 684395}, AD_LISTEND}, - Common::JA_JPN, Common::kPlatformPC98, ADGF_ADDENGLISH, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::JA_JPN, Common::kPlatformPC98, ADGF_ADDENGLISH, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Police Quest 3 - English Amiga // Executable scanning reports "1.004.024" @@ -2748,7 +2750,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "630bfa65beb05f743552704ac2899dae", 759891}, {"resource.004", 0, "7b229fbdf30d670d0728cede3e984a7e", 838663}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Police Quest 3 - German Amiga (also includes english language) // Executable scanning reports "1.004.024" @@ -2762,7 +2764,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.004", 0, "6258d5dd85898d8e218eb8113ebc9059", 722738}, {"resource.005", 0, "6258d5dd85898d8e218eb8113ebc9059", 704485}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformAmiga, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformAmiga, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Police Quest 3 - English DOS (from the Police Quest Collection) // Executable scanning reports "T.A00.178", VERSION file reports "1.00" @@ -2775,7 +2777,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "8791b9eef53edf77c2dac950142221d3", 1159791}, {"resource.004", 0, "1b91e891a3c60a941dac0eecdf83375b", 1143606}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Police Quest 3 - English DOS Non-Interactive Demo // Executable scanning reports "T.A00.052" @@ -2785,7 +2787,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "277f97771f7a6d89677141f02da313d6", 65150}, {"resource.001", 0, "5c5a551b6c86cce2ee75becb90e0b586", 624411}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Police Quest 3 - German DOS (supplied by markcoolio in bug report #2723837, also includes english language) // Executable scanning reports "T.A00.178" @@ -2798,14 +2800,14 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "4836f460f4cfc8de61e2df4c45775504", 1180956}, {"resource.004", 0, "0c3eb84b9755852d9e795e0d5c9373c7", 1171760}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Police Quest 3 - Spanish DOS v1.000 - Supplied by dianiu in bug report #3555647 {"pq3", "", { {"resource.map", 0, "ffa0b4631c4e36d69631256d19ba29e7", 5421}, {"resource.000", 0, "5ee460af3d70c06a745cc482b6c783ba", 5410263}, AD_LISTEND}, - Common::ES_ESP, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::ES_ESP, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Police Quest 3 EGA // Reported by musiclyinspired in bug report #3046573 @@ -2818,7 +2820,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.004", 0, "b96a86ab681769e4cbb439670d967ca6", 449682}, {"resource.005", 0, "9e6c53a0e7eef53694d260fade8b1fc7", 724000}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Police Quest 4 - English DOS Non-Interactive Demo (from FRG) // SCI interpreter version 1.001.096 @@ -2826,7 +2828,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "be56f87a1c4a13062a30a362df860c2f", 1472}, {"resource.000", 0, "527d5684016e6816157cd15d9071b11b", 1121310}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #ifdef ENABLE_SCI32 // Police Quest 4 - English DOS CD (from the Police Quest Collection) @@ -2835,7 +2837,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "379dfe80ed6bd16c47e4b950c4722eac", 11374}, {"resource.000", 0, "fd316a09b628b7032248139003369022", 18841068}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_CD | ADGF_UNSTABLE, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_CD | ADGF_UNSTABLE, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Police Quest 4 - German DOS CD (German text, English speech) // Supplied by markcoolio in bug report #3392955 @@ -2843,7 +2845,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "a398076371ed0e1e706c8f9fb9fc7ac5", 11386}, {"resource.000", 0, "6ff21954e0a2c5992279e7eb787c8d56", 18918747}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, ADGF_CD | ADGF_UNSTABLE, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, ADGF_CD | ADGF_UNSTABLE, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Police Quest 4 - English DOS // SCI interpreter version 2.000.000 (a guess?) @@ -2851,7 +2853,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "aed9643158ccf01b71f359db33137f82", 9895}, {"resource.000", 0, "da383857b3be1e4514daeba2524359e0", 15141432}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Police Quest 4 - French DOS (supplied by abevi in bug report #2612718) // SCI interpreter version 2.000.000 @@ -2859,7 +2861,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "008030846edcc7c5c7a812c7f4ae4ceb", 9256}, {"resource.000", 0, "6ba98bd2e436739d87ecd2a9b99cabb4", 14730153}, AD_LISTEND}, - Common::FR_FRA, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::FR_FRA, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Police Quest 4 - German DOS (supplied by markcoolio in bug report #2723840) // SCI interpreter version 2.000.000 (a guess?) @@ -2867,7 +2869,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "2393ee728ab930b2762cb5889f9b5aff", 9256}, {"resource.000", 0, "6ba98bd2e436739d87ecd2a9b99cabb4", 14730155}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Police Quest: SWAT - English DOS/Windows Demo (from jvprat) // Executable scanning reports "2.100.002", VERSION file reports "0.001.200" @@ -2875,7 +2877,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "8c96733ef94c21526792f7ca4e3f2120", 1648}, {"resource.000", 0, "d8892f1b8c56c8f7704325460f49b300", 3676175}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO | ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO | ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Police Quest: SWAT - English DOS (from GOG.com) // Executable scanning reports "2.100.002", VERSION file reports "1.0c" @@ -2883,7 +2885,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.000", 0, "1c2563fee189885e29d9348f37306d94", 12175}, {"ressci.000", 0, "b2e1826ca81ce2e7e764587f5a14eee9", 127149181}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Police Quest: SWAT - English Windows (from the Police Quest Collection) // Executable scanning reports "2.100.002", VERSION file reports "1.0c" @@ -2898,7 +2900,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.004", 0, "4228038906f041623e65789500b22285", 6835}, {"ressci.004", 0, "b7e619e6ecf62fe65d5116a3a422e5f0", 46223872}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #endif // ENABLE_SCI32 // Quest for Glory 1 / Hero's Quest - English DOS 3.5" Floppy (supplied by merkur in bug report #2718784) @@ -2911,7 +2913,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "7ab2bf8e224b57f75e0cd6e4ba790761", 642203}, {"resource.004", 0, "7ab2bf8e224b57f75e0cd6e4ba790761", 641688}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 1 / Hero's Quest - English DOS 3.5" Floppy (supplied by alonzotg in bug report #3206006) {"qfg1", "", { @@ -2922,7 +2924,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "7ab2bf8e224b57f75e0cd6e4ba790761", 642203}, {"resource.004", 0, "7ab2bf8e224b57f75e0cd6e4ba790761", 641688}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 1 / Hero's Quest - English DOS 3.5" Floppy v1.102 Int#0.000.629 (suppled by digitoxin1 in bug report #3554611) {"qfg1", "", { @@ -2933,7 +2935,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "f0af87c60ec869946da442833aa5afa8", 640502}, {"resource.004", 0, "f0af87c60ec869946da442833aa5afa8", 644575}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 1 / Hero's Quest - English DOS 5.25" Floppy v1.102 Int#0.000.629 (suppled by digitoxin1 in bug report #3554611) {"qfg1", "", { @@ -2947,7 +2949,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "48b2b3c964dcbeccb68e984e6d4e97db", 278473}, {"resource.007", 0, "f0af87c60ec869946da442833aa5afa8", 269237}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 1 / Hero's Quest - English DOS 5.25" Floppy (supplied by markcoolio in bug report #2723843) // Executable scanning reports "0.000.566" @@ -2962,7 +2964,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "69366c2a2f99917199fe1b60a4fee19d", 267852}, {"resource.007", 0, "7ab2bf8e224b57f75e0cd6e4ba790761", 272747}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 1 / Hero's Quest - English DOS 5.25" Floppy (supplied by ssburnout in bug report #3049193) // 1.001 10x5.25" (label: INT.#0.000.566) @@ -2977,7 +2979,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "69366c2a2f99917199fe1b60a4fee19d", 267852}, {"resource.007", 0, "7ab2bf8e224b57f75e0cd6e4ba790761", 272747}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 1 / Hero's Quest - English DOS 5.25" Floppy (supplied by ssburnout in bug report #3049193) // 1.200 10x5.25" (label: INT#9.10.90) @@ -2992,7 +2994,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "f46690dca714abc8c89357d30e363dd3", 278387}, {"resource.007", 0, "951299a82a8134ed12c5c18118d45c2f", 269173}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 1 / Hero's Quest - English DOS Demo // Executable scanning reports "0.000.685" @@ -3000,7 +3002,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "df34c758cbb9026da175793ff686b0e6", 882}, {"resource.001", 0, "73fbaafdd313b39aeedb80fbf85ecef1", 389884}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 1 - Japanese PC-98 5.25" Floppy (also includes English language) // Executable scanning reports "S.old.201" @@ -3010,7 +3012,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "a21451ef6fa8179bd4b22c4950004c44", 1136968}, {"resource.003", 0, "a21451ef6fa8179bd4b22c4950004c44", 769897}, AD_LISTEND}, - Common::JA_JPN, Common::kPlatformPC98, ADGF_ADDENGLISH, GUIO3(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_EGA_UNDITHER) }, + Common::JA_JPN, Common::kPlatformPC98, ADGF_ADDENGLISH, GUIO3(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_EGA_UNDITHER) }, // Quest for Glory 1 - Japanese PC-98 5.25" Floppy (also includes English language) // Executable scanning reports "S.old.201" @@ -3020,7 +3022,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "a21451ef6fa8179bd4b22c4950004c44", 1147121}, {"resource.003", 0, "a21451ef6fa8179bd4b22c4950004c44", 777575}, AD_LISTEND}, - Common::JA_JPN, Common::kPlatformPC98, ADGF_ADDENGLISH, GUIO3(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_EGA_UNDITHER) }, + Common::JA_JPN, Common::kPlatformPC98, ADGF_ADDENGLISH, GUIO3(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_EGA_UNDITHER) }, // Quest for Glory 1 - English Amiga // Executable scanning reports "1.002.020" @@ -3034,7 +3036,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.004", 0, "16cd4414c37ae3bb6d6da33dce8e25e8", 689124}, {"resource.005", 0, "5f3386ef2f2b1254e4a066f5d9027324", 609529}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 1 - English DOS // SCI interpreter version 0.000.629 @@ -3046,7 +3048,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "951299a82a8134ed12c5c18118d45c2f", 640483}, {"resource.004", 0, "951299a82a8134ed12c5c18118d45c2f", 644443}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 1 VGA Remake - English DOS // Executable scanning reports "2.000.411" @@ -3054,7 +3056,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "a731fb6c9c0b282443f7027bc8694d4c", 8469}, {"resource.000", 0, "ecace1a2771846b1a8aa1afdd44111a0", 6570147}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 1 VGA Remake - English DOS Non-Interactive Demo (from FRG) // SCI interpreter version 1.001.029 @@ -3062,7 +3064,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "ac0257051c95a59c0cdc0be24d9b11fa", 729}, {"resource.000", 0, "ec6f5cf369054dd3e5392995e9975b9e", 768218}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 1 VGA Remake - English Macintosh Floppy // VERSION file reports "2.0" @@ -3070,7 +3072,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"Data1", 0, "106527ff8756e4e1a795d63d23e8b833", 1752358}, {"Data2", 0, "5cdd92033231159c6e9c71d43e9f194d", 6574746}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformMacintosh, ADGF_MACRESFORK, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformMacintosh, ADGF_MACRESFORK, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 2 - English Amiga // Executable scanning reports "1.003.004" @@ -3086,7 +3088,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "ccf5dba33e5cab6d5872838c0f8db44c", 500039}, {"resource.007", 0, "4c9fc1587545879295cb9627f56a2cb8", 575056}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 2 - English (supplied by ssburnout in bug report #3049193) // 1.000 5x5.25" (label: INT#10.31.90) @@ -3098,7 +3100,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "0790f67d87642132be515cab05026baa", 972144}, {"resource.004", 0, "2ac1e6fea9aa1f5b91a06693a67b9766", 982830}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 2 - English (supplied by ssburnout in bug report #3049193) // 1.000 9x3.5" (label: INT#10.31.90) @@ -3113,7 +3115,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "5e9deacbdb17198ad844988e04833520", 498593}, {"resource.007", 0, "2ac1e6fea9aa1f5b91a06693a67b9766", 490151}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 2 - English (from FRG) // Executable scanning reports "1.000.072" @@ -3125,7 +3127,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "b192607c42f6960ecdf2ad2e4f90e9bc", 972804}, {"resource.004", 0, "cd2de58e27665d5853530de93fae7cd6", 983617}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 2 - English DOS // Executable scanning reports "1.000.072" @@ -3140,7 +3142,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "b1944bd664ddbd2859cdaa0c4a0d6281", 507489}, {"resource.007", 0, "cd2de58e27665d5853530de93fae7cd6", 490794}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 2 - English DOS (supplied by digitoxin1 in bug report #3554614) // v1.102 9x3.5" (label: Int#11.20.90) @@ -3155,7 +3157,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "b1944bd664ddbd2859cdaa0c4a0d6281", 507489}, {"resource.007", 0, "cd2de58e27665d5853530de93fae7cd6", 490794}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 2 - English DOS Non-Interactive Demo // Executable scanning reports "1.000.046" @@ -3163,7 +3165,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "e75eb86bdd517b3ef709058249986a87", 906}, {"resource.001", 0, "9b098f9e1008abe30e56c93b896494e6", 362123}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 3 - English DOS Non-Interactive Demo (from FRG) // Executable scanning reports "1.001.021", VERSION file reports "1.000, 0.001.059, 6.12.92" @@ -3171,7 +3173,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "fd71de9b588a45f085317caacf050e91", 687}, {"resource.000", 0, "b6c69bf6c18bf177492249fe81fc6a6d", 648702}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 3 - English DOS // SCI interpreter version 1.001.050 @@ -3179,7 +3181,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "19e2bf9b693932b5e2bb59b9f9ab86c9", 5958}, {"resource.000", 0, "6178ad2e83e58e4671ca03315f7a6498", 5868000}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 3 - English DOS (supplied by abevi in bug report #2612718) // SCI interpreter version 1.001.050 @@ -3187,7 +3189,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "62c185d190363d7df06330fa0cc45b36", 5958}, {"resource.000", 0, "6178ad2e83e58e4671ca03315f7a6498", 5867442}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 3 - English DOS (supplied by dknute in bug report #3125559) {"qfg3", "", { @@ -3195,7 +3197,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "6178ad2e83e58e4671ca03315f7a6498", 5868042}, {"resource.msg", 0, "27e5419c98ce444253f88c95dced14a9", 246888}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 3 - German DOS (supplied by markcoolio in bug report #2723846) // Executable scanning reports "L.rry.083" @@ -3203,7 +3205,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "19e2bf9b693932b5e2bb59b9f9ab86c9", 5958}, {"resource.000", 0, "6178ad2e83e58e4671ca03315f7a6498", 5868042}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 3 - French DOS v1.1 (supplied by misterhands in bug report #3586214) // Executable scanning reports "L.rry.083" @@ -3212,7 +3214,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "6178ad2e83e58e4671ca03315f7a6498", 5868000}, {"resource.msg", 0, "0fa1047002df904b8d1807bb7bab4fab", 267210}, AD_LISTEND}, - Common::FR_FRA, Common::kPlatformDOS, 0, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::FR_FRA, Common::kPlatformDOS, 0, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 3 - Spanish DOS CD (from jvprat) // Executable scanning reports "L.rry.083", VERSION file reports "1.000.000, June 30, 1994" @@ -3221,7 +3223,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "ba7ac86155e4c531e46cd73c86daa80a", 5884098}, {"resource.msg", 0, "a63974730d294dec0bea10057c36e506", 256014}, AD_LISTEND}, - Common::ES_ESP, Common::kPlatformDOS, 0, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::ES_ESP, Common::kPlatformDOS, 0, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 3 - Italian DOS // Supplied by ghoost in bug report #3053457 @@ -3230,7 +3232,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "6178ad2e83e58e4671ca03315f7a6498", 5868000}, {"resource.msg", 0, "5a0a896ff3e4a628db38a75eb6c84114", 259018}, AD_LISTEND}, - Common::IT_ITA, Common::kPlatformDOS, 0, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::IT_ITA, Common::kPlatformDOS, 0, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 4 - English DOS Non-Interactive Demo (from FRG) // SCI interpreter version 1.001.069 (just a guess) @@ -3238,7 +3240,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "1ba7c7ae1efb315326d45cb931569b1b", 922}, {"resource.000", 0, "41ba03f0b188b029132daa3ece0d3e14", 623154}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #ifdef ENABLE_SCI32 // Quest for Glory 4 1.1 Floppy - English DOS (supplied by markcool in bug report #2723852) @@ -3247,7 +3249,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "685bdb1ed47bbbb0e5e25db392da83ce", 9301}, {"resource.000", 0, "f64fd6aa3977939a86ff30783dd677e1", 11004993}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 4 1.1 Floppy - English DOS (supplied by abevi in bug report #2612718) // SCI interpreter version 2.000.000 @@ -3255,7 +3257,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "d10a4cc177d2091d744e2ad8c049b0ae", 9295}, {"resource.000", 0, "f64fd6aa3977939a86ff30783dd677e1", 11003589}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 4 1.1 Floppy - German DOS (supplied by markcool in bug report #2723850) // Executable scanning reports "2.000.000", VERSION file reports "1.1" @@ -3263,7 +3265,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "9e0abba8746f40565bc7eb5720522ecd", 9301}, {"resource.000", 0, "57f22cdc54eeb35fce1f26b31b5c3ee1", 11076197}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Quest for Glory 4 CD - English DOS/Windows (from jvprat) // Executable scanning reports "2.100.002", VERSION file reports "1.0" @@ -3271,7 +3273,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "aba367f2102e81782d961b14fbe3d630", 10246}, {"resource.000", 0, "263dce4aa34c49d3ad29bec889007b1c", 11571394}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_CD | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_CD | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // RAMA - English DOS/Windows Demo // Executable scanning reports "2.100.002", VERSION file reports "000.000.008" @@ -3279,7 +3281,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.001", 0, "775304e9b2a545156be4d94209550094", 1393}, {"ressci.001", 0, "259437fd75fdf51e8207fda8c01fa4fd", 2334384}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_DEMO | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_DEMO | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #ifdef ENABLE_SCI3_GAMES // RAMA - English Windows (from jvprat) @@ -3292,7 +3294,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.003", 0, "31ef4c0621711585d031f0ae81707251", 1636}, {"ressci.003", 0, "2a68edd064e5e4937b5e9c74b38f2082", 6860492}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // RAMA - English Windows (from Quietust, in bug report #2850645) {"rama", "", { @@ -3303,18 +3305,18 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.003", 0, "48841e4b84ef1b98b48d43566fda9e13", 1636}, {"ressci.003", 0, "2a68edd064e5e4937b5e9c74b38f2082", 6870356}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // RAMA - German Windows CD (from farmboy0, in pull request 397) {"rama", "", { {"resmap.001", 0, "f68cd73308c46977a9632dfc618e1e38", 8338}, - {"ressci.001", 0, "2a68edd064e5e4937b5e9c74b38f2082", 70595521}, - {"resmap.002", 0, "891fc2f5d9e23e7d9a9454acc7aaae52", 12082}, - {"ressci.002", 0, "2a68edd064e5e4937b5e9c74b38f2082", 128508558}, - {"resmap.003", 0, "222096000bd83a1d56577114a452cccf", 1636}, - {"ressci.003", 0, "2a68edd064e5e4937b5e9c74b38f2082", 6954219}, + {"ressci.001", 0, "2a68edd064e5e4937b5e9c74b38f2082", 70595521}, + {"resmap.002", 0, "891fc2f5d9e23e7d9a9454acc7aaae52", 12082}, + {"ressci.002", 0, "2a68edd064e5e4937b5e9c74b38f2082", 128508558}, + {"resmap.003", 0, "222096000bd83a1d56577114a452cccf", 1636}, + {"ressci.003", 0, "2a68edd064e5e4937b5e9c74b38f2082", 6954219}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // RAMA - Italian Windows CD (from glorifindel) // SCI interpreter version 3.000.000 (a guess?) @@ -3322,7 +3324,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"ressci.001", 0, "2a68edd064e5e4937b5e9c74b38f2082", 70611091}, {"resmap.001", 0, "70ba2ff04a2b7fb2c52420ba7fbd47c2", 8338}, AD_LISTEND}, - Common::IT_ITA, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::IT_ITA, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #endif // ENABLE_SCI3_GAMES // Shivers - English Windows (from jvprat) @@ -3331,14 +3333,14 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.000", 0, "f2ead37749ed8f6535a2445a7d05a0cc", 46525}, {"ressci.000", 0, "4294c6d7510935f2e0a52e302073c951", 262654836}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Shivers - German Windows (from Tobis87) {"shivers", "", { {"resmap.000", 0, "f483d0a1f78334c18052e92785c3086e", 46537}, {"ressci.000", 0, "6751b144671e2deed919eb9d284b07eb", 262390692}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Shivers - English Windows Demo // Executable scanning reports "2.100.002" @@ -3346,7 +3348,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.000", 0, "d9e0bc5eddefcbe47f528760085d8927", 1186}, {"ressci.000", 0, "3a93c6340b54e07e65d0e5583354d186", 10505469}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_DEMO | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_DEMO | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Shivers 2 doesn't contain SCI scripts. The whole game logic has // been reimplemented from SCI in native code placed in DLL files. @@ -3364,7 +3366,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.000", 0, "d8659188b84beaef076bd869837cd530", 634}, {"ressci.000", 0, "7fbac0807a044c9543e8ac376d200e59", 4925003}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_DEMO | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_DEMO | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Shivers 2 - English Windows (from abevi) // VERSION.TXT Version 1.0 (3/25/97) @@ -3372,7 +3374,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"ressci.001", 0, "a79d03d6eb75be0a79324f14e3d2ace4", 95346793}, {"resmap.001", 0, "a4804d436d90c4ec2e46b537f5e954db", 6268}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #endif @@ -3385,7 +3387,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.msg", 0, "1aeafe2b495de288d002109650b66614", 1364}, {"resource.000", 0, "8e10d4f05c1fd9f883384fa38a898489", 377394}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Slater & Charlie Go Camping - English DOS/Windows {"slater", "", { @@ -3393,7 +3395,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "21f85414124dc23e54544a5536dc35cd", 4044}, {"resource.msg", 0, "c44f51fb955eae266fecf360ebcd5ad2", 1132}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Slater & Charlie Go Camping - English DOS/Windows (Sierra Originals) @@ -3402,14 +3404,14 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "21f85414124dc23e54544a5536dc35cd", 4044}, {"resource.msg", 0, "c44f51fb955eae266fecf360ebcd5ad2", 1132}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Slater & Charlie Go Camping - English Macintosh {"slater", "", { {"Data1", 0, "7243b4390e5f0182d8133fbcae4b50c5", 2298853}, {"Data2", 0, "6b6f18f9b502dc0923eeae0ef47f02d5", 2276956}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformMacintosh, ADGF_MACRESFORK, GUIO1(GUIO_NONE) }, + Common::EN_ANY, Common::kPlatformMacintosh, ADGF_MACRESFORK, GUIO1(GUIO_NONE) }, // Space Quest 1 VGA Remake - English Amiga (from www.back2roots.org) // SCI interpreter version 1.000.510 (just a guess) @@ -3422,7 +3424,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.004", 0, "b25a1539c71701f7715f738c5037e9a6", 775515}, {"resource.005", 0, "640ffe1a9acde392cc33cc1b1a528328", 806324}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 1 VGA Remake - English DOS (from the Space Quest Collection) // Executable scanning reports "T.A00.081", VERSION file reports "2.000" @@ -3435,7 +3437,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "c47600e50c6fc591957ae0c5020ee7b8", 1213262}, {"resource.004", 0, "e19ea4ad131472f9238590f2e1d40289", 1203051}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 1 VGA Remake - English Mac (from Fingolfin) {"sq1sci", "SCI", { @@ -3446,7 +3448,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "ae46e195e66df5a131917f0aa80b5669", 1242794}, {"resource.004", 0, "91d58a9eb2187c38424990afe4c12bc6", 1250949}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformMacintosh, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformMacintosh, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 1 VGA Remake - English Non-Interactive Demo (from FRG) // SCI interpreter version 1.000.181 @@ -3454,7 +3456,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "5af709ac5e0e923e0b8174f49978c30e", 636}, {"resource.001", 0, "fd99ea43f57576ded7c86036996346cf", 507642}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 1 VGA Remake - Spanish DOS Floppy (from jvprat) // Executable scanning reports "T.A00.081", VERSION file reports "2.000" @@ -3468,7 +3470,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.004", 0, "9b78228ad4f9f335fedf74f1812dcfca", 513325}, {"resource.005", 0, "7d4ebcb745c0bf8fc42e4013f52ecd49", 1101812}, AD_LISTEND}, - Common::ES_ESP, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::ES_ESP, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest I 2.0 EGA DOS (6 x 3.5" disks) // Provided by ssburnout in bug report #3046805 @@ -3481,7 +3483,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.004", 0, "975c6e81194ae6b65e960a248129ecaa", 684119}, {"resource.005", 0, "13d96f7905637552c0647175ff816145", 695589}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 3 - English Amiga (from www.back2roots.org) // SCI interpreter version 0.000.453 (just a guess) @@ -3492,7 +3494,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.003", 0, "ceeda7202b96e5c85ecaa88a40a540fc", 746496}, {"resource.004", 0, "ceeda7202b96e5c85ecaa88a40a540fc", 761984}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 3 - German Amiga (also includes english language) // Executable scanning reports "1.004.006" @@ -3513,7 +3515,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "ec66ac2b1ce58b2575ba00b65058de1a", 612}, {"resource.001", 0, "ceeda7202b96e5c85ecaa88a40a540fc", 180245}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 3 - English DOS (provided by richiefs in bug report #2670691) // SCI interpreter version 0.000.453 @@ -3523,7 +3525,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "ceeda7202b96e5c85ecaa88a40a540fc", 720244}, {"resource.003", 0, "ceeda7202b96e5c85ecaa88a40a540fc", 688367}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 3 - English DOS (from the Space Quest Collection) // Executable scanning reports "0.000.685", VERSION file reports "1.018" @@ -3533,7 +3535,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "8b55c4875298f45ea5696a5ee8f6a7fe", 715777}, {"resource.003", 0, "8b55c4875298f45ea5696a5ee8f6a7fe", 703370}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 3 - English DOS (from abevi, bug report #2612718) {"sq3", "", { @@ -3545,7 +3547,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.005", 0, "ceeda7202b96e5c85ecaa88a40a540fc", 328278}, {"resource.006", 0, "ceeda7202b96e5c85ecaa88a40a540fc", 356702}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 3 - English Mac (from Fingolfin) {"sq3", "", { @@ -3554,7 +3556,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "0d8dfe42683b46f3131823233a91ce6a", 794072}, {"resource.003", 0, "0d8dfe42683b46f3131823233a91ce6a", 776536}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformMacintosh, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformMacintosh, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 3 - German DOS (from Tobis87, also includes english language) // SCI interpreter version 0.000.453 (?) @@ -3568,7 +3570,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.006", 0, "9107c2aa5398e28b5c5406df13491f85", 320643}, {"resource.007", 0, "9107c2aa5398e28b5c5406df13491f85", 344287}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 3 v1.052 - German DOS (supplied by markcoolio in bug report #2723860, also includes english language) // Executable scanning reports "S.old.114" @@ -3578,7 +3580,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "9107c2aa5398e28b5c5406df13491f85", 596768}, {"resource.003", 0, "9107c2aa5398e28b5c5406df13491f85", 693573}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 4 - English Amiga // Executable scanning reports "1.004.024" @@ -3593,7 +3595,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.005", 0, "3540d1cc84d674cf4b2c898b88a3b563", 790296}, {"resource.006", 0, "ade814bc4d56244c156d9e9bcfebbc11", 664085}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 4 - German Amiga (from www.back2roots.org, also includes english language) // SCI interpreter version 1.000.200 (just a guess) @@ -3607,7 +3609,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.005", 0, "10ee1709e6559c724676d058199b75b5", 818745}, {"resource.006", 0, "67fb188b191d88efe8414af6ea297b93", 672675}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformAmiga, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformAmiga, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 4 - English DOS - THIS VERSION IS PIRATED/CRACKED AND REPACKAGED =DO NOT RE-ADD= // Executable scanning reports "1.000.753" @@ -3616,7 +3618,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "a18088c8aceb06025dbc945f29e02935", 5124}, {"resource.000", 0, "e1f46832cd2458796028e054a0466031", 5502009}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_PIRATED, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_PIRATED, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 4 - English DOS // Executable scanning reports "1.000.753" @@ -3625,7 +3627,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "71ccf4f82ac4efb588731acfb7bf2603", 5646}, {"resource.000", 0, "e1f46832cd2458796028e054a0466031", 933928}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 4 1.052 - English DOS Floppy (supplied by markcoolio in bug report #2723865) // Executable scanning reports "1.000.753" @@ -3639,7 +3641,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.004", 0, "ff9c87da3bc53473fdee8b9d3edbc93c", 1200631}, {"resource.005", 0, "e33019ac19f755ae33fbf49b4fc9066c", 1053294}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 4 1.000 - French DOS Floppy (supplied by misterhands in bug report #3515247) {"sq4", "", { @@ -3652,7 +3654,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.004", 0, "b2cca3afcf2e013b8ce86b64155af766", 1254353}, {"resource.005", 0, "9e520577e035547c4b5149a6d12ef85b", 1098814}, AD_LISTEND}, - Common::FR_FRA, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::FR_FRA, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 4 1.000 - English DOS Floppy (from abevi, bug report #2612718) {"sq4", "", { @@ -3664,7 +3666,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.004", 0, "c06350184a490c10eb4585fff0aa3192", 1254368}, {"resource.005", 0, "b8d6efbd3235329bfe844c794097b2c9", 1098717}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest IV DOS 1.060 EGA (6 x 3.5" disks) // Supplied by ssburnout in bug report #3046781 @@ -3677,7 +3679,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.004", 0, "9a673e33c3f6dd560b993ffed77eeb49", 534994}, {"resource.005", 0, "3c4841d0a3ebba4404af588c93620c22", 595465}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 4 - German DOS (from Tobis87, also includes english language) // SCI interpreter version 1.000.200 (just a guess) @@ -3691,7 +3693,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.005", 0, "47ee647b5b12232d27e63cc627c25899", 1156765}, {"resource.006", 0, "dfb023e4e2a1e7a00fa18f9ede72a91b", 924059}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 4 - Italian DOS Floppy (from glorifindel, also includes english language) // SCI interpreter version 1.000.200 (just a guess) @@ -3704,7 +3706,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.004", 0, "4277c61bed40a50dadc4b5a344520af2", 1251000}, {"resource.005", 0, "5f885abd335978e2fd4e5f886d7676c8", 1102880}, AD_LISTEND}, - Common::IT_ITA, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::IT_ITA, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 4 - Japanese PC-98 5.25" Floppy (also includes english language) // SCI interpreter version 1.000.1068 @@ -3714,7 +3716,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.001", 0, "454684e3a7a68cbca073945e50778447", 1187088}, {"resource.002", 0, "6dc668326cc22cb9e8bd8ca9e68d2a66", 1181249}, AD_LISTEND}, - Common::JA_JPN, Common::kPlatformPC98, ADGF_ADDENGLISH, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::JA_JPN, Common::kPlatformPC98, ADGF_ADDENGLISH, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 4 - Japanese PC-98 5.25" Floppy (also includes english language) // SCI interpreter version 1.000.1068 @@ -3724,7 +3726,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.001", 0, "454684e3a7a68cbca073945e50778447", 1187088}, {"resource.002", 0, "6dc668326cc22cb9e8bd8ca9e68d2a66", 1181249}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformPC98, ADGF_ADDENGLISH, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformPC98, ADGF_ADDENGLISH, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 4 - English DOS CD (from the Space Quest Collection) // Executable scanning reports "1.001.064", VERSION file reports "1.0" @@ -3732,7 +3734,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "ed90a8e3ccc53af6633ff6ab58392bae", 7054}, {"resource.000", 0, "63247e3901ab8963d4eece73747832e0", 5157378}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_CD, GUIO4(GAMEOPTION_SQ4_SILVER_CURSORS, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_CD, GUIO4(GAMEOPTION_SQ4_SILVER_CURSORS, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 4 - English Windows CD (from the Space Quest Collection) // Executable scanning reports "1.001.064", VERSION file reports "1.0" @@ -3742,7 +3744,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "ed90a8e3ccc53af6633ff6ab58392bae", 7054}, {"resource.000", 0, "63247e3901ab8963d4eece73747832e0", 5157378}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_CD, GUIO5(GUIO_MIDIGM, GAMEOPTION_SQ4_SILVER_CURSORS, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_CD, GUIO5(GUIO_MIDIGM, GAMEOPTION_SQ4_SILVER_CURSORS, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 4 - English DOS CD patch 1.2 (unofficial - NRS) - THIS VERSION IS PIRATED/CRACKED AND REPACKAGED =DO NOT RE-ADD= // In essence, this "patch" includes a mixture the CD and floppy versions (the whole game), without the speech file @@ -3750,7 +3752,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "38287a646458a1dabded55d094407793", 7139}, {"resource.000", 0, "231fd8421e1f211e1bcf9d7b8b6408e7", 9525849}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_PIRATED, GUIO4(GAMEOPTION_SQ4_SILVER_CURSORS, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_PIRATED, GUIO4(GAMEOPTION_SQ4_SILVER_CURSORS, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 4 - Spanish DOS CD (from jvprat, is still text only, not talkie, also includes english language) // Executable scanning reports "1.SQ4.057", VERSION file reports "1.000" @@ -3764,7 +3766,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.004", 0, "776fba81c110d1908776232cbe190e20", 1253752}, {"resource.005", 0, "55fae26c2a92f16ef72c1e216e827c0f", 1098328}, AD_LISTEND}, - Common::ES_ESP, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GAMEOPTION_SQ4_SILVER_CURSORS, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::ES_ESP, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GAMEOPTION_SQ4_SILVER_CURSORS, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 4 - Spanish DOS Floppy (from jvprat, also includes english language) // Executable scanning reports "1.SQ4.056", VERSION file reports "1.000" @@ -3776,7 +3778,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.002", 0, "74c62fa2146ff3b3b2ea2b3fb95b9af9", 1140801}, {"resource.003", 0, "42a307941edeb1a3be31daeb2e4be90b", 1088408}, AD_LISTEND}, - Common::ES_ESP, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::ES_ESP, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 4 1.000 - German DOS Floppy (supplied by markcoolio in bug report #2723862, also includes english language) // Executable scanning reports "1.SQ4.030" @@ -3790,7 +3792,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.004", 0, "c06350184a490c10eb4585fff0aa3192", 1254368}, {"resource.005", 0, "b8d6efbd3235329bfe844c794097b2c9", 1098717}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 4 - English Macintosh // Executable scanning reports "x.yyy.zzz" @@ -3805,7 +3807,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.005", 0, "869d16cab6641c80b06f4dcee18f86bc", 1426228}, {"resource.006", 0, "91d23407bc0447a3722fbeb952d7edee", 1402451}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformMacintosh, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformMacintosh, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 4 - Russian DOS // Executable scanning reports "1.000.753", VERSION file reports "1.994" @@ -3818,7 +3820,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.004", 0, "2763fe4f0cb74df716ec8b0c464b0988", 1217428}, {"resource.005", 0, "d608713197c5ba1cd8c6ed46299c3069", 1057924}, AD_LISTEND}, - Common::RU_RUS, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::RU_RUS, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 5 - English DOS (from the Space Quest Collection) // Executable scanning reports "1.001.068", VERSION file reports "1.04" @@ -3827,7 +3829,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "4147edc5045e6d62998018b5614c58ec", 5496486}, {"resource.msg", 0, "bb8ad78793c26bdb3f77498b1d6515a9", 125988}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 5 - English DOS - THIS IS THE UNOFFICIAL BETA VERSION, WHICH IS OBVIOUSLY PIRATED AND CONTAINS MANY BUGS // refer to http://www.akril15.com/sr/sq5alt/sq5alt.html =DO NOT RE-ADD= @@ -3836,7 +3838,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "8bde0a9adb9a3e9aaa861826874c9834", 6473}, {"resource.000", 0, "f4a48705764544d7cc64a7bb22a610df", 6025184}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_PIRATED, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_PIRATED, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 5 v1.04 - German DOS (from Tobis87, updated information by markcool from bug reports #2723935 and #2724762) // SCI interpreter version 1.001.068 @@ -3845,7 +3847,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "4147edc5045e6d62998018b5614c58ec", 5496486}, {"resource.msg", 0, "7c71cfc36153cfe07b450423a51f7e68", 146282}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 5 v1.04 - French DOS (from Hkz, Included in Space Quest Collector's Edition, with chapters I-V) {"sq5", "", { @@ -3853,7 +3855,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "4147edc5045e6d62998018b5614c58ec", 5496486}, {"resource.msg", 0, "877c42380320eb1db7dad83ccd261214", 140374}, AD_LISTEND}, - Common::FR_FRA, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::FR_FRA, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 5 - Italian DOS Floppy (from glorifindel) // SCI interpreter version 1.001.068 (just a guess) @@ -3861,7 +3863,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "5040026519f37199f3616fb1d4704dff", 6047170}, {"resource.map", 0, "5b09168baa2f6e2e22787429b2d72f54", 6492}, AD_LISTEND}, - Common::IT_ITA, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::IT_ITA, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 5 - Spanish DOS Floppy (from mirir, bug report #3090664) {"sq5", "", { @@ -3869,7 +3871,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "5714a899033bdebf2d61ad333c8c6637", 6492}, {"resource.msg", 0, "46deca7ef9cf057f7d442df98c1a2ae2", 134612}, AD_LISTEND}, - Common::ES_ESP, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::ES_ESP, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 5 - Russian DOS // Executable scanning reports "1.001.068", VERSION file reports "1.994" @@ -3878,7 +3880,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.000", 0, "6f9ed21e1001526b4137f6703ed476af", 6103778}, {"resource.msg", 0, "0a8931990cd2eac1691602391c68ab85", 147580}, AD_LISTEND}, - Common::RU_RUS, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::RU_RUS, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #ifdef ENABLE_SCI32 // Space Quest 6 - English DOS/Win3.11 CD (from the Space Quest Collection) @@ -3887,7 +3889,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "6dddfa3a8f3a3a513ec9dfdfae955005", 10528}, {"resource.000", 0, "c4259ab7355aead07773397b1052827d", 41150806}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_CD | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_CD | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 6 - English DOS/Win3.11 CD ver 1.11 (from FRG) // SCI interpreter version 2.100.002 (just a guess) @@ -3895,7 +3897,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "e0615d6e4e10e37ae42e6a2a95aaf145", 10528}, {"resource.000", 0, "c4259ab7355aead07773397b1052827d", 41150806}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_CD | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_CD | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 6 - French DOS/Win3.11 CD (from French magazine Joystick - September 1997) // Executable scanning reports "2.100.002", VERSION file reports "1.0" @@ -3903,7 +3905,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "3c831625931d5079b73ae8c275f52c95", 10534}, {"resource.000", 0, "4195ca940f759424f62b90e262cc1737", 40932397}, AD_LISTEND}, - Common::FR_FRA, Common::kPlatformDOS, ADGF_CD | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::FR_FRA, Common::kPlatformDOS, ADGF_CD | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 6 - German DOS (from Tobis87, updated info from markcoolio in bug report #2723884) // SCI interpreter version 2.100.002 (just a guess) @@ -3911,7 +3913,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "664d797415484f85c90b1b45aedc7686", 10534}, {"resource.000", 0, "ba87ba91e5bdabb4169dd0df75777722", 40933685}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformDOS, ADGF_CD | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformDOS, ADGF_CD | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Space Quest 6 - English DOS/Win3.11 Interactive Demo (from FRG) // SCI interpreter version 2.100.002 (just a guess) @@ -3919,7 +3921,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "368f07b07433db3f819fa3fa0e5efee5", 2572}, {"resource.000", 0, "ab12724e078dea34b624e0d2a38dcd7c", 2272050}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO | ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO | ADGF_UNSTABLE, GUIO5(GUIO_NOSPEECH, GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #endif // ENABLE_SCI32 // The Island of Dr. Brain - English DOS CD (from jvprat) @@ -3928,7 +3930,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "2388efef8430b041b0f3b00b9050e4a2", 3281}, {"resource.000", 0, "b3acd9b9dd7fe53c4ee133ac9a1acfab", 2103560}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO3(GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // The Island of Dr. Brain - English DOS (from Quietust) // Executable scanning reports "1.001.053", VERSION file reports "1.1 2.3.93" @@ -3936,7 +3938,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "3c07da06bdd1689f9d07af78fb94d0ec", 3101}, {"resource.000", 0, "ecc686e0034fb4d41de077ac7167b3cf", 1947866}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // The Island of Dr. Brain - English DOS Non-Interactive Demo // SCI interpreter version 1.001.053 (just a guess) @@ -3944,7 +3946,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resource.map", 0, "a8e5ca8ed1996974afa59f4c45e06195", 986}, {"resource.000", 0, "b3acd9b9dd7fe53c4ee133ac9a1acfab", 586560}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformDOS, ADGF_DEMO, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #ifdef ENABLE_SCI32 // Torin's Passage - English Windows Interactive Demo @@ -3953,7 +3955,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.000", 0, "9a3e172cde9963d0a969f26469318cec", 3403}, {"ressci.000", 0, "db3e290481c35c3224e9602e71e4a1f1", 5073868}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_DEMO | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_DEMO | ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Torin's Passage (Multilingual) - English Windows CD // SCI interpreter version 2.100.002 @@ -3961,7 +3963,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.000", 0, "bb3b0b22ff08df54fbe2d06263409be6", 9799}, {"ressci.000", 0, "693a259d346c9360f4a0c11fdaae430a", 55973887}, AD_LISTEND}, - Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::EN_ANY, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Torin's Passage (Multilingual) - Spanish Windows CD (from jvprat) // Executable scanning reports "2.100.002", VERSION file reports "1.0" @@ -3970,7 +3972,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"ressci.000", 0, "693a259d346c9360f4a0c11fdaae430a", 55973887}, // TODO: depend on one of the patches? AD_LISTEND}, - Common::ES_ESP, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::ES_ESP, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Torin's Passage (Multilingual) - French Windows CD // SCI interpreter version 2.100.002 @@ -3978,7 +3980,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.000", 0, "bb3b0b22ff08df54fbe2d06263409be6", 9799}, {"ressci.000", 0, "693a259d346c9360f4a0c11fdaae430a", 55973887}, AD_LISTEND}, - Common::FR_FRA, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::FR_FRA, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Torin's Passage (Multilingual) - German Windows CD // SCI interpreter version 2.100.002 @@ -3986,7 +3988,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.000", 0, "bb3b0b22ff08df54fbe2d06263409be6", 9799}, {"ressci.000", 0, "693a259d346c9360f4a0c11fdaae430a", 55973887}, AD_LISTEND}, - Common::DE_DEU, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::DE_DEU, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Torin's Passage (Multilingual) - Italian Windows CD (from glorifindel) // SCI interpreter version 2.100.002 @@ -3994,7 +3996,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.000", 0, "bb3b0b22ff08df54fbe2d06263409be6", 9799}, {"ressci.000", 0, "693a259d346c9360f4a0c11fdaae430a", 55973887}, AD_LISTEND}, - Common::IT_ITA, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::IT_ITA, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, // Torin's Passage - French Windows (from LePhilousophe) // SCI interpreter version 2.100.002 @@ -4002,7 +4004,7 @@ static const struct ADGameDescription SciGameDescriptions[] = { {"resmap.000", 0, "66ed46e3e56f487e688d52f05b33d0ba", 9787}, {"ressci.000", 0, "118f9bec04bfe17c4f87bbb5ddb43c18", 56126981}, AD_LISTEND}, - Common::FR_FRA, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + Common::FR_FRA, Common::kPlatformWindows, ADGF_UNSTABLE, GUIO4(GUIO_NOASPECT, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, #endif // ENABLE_SCI32 // SCI Fanmade Games diff --git a/engines/sci/engine/kfile.cpp b/engines/sci/engine/kfile.cpp index c6635f2f27..b940eca6f5 100644 --- a/engines/sci/engine/kfile.cpp +++ b/engines/sci/engine/kfile.cpp @@ -718,7 +718,7 @@ reg_t kSave(EngineState *s, int argc, reg_t *argv) { reg_t kSaveGame(EngineState *s, int argc, reg_t *argv) { Common::String game_id; - int16 virtualId = argv[1].toSint16(); + int16 virtualId = argv[1].toSint16(); int16 savegameId = -1; Common::String game_description; Common::String version; diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp index c60b50a964..6955225fe5 100644 --- a/engines/sci/engine/savegame.cpp +++ b/engines/sci/engine/savegame.cpp @@ -465,7 +465,7 @@ void Script::syncStringHeap(Common::Serializer &s) { break; } while (1); - } else if (getSciVersion() >= SCI_VERSION_1_1 && getSciVersion() <= SCI_VERSION_2_1){ + } else if (getSciVersion() >= SCI_VERSION_1_1 && getSciVersion() <= SCI_VERSION_2_1){ // Strings in SCI1.1 come after the object instances byte *buf = _heapStart + 4 + READ_SCI11ENDIAN_UINT16(_heapStart + 2) * 2; diff --git a/engines/sci/engine/seg_manager.h b/engines/sci/engine/seg_manager.h index 074d3f6b0a..0667b75651 100644 --- a/engines/sci/engine/seg_manager.h +++ b/engines/sci/engine/seg_manager.h @@ -224,7 +224,7 @@ public: * Allocate a fresh chunk of the hunk * @param[in] size Number of bytes to allocate for the hunk entry * @param[in] hunk_type A descriptive string for the hunk entry, for - * debugging purposes + * debugging purposes * @return The offset of the freshly allocated hunk entry */ reg_t allocateHunkEntry(const char *hunk_type, int size); diff --git a/engines/sci/resource.h b/engines/sci/resource.h index 4baf39c67f..6fa51754a4 100644 --- a/engines/sci/resource.h +++ b/engines/sci/resource.h @@ -498,7 +498,7 @@ protected: void readWaveAudioPatches(); void processWavePatch(ResourceId resourceId, Common::String name); - /** + /** * Applies to all versions before 0.000.395 (i.e. KQ4 old, XMAS 1988 and LSL2). * Old SCI versions used two word header for script blocks (first word equal * to 0x82, meaning of the second one unknown). New SCI versions used one -- cgit v1.2.3 From 35617bf6015a7d32e048789c0ff7c356e40f6706 Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Sat, 23 Nov 2013 15:25:56 +0100 Subject: SCI: Fix SCI1late fade complete signal This fixes duplicate music playing in LauraBow2CD (#6462) --- engines/sci/sound/soundcmd.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp index e36c5705ab..92fbdbf604 100644 --- a/engines/sci/sound/soundcmd.cpp +++ b/engines/sci/sound/soundcmd.cpp @@ -508,9 +508,17 @@ void SoundCommandParser::processUpdateCues(reg_t obj) { // fireworks). // It is also needed in other games, e.g. LSL6 when talking to the // receptionist (bug #3192166). - // CHECKME: At least kq5cd/win and kq6 set signal to 0xFE here, but - // kq5cd/dos does not set signal at all. Needs more investigation. - writeSelectorValue(_segMan, obj, SELECTOR(signal), SIGNAL_OFFSET); + // TODO: More thorougly check the different SCI version: + // * SCI1late sets signal to 0xFE here. (With signal 0xFF + // duplicate music plays in LauraBow2CD - bug #6462) + // * Other SCI1 games seem to rely on processStopSound to set the signal + // * Need to check SCI0 behaviour. + uint16 sig; + if (_soundVersion >= SCI_VERSION_1_LATE) + sig = 0xFFFE; + else + sig = SIGNAL_OFFSET; + writeSelectorValue(_segMan, obj, SELECTOR(signal), sig); if (_soundVersion <= SCI_VERSION_0_LATE) { processStopSound(obj, false); } else { -- cgit v1.2.3 From 8cc82d0a0b290a5d7cfdd15b22304fe4e33422a2 Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Sat, 23 Nov 2013 16:11:07 +0100 Subject: SCI: Make fade signal version check more precise --- engines/sci/sound/soundcmd.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp index 92fbdbf604..aa2a309f4d 100644 --- a/engines/sci/sound/soundcmd.cpp +++ b/engines/sci/sound/soundcmd.cpp @@ -511,10 +511,12 @@ void SoundCommandParser::processUpdateCues(reg_t obj) { // TODO: More thorougly check the different SCI version: // * SCI1late sets signal to 0xFE here. (With signal 0xFF // duplicate music plays in LauraBow2CD - bug #6462) + // SCI1middle LSL1 1.000.510 does not have the 0xFE; + // SCI1late CastleDrBrain demo 1.000.005 does have the 0xFE. // * Other SCI1 games seem to rely on processStopSound to set the signal // * Need to check SCI0 behaviour. uint16 sig; - if (_soundVersion >= SCI_VERSION_1_LATE) + if (getSciVersion() >= SCI_VERSION_1_LATE) sig = 0xFFFE; else sig = SIGNAL_OFFSET; -- cgit v1.2.3 From c7a7ab178d8dd593aa482e11870f65674a783d3c Mon Sep 17 00:00:00 2001 From: urukgit Date: Sat, 23 Nov 2013 16:20:39 +0100 Subject: AVALANCHE: Make the call of displayScrollChain() a bit more consistent --- engines/avalanche/dialogs.cpp | 2 +- engines/avalanche/parser.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/avalanche/dialogs.cpp b/engines/avalanche/dialogs.cpp index 043bf30cbb..271c0b8288 100644 --- a/engines/avalanche/dialogs.cpp +++ b/engines/avalanche/dialogs.cpp @@ -952,7 +952,7 @@ void Dialogs::displayScrollChain(char block, byte point, bool report, bool bubbl */ void Dialogs::speak(byte who, byte subject) { if (subject == 0) { // No subject. - displayScrollChain('s', who, false, true); + displayScrollChain('S', who, false, true); return; } diff --git a/engines/avalanche/parser.cpp b/engines/avalanche/parser.cpp index b4c918c2dc..811e71ee1d 100644 --- a/engines/avalanche/parser.cpp +++ b/engines/avalanche/parser.cpp @@ -1022,7 +1022,7 @@ void Parser::exampers() { // He's asleep. _vm->_dialogs->displayScrollChain('Q', 65); else - _vm->_dialogs->displayScrollChain('p', newPerson); + _vm->_dialogs->displayScrollChain('P', newPerson); if ((_person == kPeopleAyles) && !_vm->_aylesIsAwake) _vm->_dialogs->displayScrollChain('Q', 13); -- cgit v1.2.3 From 55791d5fc15f00d8dfba8b67d9d3f76bac63704a Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Sat, 23 Nov 2013 10:58:01 -0500 Subject: VIDEO: Fix AVI indexes with absolute offsets --- video/avi_decoder.cpp | 51 +++++++++++++++++++++++++++++++++++++++++---------- video/avi_decoder.h | 4 +++- 2 files changed, 44 insertions(+), 11 deletions(-) diff --git a/video/avi_decoder.cpp b/video/avi_decoder.cpp index aee2d88988..3987d492da 100644 --- a/video/avi_decoder.cpp +++ b/video/avi_decoder.cpp @@ -158,16 +158,7 @@ bool AVIDecoder::parseNextChunk() { skipChunk(size); break; case ID_IDX1: - debug(0, "%d Indices", size / 16); - for (uint32 i = 0; i < size / 16; i++) { - OldIndex indexEntry; - indexEntry.id = _fileStream->readUint32BE(); - indexEntry.flags = _fileStream->readUint32LE(); - indexEntry.offset = _fileStream->readUint32LE() + _movieListStart - 4; // Adjust to absolute - indexEntry.size = _fileStream->readUint32LE(); - _indexEntries.push_back(indexEntry); - debug(0, "Index %d == Tag \'%s\', Offset = %d, Size = %d (Flags = %d)", i, tag2str(indexEntry.id), indexEntry.offset, indexEntry.size, indexEntry.flags); - } + readOldIndex(size); break; default: error("Unknown tag \'%s\' found", tag2str(tag)); @@ -621,6 +612,46 @@ byte AVIDecoder::getStreamIndex(uint32 tag) const { return strtol(string, 0, 16); } +void AVIDecoder::readOldIndex(uint32 size) { + uint32 entryCount = size / 16; + + debug(0, "Old Index: %d entries", entryCount); + + if (entryCount == 0) + return; + + // Read the first index separately + OldIndex firstEntry; + firstEntry.id = _fileStream->readUint32BE(); + firstEntry.flags = _fileStream->readUint32LE(); + firstEntry.offset = _fileStream->readUint32LE(); + firstEntry.size = _fileStream->readUint32LE(); + + // Check if the offset is already absolute + // If it's absolute, the offset will equal the start of the movie list + bool isAbsolute = firstEntry.offset == _movieListStart; + + debug(1, "Old index is %s", isAbsolute ? "absolute" : "relative"); + + if (!isAbsolute) + firstEntry.offset += _movieListStart - 4; + + for (uint32 i = 1; i < entryCount; i++) { + OldIndex indexEntry; + indexEntry.id = _fileStream->readUint32BE(); + indexEntry.flags = _fileStream->readUint32LE(); + indexEntry.offset = _fileStream->readUint32LE(); + indexEntry.size = _fileStream->readUint32LE(); + + // Adjust to absolute, if necessary + if (!isAbsolute) + indexEntry.offset += _movieListStart - 4; + + _indexEntries.push_back(indexEntry); + debug(0, "Index %d: Tag '%s', Offset = %d, Size = %d (Flags = %d)", i, tag2str(indexEntry.id), indexEntry.offset, indexEntry.size, indexEntry.flags); + } +} + AVIDecoder::AVIVideoTrack::AVIVideoTrack(int frameCount, const AVIStreamHeader &streamHeader, const BitmapInfoHeader &bitmapInfoHeader, byte *initialPalette) : _frameCount(frameCount), _vidsHeader(streamHeader), _bmInfo(bitmapInfoHeader), _initialPalette(initialPalette) { _videoCodec = createCodec(); diff --git a/video/avi_decoder.h b/video/avi_decoder.h index 3bf443a95b..9f28196177 100644 --- a/video/avi_decoder.h +++ b/video/avi_decoder.h @@ -230,9 +230,11 @@ protected: Audio::QueuingAudioStream *createAudioStream(); }; - Common::Array _indexEntries; AVIHeader _header; + void readOldIndex(uint32 size); + Common::Array _indexEntries; + Common::SeekableReadStream *_fileStream; bool _decodedHeader; bool _foundMovieList; -- cgit v1.2.3 From 74bb0a8b3c7f6e3430f4693ead42b9e9a88c5de9 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 23 Nov 2013 12:18:52 -0500 Subject: TSAGE: In progress work and bugfixes for R2R centroid handling --- engines/tsage/core.cpp | 18 ++++++++++++++++++ engines/tsage/core.h | 1 + engines/tsage/graphics.cpp | 25 ++++++++++++++----------- engines/tsage/graphics.h | 3 +++ 4 files changed, 36 insertions(+), 11 deletions(-) diff --git a/engines/tsage/core.cpp b/engines/tsage/core.cpp index 040dbc8c25..a281354f0d 100644 --- a/engines/tsage/core.cpp +++ b/engines/tsage/core.cpp @@ -2707,6 +2707,9 @@ GfxSurface SceneObject::getFrame() { _visageImages.setVisage(_visage, _strip); GfxSurface frame = _visageImages.getFrame(_frame); + // Reset any centroid adjustment flags + _visageImages.getFrameFlags(_frame) &= ~(FRAME_FLIP_CENTROID_X | FRAME_FLIP_CENTROID_Y); + // If shading is needed, post apply the shadiing onto the frame if ((g_vm->getGameID() == GType_Ringworld2) && (_shade >= 1)) { Graphics::Surface s = frame.lockSurface(); @@ -2727,6 +2730,7 @@ GfxSurface SceneObject::getFrame() { void SceneObject::reposition() { GfxSurface frame = getFrame(); + _bounds.resize(frame, _position.x, _position.y - _yDiff, _percent); _xs = _bounds.left; _xe = _bounds.right; @@ -3296,6 +3300,20 @@ GfxSurface Visage::getFrame(int frameNum) { return result; } +byte &Visage::getFrameFlags(int frameNum) { + int numFrames = READ_LE_UINT16(_data); + if (frameNum > numFrames) + frameNum = numFrames; + if (frameNum > 0) + --frameNum; + + int offset = READ_LE_UINT32(_data + 2 + frameNum * 4); + byte *frameData = _data + offset; + + return *(frameData + 9); +} + + int Visage::getFrameCount() const { return READ_LE_UINT16(_data); } diff --git a/engines/tsage/core.h b/engines/tsage/core.h index 05f6f4b3a0..62f4cf2c7e 100644 --- a/engines/tsage/core.h +++ b/engines/tsage/core.h @@ -490,6 +490,7 @@ public: void setVisage(int resNum, int rlbNum = 9999); GfxSurface getFrame(int frameNum); + byte &getFrameFlags(int frameNum); int getFrameCount() const; Visage &operator=(const Visage &gfxSurface); }; diff --git a/engines/tsage/graphics.cpp b/engines/tsage/graphics.cpp index 446c56662a..33ddb8bcec 100644 --- a/engines/tsage/graphics.cpp +++ b/engines/tsage/graphics.cpp @@ -71,19 +71,14 @@ GfxSurface surfaceFromRes(const byte *imgData) { s._transColor = *(imgData + 8); byte flags = imgData[9]; + s._flags = (g_vm->getGameID() != GType_Ringworld) ? flags : 0; + bool rleEncoded = (flags & 2) != 0; // Figure out the centroid s._centroid.x = READ_LE_UINT16(imgData + 4); s._centroid.y = READ_LE_UINT16(imgData + 6); - if (g_vm->getGameID() != GType_Ringworld) { - if (flags & 4) - s._centroid.x = r.width() - (s._centroid.x + 1); - if (flags & 8) - s._centroid.y = r.height() - (s._centroid.y + 1); - } - const byte *srcP = imgData + 10; Graphics::Surface destSurface = s.lockSurface(); byte *destP = (byte *)destSurface.getPixels(); @@ -194,8 +189,9 @@ void Rect::contain(const Rect &r) { * @percent Scaling percentage */ void Rect::resize(const GfxSurface &surface, int xp, int yp, int percent) { - int xe = surface.getBounds().width() * percent / 100; - int ye = surface.getBounds().height() * percent / 100; + const Rect &bounds = surface.getBounds(); + int xe = bounds.width() * percent / 100; + int ye = bounds.height() * percent / 100; this->set(0, 0, xe, ye); if (!right) ++right; @@ -203,8 +199,13 @@ void Rect::resize(const GfxSurface &surface, int xp, int yp, int percent) { this->moveTo(xp, yp); - int xd = surface._centroid.x * percent / 100; - int yd = surface._centroid.y * percent / 100; + int xa = (surface._flags & FRAME_FLIP_CENTROID_X) == 0 ? surface._centroid.x : + bounds.width() - (surface._centroid.x + 1); + int ya = (surface._flags & FRAME_FLIP_CENTROID_Y) == 0 ? surface._centroid.y : + bounds.height() - (surface._centroid.y + 1); + + int xd = xa * percent / 100; + int yd = ya * percent / 100; this->translate(-xd, -yd); } @@ -234,6 +235,7 @@ GfxSurface::GfxSurface() : _bounds(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT) { _customSurface = NULL; _transColor = -1; _trackDirtyRects = false; + _flags = 0; } GfxSurface::GfxSurface(const GfxSurface &s) { @@ -417,6 +419,7 @@ GfxSurface &GfxSurface::operator=(const GfxSurface &s) { _bounds = s._bounds; _centroid = s._centroid; _transColor = s._transColor; + _flags = s._flags; if (_customSurface) { // Surface owns the internal data, so replicate it so new surface owns it's own diff --git a/engines/tsage/graphics.h b/engines/tsage/graphics.h index 858731a1ac..47961dd02a 100644 --- a/engines/tsage/graphics.h +++ b/engines/tsage/graphics.h @@ -71,6 +71,8 @@ public: LineSlice(int xStart, int xEnd) { xs = xStart; xe = xEnd; } }; +enum FrameFlag { FRAME_FLIP_CENTROID_X = 4, FRAME_FLIP_CENTROID_Y = 8 }; + class GfxSurface { private: Graphics::Surface *_customSurface; @@ -89,6 +91,7 @@ public: Common::Point _centroid; int _transColor; Rect _clipRect; + byte _flags; public: GfxSurface(); GfxSurface(const GfxSurface &s); -- cgit v1.2.3 From 6d46a114d06c712873430a723436b5c0bbb304c1 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 23 Nov 2013 18:50:28 +0100 Subject: TSAGE: R2R - Remove some warnings --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 5 ++--- engines/tsage/ringworld2/ringworld2_scenes3.cpp | 3 +-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index 2d957990b9..d0fe284cc6 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -1568,7 +1568,7 @@ void Scene1200::signal() { // No break on purpose case 1203: R2_GLOBALS._player.enableControl(); - warning("_eventManager.waitEvent()"); + // CHECKME: The original is calling _eventManager.waitEvent(); _sceneMode = 2; break; case 10: @@ -1790,7 +1790,7 @@ void Scene1200::signal() { R2_GLOBALS._player.animate(ANIM_MODE_6, this); break; default: - warning("_eventManager.waitEvent()"); + // CHECKME: The original is walling _eventManager.waitEvent(); _sceneMode = 2; break; } @@ -15336,7 +15336,6 @@ void Scene1950::signal() { R2_GLOBALS._player.setVisage(22); R2_GLOBALS._player.animate(ANIM_MODE_1, NULL); - warning("%d %d", R2_GLOBALS._player._position.x, R2_GLOBALS._player._position.y); // This is a hack to work around a pathfinding issue. original destination is (218, 165) Common::Point pt(128, 165); NpcMover *mover = new NpcMover(); diff --git a/engines/tsage/ringworld2/ringworld2_scenes3.cpp b/engines/tsage/ringworld2/ringworld2_scenes3.cpp index 8bcdcd8e36..cdcc012585 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes3.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes3.cpp @@ -3199,10 +3199,9 @@ void Scene3500::Action1::signal() { scene->_shuttle._frameChange = _direction; scene->_shuttle.setFrame(scene->_shuttle.changeFrame()); } - // All the var_8 initialization was missing in the original + // CHECKME: All the var_8 initialization was missing in the original // but it's clearly a cut and paste error from case 4. // The following code allows the switch to work properly. - warning("Checkme: fix for dead code"); int var_8 = (_direction * 2 + scene->_mazeDirection); if (var_8 > 7) var_8 = 1; -- cgit v1.2.3 From 4708a1969b27e0ffd814beacf66c1de6ebb70178 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Sat, 23 Nov 2013 13:43:20 -0500 Subject: VIDEO: Fix awful thinko from 55791d5fc1 --- video/avi_decoder.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/video/avi_decoder.cpp b/video/avi_decoder.cpp index 3987d492da..eb5a71cdbe 100644 --- a/video/avi_decoder.cpp +++ b/video/avi_decoder.cpp @@ -636,6 +636,8 @@ void AVIDecoder::readOldIndex(uint32 size) { if (!isAbsolute) firstEntry.offset += _movieListStart - 4; + _indexEntries.push_back(firstEntry); + for (uint32 i = 1; i < entryCount; i++) { OldIndex indexEntry; indexEntry.id = _fileStream->readUint32BE(); -- cgit v1.2.3 From 29fae3914eff2f4db830f2cc4ade5076d6e7e04f Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sat, 23 Nov 2013 20:45:13 +0100 Subject: WINTERMUTE: Remove unused variables. --- engines/wintermute/base/base_file_manager.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/engines/wintermute/base/base_file_manager.cpp b/engines/wintermute/base/base_file_manager.cpp index ae4c891c03..3b7eabdc54 100644 --- a/engines/wintermute/base/base_file_manager.cpp +++ b/engines/wintermute/base/base_file_manager.cpp @@ -216,8 +216,6 @@ bool BaseFileManager::registerPackages() { // Avoid registering all the language files // TODO: Select based on the gameDesc. if (_language != Common::UNK_LANG && (fileIt->getParent().getName() == "language" || fileIt->getParent().getName() == "languages")) { - Common::String parentName = fileIt->getParent().getName(); - Common::String dcpName = fileIt->getName(); // English if (_language == Common::EN_ANY && (fileIt->getName() != "english.dcp" && fileIt->getName() != "xlanguage_en.dcp")) { continue; -- cgit v1.2.3 From 9a78ac265dfaf135183ac84a1fe91c8ef724d6cb Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sat, 23 Nov 2013 20:49:19 +0100 Subject: WINTERMUTE: Make BaseFileManager::registerPackages case agnostic. The old version did only work as expected when all the filenames were all lowercase. This seems to be the case for most (or even all?) WME games. However, we are better safe than sorry and make the code case agnostic. --- engines/wintermute/base/base_file_manager.cpp | 36 ++++++++++++++++++--------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/engines/wintermute/base/base_file_manager.cpp b/engines/wintermute/base/base_file_manager.cpp index 3b7eabdc54..10b340c7f5 100644 --- a/engines/wintermute/base/base_file_manager.cpp +++ b/engines/wintermute/base/base_file_manager.cpp @@ -204,44 +204,56 @@ bool BaseFileManager::registerPackages() { warning("getChildren() failed for path: %s", (*it).getDisplayName().c_str()); } for (Common::FSList::iterator fileIt = files.begin(); fileIt != files.end(); ++fileIt) { - if (!fileIt->getName().hasSuffix(".dcp")) { + // To prevent any case sensitivity issues we make the filename + // all lowercase here. This makes the code slightly prettier + // than the equivalent of using equalsIgnoreCase. + Common::String fileName = fileIt->getName(); + fileName.toLowercase(); + + if (!fileName.hasSuffix(".dcp")) { continue; } // HACK: for Reversion1, avoid loading xlanguage_pt.dcp from the main folder: if (_language != Common::PT_BRA && targetName.hasPrefix("reversion1")) { - if (fileIt->getName() == "xlanguage_pt.dcp") { + if (fileName == "xlanguage_pt.dcp") { continue; } } + + // Again, make the parent's name all lowercase to avoid any case + // issues. + Common::String parentName = fileIt->getParent().getName(); + parentName.toLowercase(); + // Avoid registering all the language files // TODO: Select based on the gameDesc. - if (_language != Common::UNK_LANG && (fileIt->getParent().getName() == "language" || fileIt->getParent().getName() == "languages")) { + if (_language != Common::UNK_LANG && (parentName == "language" || parentName == "languages")) { // English - if (_language == Common::EN_ANY && (fileIt->getName() != "english.dcp" && fileIt->getName() != "xlanguage_en.dcp")) { + if (_language == Common::EN_ANY && (fileName != "english.dcp" && fileName != "xlanguage_en.dcp")) { continue; // Chinese - } else if (_language == Common::ZH_CNA && (fileIt->getName() != "chinese.dcp" && fileIt->getName() != "xlanguage_nz.dcp")) { + } else if (_language == Common::ZH_CNA && (fileName != "chinese.dcp" && fileName != "xlanguage_nz.dcp")) { continue; // Czech - } else if (_language == Common::CZ_CZE && (fileIt->getName() != "czech.dcp" && fileIt->getName() != "xlanguage_cz.dcp")) { + } else if (_language == Common::CZ_CZE && (fileName != "czech.dcp" && fileName != "xlanguage_cz.dcp")) { continue; // French - } else if (_language == Common::FR_FRA && (fileIt->getName() != "french.dcp" && fileIt->getName() != "xlanguage_fr.dcp")) { + } else if (_language == Common::FR_FRA && (fileName != "french.dcp" && fileName != "xlanguage_fr.dcp")) { continue; // German - } else if (_language == Common::DE_DEU && (fileIt->getName() != "german.dcp" && fileIt->getName() != "xlanguage_de.dcp")) { + } else if (_language == Common::DE_DEU && (fileName != "german.dcp" && fileName != "xlanguage_de.dcp")) { continue; // Italian - } else if (_language == Common::IT_ITA && (fileIt->getName() != "italian.dcp" && fileIt->getName() != "xlanguage_it.dcp")) { + } else if (_language == Common::IT_ITA && (fileName != "italian.dcp" && fileName != "xlanguage_it.dcp")) { continue; // Polish - } else if (_language == Common::PL_POL && (fileIt->getName() != "polish.dcp" && fileIt->getName() != "xlanguage_po.dcp")) { + } else if (_language == Common::PL_POL && (fileName != "polish.dcp" && fileName != "xlanguage_po.dcp")) { continue; // Portuguese - } else if (_language == Common::PT_BRA && (fileIt->getName() != "portuguese.dcp" && fileIt->getName() != "xlanguage_pt.dcp")) { + } else if (_language == Common::PT_BRA && (fileName != "portuguese.dcp" && fileName != "xlanguage_pt.dcp")) { continue; // Russian - } else if (_language == Common::RU_RUS && (fileIt->getName() != "russian.dcp" && fileIt->getName() != "xlanguage_ru.dcp")) { + } else if (_language == Common::RU_RUS && (fileName != "russian.dcp" && fileName != "xlanguage_ru.dcp")) { continue; } } -- cgit v1.2.3 From 5166fce2eb49a1f9b92471d27d7f7d03a920bc9c Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sat, 23 Nov 2013 20:56:29 +0100 Subject: WINTERMUTE: Remove another unused variable. --- engines/wintermute/base/base_file_manager.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/engines/wintermute/base/base_file_manager.cpp b/engines/wintermute/base/base_file_manager.cpp index 10b340c7f5..dbf7e24927 100644 --- a/engines/wintermute/base/base_file_manager.cpp +++ b/engines/wintermute/base/base_file_manager.cpp @@ -291,8 +291,6 @@ Common::SeekableReadStream *BaseFileManager::openPkgFile(const Common::String &f Common::String upcName = filename; upcName.toUppercase(); Common::SeekableReadStream *file = nullptr; - char fileName[MAX_PATH_LENGTH]; - Common::strlcpy(fileName, upcName.c_str(), MAX_PATH_LENGTH); // correct slashes for (uint32 i = 0; i < upcName.size(); i++) { -- cgit v1.2.3 From 7409f3eb54de2959d661acd890e1a7452c0e7edc Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sat, 23 Nov 2013 20:59:01 +0100 Subject: WINTERMUTE: Slight interator usage cleanup. --- engines/wintermute/base/base_file_manager.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/engines/wintermute/base/base_file_manager.cpp b/engines/wintermute/base/base_file_manager.cpp index dbf7e24927..b97745b5ad 100644 --- a/engines/wintermute/base/base_file_manager.cpp +++ b/engines/wintermute/base/base_file_manager.cpp @@ -178,10 +178,10 @@ bool BaseFileManager::initPaths() { bool BaseFileManager::registerPackages(const Common::FSList &fslist) { for (Common::FSList::const_iterator it = fslist.begin(); it != fslist.end(); ++it) { - debugC(kWintermuteDebugFileAccess, "Adding %s", (*it).getName().c_str()); - if ((*it).getName().contains(".dcp")) { - if (registerPackage((*it))) { - addPath(PATH_PACKAGE, (*it)); + debugC(kWintermuteDebugFileAccess, "Adding %s", it->getName().c_str()); + if (it->getName().contains(".dcp")) { + if (registerPackage(*it)) { + addPath(PATH_PACKAGE, *it); } } } @@ -199,9 +199,9 @@ bool BaseFileManager::registerPackages() { // and that has to be like that to support the detection-scheme. Common::FSList files; for (Common::FSList::iterator it = _packagePaths.begin(); it != _packagePaths.end(); ++it) { - debugC(kWintermuteDebugFileAccess, "Should register folder: %s %s", (*it).getPath().c_str(), (*it).getName().c_str()); - if (!(*it).getChildren(files, Common::FSNode::kListFilesOnly)) { - warning("getChildren() failed for path: %s", (*it).getDisplayName().c_str()); + debugC(kWintermuteDebugFileAccess, "Should register folder: %s %s", it->getPath().c_str(), it->getName().c_str()); + if (!it->getChildren(files, Common::FSNode::kListFilesOnly)) { + warning("getChildren() failed for path: %s", it->getDisplayName().c_str()); } for (Common::FSList::iterator fileIt = files.begin(); fileIt != files.end(); ++fileIt) { // To prevent any case sensitivity issues we make the filename @@ -257,7 +257,7 @@ bool BaseFileManager::registerPackages() { continue; } } - debugC(kWintermuteDebugFileAccess, "Registering %s %s", (*fileIt).getPath().c_str(), (*fileIt).getName().c_str()); + debugC(kWintermuteDebugFileAccess, "Registering %s %s", fileIt->getPath().c_str(), fileIt->getName().c_str()); registerPackage((*fileIt)); } } -- cgit v1.2.3 From 67ce244567c8962d2a7f2a799966ad997f7b7881 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sat, 23 Nov 2013 20:59:29 +0100 Subject: WINTERMUTE: Use const_iterator in BaseFileManager::registerPackages. --- engines/wintermute/base/base_file_manager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/wintermute/base/base_file_manager.cpp b/engines/wintermute/base/base_file_manager.cpp index b97745b5ad..286f83defe 100644 --- a/engines/wintermute/base/base_file_manager.cpp +++ b/engines/wintermute/base/base_file_manager.cpp @@ -198,12 +198,12 @@ bool BaseFileManager::registerPackages() { // Register without using SearchMan, as otherwise the FSNode-based lookup in openPackage will fail // and that has to be like that to support the detection-scheme. Common::FSList files; - for (Common::FSList::iterator it = _packagePaths.begin(); it != _packagePaths.end(); ++it) { + for (Common::FSList::const_iterator it = _packagePaths.begin(); it != _packagePaths.end(); ++it) { debugC(kWintermuteDebugFileAccess, "Should register folder: %s %s", it->getPath().c_str(), it->getName().c_str()); if (!it->getChildren(files, Common::FSNode::kListFilesOnly)) { warning("getChildren() failed for path: %s", it->getDisplayName().c_str()); } - for (Common::FSList::iterator fileIt = files.begin(); fileIt != files.end(); ++fileIt) { + for (Common::FSList::const_iterator fileIt = files.begin(); fileIt != files.end(); ++fileIt) { // To prevent any case sensitivity issues we make the filename // all lowercase here. This makes the code slightly prettier // than the equivalent of using equalsIgnoreCase. -- cgit v1.2.3 From 1a6f9378aa32b3d2877c1ee90e212bde82ef832b Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sat, 23 Nov 2013 21:34:54 +0100 Subject: COMMON: Add underlying type names to Common::String. The value_type is analogous to std::basic_string::value_type. The unsigned_type on the other hand is an unsigned type of the value_type which allows to obtain an character without nasty sign extension. --- common/str.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/common/str.h b/common/str.h index 6b4475e1c4..2ad2626dc1 100644 --- a/common/str.h +++ b/common/str.h @@ -234,6 +234,8 @@ public: static String vformat(const char *fmt, va_list args); public: + typedef char value_type; + typedef unsigned char unsigned_type; typedef char * iterator; typedef const char * const_iterator; -- cgit v1.2.3 From b90400da44e4438c5a00773e6d2af82880dc45f4 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sat, 23 Nov 2013 21:34:54 +0100 Subject: COMMON: Add simple UTF-32 string class U32String. --- common/module.mk | 1 + common/ustr.cpp | 329 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ common/ustr.h | 155 ++++++++++++++++++++++++++ 3 files changed, 485 insertions(+) create mode 100644 common/ustr.cpp create mode 100644 common/ustr.h diff --git a/common/module.mk b/common/module.mk index 1b34d151d0..67c498df00 100644 --- a/common/module.mk +++ b/common/module.mk @@ -35,6 +35,7 @@ MODULE_OBJS := \ translation.o \ unarj.o \ unzip.o \ + ustr.o \ util.o \ winexe.o \ winexe_ne.o \ diff --git a/common/ustr.cpp b/common/ustr.cpp new file mode 100644 index 0000000000..fbc831cb56 --- /dev/null +++ b/common/ustr.cpp @@ -0,0 +1,329 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "common/ustr.h" +#include "common/memorypool.h" +#include "common/util.h" + +namespace Common { + +extern MemoryPool *g_refCountPool; + +static uint32 computeCapacity(uint32 len) { + // By default, for the capacity we use the next multiple of 32 + return ((len + 32 - 1) & ~0x1F); +} + +U32String::U32String(const value_type *str) : _size(0), _str(_storage) { + if (str == 0) { + _storage[0] = 0; + _size = 0; + } else { + uint32 len = 0; + const value_type *s = str; + while (*s++) { + ++len; + } + initWithCStr(str, len); + } +} + +U32String::U32String(const value_type *str, uint32 len) : _size(0), _str(_storage) { + initWithCStr(str, len); +} + +U32String::U32String(const value_type *beginP, const value_type *endP) : _size(0), _str(_storage) { + assert(endP >= beginP); + initWithCStr(beginP, endP - beginP); +} + +U32String::U32String(const U32String &str) + : _size(str._size) { + if (str.isStorageIntern()) { + // String in internal storage: just copy it + memcpy(_storage, str._storage, _builtinCapacity * sizeof(value_type)); + _str = _storage; + } else { + // String in external storage: use refcount mechanism + str.incRefCount(); + _extern._refCount = str._extern._refCount; + _extern._capacity = str._extern._capacity; + _str = str._str; + } + assert(_str != 0); +} + +U32String::~U32String() { + decRefCount(_extern._refCount); +} + +U32String &U32String::operator=(const U32String &str) { + if (&str == this) + return *this; + + if (str.isStorageIntern()) { + decRefCount(_extern._refCount); + _size = str._size; + _str = _storage; + memcpy(_str, str._str, (_size + 1) * sizeof(value_type)); + } else { + str.incRefCount(); + decRefCount(_extern._refCount); + + _extern._refCount = str._extern._refCount; + _extern._capacity = str._extern._capacity; + _size = str._size; + _str = str._str; + } + + return *this; +} + +U32String &U32String::operator+=(const U32String &str) { + if (&str == this) { + return operator+=(U32String(str)); + } + + int len = str._size; + if (len > 0) { + ensureCapacity(_size + len, true); + + memcpy(_str + _size, str._str, (len + 1) * sizeof(value_type)); + _size += len; + } + return *this; +} + +U32String &U32String::operator+=(value_type c) { + ensureCapacity(_size + 1, true); + + _str[_size++] = c; + _str[_size] = 0; + + return *this; +} + +bool U32String::equals(const U32String &x) const { + if (this == &x || _str == x._str) { + return true; + } + + if (x.size() != _size) { + return false; + } + + return !memcmp(_str, x._str, _size * sizeof(value_type)); +} + +bool U32String::contains(value_type x) const { + for (uint32 i = 0; i < _size; ++i) { + if (_str[i] == x) { + return true; + } + } + + return false; +} + +void U32String::deleteChar(uint32 p) { + assert(p < _size); + + makeUnique(); + while (p++ < _size) + _str[p - 1] = _str[p]; + _size--; +} + +void U32String::clear() { + decRefCount(_extern._refCount); + + _size = 0; + _str = _storage; + _storage[0] = 0; +} + +void U32String::toLowercase() { + makeUnique(); + for (uint32 i = 0; i < _size; ++i) { + if (_str[i] < 128) { + _str[i] = tolower(_str[i]); + } + } +} + +void U32String::toUppercase() { + makeUnique(); + for (uint32 i = 0; i < _size; ++i) { + if (_str[i] < 128) { + _str[i] = toupper(_str[i]); + } + } +} + +uint32 U32String::find(const U32String &str, uint32 pos) const { + if (pos >= _size) { + return npos; + } + + const value_type *strP = str.c_str(); + + for (const_iterator cur = begin() + pos; *cur; ++cur) { + uint i = 0; + while (true) { + if (!strP[i]) { + return cur - begin(); + } + + if (cur[i] != strP[i]) { + break; + } + + ++i; + } + } + + return npos; +} + +void U32String::makeUnique() { + ensureCapacity(_size, true); +} + +void U32String::ensureCapacity(uint32 new_size, bool keep_old) { + bool isShared; + uint32 curCapacity, newCapacity; + value_type *newStorage; + int *oldRefCount = _extern._refCount; + + if (isStorageIntern()) { + isShared = false; + curCapacity = _builtinCapacity; + } else { + isShared = (oldRefCount && *oldRefCount > 1); + curCapacity = _extern._capacity; + } + + // Special case: If there is enough space, and we do not share + // the storage, then there is nothing to do. + if (!isShared && new_size < curCapacity) + return; + + if (isShared && new_size < _builtinCapacity) { + // We share the storage, but there is enough internal storage: Use that. + newStorage = _storage; + newCapacity = _builtinCapacity; + } else { + // We need to allocate storage on the heap! + + // Compute a suitable new capacity limit + // If the current capacity is sufficient we use the same capacity + if (new_size < curCapacity) + newCapacity = curCapacity; + else + newCapacity = MAX(curCapacity * 2, computeCapacity(new_size+1)); + + // Allocate new storage + newStorage = new value_type[newCapacity]; + assert(newStorage); + } + + // Copy old data if needed, elsewise reset the new storage. + if (keep_old) { + assert(_size < newCapacity); + memcpy(newStorage, _str, (_size + 1) * sizeof(value_type)); + } else { + _size = 0; + newStorage[0] = 0; + } + + // Release hold on the old storage ... + decRefCount(oldRefCount); + + // ... in favor of the new storage + _str = newStorage; + + if (!isStorageIntern()) { + // Set the ref count & capacity if we use an external storage. + // It is important to do this *after* copying any old content, + // else we would override data that has not yet been copied! + _extern._refCount = 0; + _extern._capacity = newCapacity; + } +} + +void U32String::incRefCount() const { + assert(!isStorageIntern()); + if (_extern._refCount == 0) { + if (g_refCountPool == 0) { + g_refCountPool = new MemoryPool(sizeof(int)); + assert(g_refCountPool); + } + + _extern._refCount = (int *)g_refCountPool->allocChunk(); + *_extern._refCount = 2; + } else { + ++(*_extern._refCount); + } +} + +void U32String::decRefCount(int *oldRefCount) { + if (isStorageIntern()) + return; + + if (oldRefCount) { + --(*oldRefCount); + } + if (!oldRefCount || *oldRefCount <= 0) { + // The ref count reached zero, so we free the string storage + // and the ref count storage. + if (oldRefCount) { + assert(g_refCountPool); + g_refCountPool->freeChunk(oldRefCount); + } + delete[] _str; + + // Even though _str points to a freed memory block now, + // we do not change its value, because any code that calls + // decRefCount will have to do this afterwards anyway. + } +} + +void U32String::initWithCStr(const value_type *str, uint32 len) { + assert(str); + + _storage[0] = 0; + + _size = len; + + if (len >= _builtinCapacity) { + // Not enough internal storage, so allocate more + _extern._capacity = computeCapacity(len+1); + _extern._refCount = 0; + _str = new value_type[_extern._capacity]; + assert(_str != 0); + } + + // Copy the string into the storage area + memmove(_str, str, len * sizeof(value_type)); + _str[len] = 0; +} + +} // End of namespace Common diff --git a/common/ustr.h b/common/ustr.h new file mode 100644 index 0000000000..e549c5f9c4 --- /dev/null +++ b/common/ustr.h @@ -0,0 +1,155 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef COMMON_USTR_H +#define COMMON_USTR_H + +#include "common/scummsys.h" + +namespace Common { + +class U32String { +public: + static const uint32 npos = 0xFFFFFFFF; + + typedef uint32 value_type; + typedef uint32 unsigned_type; +private: + /** + * The size of the internal storage. Increasing this means less heap + * allocations are needed, at the cost of more stack memory usage, + * and of course lots of wasted memory. + */ + static const uint32 _builtinCapacity = 32; + + /** + * Length of the string. + */ + uint32 _size; + + /** + * Pointer to the actual string storage. Either points to _storage, + * or to a block allocated on the heap via malloc. + */ + value_type *_str; + + + union { + /** + * Internal string storage. + */ + value_type _storage[_builtinCapacity]; + /** + * External string storage data -- the refcounter, and the + * capacity of the string _str points to. + */ + struct { + mutable int *_refCount; + uint32 _capacity; + } _extern; + }; + + inline bool isStorageIntern() const { + return _str == _storage; + } + +public: + U32String() : _size(0), _str(_storage) { _storage[0] = 0; } + + explicit U32String(const value_type *str); + + U32String(const value_type *str, uint32 len); + + U32String(const value_type *beginP, const value_type *endP); + + U32String(const U32String &str); + + ~U32String(); + + U32String &operator=(const U32String &str); + U32String &operator+=(const U32String &str); + U32String &operator+=(value_type c); + + bool operator==(const U32String &x) const { return equals(x); } + + bool equals(const U32String &x) const; + + bool contains(value_type x) const; + + inline const value_type *c_str() const { return _str; } + inline uint32 size() const { return _size; } + + inline bool empty() const { return (_size == 0); } + + value_type operator[](int idx) const { + assert(_str && idx >= 0 && idx < (int)_size); + return _str[idx]; + } + + /** Remove the character at position p from the string. */ + void deleteChar(uint32 p); + + /** Clears the string, making it empty. */ + void clear(); + + /** Convert all characters in the string to lowercase. */ + void toLowercase(); + + /** Convert all characters in the string to uppercase. */ + void toUppercase(); + + uint32 find(const U32String &str, uint32 pos = 0) const; + + typedef value_type * iterator; + typedef const value_type * const_iterator; + + iterator begin() { + // Since the user could potentially + // change the string via the returned + // iterator we have to assure we are + // pointing to a unique storage. + makeUnique(); + + return _str; + } + + iterator end() { + return begin() + size(); + } + + const_iterator begin() const { + return _str; + } + + const_iterator end() const { + return begin() + size(); + } +private: + void makeUnique(); + void ensureCapacity(uint32 new_size, bool keep_old); + void incRefCount() const; + void decRefCount(int *oldRefCount); + void initWithCStr(const value_type *str, uint32 len); +}; + +} // End of namespace Common + +#endif -- cgit v1.2.3 From afa3f50b8a2bc47a243156c196f88ab799fe4f8f Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sat, 23 Nov 2013 21:34:54 +0100 Subject: GRAPHICS: Let Font take uint32 as character codes. This is required to support UTF-32 strings but does not make them work automatically! --- engines/groovie/font.cpp | 4 ++-- engines/groovie/font.h | 6 +++--- graphics/font.cpp | 2 +- graphics/font.h | 6 +++--- graphics/fonts/bdf.cpp | 8 ++++---- graphics/fonts/bdf.h | 6 +++--- graphics/fonts/ttf.cpp | 18 +++++++++++------- graphics/fonts/winfont.cpp | 6 +++--- graphics/fonts/winfont.h | 6 +++--- 9 files changed, 33 insertions(+), 29 deletions(-) diff --git a/engines/groovie/font.cpp b/engines/groovie/font.cpp index d29c22dd02..a55d8fad95 100644 --- a/engines/groovie/font.cpp +++ b/engines/groovie/font.cpp @@ -112,7 +112,7 @@ bool T7GFont::load(Common::SeekableReadStream &stream) { return true; } -void T7GFont::drawChar(Graphics::Surface *dst, byte chr, int x, int y, uint32 color) const { +void T7GFont::drawChar(Graphics::Surface *dst, uint32 chr, int x, int y, uint32 color) const { // We ignore the color, as the font is already colored const Glyph *glyph = getGlyph(chr); const byte *src = glyph->pixels; @@ -125,7 +125,7 @@ void T7GFont::drawChar(Graphics::Surface *dst, byte chr, int x, int y, uint32 co } } -const T7GFont::Glyph *T7GFont::getGlyph(byte chr) const { +const T7GFont::Glyph *T7GFont::getGlyph(uint32 chr) const { assert (chr < 128); byte numGlyph = _mapChar2Glyph[chr]; diff --git a/engines/groovie/font.h b/engines/groovie/font.h index 20aaa4cf23..49cf4b7b06 100644 --- a/engines/groovie/font.h +++ b/engines/groovie/font.h @@ -37,8 +37,8 @@ public: int getFontHeight() const { return _maxHeight; } int getMaxCharWidth() const { return _maxWidth; } - int getCharWidth(byte chr) const { return getGlyph(chr)->width; } - void drawChar(Graphics::Surface *dst, byte chr, int x, int y, uint32 color) const; + int getCharWidth(uint32 chr) const { return getGlyph(chr)->width; } + void drawChar(Graphics::Surface *dst, uint32 chr, int x, int y, uint32 color) const; private: int _maxHeight, _maxWidth; @@ -55,7 +55,7 @@ private: byte _mapChar2Glyph[128]; Glyph *_glyphs; - const Glyph *getGlyph(byte chr) const; + const Glyph *getGlyph(uint32 chr) const; }; } // End of Groovie namespace diff --git a/graphics/font.cpp b/graphics/font.cpp index a852274b06..519d63a393 100644 --- a/graphics/font.cpp +++ b/graphics/font.cpp @@ -26,7 +26,7 @@ namespace Graphics { -int Font::getKerningOffset(byte left, byte right) const { +int Font::getKerningOffset(uint32 left, uint32 right) const { return 0; } diff --git a/graphics/font.h b/graphics/font.h index 6819b42f52..62538e3e59 100644 --- a/graphics/font.h +++ b/graphics/font.h @@ -70,7 +70,7 @@ public: * @param chr The character to query the width of. * @return The character's width. */ - virtual int getCharWidth(byte chr) const = 0; + virtual int getCharWidth(uint32 chr) const = 0; /** * Query the kerning offset between two characters. @@ -79,7 +79,7 @@ public: * @param right The right character. May be 0. * @return The horizontal displacement. */ - virtual int getKerningOffset(byte left, byte right) const; + virtual int getKerningOffset(uint32 left, uint32 right) const; /** * Draw a character at a specific point on a surface. @@ -96,7 +96,7 @@ public: * @param y The y coordinate where to draw the character. * @param color The color of the character. */ - virtual void drawChar(Surface *dst, byte chr, int x, int y, uint32 color) const = 0; + virtual void drawChar(Surface *dst, uint32 chr, int x, int y, uint32 color) const = 0; // TODO: Add doxygen comments to this void drawString(Surface *dst, const Common::String &str, int x, int y, int w, uint32 color, TextAlign align = kTextAlignLeft, int deltax = 0, bool useEllipsis = true) const; diff --git a/graphics/fonts/bdf.cpp b/graphics/fonts/bdf.cpp index e523a36ad5..7b2290cc3a 100644 --- a/graphics/fonts/bdf.cpp +++ b/graphics/fonts/bdf.cpp @@ -51,7 +51,7 @@ int BdfFont::getMaxCharWidth() const { return _data.maxAdvance; } -int BdfFont::getCharWidth(byte chr) const { +int BdfFont::getCharWidth(uint32 chr) const { // In case all font have the same advance value, we use the maximum. if (!_data.advances) return _data.maxAdvance; @@ -85,9 +85,9 @@ void drawCharIntern(byte *ptr, uint pitch, const byte *src, int h, int width, in } } -int BdfFont::mapToIndex(byte ch) const { +int BdfFont::mapToIndex(uint32 ch) const { // Check whether the character is included - if (_data.firstCharacter <= ch && ch <= _data.firstCharacter + _data.numCharacters) { + if (_data.firstCharacter <= (int)ch && (int)ch <= _data.firstCharacter + _data.numCharacters) { if (_data.bitmaps[ch - _data.firstCharacter]) return ch - _data.firstCharacter; } @@ -95,7 +95,7 @@ int BdfFont::mapToIndex(byte ch) const { return _data.defaultCharacter - _data.firstCharacter; } -void BdfFont::drawChar(Surface *dst, byte chr, const int tx, const int ty, const uint32 color) const { +void BdfFont::drawChar(Surface *dst, uint32 chr, const int tx, const int ty, const uint32 color) const { assert(dst != 0); // TODO: Where is the relation between the max advance being smaller or diff --git a/graphics/fonts/bdf.h b/graphics/fonts/bdf.h index b0166a2095..842e54f851 100644 --- a/graphics/fonts/bdf.h +++ b/graphics/fonts/bdf.h @@ -61,14 +61,14 @@ public: virtual int getFontHeight() const; virtual int getMaxCharWidth() const; - virtual int getCharWidth(byte chr) const; - virtual void drawChar(Surface *dst, byte chr, int x, int y, uint32 color) const; + virtual int getCharWidth(uint32 chr) const; + virtual void drawChar(Surface *dst, uint32 chr, int x, int y, uint32 color) const; static BdfFont *loadFont(Common::SeekableReadStream &stream); static bool cacheFontData(const BdfFont &font, const Common::String &filename); static BdfFont *loadFromCache(Common::SeekableReadStream &stream); private: - int mapToIndex(byte ch) const; + int mapToIndex(uint32 ch) const; const BdfFontData _data; const DisposeAfterUse::Flag _dispose; diff --git a/graphics/fonts/ttf.cpp b/graphics/fonts/ttf.cpp index b9e9610d77..f5bd67fe86 100644 --- a/graphics/fonts/ttf.cpp +++ b/graphics/fonts/ttf.cpp @@ -107,11 +107,11 @@ public: virtual int getMaxCharWidth() const; - virtual int getCharWidth(byte chr) const; + virtual int getCharWidth(uint32 chr) const; - virtual int getKerningOffset(byte left, byte right) const; + virtual int getKerningOffset(uint32 left, uint32 right) const; - virtual void drawChar(Surface *dst, byte chr, int x, int y, uint32 color) const; + virtual void drawChar(Surface *dst, uint32 chr, int x, int y, uint32 color) const; private: bool _initialized; FT_Face _face; @@ -129,7 +129,7 @@ private: }; bool cacheGlyph(Glyph &glyph, FT_UInt &slot, uint chr); - typedef Common::HashMap GlyphCache; + typedef Common::HashMap GlyphCache; GlyphCache _glyphs; FT_UInt _glyphSlots[256]; @@ -243,7 +243,7 @@ int TTFFont::getMaxCharWidth() const { return _width; } -int TTFFont::getCharWidth(byte chr) const { +int TTFFont::getCharWidth(uint32 chr) const { GlyphCache::const_iterator glyphEntry = _glyphs.find(chr); if (glyphEntry == _glyphs.end()) return 0; @@ -251,10 +251,14 @@ int TTFFont::getCharWidth(byte chr) const { return glyphEntry->_value.advance; } -int TTFFont::getKerningOffset(byte left, byte right) const { +int TTFFont::getKerningOffset(uint32 left, uint32 right) const { if (!_hasKerning) return 0; + if (left > 255 || right > 255) { + return 0; + } + FT_UInt leftGlyph = _glyphSlots[left]; FT_UInt rightGlyph = _glyphSlots[right]; @@ -304,7 +308,7 @@ void renderGlyph(uint8 *dstPos, const int dstPitch, const uint8 *srcPos, const i } // End of anonymous namespace -void TTFFont::drawChar(Surface *dst, byte chr, int x, int y, uint32 color) const { +void TTFFont::drawChar(Surface *dst, uint32 chr, int x, int y, uint32 color) const { GlyphCache::const_iterator glyphEntry = _glyphs.find(chr); if (glyphEntry == _glyphs.end()) return; diff --git a/graphics/fonts/winfont.cpp b/graphics/fonts/winfont.cpp index 3bad92236d..c0ebab19ba 100644 --- a/graphics/fonts/winfont.cpp +++ b/graphics/fonts/winfont.cpp @@ -200,7 +200,7 @@ char WinFont::indexToCharacter(uint16 index) const { return index + _firstChar; } -uint16 WinFont::characterToIndex(byte character) const { +uint16 WinFont::characterToIndex(uint32 character) const { // Go to the default character if we didn't find a mapping if (character < _firstChar || character > _lastChar) character = _defaultChar; @@ -208,7 +208,7 @@ uint16 WinFont::characterToIndex(byte character) const { return character - _firstChar; } -int WinFont::getCharWidth(byte chr) const { +int WinFont::getCharWidth(uint32 chr) const { return _glyphs[characterToIndex(chr)].charWidth; } @@ -324,7 +324,7 @@ bool WinFont::loadFromFNT(Common::SeekableReadStream &stream) { return true; } -void WinFont::drawChar(Surface *dst, byte chr, int x, int y, uint32 color) const { +void WinFont::drawChar(Surface *dst, uint32 chr, int x, int y, uint32 color) const { assert(dst); assert(dst->format.bytesPerPixel == 1 || dst->format.bytesPerPixel == 2 || dst->format.bytesPerPixel == 4); assert(_glyphs); diff --git a/graphics/fonts/winfont.h b/graphics/fonts/winfont.h index 4382d7ed6b..2c7ba07b41 100644 --- a/graphics/fonts/winfont.h +++ b/graphics/fonts/winfont.h @@ -62,8 +62,8 @@ public: // Font API int getFontHeight() const { return _pixHeight; } int getMaxCharWidth() const { return _maxWidth; } - int getCharWidth(byte chr) const; - void drawChar(Surface *dst, byte chr, int x, int y, uint32 color) const; + int getCharWidth(uint32 chr) const; + void drawChar(Surface *dst, uint32 chr, int x, int y, uint32 color) const; private: bool loadFromPE(const Common::String &fileName, const WinFontDirEntry &dirEntry); @@ -72,7 +72,7 @@ private: uint32 getFontIndex(Common::SeekableReadStream &stream, const WinFontDirEntry &dirEntry); bool loadFromFNT(Common::SeekableReadStream &stream); char indexToCharacter(uint16 index) const; - uint16 characterToIndex(byte character) const; + uint16 characterToIndex(uint32 character) const; uint16 _pixHeight; uint16 _maxWidth; -- cgit v1.2.3 From 13d470dc61049f231a5ed5a71ce8af111612aba2 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sat, 23 Nov 2013 21:34:54 +0100 Subject: GRAPHICS: Get rid of _glyphSlots in TTFFont. --- graphics/fonts/ttf.cpp | 39 ++++++++++++++++++++++++++------------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/graphics/fonts/ttf.cpp b/graphics/fonts/ttf.cpp index f5bd67fe86..7c48bdf99b 100644 --- a/graphics/fonts/ttf.cpp +++ b/graphics/fonts/ttf.cpp @@ -126,21 +126,20 @@ private: Surface image; int xOffset, yOffset; int advance; + FT_UInt slot; }; - bool cacheGlyph(Glyph &glyph, FT_UInt &slot, uint chr); + bool cacheGlyph(Glyph &glyph, uint chr); typedef Common::HashMap GlyphCache; GlyphCache _glyphs; - FT_UInt _glyphSlots[256]; - bool _monochrome; bool _hasKerning; }; TTFFont::TTFFont() : _initialized(false), _face(), _ttfFile(0), _size(0), _width(0), _height(0), _ascent(0), - _descent(0), _glyphs(), _glyphSlots(), _monochrome(false), _hasKerning(false) { + _descent(0), _glyphs(), _monochrome(false), _hasKerning(false) { } TTFFont::~TTFFont() { @@ -214,8 +213,9 @@ bool TTFFont::load(Common::SeekableReadStream &stream, int size, uint dpi, bool if (!mapping) { // Load all ISO-8859-1 characters. for (uint i = 0; i < 256; ++i) { - if (!cacheGlyph(_glyphs[i], _glyphSlots[i], i)) - _glyphSlots[i] = 0; + if (!cacheGlyph(_glyphs[i], i)) { + _glyphs.erase(i); + } } } else { for (uint i = 0; i < 256; ++i) { @@ -223,8 +223,8 @@ bool TTFFont::load(Common::SeekableReadStream &stream, int size, uint dpi, bool const bool isRequired = (mapping[i] & 0x80000000) != 0; // Check whether loading an important glyph fails and error out if // that is the case. - if (!cacheGlyph(_glyphs[i], _glyphSlots[i], unicode)) { - _glyphSlots[i] = 0; + if (!cacheGlyph(_glyphs[i], unicode)) { + _glyphs.erase(i); if (isRequired) return false; } @@ -255,12 +255,22 @@ int TTFFont::getKerningOffset(uint32 left, uint32 right) const { if (!_hasKerning) return 0; - if (left > 255 || right > 255) { + FT_UInt leftGlyph, rightGlyph; + GlyphCache::const_iterator glyphEntry; + + glyphEntry = _glyphs.find(left); + if (glyphEntry != _glyphs.end()) { + leftGlyph = glyphEntry->_value.slot; + } else { return 0; } - FT_UInt leftGlyph = _glyphSlots[left]; - FT_UInt rightGlyph = _glyphSlots[right]; + glyphEntry = _glyphs.find(right); + if (glyphEntry != _glyphs.end()) { + rightGlyph = glyphEntry->_value.slot; + } else { + return 0; + } if (!leftGlyph || !rightGlyph) return 0; @@ -380,11 +390,13 @@ void TTFFont::drawChar(Surface *dst, uint32 chr, int x, int y, uint32 color) con } } -bool TTFFont::cacheGlyph(Glyph &glyph, FT_UInt &slot, uint chr) { - slot = FT_Get_Char_Index(_face, chr); +bool TTFFont::cacheGlyph(Glyph &glyph, uint chr) { + FT_UInt slot = FT_Get_Char_Index(_face, chr); if (!slot) return false; + glyph.slot = slot; + // We use the light target and render mode to improve the looks of the // glyphs. It is most noticable in FreeSansBold.ttf, where otherwise the // 't' glyph looks like it is cut off on the right side. @@ -460,6 +472,7 @@ bool TTFFont::cacheGlyph(Glyph &glyph, FT_UInt &slot, uint chr) { default: warning("TTFFont::cacheGlyph: Unsupported pixel mode %d", bitmap.pixel_mode); + glyph.image.free(); return false; } -- cgit v1.2.3 From 09c634dd555c9ed102f2f583813c4b943235be47 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sat, 23 Nov 2013 21:34:54 +0100 Subject: GRAPHICS: Allow TTFFont to cache glyphs when required. This should allow TTFFont to display UTF-32 characters from fonts. --- graphics/fonts/ttf.cpp | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/graphics/fonts/ttf.cpp b/graphics/fonts/ttf.cpp index 7c48bdf99b..be3cd94efa 100644 --- a/graphics/fonts/ttf.cpp +++ b/graphics/fonts/ttf.cpp @@ -129,9 +129,11 @@ private: FT_UInt slot; }; - bool cacheGlyph(Glyph &glyph, uint chr); + bool cacheGlyph(Glyph &glyph, uint32 chr) const; typedef Common::HashMap GlyphCache; - GlyphCache _glyphs; + mutable GlyphCache _glyphs; + bool _allowLateCaching; + void assureCached(uint32 chr) const; bool _monochrome; bool _hasKerning; @@ -211,6 +213,9 @@ bool TTFFont::load(Common::SeekableReadStream &stream, int size, uint dpi, bool _height = _ascent - _descent + 1; if (!mapping) { + // Allow loading of all unicode characters. + _allowLateCaching = true; + // Load all ISO-8859-1 characters. for (uint i = 0; i < 256; ++i) { if (!cacheGlyph(_glyphs[i], i)) { @@ -218,6 +223,9 @@ bool TTFFont::load(Common::SeekableReadStream &stream, int size, uint dpi, bool } } } else { + // We have a fixed map of characters do not load more later. + _allowLateCaching = false; + for (uint i = 0; i < 256; ++i) { const uint32 unicode = mapping[i] & 0x7FFFFFFF; const bool isRequired = (mapping[i] & 0x80000000) != 0; @@ -244,6 +252,7 @@ int TTFFont::getMaxCharWidth() const { } int TTFFont::getCharWidth(uint32 chr) const { + assureCached(chr); GlyphCache::const_iterator glyphEntry = _glyphs.find(chr); if (glyphEntry == _glyphs.end()) return 0; @@ -255,6 +264,9 @@ int TTFFont::getKerningOffset(uint32 left, uint32 right) const { if (!_hasKerning) return 0; + assureCached(left); + assureCached(right); + FT_UInt leftGlyph, rightGlyph; GlyphCache::const_iterator glyphEntry; @@ -319,6 +331,7 @@ void renderGlyph(uint8 *dstPos, const int dstPitch, const uint8 *srcPos, const i } // End of anonymous namespace void TTFFont::drawChar(Surface *dst, uint32 chr, int x, int y, uint32 color) const { + assureCached(chr); GlyphCache::const_iterator glyphEntry = _glyphs.find(chr); if (glyphEntry == _glyphs.end()) return; @@ -390,7 +403,7 @@ void TTFFont::drawChar(Surface *dst, uint32 chr, int x, int y, uint32 color) con } } -bool TTFFont::cacheGlyph(Glyph &glyph, uint chr) { +bool TTFFont::cacheGlyph(Glyph &glyph, uint32 chr) const { FT_UInt slot = FT_Get_Char_Index(_face, chr); if (!slot) return false; @@ -479,6 +492,17 @@ bool TTFFont::cacheGlyph(Glyph &glyph, uint chr) { return true; } +void TTFFont::assureCached(uint32 chr) const { + if (!chr || !_allowLateCaching || _glyphs.contains(chr)) { + return; + } + + Glyph newGlyph; + if (cacheGlyph(newGlyph, chr)) { + _glyphs[chr] = newGlyph; + } +} + Font *loadTTFFont(Common::SeekableReadStream &stream, int size, uint dpi, bool monochrome, const uint32 *mapping) { TTFFont *font = new TTFFont(); -- cgit v1.2.3 From 9da09f584679553098c748f2839a617ed1774e83 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sat, 23 Nov 2013 21:34:54 +0100 Subject: GRAPHICS: Allow Font to accept U32String as strings. --- graphics/font.cpp | 215 +++++++++++++++++++++++++++++++----------------------- graphics/font.h | 4 + 2 files changed, 128 insertions(+), 91 deletions(-) diff --git a/graphics/font.cpp b/graphics/font.cpp index 519d63a393..e9f139c478 100644 --- a/graphics/font.cpp +++ b/graphics/font.cpp @@ -30,89 +30,28 @@ int Font::getKerningOffset(uint32 left, uint32 right) const { return 0; } -int Font::getStringWidth(const Common::String &str) const { +namespace { + +template +int getStringWidthImpl(const Font &font, const StringType &str) { int space = 0; - uint last = 0; + typename StringType::unsigned_type last = 0; for (uint i = 0; i < str.size(); ++i) { - const uint cur = str[i]; - space += getCharWidth(cur) + getKerningOffset(last, cur); + const typename StringType::unsigned_type cur = str[i]; + space += font.getCharWidth(cur) + font.getKerningOffset(last, cur); last = cur; } return space; } -void Font::drawString(Surface *dst, const Common::String &sOld, int x, int y, int w, uint32 color, TextAlign align, int deltax, bool useEllipsis) const { +template +void drawStringImpl(const Font &font, Surface *dst, const StringType &str, int x, int y, int w, uint32 color, TextAlign align, int deltax) { assert(dst != 0); - const int leftX = x, rightX = x + w; - uint i; - Common::String s = sOld; - int width = getStringWidth(s); - Common::String str; - - if (useEllipsis && width > w && s.hasSuffix("...")) { - // String is too wide. Check whether it ends in an ellipsis - // ("..."). If so, remove that and try again! - s.deleteLastChar(); - s.deleteLastChar(); - s.deleteLastChar(); - width = getStringWidth(s); - } - - if (useEllipsis && width > w) { - // String is too wide. So we shorten it "intelligently" by - // replacing parts of the string by an ellipsis. There are - // three possibilities for this: replace the start, the end, or - // the middle of the string. What is best really depends on the - // context; but unless we want to make this configurable, - // replacing the middle seems to be a good compromise. - - const int ellipsisWidth = getStringWidth("..."); - - // SLOW algorithm to remove enough of the middle. But it is good enough - // for now. - const int halfWidth = (w - ellipsisWidth) / 2; - int w2 = 0; - uint last = 0; - - for (i = 0; i < s.size(); ++i) { - const uint cur = s[i]; - int charWidth = getCharWidth(cur) + getKerningOffset(last, cur); - if (w2 + charWidth > halfWidth) - break; - last = cur; - w2 += charWidth; - str += cur; - } - - // At this point we know that the first 'i' chars are together 'w2' - // pixels wide. We took the first i-1, and add "..." to them. - str += "..."; - last = '.'; - // The original string is width wide. Of those we already skipped past - // w2 pixels, which means (width - w2) remain. - // The new str is (w2+ellipsisWidth) wide, so we can accommodate about - // (w - (w2+ellipsisWidth)) more pixels. - // Thus we skip ((width - w2) - (w - (w2+ellipsisWidth))) = - // (width + ellipsisWidth - w) - int skip = width + ellipsisWidth - w; - for (; i < s.size() && skip > 0; ++i) { - const uint cur = s[i]; - skip -= getCharWidth(cur) + getKerningOffset(last, cur); - last = cur; - } - - // Append the remaining chars, if any - for (; i < s.size(); ++i) { - str += s[i]; - } - - width = getStringWidth(str); - } else { - str = s; - } + const int leftX = x, rightX = x + w; + int width = font.getStringWidth(str); if (align == kTextAlignCenter) x = x + (w - width)/2; @@ -120,29 +59,29 @@ void Font::drawString(Surface *dst, const Common::String &sOld, int x, int y, in x = x + w - width; x += deltax; - uint last = 0; - for (i = 0; i < str.size(); ++i) { - const uint cur = str[i]; - x += getKerningOffset(last, cur); + typename StringType::unsigned_type last = 0; + for (typename StringType::const_iterator i = str.begin(), end = str.end(); i != end; ++i) { + const typename StringType::unsigned_type cur = *i; + x += font.getKerningOffset(last, cur); last = cur; - w = getCharWidth(cur); + w = font.getCharWidth(cur); if (x+w > rightX) break; if (x+w >= leftX) - drawChar(dst, str[i], x, y, color); + font.drawChar(dst, cur, x, y, color); x += w; } } - +template struct WordWrapper { - Common::Array &lines; + Common::Array &lines; int actualMaxLineWidth; - WordWrapper(Common::Array &l) : lines(l), actualMaxLineWidth(0) { + WordWrapper(Common::Array &l) : lines(l), actualMaxLineWidth(0) { } - void add(Common::String &line, int &w) { + void add(StringType &line, int &w) { if (actualMaxLineWidth < w) actualMaxLineWidth = w; @@ -153,10 +92,11 @@ struct WordWrapper { } }; -int Font::wordWrapText(const Common::String &str, int maxWidth, Common::Array &lines) const { - WordWrapper wrapper(lines); - Common::String line; - Common::String tmpStr; +template +int wordWrapTextImpl(const Font &font, const StringType &str, int maxWidth, Common::Array &lines) { + WordWrapper wrapper(lines); + StringType line; + StringType tmpStr; int lineWidth = 0; int tmpWidth = 0; @@ -173,10 +113,10 @@ int Font::wordWrapText(const Common::String &str, int maxWidth, Common::Array maxWidth); @@ -212,7 +152,7 @@ int Font::wordWrapText(const Common::String &str, int maxWidth, Common::Array w && s.hasSuffix("...")) { + // String is too wide. Check whether it ends in an ellipsis + // ("..."). If so, remove that and try again! + s.deleteLastChar(); + s.deleteLastChar(); + s.deleteLastChar(); + width = getStringWidth(s); + } + + if (useEllipsis && width > w) { + // String is too wide. So we shorten it "intelligently" by + // replacing parts of the string by an ellipsis. There are + // three possibilities for this: replace the start, the end, or + // the middle of the string. What is best really depends on the + // context; but unless we want to make this configurable, + // replacing the middle seems to be a good compromise. + + const int ellipsisWidth = getStringWidth("..."); + + // SLOW algorithm to remove enough of the middle. But it is good enough + // for now. + const int halfWidth = (w - ellipsisWidth) / 2; + int w2 = 0; + Common::String::unsigned_type last = 0; + uint i; + + for (i = 0; i < s.size(); ++i) { + const Common::String::unsigned_type cur = s[i]; + int charWidth = getCharWidth(cur) + getKerningOffset(last, cur); + if (w2 + charWidth > halfWidth) + break; + last = cur; + w2 += charWidth; + str += cur; + } + + // At this point we know that the first 'i' chars are together 'w2' + // pixels wide. We took the first i-1, and add "..." to them. + str += "..."; + last = '.'; + + // The original string is width wide. Of those we already skipped past + // w2 pixels, which means (width - w2) remain. + // The new str is (w2+ellipsisWidth) wide, so we can accommodate about + // (w - (w2+ellipsisWidth)) more pixels. + // Thus we skip ((width - w2) - (w - (w2+ellipsisWidth))) = + // (width + ellipsisWidth - w) + int skip = width + ellipsisWidth - w; + for (; i < s.size() && skip > 0; ++i) { + const Common::String::unsigned_type cur = s[i]; + skip -= getCharWidth(cur) + getKerningOffset(last, cur); + last = cur; + } + + // Append the remaining chars, if any + for (; i < s.size(); ++i) { + str += s[i]; + } + + width = getStringWidth(str); + } else { + str = s; + } + + drawStringImpl(*this, dst, str, x, y, w, color, align, deltax); +} + +void Font::drawString(Surface *dst, const Common::U32String &str, int x, int y, int w, uint32 color, TextAlign align) const { + drawStringImpl(*this, dst, str, x, y, w, color, align, 0); +} + +int Font::wordWrapText(const Common::String &str, int maxWidth, Common::Array &lines) const { + return wordWrapTextImpl(*this, str, maxWidth, lines); +} + +int Font::wordWrapText(const Common::U32String &str, int maxWidth, Common::Array &lines) const { + return wordWrapTextImpl(*this, str, maxWidth, lines); +} } // End of namespace Graphics diff --git a/graphics/font.h b/graphics/font.h index 62538e3e59..77b7623a85 100644 --- a/graphics/font.h +++ b/graphics/font.h @@ -23,6 +23,7 @@ #define GRAPHICS_FONT_H #include "common/str.h" +#include "common/ustr.h" namespace Common { template class Array; @@ -100,11 +101,13 @@ public: // TODO: Add doxygen comments to this void drawString(Surface *dst, const Common::String &str, int x, int y, int w, uint32 color, TextAlign align = kTextAlignLeft, int deltax = 0, bool useEllipsis = true) const; + void drawString(Surface *dst, const Common::U32String &str, int x, int y, int w, uint32 color, TextAlign align = kTextAlignLeft) const; /** * Compute and return the width the string str has when rendered using this font. */ int getStringWidth(const Common::String &str) const; + int getStringWidth(const Common::U32String &str) const; /** * Take a text (which may contain newline characters) and word wrap it so that @@ -120,6 +123,7 @@ public: * @return the maximal width of any of the lines added to lines */ int wordWrapText(const Common::String &str, int maxWidth, Common::Array &lines) const; + int wordWrapText(const Common::U32String &str, int maxWidth, Common::Array &lines) const; }; } // End of namespace Graphics -- cgit v1.2.3 From a6fff7a8054ce84c3482ff7ddc9365fab324200f Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sat, 23 Nov 2013 21:34:54 +0100 Subject: WINTERMUTE: Switch WideString to U32String. --- .../wintermute/base/font/base_font_truetype.cpp | 23 +- engines/wintermute/base/font/base_font_truetype.h | 3 +- .../base/scriptables/script_ext_string.cpp | 18 +- engines/wintermute/dctypes.h | 3 +- engines/wintermute/utils/string_util.cpp | 247 ++++++--------------- engines/wintermute/utils/string_util.h | 5 +- 6 files changed, 94 insertions(+), 205 deletions(-) diff --git a/engines/wintermute/base/font/base_font_truetype.cpp b/engines/wintermute/base/font/base_font_truetype.cpp index d6f09141c9..b879e789e3 100644 --- a/engines/wintermute/base/font/base_font_truetype.cpp +++ b/engines/wintermute/base/font/base_font_truetype.cpp @@ -121,7 +121,7 @@ int BaseFontTT::getTextWidth(const byte *text, int maxLength) { } if (maxLength >= 0 && textStr.size() > (uint32)maxLength) { - textStr = Common::String(textStr.c_str(), (uint32)maxLength); + textStr = WideString(textStr.c_str(), (uint32)maxLength); } //text = text.substr(0, MaxLength); // TODO: Remove @@ -155,19 +155,19 @@ void BaseFontTT::drawText(const byte *text, int x, int y, int width, TTextAlign return; } - WideString textStr = (const char *)text; + WideString textStr; // TODO: Why do we still insist on Widestrings everywhere? - /* if (_gameRef->_textEncoding == TEXT_UTF8) text = StringUtil::Utf8ToWide((char *)Text); - else text = StringUtil::AnsiToWide((char *)Text);*/ // HACK: J.U.L.I.A. uses CP1252, we need to fix that, // And we still don't have any UTF8-support. - if (_gameRef->_textEncoding != TEXT_UTF8) { + if (_gameRef->_textEncoding == TEXT_UTF8) { + textStr = StringUtil::utf8ToWide((const char *)text); + } else { textStr = StringUtil::ansiToWide((const char *)text); } if (maxLength >= 0 && textStr.size() > (uint32)maxLength) { - textStr = Common::String(textStr.c_str(), (uint32)maxLength); + textStr = WideString(textStr.c_str(), (uint32)maxLength); } //text = text.substr(0, MaxLength); // TODO: Remove @@ -248,7 +248,7 @@ BaseSurface *BaseFontTT::renderTextToTexture(const WideString &text, int width, //TextLineList lines; // TODO: Use WideString-conversion here. //WrapText(text, width, maxHeight, lines); - Common::Array lines; + Common::Array lines; _font->wordWrapText(text, width, lines); while (maxHeight > 0 && lines.size() * _lineHeight > maxHeight) { @@ -267,7 +267,8 @@ BaseSurface *BaseFontTT::renderTextToTexture(const WideString &text, int width, alignment = Graphics::kTextAlignRight; } - debugC(kWintermuteDebugFont, "%s %d %d %d %d", text.c_str(), RGBCOLGetR(_layers[0]->_color), RGBCOLGetG(_layers[0]->_color), RGBCOLGetB(_layers[0]->_color), RGBCOLGetA(_layers[0]->_color)); + // TODO: This debug call does not work with WideString because text.c_str() returns an uint32 array. + //debugC(kWintermuteDebugFont, "%s %d %d %d %d", text.c_str(), RGBCOLGetR(_layers[0]->_color), RGBCOLGetG(_layers[0]->_color), RGBCOLGetB(_layers[0]->_color), RGBCOLGetA(_layers[0]->_color)); // void drawString(Surface *dst, const Common::String &str, int x, int y, int w, uint32 color, TextAlign align = kTextAlignLeft, int deltax = 0, bool useEllipsis = true) const; Graphics::Surface *surface = new Graphics::Surface(); if (_deletableFont) { // We actually have a TTF @@ -276,7 +277,7 @@ BaseSurface *BaseFontTT::renderTextToTexture(const WideString &text, int width, surface->create((uint16)width, (uint16)(_lineHeight * lines.size()), Graphics::PixelFormat(2, 5, 5, 5, 1, 11, 6, 1, 0)); } uint32 useColor = 0xffffffff; - Common::Array::iterator it; + Common::Array::iterator it; int heightOffset = 0; for (it = lines.begin(); it != lines.end(); ++it) { _font->drawString(surface, *it, 0, heightOffset, width, useColor, alignment); @@ -647,9 +648,9 @@ void BaseFontTT::measureText(const WideString &text, int maxWidth, int maxHeight //TextLineList lines; if (maxWidth >= 0) { - Common::Array lines; + Common::Array lines; _font->wordWrapText(text, maxWidth, lines); - Common::Array::iterator it; + Common::Array::iterator it; textWidth = 0; for (it = lines.begin(); it != lines.end(); ++it) { textWidth = MAX(textWidth, _font->getStringWidth(*it)); diff --git a/engines/wintermute/base/font/base_font_truetype.h b/engines/wintermute/base/font/base_font_truetype.h index 7a96cdf1b7..edb41a155f 100644 --- a/engines/wintermute/base/font/base_font_truetype.h +++ b/engines/wintermute/base/font/base_font_truetype.h @@ -56,9 +56,8 @@ private: bool _marked; uint32 _lastUsed; - BaseCachedTTFontText() { + BaseCachedTTFontText() : _text() { //_text = L""; - _text = ""; _width = _maxHeight = _maxLength = -1; _align = TAL_LEFT; _surface = nullptr; diff --git a/engines/wintermute/base/scriptables/script_ext_string.cpp b/engines/wintermute/base/scriptables/script_ext_string.cpp index b6d284442d..65bec03bc1 100644 --- a/engines/wintermute/base/scriptables/script_ext_string.cpp +++ b/engines/wintermute/base/scriptables/script_ext_string.cpp @@ -298,21 +298,13 @@ bool SXString::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack uint32 start = 0; for(uint32 i = 0; i < str.size() + 1; i++) { - char ch = str.c_str()[i]; - if(ch=='\0' || delims.contains(ch)) - { - char *part = new char[i - start + 1]; - if(i != start) { - Common::strlcpy(part, str.c_str() + start, i - start + 1); - part[i - start] = '\0'; + uint32 ch = str[i]; + if (ch =='\0' || delims.contains(ch)) { + if (i != start) { + parts.push_back(WideString(str.c_str() + start, i - start + 1)); } else { - part[0] = '\0'; + parts.push_back(WideString()); } - val = new ScValue(_gameRef, part); - array->push(val); - delete[] part; - delete val; - val = nullptr; start = i + 1; } } diff --git a/engines/wintermute/dctypes.h b/engines/wintermute/dctypes.h index b40322147f..4371ee4889 100644 --- a/engines/wintermute/dctypes.h +++ b/engines/wintermute/dctypes.h @@ -31,6 +31,7 @@ #include "common/str.h" +#include "common/ustr.h" #include "common/list.h" #include "common/array.h" @@ -41,7 +42,7 @@ namespace Wintermute { //typedef std::wstring WideString; typedef Common::String AnsiString; typedef Common::String Utf8String; -typedef Common::String WideString; // NB: Not actually true I presume. +typedef Common::U32String WideString; typedef Common::List WideStringList; typedef Common::List AnsiStringList; diff --git a/engines/wintermute/utils/string_util.cpp b/engines/wintermute/utils/string_util.cpp index d5d6c7f702..702dd04c27 100644 --- a/engines/wintermute/utils/string_util.cpp +++ b/engines/wintermute/utils/string_util.cpp @@ -48,201 +48,96 @@ bool StringUtil::compareNoCase(const AnsiString &str1, const AnsiString &str2) { return (str1lc == str2lc); }*/ -Common::String StringUtil::substituteUtf8Characters(Common::String &str) { - uint strSize = str.size(); - Common::String punctuation("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"); - - if (isAscii(str)) - return str; - - for (uint32 i = 0; i < strSize; i++) { - if (!Common::isAlnum(str[i]) && str[i] != ' ' && !punctuation.contains(str[i])) { - // Replace some UTF-8 characters with (almost) equivalent ANSII ones - if ((byte)str[i] == 0xc2 && i + 1 < str.size() && (byte)str[i + 1] == 0xa9) { - // UTF-8 copyright character, substitute with 'c' - str.deleteChar(i); - str.setChar('c', i); - strSize--; - } - } - } - - return str; -} - -bool StringUtil::isAscii(const Common::String &str) { - Common::String punctuation("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"); - - for (uint32 i = 0; i < str.size(); i++) { - if (!Common::isAlnum(str[i]) && str[i] != ' ' && !punctuation.contains(str[i])) - return false; - } - - return true; -} - ////////////////////////////////////////////////////////////////////////// WideString StringUtil::utf8ToWide(const Utf8String &Utf8Str) { - // WORKAROUND: Since wide strings aren't supported yet, we make this function - // work at least with ASCII strings. This should cover all English versions. - Common::String asciiString = Utf8Str; - asciiString = substituteUtf8Characters(asciiString); - if (isAscii(asciiString)) { - // No special (UTF-8) characters found, just return the string - return asciiString; - } else { - warning("String contains special (UTF-8) characters: '%s'", Utf8Str.c_str()); - } - - error("StringUtil::Utf8ToWide - WideString not supported yet for UTF-8 characters"); - - /* size_t WideSize = Utf8Str.size(); - - if (sizeof(wchar_t) == 2) { - wchar_t *WideStringNative = new wchar_t[WideSize + 1]; - - const UTF8 *SourceStart = reinterpret_cast(Utf8Str.c_str()); - const UTF8 *SourceEnd = SourceStart + WideSize; + size_t wideSize = Utf8Str.size(); - UTF16 *TargetStart = reinterpret_cast(WideStringNative); - UTF16 *TargetEnd = TargetStart + WideSize + 1; + uint32 *wideStringNative = new uint32[wideSize + 1]; - ConversionResult res = ConvertUTF8toUTF16(&SourceStart, SourceEnd, &TargetStart, TargetEnd, strictConversion); - if (res != conversionOK) { - delete[] WideStringNative; - return L""; - } - *TargetStart = 0; - WideString ResultString(WideStringNative); - delete[] WideStringNative; + const UTF8 *sourceStart = reinterpret_cast(Utf8Str.c_str()); + const UTF8 *sourceEnd = sourceStart + wideSize; - return ResultString; - } else if (sizeof(wchar_t) == 4) { - wchar_t *WideStringNative = new wchar_t[WideSize + 1]; + UTF32 *targetStart = reinterpret_cast(wideStringNative); + UTF32 *targetEnd = targetStart + wideSize; - const UTF8 *SourceStart = reinterpret_cast(Utf8Str.c_str()); - const UTF8 *SourceEnd = SourceStart + WideSize; - - UTF32 *TargetStart = reinterpret_cast(WideStringNative); - UTF32 *TargetEnd = TargetStart + WideSize; - - ConversionResult res = ConvertUTF8toUTF32(&SourceStart, SourceEnd, &TargetStart, TargetEnd, strictConversion); - if (res != conversionOK) { - delete[] WideStringNative; - return L""; - } - *TargetStart = 0; - WideString ResultString(WideStringNative); - delete[] WideStringNative; - - return ResultString; - } else { - return L""; - }*/ - return ""; + ConversionResult res = ConvertUTF8toUTF32(&sourceStart, sourceEnd, &targetStart, targetEnd, strictConversion); + if (res != conversionOK) { + delete[] wideStringNative; + return WideString(); + } + *targetStart = 0; + WideString resultString(wideStringNative); + delete[] wideStringNative; + return resultString; } ////////////////////////////////////////////////////////////////////////// Utf8String StringUtil::wideToUtf8(const WideString &WideStr) { - // WORKAROUND: Since UTF-8 strings aren't supported yet, we make this function - // work at least with ASCII strings. This should cover all English versions. - Common::String asciiString = WideStr; - asciiString = substituteUtf8Characters(asciiString); - if (isAscii(asciiString)) { - // No special (UTF-8) characters found, just return the string - return asciiString; - } else { - warning("String contains special (UTF-8) characters: '%s'", WideStr.c_str()); - } + size_t wideSize = WideStr.size(); - error("StringUtil::wideToUtf8 - WideString not supported yet for UTF-8 characters"); - - /* size_t WideSize = WideStr.length(); + size_t utf8Size = 4 * wideSize + 1; + char *utf8StringNative = new char[utf8Size]; - if (sizeof(wchar_t) == 2) { - size_t utf8Size = 3 * WideSize + 1; - char *utf8StringNative = new char[Utf8Size]; + const UTF32 *sourceStart = reinterpret_cast(WideStr.c_str()); + const UTF32 *sourceEnd = sourceStart + wideSize; - const UTF16 *SourceStart = reinterpret_cast(WideStr.c_str()); - const UTF16 *SourceEnd = SourceStart + WideSize; + UTF8 *targetStart = reinterpret_cast(utf8StringNative); + UTF8 *targetEnd = targetStart + utf8Size; - UTF8 *TargetStart = reinterpret_cast(Utf8StringNative); - UTF8 *TargetEnd = TargetStart + Utf8Size; - - ConversionResult res = ConvertUTF16toUTF8(&SourceStart, SourceEnd, &TargetStart, TargetEnd, strictConversion); - if (res != conversionOK) { - delete[] Utf8StringNative; - return (Utf8String)""; - } - *TargetStart = 0; - Utf8String ResultString(Utf8StringNative); - delete[] Utf8StringNative; - return ResultString; - } else if (sizeof(wchar_t) == 4) { - size_t utf8Size = 4 * WideSize + 1; - char *utf8StringNative = new char[Utf8Size]; - - const UTF32 *SourceStart = reinterpret_cast(WideStr.c_str()); - const UTF32 *SourceEnd = SourceStart + WideSize; - - UTF8 *TargetStart = reinterpret_cast(Utf8StringNative); - UTF8 *TargetEnd = TargetStart + Utf8Size; - - ConversionResult res = ConvertUTF32toUTF8(&SourceStart, SourceEnd, &TargetStart, TargetEnd, strictConversion); - if (res != conversionOK) { - delete[] Utf8StringNative; - return (Utf8String)""; - } - *TargetStart = 0; - Utf8String ResultString(Utf8StringNative); - delete[] Utf8StringNative; - return ResultString; - } else { - return (Utf8String)""; - }*/ - return ""; + ConversionResult res = ConvertUTF32toUTF8(&sourceStart, sourceEnd, &targetStart, targetEnd, strictConversion); + if (res != conversionOK) { + delete[] utf8StringNative; + return Utf8String(); + } + *targetStart = 0; + Utf8String resultString(utf8StringNative); + delete[] utf8StringNative; + return resultString; } ////////////////////////////////////////////////////////////////////////// WideString StringUtil::ansiToWide(const AnsiString &str) { - // TODO: This function gets called a lot, so warnings like these drown out the usefull information - Common::String converted = ""; - uint32 index = 0; - while (index != str.size()) { - byte c = str[index]; - if (c == 146) { - converted += (char)39; // Replace right-quote with apostrophe - } else if (c == 133) { - converted += Common::String("..."); // Replace ...-symbol with ... + WideString result; + for (AnsiString::const_iterator i = str.begin(), end = str.end(); i != end; ++i) { + const byte c = *i; + if (c < 0x80 || c >= 0xA0) { + result += c; } else { - converted += c; + uint32 utf32 = _ansiToUTF32[c - 0x80]; + if (utf32) { + result += utf32; + } else { + // It's an invalid CP1252 character... + } } - index++; } - // using default os locale! - - /* setlocale(LC_CTYPE, ""); - size_t wideSize = mbstowcs(NULL, str.c_str(), 0) + 1; - wchar_t *wstr = new wchar_t[WideSize]; - mbstowcs(wstr, str.c_str(), WideSize); - WideString ResultString(wstr); - delete[] wstr; - return ResultString;*/ - return WideString(converted); + return result; } ////////////////////////////////////////////////////////////////////////// AnsiString StringUtil::wideToAnsi(const WideString &wstr) { - // using default os locale! - // TODO: This function gets called a lot, so warnings like these drown out the usefull information - /* setlocale(LC_CTYPE, ""); - size_t wideSize = wcstombs(NULL, wstr.c_str(), 0) + 1; - char *str = new char[WideSize]; - wcstombs(str, wstr.c_str(), WideSize); - AnsiString ResultString(str); - delete[] str; - return ResultString;*/ - return AnsiString(wstr); + AnsiString result; + for (WideString::const_iterator i = wstr.begin(), end = wstr.end(); i != end; ++i) { + const uint32 c = *i; + if (c < 0x80 || (c >= 0xA0 && c <= 0xFF)) { + result += c; + } else { + uint32 ansi = 0xFFFFFFFF; + for (uint j = 0; j < ARRAYSIZE(_ansiToUTF32); ++j) { + if (_ansiToUTF32[j] == c) { + ansi = j + 0x80; + break; + } + } + + if (ansi != 0xFFFFFFFF) { + result += ansi; + } else { + // There's no valid CP1252 code for this character... + } + } + } + return result; } ////////////////////////////////////////////////////////////////////////// @@ -256,12 +151,7 @@ bool StringUtil::isUtf8BOM(const byte *buffer, uint32 bufferSize) { ////////////////////////////////////////////////////////////////////////// int StringUtil::indexOf(const WideString &str, const WideString &toFind, size_t startFrom) { - const char *index = strstr(str.c_str(), toFind.c_str()); - if (index == nullptr) { - return -1; - } else { - return index - str.c_str(); - } + return str.find(toFind, startFrom); } Common::String StringUtil::encodeSetting(const Common::String &str) { @@ -282,5 +172,10 @@ AnsiString StringUtil::toString(int val) { return Common::String::format("%d", val); } +// Mapping of CP1252 characters 0x80...0x9F into UTF-32 +uint32 StringUtil::_ansiToUTF32[32] = { + 0x20AC, 0x0000, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, 0x02C6, 0x2030, 0x0160, 0x2039, 0x0152, 0x0000, 0x017D, 0x0000, + 0x0000, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, 0x02DC, 0x2122, 0x0161, 0x203A, 0x0153, 0x0000, 0x017E, 0x0178 +}; } // End of namespace Wintermute diff --git a/engines/wintermute/utils/string_util.h b/engines/wintermute/utils/string_util.h index 05931beb79..14c40fcb2b 100644 --- a/engines/wintermute/utils/string_util.h +++ b/engines/wintermute/utils/string_util.h @@ -37,8 +37,6 @@ class StringUtil { public: static bool compareNoCase(const AnsiString &str1, const AnsiString &str2); //static bool compareNoCase(const WideString &str1, const WideString &str2); - static bool isAscii(const Common::String &str); - static Common::String substituteUtf8Characters(Common::String &str); static WideString utf8ToWide(const Utf8String &Utf8Str); static Utf8String wideToUtf8(const WideString &WideStr); static WideString ansiToWide(const AnsiString &str); @@ -51,6 +49,9 @@ public: static Common::String decodeSetting(const Common::String &str); static AnsiString toString(int val); + +private: + static uint32 _ansiToUTF32[32]; }; } // End of namespace Wintermute -- cgit v1.2.3 From 4c15e51ab540abb4843268921bdd0d27c6e0f9bb Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sat, 23 Nov 2013 21:34:54 +0100 Subject: COMMON: Document U32String a bit better. --- common/ustr.h | 45 ++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 42 insertions(+), 3 deletions(-) diff --git a/common/ustr.h b/common/ustr.h index e549c5f9c4..ab9dac70de 100644 --- a/common/ustr.h +++ b/common/ustr.h @@ -26,6 +26,18 @@ namespace Common { +/** + * Very simple string class for UTF-32 strings in ScummVM. The main intention + * behind this class is to feature a simple way of displaying UTF-32 strings + * through the Graphics::Font API. + * + * Please note that operations like equals, deleteCharacter, toUppercase, etc. + * are only very simplified convenience operations. They might not fully work + * as you would expect for a proper UTF-32 string class. + * + * The presence of \0 characters in the string will cause undefined + * behavior in some operations. + */ class U32String { public: static const uint32 npos = 0xFFFFFFFF; @@ -72,14 +84,19 @@ private: } public: + /** Construct a new empty string. */ U32String() : _size(0), _str(_storage) { _storage[0] = 0; } + /** Construct a new string from the given NULL-terminated C string. */ explicit U32String(const value_type *str); + /** Construct a new string containing exactly len characters read from address str. */ U32String(const value_type *str, uint32 len); + /** Construct a new string containing the characters between beginP (including) and endP (excluding). */ U32String(const value_type *beginP, const value_type *endP); + /** Construct a copy of the given string. */ U32String(const U32String &str); ~U32String(); @@ -88,8 +105,16 @@ public: U32String &operator+=(const U32String &str); U32String &operator+=(value_type c); + /** + * Equivalence comparison operator. + * @see equals + */ bool operator==(const U32String &x) const { return equals(x); } + /** + * Compares whether two U32String are the same based on memory comparison. + * This does *not* do comparison based on canonical equivalence. + */ bool equals(const U32String &x) const; bool contains(value_type x) const; @@ -104,16 +129,30 @@ public: return _str[idx]; } - /** Remove the character at position p from the string. */ + /** + * Removes the value at position p from the string. + * Using this on decomposed characters will not remove the whole + * character! + */ void deleteChar(uint32 p); /** Clears the string, making it empty. */ void clear(); - /** Convert all characters in the string to lowercase. */ + /** + * Convert all characters in the string to lowercase. + * + * Be aware that this only affects the case of ASCII characters. All + * other characters will not be touched at all. + */ void toLowercase(); - /** Convert all characters in the string to uppercase. */ + /** + * Convert all characters in the string to uppercase. + * + * Be aware that this only affects the case of ASCII characters. All + * other characters will not be touched at all. + */ void toUppercase(); uint32 find(const U32String &str, uint32 pos = 0) const; -- cgit v1.2.3 From abe6d30f36cdfaef3c7ce7a5c8a48f4d4986d718 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sat, 23 Nov 2013 21:34:55 +0100 Subject: COMMON: Document Common::String::unsigned_type. --- common/str.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/common/str.h b/common/str.h index 2ad2626dc1..ea2db1d1d6 100644 --- a/common/str.h +++ b/common/str.h @@ -235,6 +235,11 @@ public: public: typedef char value_type; + /** + * Unsigned version of the underlying type. This can be used to cast + * individual string characters to bigger integer types without sign + * extension happening. + */ typedef unsigned char unsigned_type; typedef char * iterator; typedef const char * const_iterator; -- cgit v1.2.3 From d0c2493be50c3c28c57be5317061af413c699062 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 23 Nov 2013 17:09:35 -0500 Subject: TSAGE: Further fixes for object centroid handling --- engines/tsage/core.cpp | 26 ++++++++++---------------- engines/tsage/core.h | 4 ++-- 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/engines/tsage/core.cpp b/engines/tsage/core.cpp index a281354f0d..320d3ddd2c 100644 --- a/engines/tsage/core.cpp +++ b/engines/tsage/core.cpp @@ -2707,8 +2707,16 @@ GfxSurface SceneObject::getFrame() { _visageImages.setVisage(_visage, _strip); GfxSurface frame = _visageImages.getFrame(_frame); - // Reset any centroid adjustment flags - _visageImages.getFrameFlags(_frame) &= ~(FRAME_FLIP_CENTROID_X | FRAME_FLIP_CENTROID_Y); + // Reset any centroid adjustment flags, in + frame._flags &= ~(FRAME_FLIP_CENTROID_X | FRAME_FLIP_CENTROID_Y); + + // For later games, check whether the appropriate object flags are set for flipping + if (g_vm->getGameID() != GType_Ringworld) { + if ((_flags & OBJFLAG_FLIP_CENTROID_X) || _visageImages._flipHoriz) + frame._flags |= FRAME_FLIP_CENTROID_X; + if ((_flags & OBJFLAG_FLIP_CENTROID_Y) || _visageImages._flipVert) + frame._flags |= FRAME_FLIP_CENTROID_Y; + } // If shading is needed, post apply the shadiing onto the frame if ((g_vm->getGameID() == GType_Ringworld2) && (_shade >= 1)) { @@ -3300,20 +3308,6 @@ GfxSurface Visage::getFrame(int frameNum) { return result; } -byte &Visage::getFrameFlags(int frameNum) { - int numFrames = READ_LE_UINT16(_data); - if (frameNum > numFrames) - frameNum = numFrames; - if (frameNum > 0) - --frameNum; - - int offset = READ_LE_UINT32(_data + 2 + frameNum * 4); - byte *frameData = _data + offset; - - return *(frameData + 9); -} - - int Visage::getFrameCount() const { return READ_LE_UINT16(_data); } diff --git a/engines/tsage/core.h b/engines/tsage/core.h index 62f4cf2c7e..f86172f6a1 100644 --- a/engines/tsage/core.h +++ b/engines/tsage/core.h @@ -490,7 +490,6 @@ public: void setVisage(int resNum, int rlbNum = 9999); GfxSurface getFrame(int frameNum); - byte &getFrameFlags(int frameNum); int getFrameCount() const; Visage &operator=(const Visage &gfxSurface); }; @@ -516,7 +515,8 @@ public: enum ObjectFlags {OBJFLAG_FIXED_PRIORITY = 1, OBJFLAG_NO_UPDATES = 2, OBJFLAG_ZOOMED = 4, OBJFLAG_SUPPRESS_DISPATCH = 8, OBJFLAG_HIDE = 0x100, OBJFLAG_HIDING = 0x200, OBJFLAG_REMOVE = 0x400, OBJFLAG_CLONED = 0x800, OBJFLAG_CHECK_REGION = 0x1000, OBJFLAG_PANE_0 = 0x4000, OBJFLAG_PANE_1 = 0x8000, - OBJFLAG_PANES = OBJFLAG_PANE_0 | OBJFLAG_PANE_1 + OBJFLAG_PANES = OBJFLAG_PANE_0 | OBJFLAG_PANE_1, + OBJFLAG_FLIP_CENTROID_X = 0x10000, OBJFLAG_FLIP_CENTROID_Y = 0x20000 }; class SceneObject : public SceneHotspot { -- cgit v1.2.3 From 50d122ed79c38081985f43aed2494a83b2fc1676 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 23 Nov 2013 17:18:34 -0500 Subject: TSAGE: Fix for flub tube maze header comments --- engines/tsage/ringworld2/ringworld2_logic.cpp | 2 +- engines/tsage/ringworld2/ringworld2_scenes3.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp index 57d8afb57f..67bd84a247 100644 --- a/engines/tsage/ringworld2/ringworld2_logic.cpp +++ b/engines/tsage/ringworld2/ringworld2_logic.cpp @@ -290,7 +290,7 @@ Scene *Ringworld2Game::createScene(int sceneNumber) { // Confrontation return new Scene3400(); case 3500: - // Maze action sequencec + // Flub tube maze return new Scene3500(); case 3600: // Cutscene - walking at gunpoint diff --git a/engines/tsage/ringworld2/ringworld2_scenes3.cpp b/engines/tsage/ringworld2/ringworld2_scenes3.cpp index cdcc012585..167fb72956 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes3.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes3.cpp @@ -2953,7 +2953,7 @@ void Scene3400::signal() { } /*-------------------------------------------------------------------------- - * Scene 3500 - Cavern Maze + * Scene 3500 - Flub tube maze * *--------------------------------------------------------------------------*/ -- cgit v1.2.3 From 129e891a875ad2df269e2b4b18bae7e2d2e57208 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sat, 23 Nov 2013 23:49:07 +0100 Subject: GUI: Fix ListWidget::getEditRect's returned height. --- gui/widgets/list.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gui/widgets/list.cpp b/gui/widgets/list.cpp index 8ecb31311f..8b8eb31db9 100644 --- a/gui/widgets/list.cpp +++ b/gui/widgets/list.cpp @@ -541,7 +541,7 @@ void ListWidget::drawWidget() { } Common::Rect ListWidget::getEditRect() const { - Common::Rect r(_hlLeftPadding, 0, _w - _hlLeftPadding - _hlRightPadding, kLineHeight - 1); + Common::Rect r(_hlLeftPadding, 0, _w - _hlLeftPadding - _hlRightPadding, kLineHeight - 2); const int offset = (_selectedItem - _currentPos) * kLineHeight + _topPadding; r.top += offset; r.bottom += offset; -- cgit v1.2.3 From e036aa76da22bbc9cc48d012469d2bad46018ff8 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sat, 23 Nov 2013 23:49:26 +0100 Subject: GUI: Fix EditTextWidget::getEditRect's returned height. --- gui/widgets/edittext.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gui/widgets/edittext.cpp b/gui/widgets/edittext.cpp index 52527effd8..c54ca573ba 100644 --- a/gui/widgets/edittext.cpp +++ b/gui/widgets/edittext.cpp @@ -101,7 +101,7 @@ void EditTextWidget::drawWidget() { } Common::Rect EditTextWidget::getEditRect() const { - Common::Rect r(2 + _leftPadding, 2, _w - 2 - _leftPadding - _rightPadding, _h - 1); + Common::Rect r(2 + _leftPadding, 2, _w - 2 - _leftPadding - _rightPadding, _h); return r; } -- cgit v1.2.3 From aaad08c9fe25f00813ddd19458a9c98d06e723cf Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sat, 23 Nov 2013 23:50:21 +0100 Subject: GUI: Fix character redrawing behind caret in EditTextWidgets. This fixes an ugly y position change when the caret is moved to a character in an edit text widget. --- gui/widgets/editable.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gui/widgets/editable.cpp b/gui/widgets/editable.cpp index 667850d6cc..c3354e53ea 100644 --- a/gui/widgets/editable.cpp +++ b/gui/widgets/editable.cpp @@ -277,7 +277,7 @@ void EditableWidget::drawCaret(bool erase) { int chrWidth = g_gui.getCharWidth(_editString[_caretPos], _font); const uint last = (_caretPos > 0) ? _editString[_caretPos - 1] : 0; x += g_gui.getKerningOffset(last, _editString[_caretPos], _font); - g_gui.theme()->drawText(Common::Rect(x, y, x + chrWidth, y + editRect.height() - 2), chr, _state, Graphics::kTextAlignLeft, _inversion, 0, false, _font, ThemeEngine::kFontColorNormal, true, _textDrawableArea); + g_gui.theme()->drawText(Common::Rect(x, y, x + chrWidth, y + editRect.height()), chr, _state, Graphics::kTextAlignLeft, _inversion, 0, false, _font, ThemeEngine::kFontColorNormal, true, _textDrawableArea); } } -- cgit v1.2.3 From bb4a730a88f69917b02abcff943f7cdf2a9de8c7 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sat, 23 Nov 2013 23:56:54 +0100 Subject: GUI: Fix out-of-bounds check in EditableWidget::drawCaret. The line "y + editRect.height() + 2" is not included in drawing anymore. Thus it is allowed to equal EditableWidget::_h. --- gui/widgets/editable.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gui/widgets/editable.cpp b/gui/widgets/editable.cpp index c3354e53ea..112995424f 100644 --- a/gui/widgets/editable.cpp +++ b/gui/widgets/editable.cpp @@ -263,7 +263,7 @@ void EditableWidget::drawCaret(bool erase) { x += getCaretOffset(); - if (y < 0 || y + editRect.height() - 2 >= _h) + if (y < 0 || y + editRect.height() - 2 > _h) return; x += getAbsX(); -- cgit v1.2.3 From 3be846cfd7fdacf985334e05e60cd5a12aae526a Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sun, 24 Nov 2013 00:11:01 +0100 Subject: GUI: Draw caret over the whole height of the edit rect. This improves the look of the editable widgets. --- gui/widgets/editable.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gui/widgets/editable.cpp b/gui/widgets/editable.cpp index 112995424f..fca9702690 100644 --- a/gui/widgets/editable.cpp +++ b/gui/widgets/editable.cpp @@ -263,13 +263,13 @@ void EditableWidget::drawCaret(bool erase) { x += getCaretOffset(); - if (y < 0 || y + editRect.height() - 2 > _h) + if (y < 0 || y + editRect.height() > _h) return; x += getAbsX(); y += getAbsY(); - g_gui.theme()->drawCaret(Common::Rect(x, y, x + 1, y + editRect.height() - 2), erase); + g_gui.theme()->drawCaret(Common::Rect(x, y, x + 1, y + editRect.height()), erase); if (erase) { if ((uint)_caretPos < _editString.size()) { -- cgit v1.2.3 From 95f07fd405cd72822faef1a0e0bffe953a8856df Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sun, 24 Nov 2013 00:20:29 +0100 Subject: GUI: Document EditableWidget::getEditRect. --- gui/widgets/editable.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gui/widgets/editable.h b/gui/widgets/editable.h index 4a18d5e689..63a1942311 100644 --- a/gui/widgets/editable.h +++ b/gui/widgets/editable.h @@ -78,6 +78,11 @@ protected: virtual void startEditMode() = 0; virtual void endEditMode() = 0; virtual void abortEditMode() = 0; + /** + * The area where text input is being made. This should exactly match the + * rect with which the actual edit string is drawn otherwise nasty + * graphics glitches when redrawing the caret can occur. + */ virtual Common::Rect getEditRect() const = 0; virtual int getCaretOffset() const; void drawCaret(bool erase); -- cgit v1.2.3 From b487c1fc38405ca80683b0d30318d0c4bd408b67 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sun, 24 Nov 2013 00:38:47 +0100 Subject: GUI: Fix undrawing caret glitch when the edit text is inversed. This is prominently visible in the list based save/load chooser since the edit string is drawn on a special green background there. When the caret is at the end of the edit string this would result in the green color missing at the place of the (undrawn) caret. To avoid this we simply draw a fake space now. --- gui/widgets/editable.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/gui/widgets/editable.cpp b/gui/widgets/editable.cpp index fca9702690..9ce4defde4 100644 --- a/gui/widgets/editable.cpp +++ b/gui/widgets/editable.cpp @@ -272,13 +272,25 @@ void EditableWidget::drawCaret(bool erase) { g_gui.theme()->drawCaret(Common::Rect(x, y, x + 1, y + editRect.height()), erase); if (erase) { + GUI::EditableWidget::String character; + int width; + if ((uint)_caretPos < _editString.size()) { - GUI::EditableWidget::String chr(_editString[_caretPos]); - int chrWidth = g_gui.getCharWidth(_editString[_caretPos], _font); + const byte chr = _editString[_caretPos]; + width = g_gui.getCharWidth(chr, _font); + character = chr; + const uint last = (_caretPos > 0) ? _editString[_caretPos - 1] : 0; - x += g_gui.getKerningOffset(last, _editString[_caretPos], _font); - g_gui.theme()->drawText(Common::Rect(x, y, x + chrWidth, y + editRect.height()), chr, _state, Graphics::kTextAlignLeft, _inversion, 0, false, _font, ThemeEngine::kFontColorNormal, true, _textDrawableArea); + x += g_gui.getKerningOffset(last, chr, _font); + } else { + // We draw a fake space here to assure that removing the caret + // does not result in color glitches in case the edit rect is + // drawn with an inversion. + width = g_gui.getCharWidth(' ', _font); + character = " "; } + + g_gui.theme()->drawText(Common::Rect(x, y, x + width, y + editRect.height()), character, _state, Graphics::kTextAlignLeft, _inversion, 0, false, _font, ThemeEngine::kFontColorNormal, true, _textDrawableArea); } _caretVisible = !erase; -- cgit v1.2.3 From fe7f28bf6c955715f1180a0da315ec4ade38fdd0 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Sun, 24 Nov 2013 00:49:18 +0100 Subject: GUI: Do not draw text outside edit rect in EditableWidget. --- gui/widgets/editable.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gui/widgets/editable.cpp b/gui/widgets/editable.cpp index 9ce4defde4..6f550b5642 100644 --- a/gui/widgets/editable.cpp +++ b/gui/widgets/editable.cpp @@ -261,7 +261,8 @@ void EditableWidget::drawCaret(bool erase) { int x = editRect.left; int y = editRect.top; - x += getCaretOffset(); + const int caretOffset = getCaretOffset(); + x += caretOffset; if (y < 0 || y + editRect.height() > _h) return; @@ -290,7 +291,16 @@ void EditableWidget::drawCaret(bool erase) { character = " "; } - g_gui.theme()->drawText(Common::Rect(x, y, x + width, y + editRect.height()), character, _state, Graphics::kTextAlignLeft, _inversion, 0, false, _font, ThemeEngine::kFontColorNormal, true, _textDrawableArea); + // TODO: Right now we manually prevent text from being drawn outside + // the edit area here. We might want to consider to use + // setTextDrawableArea for this. However, it seems that only + // EditTextWidget uses that but not ListWidget. Thus, one should check + // whether we can unify the drawing in the text area first to avoid + // possible glitches due to different methods used. + width = MIN(editRect.width() - caretOffset, width); + if (width > 0) { + g_gui.theme()->drawText(Common::Rect(x, y, x + width, y + editRect.height()), character, _state, Graphics::kTextAlignLeft, _inversion, 0, false, _font, ThemeEngine::kFontColorNormal, true, _textDrawableArea); + } } _caretVisible = !erase; -- cgit v1.2.3 From c63b2b2b2c33aa0a1e883cf5c722d647f2cf0c6f Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 24 Nov 2013 01:29:50 +0100 Subject: AVALANCHE: Fix savegame version checks --- engines/avalanche/avalanche.cpp | 2 +- engines/avalanche/detection.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/avalanche/avalanche.cpp b/engines/avalanche/avalanche.cpp index eacb01f132..2bb927646e 100644 --- a/engines/avalanche/avalanche.cpp +++ b/engines/avalanche/avalanche.cpp @@ -421,7 +421,7 @@ bool AvalancheEngine::loadGame(const int16 slot) { // Check version. We can't restore from obsolete versions. byte saveVersion = f->readByte(); - if (saveVersion != kSavegameVersion) { + if (saveVersion > kSavegameVersion) { warning("Savegame of incompatible version!"); delete f; return false; diff --git a/engines/avalanche/detection.cpp b/engines/avalanche/detection.cpp index 048b0fe148..5f4f03a78b 100644 --- a/engines/avalanche/detection.cpp +++ b/engines/avalanche/detection.cpp @@ -129,7 +129,7 @@ SaveStateList AvalancheMetaEngine::listSaves(const char *target) const { // Check version. byte saveVersion = file->readByte(); - if (saveVersion != kSavegameVersion) { + if (saveVersion > kSavegameVersion) { warning("Savegame of incompatible version!"); delete file; continue; -- cgit v1.2.3 From b603ea0223ed337781da6a4a2987390ccdaa0bcc Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 24 Nov 2013 01:40:35 +0100 Subject: PARALLACTION: Janitorial - Fix spacing errors --- engines/parallaction/exec.h | 2 +- engines/parallaction/gui_ns.cpp | 2 +- engines/parallaction/input.h | 2 +- engines/parallaction/objects.h | 6 +++--- engines/parallaction/parallaction.h | 4 ++-- engines/parallaction/parser.h | 2 +- engines/parallaction/sound.h | 6 +++--- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/engines/parallaction/exec.h b/engines/parallaction/exec.h index b966d677cd..5968954ba0 100644 --- a/engines/parallaction/exec.h +++ b/engines/parallaction/exec.h @@ -62,7 +62,7 @@ struct ProgramContext { AnimationPtr _anim; ProgramPtr _program; InstructionPtr _inst; - uint32 _ip; + uint32 _ip; uint16 _modCounter; bool _suspend; }; diff --git a/engines/parallaction/gui_ns.cpp b/engines/parallaction/gui_ns.cpp index ea3c394684..ae32a416e3 100644 --- a/engines/parallaction/gui_ns.cpp +++ b/engines/parallaction/gui_ns.cpp @@ -415,7 +415,7 @@ class SelectCharacterInputState_NS : public MenuInputState { #define CHAR_DONNA 1 #define CHAR_DOUGH 2 - Common::Rect _codeSelectBlocks[9]; + Common::Rect _codeSelectBlocks[9]; Common::Rect _codeTrueBlocks[9]; Parallaction_ns *_vm; diff --git a/engines/parallaction/input.h b/engines/parallaction/input.h index a815469ec3..a303eb96c8 100644 --- a/engines/parallaction/input.h +++ b/engines/parallaction/input.h @@ -114,7 +114,7 @@ public: void trackMouse(ZonePtr z); void waitForButtonEvent(uint32 buttonEventMask, int32 timeout = -1); uint32 getLastButtonEvent() { return _mouseButtons; } - bool getLastKeyDown(uint16 &ascii); + bool getLastKeyDown(uint16 &ascii); void stopHovering(); diff --git a/engines/parallaction/objects.h b/engines/parallaction/objects.h index 81761b2c6b..89e8134431 100644 --- a/engines/parallaction/objects.h +++ b/engines/parallaction/objects.h @@ -147,7 +147,7 @@ typedef Common::List CommandList; struct Answer { Common::String _text; uint16 _mood; - Common::String _followingName; + Common::String _followingName; CommandList _commands; uint32 _noFlags; @@ -188,7 +188,7 @@ struct Dialogue { ~Dialogue(); }; -#define MAX_WALKPOINT_LISTS 20 +#define MAX_WALKPOINT_LISTS 20 #define FREE_HEAR_CHANNEL -1 #define MUSIC_HEAR_CHANNEL -2 @@ -452,7 +452,7 @@ struct Program { uint16 _numLocals; uint32 _ip; - uint32 _loopStart; + uint32 _loopStart; InstructionList _instructions; uint32 _status; diff --git a/engines/parallaction/parallaction.h b/engines/parallaction/parallaction.h index 2dbb0227d6..203a0168ea 100644 --- a/engines/parallaction/parallaction.h +++ b/engines/parallaction/parallaction.h @@ -360,7 +360,7 @@ public: uint32 getLocationFlags(); bool checkSpecialZoneBox(ZonePtr z, uint32 type, uint x, uint y); bool checkZoneBox(ZonePtr z, uint32 type, uint x, uint y); - bool checkZoneType(ZonePtr z, uint32 type); + bool checkZoneType(ZonePtr z, uint32 type); bool checkLinkedAnimBox(ZonePtr z, uint32 type, uint x, uint y); ZonePtr hitZone(uint32 type, uint16 x, uint16 y); void runZone(ZonePtr z); @@ -579,7 +579,7 @@ private: void freeLocation(bool removeAll); void loadProgram(AnimationPtr a, const char *filename); void startGui(bool showSplash); - void startIngameMenu(); + void startIngameMenu(); void freeCharacter(); typedef void (Parallaction_br::*Callable)(void *); diff --git a/engines/parallaction/parser.h b/engines/parallaction/parser.h index e55df686e0..622e507aad 100644 --- a/engines/parallaction/parser.h +++ b/engines/parallaction/parser.h @@ -297,7 +297,7 @@ public: virtual void parseGetData(ZonePtr z); virtual void parseDoorData(ZonePtr z); virtual void parseHearData(ZonePtr z); - virtual void parseNoneData(ZonePtr z); + virtual void parseNoneData(ZonePtr z); protected: void parseAnswerCounter(Answer *answer); virtual Answer *parseAnswer(); diff --git a/engines/parallaction/sound.h b/engines/parallaction/sound.h index e12e50e278..e8dde78ddc 100644 --- a/engines/parallaction/sound.h +++ b/engines/parallaction/sound.h @@ -103,7 +103,7 @@ protected: Audio::Mixer *_mixer; char _musicFile[PATH_LEN]; - bool _sfxLooping; + bool _sfxLooping; int _sfxVolume; int _sfxRate; uint _sfxChannel; @@ -156,7 +156,7 @@ class AmigaSoundMan_ns : public SoundMan_ns { Audio::AudioStream *_musicStream; Audio::SoundHandle _musicHandle; - uint32 beepSoundBufferSize; + uint32 beepSoundBufferSize; int8 *beepSoundBuffer; Channel _channels[NUM_SFX_CHANNELS]; @@ -188,7 +188,7 @@ protected: Common::String _musicFile; - bool _sfxLooping; + bool _sfxLooping; int _sfxVolume; int _sfxRate; uint _sfxChannel; -- cgit v1.2.3 From d949a60dd85f0c2d0674910552ff56e690ef9b60 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 24 Nov 2013 01:45:32 +0100 Subject: TSAGE: RINGWORLD - Remove unused object, remove erroneous comments --- engines/tsage/ringworld/ringworld_scenes1.h | 5 ----- 1 file changed, 5 deletions(-) diff --git a/engines/tsage/ringworld/ringworld_scenes1.h b/engines/tsage/ringworld/ringworld_scenes1.h index 5dd882af93..d52d4fb6ec 100644 --- a/engines/tsage/ringworld/ringworld_scenes1.h +++ b/engines/tsage/ringworld/ringworld_scenes1.h @@ -315,8 +315,6 @@ public: Action1 _action1; Action2 _action2; Action3 _action3; - // CHECKME: Object1 looks useless - Object1 _object1; LeftFlyCycle _leftFlyCycle; CenterFlyCycle _centerFlyCycle; RightFlyCycle _rightFlyCycle; @@ -324,10 +322,7 @@ public: SpeakerSText _speakerSText; SpeakerQText _speakerQText; DisplayHotspot _background; - - //CHECKME: Useless Hotspot, never initialized DisplayHotspot _item1; - //CHECKME: Useless Hotspot, never initialized DisplayHotspot _entrance; DisplayHotspot _bulwark; DisplayHotspot _tree; -- cgit v1.2.3 From aa947c9474ad83aa9315bc585d1f0b79060fee61 Mon Sep 17 00:00:00 2001 From: D G Turner Date: Thu, 7 Nov 2013 12:58:33 +0100 Subject: BUILD: Split configure.engines down to a single file per engine. This is the first part of allowing engines to be added dynamically. They are placed into a folder in engines/ which must contain a file named "configure.engine" to add the engine, which is pulled into the top level configure script automatically. --- Makefile | 3 +- configure | 4 ++- engines/agi/configure.engine | 3 ++ engines/agos/configure.engine | 4 +++ engines/avalanche/configure.engine | 3 ++ engines/cge/configure.engine | 3 ++ engines/cine/configure.engine | 3 ++ engines/composer/configure.engine | 3 ++ engines/configure.engines | 57 ----------------------------------- engines/cruise/configure.engine | 3 ++ engines/draci/configure.engine | 3 ++ engines/drascula/configure.engine | 3 ++ engines/dreamweb/configure.engine | 3 ++ engines/fullpipe/configure.engine | 3 ++ engines/gob/configure.engine | 3 ++ engines/groovie/configure.engine | 4 +++ engines/hopkins/configure.engine | 3 ++ engines/hugo/configure.engine | 3 ++ engines/kyra/configure.engine | 5 +++ engines/lastexpress/configure.engine | 3 ++ engines/lure/configure.engine | 3 ++ engines/made/configure.engine | 3 ++ engines/mohawk/configure.engine | 6 ++++ engines/mortevielle/configure.engine | 3 ++ engines/neverhood/configure.engine | 3 ++ engines/parallaction/configure.engine | 3 ++ engines/pegasus/configure.engine | 3 ++ engines/queen/configure.engine | 3 ++ engines/saga/configure.engine | 5 +++ engines/sci/configure.engine | 4 +++ engines/scumm/configure.engine | 5 +++ engines/sky/configure.engine | 3 ++ engines/sword1/configure.engine | 3 ++ engines/sword2/configure.engine | 3 ++ engines/sword25/configure.engine | 3 ++ engines/teenagent/configure.engine | 3 ++ engines/testbed/configure.engine | 3 ++ engines/tinsel/configure.engine | 3 ++ engines/toltecs/configure.engine | 3 ++ engines/tony/configure.engine | 3 ++ engines/toon/configure.engine | 3 ++ engines/touche/configure.engine | 3 ++ engines/tsage/configure.engine | 3 ++ engines/tucker/configure.engine | 3 ++ engines/wintermute/configure.engine | 3 ++ engines/zvision/configure.engine | 3 ++ 46 files changed, 146 insertions(+), 59 deletions(-) create mode 100644 engines/agi/configure.engine create mode 100644 engines/agos/configure.engine create mode 100644 engines/avalanche/configure.engine create mode 100644 engines/cge/configure.engine create mode 100644 engines/cine/configure.engine create mode 100644 engines/composer/configure.engine delete mode 100644 engines/configure.engines create mode 100644 engines/cruise/configure.engine create mode 100644 engines/draci/configure.engine create mode 100644 engines/drascula/configure.engine create mode 100644 engines/dreamweb/configure.engine create mode 100644 engines/fullpipe/configure.engine create mode 100644 engines/gob/configure.engine create mode 100644 engines/groovie/configure.engine create mode 100644 engines/hopkins/configure.engine create mode 100644 engines/hugo/configure.engine create mode 100644 engines/kyra/configure.engine create mode 100644 engines/lastexpress/configure.engine create mode 100644 engines/lure/configure.engine create mode 100644 engines/made/configure.engine create mode 100644 engines/mohawk/configure.engine create mode 100644 engines/mortevielle/configure.engine create mode 100644 engines/neverhood/configure.engine create mode 100644 engines/parallaction/configure.engine create mode 100644 engines/pegasus/configure.engine create mode 100644 engines/queen/configure.engine create mode 100644 engines/saga/configure.engine create mode 100644 engines/sci/configure.engine create mode 100644 engines/scumm/configure.engine create mode 100644 engines/sky/configure.engine create mode 100644 engines/sword1/configure.engine create mode 100644 engines/sword2/configure.engine create mode 100644 engines/sword25/configure.engine create mode 100644 engines/teenagent/configure.engine create mode 100644 engines/testbed/configure.engine create mode 100644 engines/tinsel/configure.engine create mode 100644 engines/toltecs/configure.engine create mode 100644 engines/tony/configure.engine create mode 100644 engines/toon/configure.engine create mode 100644 engines/touche/configure.engine create mode 100644 engines/tsage/configure.engine create mode 100644 engines/tucker/configure.engine create mode 100644 engines/wintermute/configure.engine create mode 100644 engines/zvision/configure.engine diff --git a/Makefile b/Makefile index 09c38b2598..2ff67eef2a 100644 --- a/Makefile +++ b/Makefile @@ -82,7 +82,8 @@ EXECUTABLE := $(EXEPRE)scummvm$(EXEEXT) include $(srcdir)/Makefile.common # check if configure has been run or has been changed since last run -config.h config.mk: $(srcdir)/configure $(srcdir)/engines/configure.engines +ENGINE_SUBDIRS_CONFIGURE := $(wildcard $(srcdir)/engines/*/configure.engine) +config.h config.mk: $(srcdir)/configure $(ENGINE_SUBDIRS_CONFIGURE) ifeq "$(findstring config.mk,$(MAKEFILE_LIST))" "config.mk" @echo "Running $(srcdir)/configure with the last specified parameters" @sleep 2 diff --git a/configure b/configure index cb0b8902fc..4825cdc498 100755 --- a/configure +++ b/configure @@ -97,7 +97,9 @@ add_feature() { _srcdir=`dirname $0` # Read list of engines -. $_srcdir/engines/configure.engines +for i in $_srcdir/engines/*/configure.engine; do + . "$i" +done # # Default settings diff --git a/engines/agi/configure.engine b/engines/agi/configure.engine new file mode 100644 index 0000000000..fad659f86d --- /dev/null +++ b/engines/agi/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine agi "AGI" yes diff --git a/engines/agos/configure.engine b/engines/agos/configure.engine new file mode 100644 index 0000000000..3ae1fb16f2 --- /dev/null +++ b/engines/agos/configure.engine @@ -0,0 +1,4 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine agos "AGOS" yes "agos2" "AGOS 1 games" +add_engine agos2 "AGOS 2 games" yes diff --git a/engines/avalanche/configure.engine b/engines/avalanche/configure.engine new file mode 100644 index 0000000000..28d6a558db --- /dev/null +++ b/engines/avalanche/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine avalanche "Lord Avalot d'Argent" no diff --git a/engines/cge/configure.engine b/engines/cge/configure.engine new file mode 100644 index 0000000000..72af1197be --- /dev/null +++ b/engines/cge/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine cge "CGE" yes diff --git a/engines/cine/configure.engine b/engines/cine/configure.engine new file mode 100644 index 0000000000..2b7e2085fa --- /dev/null +++ b/engines/cine/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine cine "Cinematique evo 1" yes diff --git a/engines/composer/configure.engine b/engines/composer/configure.engine new file mode 100644 index 0000000000..71a79acb5d --- /dev/null +++ b/engines/composer/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine composer "Magic Composer" yes diff --git a/engines/configure.engines b/engines/configure.engines deleted file mode 100644 index ec7d4667ca..0000000000 --- a/engines/configure.engines +++ /dev/null @@ -1,57 +0,0 @@ -# This file is included from the main "configure" script -# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] -add_engine scumm "SCUMM" yes "scumm_7_8 he" "v0-v6 games" -add_engine scumm_7_8 "v7 & v8 games" yes -add_engine he "HE71+ games" yes -add_engine agi "AGI" yes -add_engine agos "AGOS" yes "agos2" "AGOS 1 games" -add_engine agos2 "AGOS 2 games" yes -add_engine avalanche "Lord Avalot d'Argent" no -add_engine cge "CGE" yes -add_engine cine "Cinematique evo 1" yes -add_engine composer "Magic Composer" yes -add_engine cruise "Cinematique evo 2" yes -add_engine draci "Dragon History" yes -add_engine drascula "Drascula: The Vampire Strikes Back" yes -add_engine dreamweb "Dreamweb" yes -add_engine fullpipe "Full Pipe" no -add_engine gob "Gobli*ns" yes -add_engine groovie "Groovie" yes "groovie2" "7th Guest" -add_engine groovie2 "Groovie 2 games" no "" "" "jpeg" -add_engine hopkins "Hopkins FBI" yes "" "" "16bit" -add_engine hugo "Hugo Trilogy" yes -add_engine kyra "Kyra" yes "lol eob" "Legend of Kyrandia 1-3" -add_engine lol "Lands of Lore" yes -add_engine eob "Eye of the Beholder" yes -add_engine lastexpress "The Last Express" no "" "" "16bit" -add_engine lure "Lure of the Temptress" yes -add_engine made "MADE" yes -add_engine mohawk "Mohawk" yes "cstime myst riven" "Living Books" -add_engine mortevielle "Mortevielle" no -add_engine cstime "Where in Time is Carmen Sandiego?" no -add_engine riven "Riven: The Sequel to Myst" no "" "" "16bit" -add_engine myst "Myst" no "" "" "16bit" -add_engine neverhood "Neverhood" no -add_engine parallaction "Parallaction" yes -add_engine pegasus "The Journeyman Project: Pegasus Prime" yes "" "" "16bit" -add_engine queen "Flight of the Amazon Queen" yes -add_engine saga "SAGA" yes "ihnm saga2" "ITE" -add_engine ihnm "IHNM" yes -add_engine saga2 "SAGA 2 games" no -add_engine sci "SCI" yes "sci32" "SCI 0-1.1 games" -add_engine sci32 "SCI32 games" no -add_engine sky "Beneath a Steel Sky" yes -add_engine sword1 "Broken Sword" yes -add_engine sword2 "Broken Sword II" yes -add_engine sword25 "Broken Sword 2.5" no "" "" "png zlib 16bit" -add_engine teenagent "Teen Agent" yes -add_engine testbed "TestBed: the Testing framework" no -add_engine tinsel "Tinsel" yes -add_engine toltecs "3 Skulls of the Toltecs" yes -add_engine toon "Toonstruck" yes -add_engine touche "Touche: The Adventures of the Fifth Musketeer" yes -add_engine tony "Tony Tough and the Night of Roasted Moths" yes "" "" "16bit" -add_engine tsage "TsAGE" yes -add_engine tucker "Bud Tucker in Double Trouble" yes -add_engine wintermute "Wintermute" no "" "" "jpeg png zlib vorbis 16bit" -add_engine zvision "ZVision" no "" "" "freetype2 16bit" diff --git a/engines/cruise/configure.engine b/engines/cruise/configure.engine new file mode 100644 index 0000000000..925da25370 --- /dev/null +++ b/engines/cruise/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine cruise "Cinematique evo 2" yes diff --git a/engines/draci/configure.engine b/engines/draci/configure.engine new file mode 100644 index 0000000000..09022b06f5 --- /dev/null +++ b/engines/draci/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine draci "Dragon History" yes diff --git a/engines/drascula/configure.engine b/engines/drascula/configure.engine new file mode 100644 index 0000000000..b9b76638fd --- /dev/null +++ b/engines/drascula/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine drascula "Drascula: The Vampire Strikes Back" yes diff --git a/engines/dreamweb/configure.engine b/engines/dreamweb/configure.engine new file mode 100644 index 0000000000..27506e650f --- /dev/null +++ b/engines/dreamweb/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine dreamweb "Dreamweb" yes diff --git a/engines/fullpipe/configure.engine b/engines/fullpipe/configure.engine new file mode 100644 index 0000000000..fce5951e26 --- /dev/null +++ b/engines/fullpipe/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine fullpipe "Full Pipe" no diff --git a/engines/gob/configure.engine b/engines/gob/configure.engine new file mode 100644 index 0000000000..8e012f5815 --- /dev/null +++ b/engines/gob/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine gob "Gobli*ns" yes diff --git a/engines/groovie/configure.engine b/engines/groovie/configure.engine new file mode 100644 index 0000000000..84e95a70df --- /dev/null +++ b/engines/groovie/configure.engine @@ -0,0 +1,4 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine groovie "Groovie" yes "groovie2" "7th Guest" +add_engine groovie2 "Groovie 2 games" no "" "" "jpeg" diff --git a/engines/hopkins/configure.engine b/engines/hopkins/configure.engine new file mode 100644 index 0000000000..c38ecd4cd2 --- /dev/null +++ b/engines/hopkins/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine hopkins "Hopkins FBI" yes "" "" "16bit" diff --git a/engines/hugo/configure.engine b/engines/hugo/configure.engine new file mode 100644 index 0000000000..9ab5c54e1e --- /dev/null +++ b/engines/hugo/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine hugo "Hugo Trilogy" yes diff --git a/engines/kyra/configure.engine b/engines/kyra/configure.engine new file mode 100644 index 0000000000..b7d6334fcc --- /dev/null +++ b/engines/kyra/configure.engine @@ -0,0 +1,5 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine kyra "Kyra" yes "lol eob" "Legend of Kyrandia 1-3" +add_engine lol "Lands of Lore" yes +add_engine eob "Eye of the Beholder" yes diff --git a/engines/lastexpress/configure.engine b/engines/lastexpress/configure.engine new file mode 100644 index 0000000000..807b1a088b --- /dev/null +++ b/engines/lastexpress/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine lastexpress "The Last Express" no "" "" "16bit" diff --git a/engines/lure/configure.engine b/engines/lure/configure.engine new file mode 100644 index 0000000000..e9f92893e3 --- /dev/null +++ b/engines/lure/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine lure "Lure of the Temptress" yes diff --git a/engines/made/configure.engine b/engines/made/configure.engine new file mode 100644 index 0000000000..2266712338 --- /dev/null +++ b/engines/made/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine made "MADE" yes diff --git a/engines/mohawk/configure.engine b/engines/mohawk/configure.engine new file mode 100644 index 0000000000..fa9d15cffc --- /dev/null +++ b/engines/mohawk/configure.engine @@ -0,0 +1,6 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine mohawk "Mohawk" yes "cstime myst riven" "Living Books" +add_engine cstime "Where in Time is Carmen Sandiego?" no +add_engine riven "Riven: The Sequel to Myst" no "" "" "16bit" +add_engine myst "Myst" no "" "" "16bit" diff --git a/engines/mortevielle/configure.engine b/engines/mortevielle/configure.engine new file mode 100644 index 0000000000..14d6479e7a --- /dev/null +++ b/engines/mortevielle/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine mortevielle "Mortevielle" no diff --git a/engines/neverhood/configure.engine b/engines/neverhood/configure.engine new file mode 100644 index 0000000000..0767a631f9 --- /dev/null +++ b/engines/neverhood/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine neverhood "Neverhood" no diff --git a/engines/parallaction/configure.engine b/engines/parallaction/configure.engine new file mode 100644 index 0000000000..babca4579f --- /dev/null +++ b/engines/parallaction/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine parallaction "Parallaction" yes diff --git a/engines/pegasus/configure.engine b/engines/pegasus/configure.engine new file mode 100644 index 0000000000..ed7e295287 --- /dev/null +++ b/engines/pegasus/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine pegasus "The Journeyman Project: Pegasus Prime" yes "" "" "16bit" diff --git a/engines/queen/configure.engine b/engines/queen/configure.engine new file mode 100644 index 0000000000..c8766743f9 --- /dev/null +++ b/engines/queen/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine queen "Flight of the Amazon Queen" yes diff --git a/engines/saga/configure.engine b/engines/saga/configure.engine new file mode 100644 index 0000000000..99e2ab367b --- /dev/null +++ b/engines/saga/configure.engine @@ -0,0 +1,5 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine saga "SAGA" yes "ihnm saga2" "ITE" +add_engine ihnm "IHNM" yes +add_engine saga2 "SAGA 2 games" no diff --git a/engines/sci/configure.engine b/engines/sci/configure.engine new file mode 100644 index 0000000000..d1c45a4654 --- /dev/null +++ b/engines/sci/configure.engine @@ -0,0 +1,4 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine sci "SCI" yes "sci32" "SCI 0-1.1 games" +add_engine sci32 "SCI32 games" no diff --git a/engines/scumm/configure.engine b/engines/scumm/configure.engine new file mode 100644 index 0000000000..e1de788061 --- /dev/null +++ b/engines/scumm/configure.engine @@ -0,0 +1,5 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine scumm "SCUMM" yes "scumm_7_8 he" "v0-v6 games" +add_engine scumm_7_8 "v7 & v8 games" yes +add_engine he "HE71+ games" yes diff --git a/engines/sky/configure.engine b/engines/sky/configure.engine new file mode 100644 index 0000000000..32b84849cb --- /dev/null +++ b/engines/sky/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine sky "Beneath a Steel Sky" yes diff --git a/engines/sword1/configure.engine b/engines/sword1/configure.engine new file mode 100644 index 0000000000..0578d176a9 --- /dev/null +++ b/engines/sword1/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine sword1 "Broken Sword" yes diff --git a/engines/sword2/configure.engine b/engines/sword2/configure.engine new file mode 100644 index 0000000000..7153605433 --- /dev/null +++ b/engines/sword2/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine sword2 "Broken Sword II" yes diff --git a/engines/sword25/configure.engine b/engines/sword25/configure.engine new file mode 100644 index 0000000000..1729bbeb33 --- /dev/null +++ b/engines/sword25/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine sword25 "Broken Sword 2.5" no "" "" "png zlib 16bit" diff --git a/engines/teenagent/configure.engine b/engines/teenagent/configure.engine new file mode 100644 index 0000000000..223a0e884c --- /dev/null +++ b/engines/teenagent/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine teenagent "Teen Agent" yes diff --git a/engines/testbed/configure.engine b/engines/testbed/configure.engine new file mode 100644 index 0000000000..c0a68c8eb8 --- /dev/null +++ b/engines/testbed/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine testbed "TestBed: the Testing framework" no diff --git a/engines/tinsel/configure.engine b/engines/tinsel/configure.engine new file mode 100644 index 0000000000..c0f3e0a18d --- /dev/null +++ b/engines/tinsel/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine tinsel "Tinsel" yes diff --git a/engines/toltecs/configure.engine b/engines/toltecs/configure.engine new file mode 100644 index 0000000000..be5533efa2 --- /dev/null +++ b/engines/toltecs/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine toltecs "3 Skulls of the Toltecs" yes diff --git a/engines/tony/configure.engine b/engines/tony/configure.engine new file mode 100644 index 0000000000..f85f45d158 --- /dev/null +++ b/engines/tony/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine tony "Tony Tough and the Night of Roasted Moths" yes "" "" "16bit" diff --git a/engines/toon/configure.engine b/engines/toon/configure.engine new file mode 100644 index 0000000000..00c98f7d8a --- /dev/null +++ b/engines/toon/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine toon "Toonstruck" yes diff --git a/engines/touche/configure.engine b/engines/touche/configure.engine new file mode 100644 index 0000000000..777578e623 --- /dev/null +++ b/engines/touche/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine touche "Touche: The Adventures of the Fifth Musketeer" yes diff --git a/engines/tsage/configure.engine b/engines/tsage/configure.engine new file mode 100644 index 0000000000..2b8edf8266 --- /dev/null +++ b/engines/tsage/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine tsage "TsAGE" yes diff --git a/engines/tucker/configure.engine b/engines/tucker/configure.engine new file mode 100644 index 0000000000..06676cf0a4 --- /dev/null +++ b/engines/tucker/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine tucker "Bud Tucker in Double Trouble" yes diff --git a/engines/wintermute/configure.engine b/engines/wintermute/configure.engine new file mode 100644 index 0000000000..673549b46b --- /dev/null +++ b/engines/wintermute/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine wintermute "Wintermute" no "" "" "jpeg png zlib vorbis 16bit" diff --git a/engines/zvision/configure.engine b/engines/zvision/configure.engine new file mode 100644 index 0000000000..02e31943af --- /dev/null +++ b/engines/zvision/configure.engine @@ -0,0 +1,3 @@ +# This file is included from the main "configure" script +# add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps] +add_engine zvision "ZVision" no "" "" "freetype2 16bit" -- cgit v1.2.3 From d77cf95a185a6c8f201f417d08f246727784f728 Mon Sep 17 00:00:00 2001 From: D G Turner Date: Thu, 7 Nov 2013 12:58:34 +0100 Subject: BUILD: Split engines.mk down to a single file per engine. This is the second part of allowing engines to be added dynamically. Each folder in engines/ which must contain a file named "engine.mk" containing the make definitions for that engine. --- Makefile.common | 6 +- engines/agi/engine.mk | 4 + engines/agos/engine.mk | 8 ++ engines/avalanche/engine.mk | 4 + engines/cge/engine.mk | 4 + engines/cine/engine.mk | 4 + engines/composer/engine.mk | 4 + engines/cruise/engine.mk | 4 + engines/draci/engine.mk | 4 + engines/drascula/engine.mk | 4 + engines/dreamweb/engine.mk | 4 + engines/engines.mk | 263 ----------------------------------------- engines/fullpipe/engine.mk | 4 + engines/gob/engine.mk | 4 + engines/groovie/engine.mk | 8 ++ engines/hopkins/engine.mk | 4 + engines/hugo/engine.mk | 4 + engines/kyra/engine.mk | 12 ++ engines/lastexpress/engine.mk | 4 + engines/lure/engine.mk | 4 + engines/made/engine.mk | 4 + engines/mohawk/engine.mk | 16 +++ engines/mortevielle/engine.mk | 4 + engines/neverhood/engine.mk | 4 + engines/parallaction/engine.mk | 4 + engines/pegasus/engine.mk | 4 + engines/queen/engine.mk | 4 + engines/saga/engine.mk | 12 ++ engines/sci/engine.mk | 8 ++ engines/scumm/engine.mk | 12 ++ engines/sky/engine.mk | 4 + engines/sword1/engine.mk | 4 + engines/sword2/engine.mk | 4 + engines/sword25/engine.mk | 4 + engines/teenagent/engine.mk | 4 + engines/testbed/engine.mk | 4 + engines/tinsel/engine.mk | 4 + engines/toltecs/engine.mk | 4 + engines/tony/engine.mk | 4 + engines/toon/engine.mk | 4 + engines/touche/engine.mk | 4 + engines/tsage/engine.mk | 4 + engines/tucker/engine.mk | 4 + engines/wintermute/engine.mk | 4 + engines/zvision/engine.mk | 4 + 45 files changed, 224 insertions(+), 265 deletions(-) create mode 100644 engines/agi/engine.mk create mode 100644 engines/agos/engine.mk create mode 100644 engines/avalanche/engine.mk create mode 100644 engines/cge/engine.mk create mode 100644 engines/cine/engine.mk create mode 100644 engines/composer/engine.mk create mode 100644 engines/cruise/engine.mk create mode 100644 engines/draci/engine.mk create mode 100644 engines/drascula/engine.mk create mode 100644 engines/dreamweb/engine.mk delete mode 100644 engines/engines.mk create mode 100644 engines/fullpipe/engine.mk create mode 100644 engines/gob/engine.mk create mode 100644 engines/groovie/engine.mk create mode 100644 engines/hopkins/engine.mk create mode 100644 engines/hugo/engine.mk create mode 100644 engines/kyra/engine.mk create mode 100644 engines/lastexpress/engine.mk create mode 100644 engines/lure/engine.mk create mode 100644 engines/made/engine.mk create mode 100644 engines/mohawk/engine.mk create mode 100644 engines/mortevielle/engine.mk create mode 100644 engines/neverhood/engine.mk create mode 100644 engines/parallaction/engine.mk create mode 100644 engines/pegasus/engine.mk create mode 100644 engines/queen/engine.mk create mode 100644 engines/saga/engine.mk create mode 100644 engines/sci/engine.mk create mode 100644 engines/scumm/engine.mk create mode 100644 engines/sky/engine.mk create mode 100644 engines/sword1/engine.mk create mode 100644 engines/sword2/engine.mk create mode 100644 engines/sword25/engine.mk create mode 100644 engines/teenagent/engine.mk create mode 100644 engines/testbed/engine.mk create mode 100644 engines/tinsel/engine.mk create mode 100644 engines/toltecs/engine.mk create mode 100644 engines/tony/engine.mk create mode 100644 engines/toon/engine.mk create mode 100644 engines/touche/engine.mk create mode 100644 engines/tsage/engine.mk create mode 100644 engines/tucker/engine.mk create mode 100644 engines/wintermute/engine.mk create mode 100644 engines/zvision/engine.mk diff --git a/Makefile.common b/Makefile.common index 02c3408684..41a3245b76 100644 --- a/Makefile.common +++ b/Makefile.common @@ -16,7 +16,9 @@ all: $(EXECUTABLE) plugins PLUGINS := MODULES := test devtools base $(MODULES) --include $(srcdir)/engines/engines.mk +ENGINE_SUBDIRS_MK := $(wildcard $(srcdir)/engines/*/engine.mk) +# Include the build instructions for all engines +-include $(ENGINE_SUBDIRS_MK) # After the game specific modules follow the shared modules MODULES += \ @@ -147,7 +149,7 @@ endif # recreate them (which it can't), and in particular from looking for potential # source files. This can save quite a bit of disk access time. .PHONY: $(wildcard $(addsuffix /*.d,$(DEPDIRS))) $(addprefix $(srcdir)/, $(addsuffix /module.mk,$(MODULES))) \ - $(srcdir)/$(port_mk) $(srcdir)/rules.mk $(srcdir)/engines/engines.mk + $(srcdir)/$(port_mk) $(srcdir)/rules.mk $ENGINE_SUBDIRS_MK ###################################################################### # Get the current version information diff --git a/engines/agi/engine.mk b/engines/agi/engine.mk new file mode 100644 index 0000000000..18963fd4a4 --- /dev/null +++ b/engines/agi/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_AGI +DEFINES += -DENABLE_AGI=$(ENABLE_AGI) +MODULES += engines/agi +endif diff --git a/engines/agos/engine.mk b/engines/agos/engine.mk new file mode 100644 index 0000000000..ba60a78844 --- /dev/null +++ b/engines/agos/engine.mk @@ -0,0 +1,8 @@ +ifdef ENABLE_AGOS +DEFINES += -DENABLE_AGOS=$(ENABLE_AGOS) +MODULES += engines/agos + +ifdef ENABLE_AGOS2 +DEFINES += -DENABLE_AGOS2 +endif +endif diff --git a/engines/avalanche/engine.mk b/engines/avalanche/engine.mk new file mode 100644 index 0000000000..17356ee376 --- /dev/null +++ b/engines/avalanche/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_AVALANCHE +DEFINES += -DENABLE_AVALANCHE=$(ENABLE_AVALANCHE) +MODULES += engines/avalanche +endif diff --git a/engines/cge/engine.mk b/engines/cge/engine.mk new file mode 100644 index 0000000000..c71f4e0df2 --- /dev/null +++ b/engines/cge/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_CGE +DEFINES += -DENABLE_CGE=$(ENABLE_CGE) +MODULES += engines/cge +endif diff --git a/engines/cine/engine.mk b/engines/cine/engine.mk new file mode 100644 index 0000000000..a32c319d3c --- /dev/null +++ b/engines/cine/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_CINE +DEFINES += -DENABLE_CINE=$(ENABLE_CINE) +MODULES += engines/cine +endif diff --git a/engines/composer/engine.mk b/engines/composer/engine.mk new file mode 100644 index 0000000000..b444021013 --- /dev/null +++ b/engines/composer/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_COMPOSER +DEFINES += -DENABLE_COMPOSER=$(ENABLE_COMPOSER) +MODULES += engines/composer +endif diff --git a/engines/cruise/engine.mk b/engines/cruise/engine.mk new file mode 100644 index 0000000000..ac37c61834 --- /dev/null +++ b/engines/cruise/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_CRUISE +DEFINES += -DENABLE_CRUISE=$(ENABLE_CRUISE) +MODULES += engines/cruise +endif diff --git a/engines/draci/engine.mk b/engines/draci/engine.mk new file mode 100644 index 0000000000..81ccc3f70f --- /dev/null +++ b/engines/draci/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_DRACI +DEFINES += -DENABLE_DRACI=$(ENABLE_DRACI) +MODULES += engines/draci +endif diff --git a/engines/drascula/engine.mk b/engines/drascula/engine.mk new file mode 100644 index 0000000000..ca4f6c9883 --- /dev/null +++ b/engines/drascula/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_DRASCULA +DEFINES += -DENABLE_DRASCULA=$(ENABLE_DRASCULA) +MODULES += engines/drascula +endif diff --git a/engines/dreamweb/engine.mk b/engines/dreamweb/engine.mk new file mode 100644 index 0000000000..088fcca535 --- /dev/null +++ b/engines/dreamweb/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_DREAMWEB +DEFINES += -DENABLE_DREAMWEB=$(ENABLE_DREAMWEB) +MODULES += engines/dreamweb +endif diff --git a/engines/engines.mk b/engines/engines.mk deleted file mode 100644 index cfde77321d..0000000000 --- a/engines/engines.mk +++ /dev/null @@ -1,263 +0,0 @@ -ifdef ENABLE_SCUMM -DEFINES += -DENABLE_SCUMM=$(ENABLE_SCUMM) -MODULES += engines/scumm - -ifdef ENABLE_SCUMM_7_8 -DEFINES += -DENABLE_SCUMM_7_8 -endif - -ifdef ENABLE_HE -DEFINES += -DENABLE_HE -endif - -endif - -ifdef ENABLE_AGI -DEFINES += -DENABLE_AGI=$(ENABLE_AGI) -MODULES += engines/agi -endif - -ifdef ENABLE_AGOS -DEFINES += -DENABLE_AGOS=$(ENABLE_AGOS) -MODULES += engines/agos - -ifdef ENABLE_AGOS2 -DEFINES += -DENABLE_AGOS2 -endif -endif - -ifdef ENABLE_AVALANCHE -DEFINES += -DENABLE_AVALANCHE=$(ENABLE_AVALANCHE) -MODULES += engines/avalanche -endif - -ifdef ENABLE_CGE -DEFINES += -DENABLE_CGE=$(ENABLE_CGE) -MODULES += engines/cge -endif - -ifdef ENABLE_CINE -DEFINES += -DENABLE_CINE=$(ENABLE_CINE) -MODULES += engines/cine -endif - -ifdef ENABLE_COMPOSER -DEFINES += -DENABLE_COMPOSER=$(ENABLE_COMPOSER) -MODULES += engines/composer -endif - -ifdef ENABLE_CRUISE -DEFINES += -DENABLE_CRUISE=$(ENABLE_CRUISE) -MODULES += engines/cruise -endif - -ifdef ENABLE_DRACI -DEFINES += -DENABLE_DRACI=$(ENABLE_DRACI) -MODULES += engines/draci -endif - -ifdef ENABLE_DRASCULA -DEFINES += -DENABLE_DRASCULA=$(ENABLE_DRASCULA) -MODULES += engines/drascula -endif - -ifdef ENABLE_DREAMWEB -DEFINES += -DENABLE_DREAMWEB=$(ENABLE_DREAMWEB) -MODULES += engines/dreamweb -endif - -ifdef ENABLE_FULLPIPE -DEFINES += -DENABLE_FULLPIPE=$(ENABLE_FULLPIPE) -MODULES += engines/fullpipe -endif - -ifdef ENABLE_GOB -DEFINES += -DENABLE_GOB=$(ENABLE_GOB) -MODULES += engines/gob -endif - -ifdef ENABLE_GROOVIE -DEFINES += -DENABLE_GROOVIE=$(ENABLE_GROOVIE) -MODULES += engines/groovie - -ifdef ENABLE_GROOVIE2 -DEFINES += -DENABLE_GROOVIE2 -endif -endif - -ifdef ENABLE_HOPKINS -DEFINES += -DENABLE_HOPKINS=$(ENABLE_HOPKINS) -MODULES += engines/hopkins -endif - -ifdef ENABLE_HUGO -DEFINES += -DENABLE_HUGO=$(ENABLE_HUGO) -MODULES += engines/hugo -endif - -ifdef ENABLE_KYRA -DEFINES += -DENABLE_KYRA=$(ENABLE_KYRA) -MODULES += engines/kyra - -ifdef ENABLE_LOL -DEFINES += -DENABLE_LOL -endif - -ifdef ENABLE_EOB -DEFINES += -DENABLE_EOB -endif -endif - -ifdef ENABLE_LASTEXPRESS -DEFINES += -DENABLE_LASTEXPRESS=$(ENABLE_LASTEXPRESS) -MODULES += engines/lastexpress -endif - -ifdef ENABLE_LURE -DEFINES += -DENABLE_LURE=$(ENABLE_LURE) -MODULES += engines/lure -endif - -ifdef ENABLE_MADE -DEFINES += -DENABLE_MADE=$(ENABLE_MADE) -MODULES += engines/made -endif - -ifdef ENABLE_MOHAWK -DEFINES += -DENABLE_MOHAWK=$(ENABLE_MOHAWK) -MODULES += engines/mohawk - -ifdef ENABLE_CSTIME -DEFINES += -DENABLE_CSTIME -endif - -ifdef ENABLE_MYST -DEFINES += -DENABLE_MYST -endif - -ifdef ENABLE_RIVEN -DEFINES += -DENABLE_RIVEN -endif -endif - -ifdef ENABLE_MORTEVIELLE -DEFINES += -DENABLE_MORTEVIELLE=$(ENABLE_MORTEVIELLE) -MODULES += engines/mortevielle -endif - -ifdef ENABLE_NEVERHOOD -DEFINES += -DENABLE_NEVERHOOD=$(ENABLE_NEVERHOOD) -MODULES += engines/neverhood -endif - -ifdef ENABLE_PARALLACTION -DEFINES += -DENABLE_PARALLACTION=$(ENABLE_PARALLACTION) -MODULES += engines/parallaction -endif - -ifdef ENABLE_PEGASUS -DEFINES += -DENABLE_PEGASUS=$(ENABLE_PEGASUS) -MODULES += engines/pegasus -endif - -ifdef ENABLE_QUEEN -DEFINES += -DENABLE_QUEEN=$(ENABLE_QUEEN) -MODULES += engines/queen -endif - -ifdef ENABLE_SAGA -DEFINES += -DENABLE_SAGA=$(ENABLE_SAGA) -MODULES += engines/saga - -ifdef ENABLE_IHNM -DEFINES += -DENABLE_IHNM -endif - -ifdef ENABLE_SAGA2 -DEFINES += -DENABLE_SAGA2 -endif -endif - -ifdef ENABLE_SCI -DEFINES += -DENABLE_SCI=$(ENABLE_SCI) -MODULES += engines/sci - -ifdef ENABLE_SCI32 -DEFINES += -DENABLE_SCI32 -endif -endif - -ifdef ENABLE_SKY -DEFINES += -DENABLE_SKY=$(ENABLE_SKY) -MODULES += engines/sky -endif - -ifdef ENABLE_SWORD1 -DEFINES += -DENABLE_SWORD1=$(ENABLE_SWORD1) -MODULES += engines/sword1 -endif - -ifdef ENABLE_SWORD2 -DEFINES += -DENABLE_SWORD2=$(ENABLE_SWORD2) -MODULES += engines/sword2 -endif - -ifdef ENABLE_SWORD25 -DEFINES += -DENABLE_SWORD25=$(ENABLE_SWORD25) -MODULES += engines/sword25 -endif - -ifdef ENABLE_TESTBED -DEFINES += -DENABLE_TESTBED=$(ENABLE_TESTBED) -MODULES += engines/testbed -endif - -ifdef ENABLE_TEENAGENT -DEFINES += -DENABLE_TEENAGENT=$(ENABLE_TEENAGENT) -MODULES += engines/teenagent -endif - -ifdef ENABLE_TINSEL -DEFINES += -DENABLE_TINSEL=$(ENABLE_TINSEL) -MODULES += engines/tinsel -endif - -ifdef ENABLE_TOLTECS -DEFINES += -DENABLE_TOLTECS=$(ENABLE_TOLTECS) -MODULES += engines/toltecs -endif - -ifdef ENABLE_TONY -DEFINES += -DENABLE_TONY=$(ENABLE_TONY) -MODULES += engines/tony -endif - -ifdef ENABLE_TOON -DEFINES += -DENABLE_TOON=$(ENABLE_TOON) -MODULES += engines/toon -endif - -ifdef ENABLE_TOUCHE -DEFINES += -DENABLE_TOUCHE=$(ENABLE_TOUCHE) -MODULES += engines/touche -endif - -ifdef ENABLE_TSAGE -DEFINES += -DENABLE_TSAGE=$(ENABLE_TSAGE) -MODULES += engines/tsage -endif - -ifdef ENABLE_TUCKER -DEFINES += -DENABLE_TUCKER=$(ENABLE_TUCKER) -MODULES += engines/tucker -endif - -ifdef ENABLE_WINTERMUTE -DEFINES += -DENABLE_WINTERMUTE=$(ENABLE_WINTERMUTE) -MODULES += engines/wintermute -endif - -ifdef ENABLE_ZVISION -DEFINES += -DENABLE_ZVISION=$(ENABLE_ZVISION) -MODULES += engines/zvision -endif diff --git a/engines/fullpipe/engine.mk b/engines/fullpipe/engine.mk new file mode 100644 index 0000000000..7aeec541f1 --- /dev/null +++ b/engines/fullpipe/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_FULLPIPE +DEFINES += -DENABLE_FULLPIPE=$(ENABLE_FULLPIPE) +MODULES += engines/fullpipe +endif diff --git a/engines/gob/engine.mk b/engines/gob/engine.mk new file mode 100644 index 0000000000..c78e7ddbf1 --- /dev/null +++ b/engines/gob/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_GOB +DEFINES += -DENABLE_GOB=$(ENABLE_GOB) +MODULES += engines/gob +endif diff --git a/engines/groovie/engine.mk b/engines/groovie/engine.mk new file mode 100644 index 0000000000..a209860e84 --- /dev/null +++ b/engines/groovie/engine.mk @@ -0,0 +1,8 @@ +ifdef ENABLE_GROOVIE +DEFINES += -DENABLE_GROOVIE=$(ENABLE_GROOVIE) +MODULES += engines/groovie + +ifdef ENABLE_GROOVIE2 +DEFINES += -DENABLE_GROOVIE2 +endif +endif diff --git a/engines/hopkins/engine.mk b/engines/hopkins/engine.mk new file mode 100644 index 0000000000..ac2281c0be --- /dev/null +++ b/engines/hopkins/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_HOPKINS +DEFINES += -DENABLE_HOPKINS=$(ENABLE_HOPKINS) +MODULES += engines/hopkins +endif diff --git a/engines/hugo/engine.mk b/engines/hugo/engine.mk new file mode 100644 index 0000000000..a6ca531dd0 --- /dev/null +++ b/engines/hugo/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_HUGO +DEFINES += -DENABLE_HUGO=$(ENABLE_HUGO) +MODULES += engines/hugo +endif diff --git a/engines/kyra/engine.mk b/engines/kyra/engine.mk new file mode 100644 index 0000000000..a2bfce3038 --- /dev/null +++ b/engines/kyra/engine.mk @@ -0,0 +1,12 @@ +ifdef ENABLE_KYRA +DEFINES += -DENABLE_KYRA=$(ENABLE_KYRA) +MODULES += engines/kyra + +ifdef ENABLE_LOL +DEFINES += -DENABLE_LOL +endif + +ifdef ENABLE_EOB +DEFINES += -DENABLE_EOB +endif +endif diff --git a/engines/lastexpress/engine.mk b/engines/lastexpress/engine.mk new file mode 100644 index 0000000000..6e0ba3bf25 --- /dev/null +++ b/engines/lastexpress/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_LASTEXPRESS +DEFINES += -DENABLE_LASTEXPRESS=$(ENABLE_LASTEXPRESS) +MODULES += engines/lastexpress +endif diff --git a/engines/lure/engine.mk b/engines/lure/engine.mk new file mode 100644 index 0000000000..62be295b28 --- /dev/null +++ b/engines/lure/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_LURE +DEFINES += -DENABLE_LURE=$(ENABLE_LURE) +MODULES += engines/lure +endif diff --git a/engines/made/engine.mk b/engines/made/engine.mk new file mode 100644 index 0000000000..8fd832cbb5 --- /dev/null +++ b/engines/made/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_MADE +DEFINES += -DENABLE_MADE=$(ENABLE_MADE) +MODULES += engines/made +endif diff --git a/engines/mohawk/engine.mk b/engines/mohawk/engine.mk new file mode 100644 index 0000000000..e9474b5534 --- /dev/null +++ b/engines/mohawk/engine.mk @@ -0,0 +1,16 @@ +ifdef ENABLE_MOHAWK +DEFINES += -DENABLE_MOHAWK=$(ENABLE_MOHAWK) +MODULES += engines/mohawk + +ifdef ENABLE_CSTIME +DEFINES += -DENABLE_CSTIME +endif + +ifdef ENABLE_MYST +DEFINES += -DENABLE_MYST +endif + +ifdef ENABLE_RIVEN +DEFINES += -DENABLE_RIVEN +endif +endif diff --git a/engines/mortevielle/engine.mk b/engines/mortevielle/engine.mk new file mode 100644 index 0000000000..4232dece3d --- /dev/null +++ b/engines/mortevielle/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_MORTEVIELLE +DEFINES += -DENABLE_MORTEVIELLE=$(ENABLE_MORTEVIELLE) +MODULES += engines/mortevielle +endif diff --git a/engines/neverhood/engine.mk b/engines/neverhood/engine.mk new file mode 100644 index 0000000000..52b032a5d8 --- /dev/null +++ b/engines/neverhood/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_NEVERHOOD +DEFINES += -DENABLE_NEVERHOOD=$(ENABLE_NEVERHOOD) +MODULES += engines/neverhood +endif diff --git a/engines/parallaction/engine.mk b/engines/parallaction/engine.mk new file mode 100644 index 0000000000..465b6fc813 --- /dev/null +++ b/engines/parallaction/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_PARALLACTION +DEFINES += -DENABLE_PARALLACTION=$(ENABLE_PARALLACTION) +MODULES += engines/parallaction +endif diff --git a/engines/pegasus/engine.mk b/engines/pegasus/engine.mk new file mode 100644 index 0000000000..60bba59e65 --- /dev/null +++ b/engines/pegasus/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_PEGASUS +DEFINES += -DENABLE_PEGASUS=$(ENABLE_PEGASUS) +MODULES += engines/pegasus +endif diff --git a/engines/queen/engine.mk b/engines/queen/engine.mk new file mode 100644 index 0000000000..05f3dcad91 --- /dev/null +++ b/engines/queen/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_QUEEN +DEFINES += -DENABLE_QUEEN=$(ENABLE_QUEEN) +MODULES += engines/queen +endif diff --git a/engines/saga/engine.mk b/engines/saga/engine.mk new file mode 100644 index 0000000000..a6e855bafd --- /dev/null +++ b/engines/saga/engine.mk @@ -0,0 +1,12 @@ +ifdef ENABLE_SAGA +DEFINES += -DENABLE_SAGA=$(ENABLE_SAGA) +MODULES += engines/saga + +ifdef ENABLE_IHNM +DEFINES += -DENABLE_IHNM +endif + +ifdef ENABLE_SAGA2 +DEFINES += -DENABLE_SAGA2 +endif +endif diff --git a/engines/sci/engine.mk b/engines/sci/engine.mk new file mode 100644 index 0000000000..7f26a19833 --- /dev/null +++ b/engines/sci/engine.mk @@ -0,0 +1,8 @@ +ifdef ENABLE_SCI +DEFINES += -DENABLE_SCI=$(ENABLE_SCI) +MODULES += engines/sci + +ifdef ENABLE_SCI32 +DEFINES += -DENABLE_SCI32 +endif +endif diff --git a/engines/scumm/engine.mk b/engines/scumm/engine.mk new file mode 100644 index 0000000000..640dfb51b4 --- /dev/null +++ b/engines/scumm/engine.mk @@ -0,0 +1,12 @@ +ifdef ENABLE_SCUMM +DEFINES += -DENABLE_SCUMM=$(ENABLE_SCUMM) +MODULES += engines/scumm + +ifdef ENABLE_SCUMM_7_8 +DEFINES += -DENABLE_SCUMM_7_8 +endif + +ifdef ENABLE_HE +DEFINES += -DENABLE_HE +endif +endif diff --git a/engines/sky/engine.mk b/engines/sky/engine.mk new file mode 100644 index 0000000000..182e6082a2 --- /dev/null +++ b/engines/sky/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_SKY +DEFINES += -DENABLE_SKY=$(ENABLE_SKY) +MODULES += engines/sky +endif diff --git a/engines/sword1/engine.mk b/engines/sword1/engine.mk new file mode 100644 index 0000000000..39f6afb4fb --- /dev/null +++ b/engines/sword1/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_SWORD1 +DEFINES += -DENABLE_SWORD1=$(ENABLE_SWORD1) +MODULES += engines/sword1 +endif diff --git a/engines/sword2/engine.mk b/engines/sword2/engine.mk new file mode 100644 index 0000000000..5f05112180 --- /dev/null +++ b/engines/sword2/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_SWORD2 +DEFINES += -DENABLE_SWORD2=$(ENABLE_SWORD2) +MODULES += engines/sword2 +endif diff --git a/engines/sword25/engine.mk b/engines/sword25/engine.mk new file mode 100644 index 0000000000..32a906c5cd --- /dev/null +++ b/engines/sword25/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_SWORD25 +DEFINES += -DENABLE_SWORD25=$(ENABLE_SWORD25) +MODULES += engines/sword25 +endif diff --git a/engines/teenagent/engine.mk b/engines/teenagent/engine.mk new file mode 100644 index 0000000000..82004eb489 --- /dev/null +++ b/engines/teenagent/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_TEENAGENT +DEFINES += -DENABLE_TEENAGENT=$(ENABLE_TEENAGENT) +MODULES += engines/teenagent +endif diff --git a/engines/testbed/engine.mk b/engines/testbed/engine.mk new file mode 100644 index 0000000000..b19db6ee9d --- /dev/null +++ b/engines/testbed/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_TESTBED +DEFINES += -DENABLE_TESTBED=$(ENABLE_TESTBED) +MODULES += engines/testbed +endif diff --git a/engines/tinsel/engine.mk b/engines/tinsel/engine.mk new file mode 100644 index 0000000000..f3df46bc34 --- /dev/null +++ b/engines/tinsel/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_TINSEL +DEFINES += -DENABLE_TINSEL=$(ENABLE_TINSEL) +MODULES += engines/tinsel +endif diff --git a/engines/toltecs/engine.mk b/engines/toltecs/engine.mk new file mode 100644 index 0000000000..38bf6c04b8 --- /dev/null +++ b/engines/toltecs/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_TOLTECS +DEFINES += -DENABLE_TOLTECS=$(ENABLE_TOLTECS) +MODULES += engines/toltecs +endif diff --git a/engines/tony/engine.mk b/engines/tony/engine.mk new file mode 100644 index 0000000000..605f2e6cd2 --- /dev/null +++ b/engines/tony/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_TONY +DEFINES += -DENABLE_TONY=$(ENABLE_TONY) +MODULES += engines/tony +endif diff --git a/engines/toon/engine.mk b/engines/toon/engine.mk new file mode 100644 index 0000000000..ec8b66f122 --- /dev/null +++ b/engines/toon/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_TOON +DEFINES += -DENABLE_TOON=$(ENABLE_TOON) +MODULES += engines/toon +endif diff --git a/engines/touche/engine.mk b/engines/touche/engine.mk new file mode 100644 index 0000000000..1629a82b2c --- /dev/null +++ b/engines/touche/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_TOUCHE +DEFINES += -DENABLE_TOUCHE=$(ENABLE_TOUCHE) +MODULES += engines/touche +endif diff --git a/engines/tsage/engine.mk b/engines/tsage/engine.mk new file mode 100644 index 0000000000..d734665560 --- /dev/null +++ b/engines/tsage/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_TSAGE +DEFINES += -DENABLE_TSAGE=$(ENABLE_TSAGE) +MODULES += engines/tsage +endif diff --git a/engines/tucker/engine.mk b/engines/tucker/engine.mk new file mode 100644 index 0000000000..6342af048e --- /dev/null +++ b/engines/tucker/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_TUCKER +DEFINES += -DENABLE_TUCKER=$(ENABLE_TUCKER) +MODULES += engines/tucker +endif diff --git a/engines/wintermute/engine.mk b/engines/wintermute/engine.mk new file mode 100644 index 0000000000..145d2f76b8 --- /dev/null +++ b/engines/wintermute/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_WINTERMUTE +DEFINES += -DENABLE_WINTERMUTE=$(ENABLE_WINTERMUTE) +MODULES += engines/wintermute +endif diff --git a/engines/zvision/engine.mk b/engines/zvision/engine.mk new file mode 100644 index 0000000000..be76a4d67d --- /dev/null +++ b/engines/zvision/engine.mk @@ -0,0 +1,4 @@ +ifdef ENABLE_ZVISION +DEFINES += -DENABLE_ZVISION=$(ENABLE_ZVISION) +MODULES += engines/zvision +endif -- cgit v1.2.3 From 00c27a28f91cc2bbf512461e69c86be998462728 Mon Sep 17 00:00:00 2001 From: D G Turner Date: Thu, 7 Nov 2013 12:58:34 +0100 Subject: BUILD: Split engines/plugins_table header down to a file per engine. This is the third and final commit enabling fully pluggable engines. Now providing an engine folder contains a configure.engine, engine.mk and engine-plugin.h file, it will be picked up automatically by the configure script. --- .gitignore | 2 + Makefile | 2 +- Makefile.common | 2 +- configure | 11 +++ engines/agi/engine-plugin.h | 3 + engines/agos/engine-plugin.h | 3 + engines/avalanche/engine-plugin.h | 3 + engines/cge/engine-plugin.h | 3 + engines/cine/engine-plugin.h | 3 + engines/composer/engine-plugin.h | 3 + engines/cruise/engine-plugin.h | 3 + engines/draci/engine-plugin.h | 3 + engines/drascula/engine-plugin.h | 3 + engines/dreamweb/engine-plugin.h | 3 + engines/fullpipe/engine-plugin.h | 3 + engines/gob/engine-plugin.h | 3 + engines/groovie/engine-plugin.h | 3 + engines/hopkins/engine-plugin.h | 3 + engines/hugo/engine-plugin.h | 3 + engines/kyra/engine-plugin.h | 3 + engines/lastexpress/engine-plugin.h | 3 + engines/lure/engine-plugin.h | 3 + engines/made/engine-plugin.h | 3 + engines/mohawk/engine-plugin.h | 3 + engines/mortevielle/engine-plugin.h | 3 + engines/neverhood/engine-plugin.h | 3 + engines/parallaction/engine-plugin.h | 3 + engines/pegasus/engine-plugin.h | 3 + engines/plugins_table.h | 130 ----------------------------------- engines/queen/engine-plugin.h | 3 + engines/saga/engine-plugin.h | 3 + engines/sci/engine-plugin.h | 3 + engines/scumm/engine-plugin.h | 3 + engines/sky/engine-plugin.h | 3 + engines/sword1/engine-plugin.h | 3 + engines/sword2/engine-plugin.h | 3 + engines/sword25/engine-plugin.h | 3 + engines/teenagent/engine-plugin.h | 3 + engines/testbed/engine-plugin.h | 3 + engines/tinsel/engine-plugin.h | 3 + engines/toltecs/engine-plugin.h | 3 + engines/tony/engine-plugin.h | 3 + engines/toon/engine-plugin.h | 3 + engines/touche/engine-plugin.h | 3 + engines/tsage/engine-plugin.h | 3 + engines/tucker/engine-plugin.h | 3 + engines/wintermute/engine-plugin.h | 3 + engines/zvision/engine-plugin.h | 3 + 48 files changed, 144 insertions(+), 132 deletions(-) create mode 100644 engines/agi/engine-plugin.h create mode 100644 engines/agos/engine-plugin.h create mode 100644 engines/avalanche/engine-plugin.h create mode 100644 engines/cge/engine-plugin.h create mode 100644 engines/cine/engine-plugin.h create mode 100644 engines/composer/engine-plugin.h create mode 100644 engines/cruise/engine-plugin.h create mode 100644 engines/draci/engine-plugin.h create mode 100644 engines/drascula/engine-plugin.h create mode 100644 engines/dreamweb/engine-plugin.h create mode 100644 engines/fullpipe/engine-plugin.h create mode 100644 engines/gob/engine-plugin.h create mode 100644 engines/groovie/engine-plugin.h create mode 100644 engines/hopkins/engine-plugin.h create mode 100644 engines/hugo/engine-plugin.h create mode 100644 engines/kyra/engine-plugin.h create mode 100644 engines/lastexpress/engine-plugin.h create mode 100644 engines/lure/engine-plugin.h create mode 100644 engines/made/engine-plugin.h create mode 100644 engines/mohawk/engine-plugin.h create mode 100644 engines/mortevielle/engine-plugin.h create mode 100644 engines/neverhood/engine-plugin.h create mode 100644 engines/parallaction/engine-plugin.h create mode 100644 engines/pegasus/engine-plugin.h delete mode 100644 engines/plugins_table.h create mode 100644 engines/queen/engine-plugin.h create mode 100644 engines/saga/engine-plugin.h create mode 100644 engines/sci/engine-plugin.h create mode 100644 engines/scumm/engine-plugin.h create mode 100644 engines/sky/engine-plugin.h create mode 100644 engines/sword1/engine-plugin.h create mode 100644 engines/sword2/engine-plugin.h create mode 100644 engines/sword25/engine-plugin.h create mode 100644 engines/teenagent/engine-plugin.h create mode 100644 engines/testbed/engine-plugin.h create mode 100644 engines/tinsel/engine-plugin.h create mode 100644 engines/toltecs/engine-plugin.h create mode 100644 engines/tony/engine-plugin.h create mode 100644 engines/toon/engine-plugin.h create mode 100644 engines/touche/engine-plugin.h create mode 100644 engines/tsage/engine-plugin.h create mode 100644 engines/tucker/engine-plugin.h create mode 100644 engines/wintermute/engine-plugin.h create mode 100644 engines/zvision/engine-plugin.h diff --git a/.gitignore b/.gitignore index 0fe212098c..04b81ddb43 100644 --- a/.gitignore +++ b/.gitignore @@ -105,6 +105,8 @@ project.xcworkspace /plugins +/engines/plugins_table.h + /test/runner /test/runner.cpp /test/*.dSYM diff --git a/Makefile b/Makefile index 2ff67eef2a..2f17822051 100644 --- a/Makefile +++ b/Makefile @@ -83,7 +83,7 @@ include $(srcdir)/Makefile.common # check if configure has been run or has been changed since last run ENGINE_SUBDIRS_CONFIGURE := $(wildcard $(srcdir)/engines/*/configure.engine) -config.h config.mk: $(srcdir)/configure $(ENGINE_SUBDIRS_CONFIGURE) +config.h config.mk engines/plugins_table.h: $(srcdir)/configure $(ENGINE_SUBDIRS_CONFIGURE) ifeq "$(findstring config.mk,$(MAKEFILE_LIST))" "config.mk" @echo "Running $(srcdir)/configure with the last specified parameters" @sleep 2 diff --git a/Makefile.common b/Makefile.common index 41a3245b76..0b2f8a564a 100644 --- a/Makefile.common +++ b/Makefile.common @@ -81,7 +81,7 @@ $(EXECUTABLE): $(OBJS) $(QUIET_LINK)$(LD) $(LDFLAGS) $(PRE_OBJS_FLAGS) $+ $(POST_OBJS_FLAGS) $(LIBS) -o $@ distclean: clean clean-devtools - $(RM) config.h config.mk config.log + $(RM) config.h config.mk config.log engines/plugins_table.h clean: $(RM_REC) $(DEPDIRS) diff --git a/configure b/configure index 4825cdc498..2bad89a87d 100755 --- a/configure +++ b/configure @@ -4382,3 +4382,14 @@ include \$(srcdir)/Makefile EOF fi + +echo "Creating engines/plugins_table.h" +cat > engines/plugins_table.h << EOF +/* This file is automatically generated by configure */ +/* DO NOT EDIT MANUALLY */ +// This file is being included by "base/plugins.cpp" +EOF + +for i in $_srcdir/engines/*/engine-plugin.h; do + cat $i >> engines/plugins_table.h +done diff --git a/engines/agi/engine-plugin.h b/engines/agi/engine-plugin.h new file mode 100644 index 0000000000..962a8ca441 --- /dev/null +++ b/engines/agi/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(AGI) +LINK_PLUGIN(AGI) +#endif diff --git a/engines/agos/engine-plugin.h b/engines/agos/engine-plugin.h new file mode 100644 index 0000000000..ea4e6f7168 --- /dev/null +++ b/engines/agos/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(AGOS) +LINK_PLUGIN(AGOS) +#endif diff --git a/engines/avalanche/engine-plugin.h b/engines/avalanche/engine-plugin.h new file mode 100644 index 0000000000..bfe791dd17 --- /dev/null +++ b/engines/avalanche/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(AVALANCHE) +LINK_PLUGIN(AVALANCHE) +#endif diff --git a/engines/cge/engine-plugin.h b/engines/cge/engine-plugin.h new file mode 100644 index 0000000000..8f9c23eec0 --- /dev/null +++ b/engines/cge/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(CGE) +LINK_PLUGIN(CGE) +#endif diff --git a/engines/cine/engine-plugin.h b/engines/cine/engine-plugin.h new file mode 100644 index 0000000000..be38a293bd --- /dev/null +++ b/engines/cine/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(CINE) +LINK_PLUGIN(CINE) +#endif diff --git a/engines/composer/engine-plugin.h b/engines/composer/engine-plugin.h new file mode 100644 index 0000000000..d06f241b40 --- /dev/null +++ b/engines/composer/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(COMPOSER) +LINK_PLUGIN(COMPOSER) +#endif diff --git a/engines/cruise/engine-plugin.h b/engines/cruise/engine-plugin.h new file mode 100644 index 0000000000..78fbbbd38a --- /dev/null +++ b/engines/cruise/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(CRUISE) +LINK_PLUGIN(CRUISE) +#endif diff --git a/engines/draci/engine-plugin.h b/engines/draci/engine-plugin.h new file mode 100644 index 0000000000..c02afdbb56 --- /dev/null +++ b/engines/draci/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(DRACI) +LINK_PLUGIN(DRACI) +#endif diff --git a/engines/drascula/engine-plugin.h b/engines/drascula/engine-plugin.h new file mode 100644 index 0000000000..d0f598cce9 --- /dev/null +++ b/engines/drascula/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(DRASCULA) +LINK_PLUGIN(DRASCULA) +#endif diff --git a/engines/dreamweb/engine-plugin.h b/engines/dreamweb/engine-plugin.h new file mode 100644 index 0000000000..fae9e7a754 --- /dev/null +++ b/engines/dreamweb/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(DREAMWEB) +LINK_PLUGIN(DREAMWEB) +#endif diff --git a/engines/fullpipe/engine-plugin.h b/engines/fullpipe/engine-plugin.h new file mode 100644 index 0000000000..ea875a7e57 --- /dev/null +++ b/engines/fullpipe/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(FULLPIPE) +LINK_PLUGIN(FULLPIPE) +#endif diff --git a/engines/gob/engine-plugin.h b/engines/gob/engine-plugin.h new file mode 100644 index 0000000000..86cff48cbc --- /dev/null +++ b/engines/gob/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(GOB) +LINK_PLUGIN(GOB) +#endif diff --git a/engines/groovie/engine-plugin.h b/engines/groovie/engine-plugin.h new file mode 100644 index 0000000000..dcb05b1333 --- /dev/null +++ b/engines/groovie/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(GROOVIE) +LINK_PLUGIN(GROOVIE) +#endif diff --git a/engines/hopkins/engine-plugin.h b/engines/hopkins/engine-plugin.h new file mode 100644 index 0000000000..fe54ca1449 --- /dev/null +++ b/engines/hopkins/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(HOPKINS) +LINK_PLUGIN(HOPKINS) +#endif diff --git a/engines/hugo/engine-plugin.h b/engines/hugo/engine-plugin.h new file mode 100644 index 0000000000..12b6edcd74 --- /dev/null +++ b/engines/hugo/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(HUGO) +LINK_PLUGIN(HUGO) +#endif diff --git a/engines/kyra/engine-plugin.h b/engines/kyra/engine-plugin.h new file mode 100644 index 0000000000..b3bcb477da --- /dev/null +++ b/engines/kyra/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(KYRA) +LINK_PLUGIN(KYRA) +#endif diff --git a/engines/lastexpress/engine-plugin.h b/engines/lastexpress/engine-plugin.h new file mode 100644 index 0000000000..2cca42fe92 --- /dev/null +++ b/engines/lastexpress/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(LASTEXPRESS) +LINK_PLUGIN(LASTEXPRESS) +#endif diff --git a/engines/lure/engine-plugin.h b/engines/lure/engine-plugin.h new file mode 100644 index 0000000000..a1392601ac --- /dev/null +++ b/engines/lure/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(LURE) +LINK_PLUGIN(LURE) +#endif diff --git a/engines/made/engine-plugin.h b/engines/made/engine-plugin.h new file mode 100644 index 0000000000..ed544471ba --- /dev/null +++ b/engines/made/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(MADE) +LINK_PLUGIN(MADE) +#endif diff --git a/engines/mohawk/engine-plugin.h b/engines/mohawk/engine-plugin.h new file mode 100644 index 0000000000..d2e69794b1 --- /dev/null +++ b/engines/mohawk/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(MOHAWK) +LINK_PLUGIN(MOHAWK) +#endif diff --git a/engines/mortevielle/engine-plugin.h b/engines/mortevielle/engine-plugin.h new file mode 100644 index 0000000000..a0895d42f6 --- /dev/null +++ b/engines/mortevielle/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(MORTEVIELLE) +LINK_PLUGIN(MORTEVIELLE) +#endif diff --git a/engines/neverhood/engine-plugin.h b/engines/neverhood/engine-plugin.h new file mode 100644 index 0000000000..7857703d07 --- /dev/null +++ b/engines/neverhood/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(NEVERHOOD) +LINK_PLUGIN(NEVERHOOD) +#endif diff --git a/engines/parallaction/engine-plugin.h b/engines/parallaction/engine-plugin.h new file mode 100644 index 0000000000..21fb5d9ba1 --- /dev/null +++ b/engines/parallaction/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(PARALLACTION) +LINK_PLUGIN(PARALLACTION) +#endif diff --git a/engines/pegasus/engine-plugin.h b/engines/pegasus/engine-plugin.h new file mode 100644 index 0000000000..7f9cb4388b --- /dev/null +++ b/engines/pegasus/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(PEGASUS) +LINK_PLUGIN(PEGASUS) +#endif diff --git a/engines/plugins_table.h b/engines/plugins_table.h deleted file mode 100644 index 38cd43ac74..0000000000 --- a/engines/plugins_table.h +++ /dev/null @@ -1,130 +0,0 @@ -// This file is being included by "base/plugins.cpp" -#if PLUGIN_ENABLED_STATIC(SCUMM) -LINK_PLUGIN(SCUMM) -#endif -#if PLUGIN_ENABLED_STATIC(AGI) -LINK_PLUGIN(AGI) -#endif -#if PLUGIN_ENABLED_STATIC(AGOS) -LINK_PLUGIN(AGOS) -#endif -#if PLUGIN_ENABLED_STATIC(AVALANCHE) -LINK_PLUGIN(AVALANCHE) -#endif -#if PLUGIN_ENABLED_STATIC(CGE) -LINK_PLUGIN(CGE) -#endif -#if PLUGIN_ENABLED_STATIC(CINE) -LINK_PLUGIN(CINE) -#endif -#if PLUGIN_ENABLED_STATIC(COMPOSER) -LINK_PLUGIN(COMPOSER) -#endif -#if PLUGIN_ENABLED_STATIC(CRUISE) -LINK_PLUGIN(CRUISE) -#endif -#if PLUGIN_ENABLED_STATIC(DRACI) -LINK_PLUGIN(DRACI) -#endif -#if PLUGIN_ENABLED_STATIC(DRASCULA) -LINK_PLUGIN(DRASCULA) -#endif -#if PLUGIN_ENABLED_STATIC(DREAMWEB) -LINK_PLUGIN(DREAMWEB) -#endif -#if PLUGIN_ENABLED_STATIC(FULLPIPE) -LINK_PLUGIN(FULLPIPE) -#endif -#if PLUGIN_ENABLED_STATIC(GOB) -LINK_PLUGIN(GOB) -#endif -#if PLUGIN_ENABLED_STATIC(GROOVIE) -LINK_PLUGIN(GROOVIE) -#endif -#if PLUGIN_ENABLED_STATIC(HOPKINS) -LINK_PLUGIN(HOPKINS) -#endif -#if PLUGIN_ENABLED_STATIC(HUGO) -LINK_PLUGIN(HUGO) -#endif -#if PLUGIN_ENABLED_STATIC(KYRA) -LINK_PLUGIN(KYRA) -#endif -#if PLUGIN_ENABLED_STATIC(MORTEVIELLE) -LINK_PLUGIN(MORTEVIELLE) -#endif -#if PLUGIN_ENABLED_STATIC(LASTEXPRESS) -LINK_PLUGIN(LASTEXPRESS) -#endif -#if PLUGIN_ENABLED_STATIC(LURE) -LINK_PLUGIN(LURE) -#endif -#if PLUGIN_ENABLED_STATIC(MADE) -LINK_PLUGIN(MADE) -#endif -#if PLUGIN_ENABLED_STATIC(MOHAWK) -LINK_PLUGIN(MOHAWK) -#endif -#if PLUGIN_ENABLED_STATIC(NEVERHOOD) -LINK_PLUGIN(NEVERHOOD) -#endif -#if PLUGIN_ENABLED_STATIC(PARALLACTION) -LINK_PLUGIN(PARALLACTION) -#endif -#if PLUGIN_ENABLED_STATIC(PEGASUS) -LINK_PLUGIN(PEGASUS) -#endif -#if PLUGIN_ENABLED_STATIC(QUEEN) -LINK_PLUGIN(QUEEN) -#endif -#if PLUGIN_ENABLED_STATIC(SAGA) -LINK_PLUGIN(SAGA) -#endif -#if PLUGIN_ENABLED_STATIC(SCI) -LINK_PLUGIN(SCI) -#endif -#if PLUGIN_ENABLED_STATIC(SKY) -LINK_PLUGIN(SKY) -#endif -#if PLUGIN_ENABLED_STATIC(SWORD1) -LINK_PLUGIN(SWORD1) -#endif -#if PLUGIN_ENABLED_STATIC(SWORD2) -LINK_PLUGIN(SWORD2) -#endif -#if PLUGIN_ENABLED_STATIC(SWORD25) -LINK_PLUGIN(SWORD25) -#endif -#if PLUGIN_ENABLED_STATIC(TEENAGENT) -LINK_PLUGIN(TEENAGENT) -#endif -#if PLUGIN_ENABLED_STATIC(TESTBED) -LINK_PLUGIN(TESTBED) -#endif -#if PLUGIN_ENABLED_STATIC(TINSEL) -LINK_PLUGIN(TINSEL) -#endif -#if PLUGIN_ENABLED_STATIC(TOLTECS) -LINK_PLUGIN(TOLTECS) -#endif -#if PLUGIN_ENABLED_STATIC(TONY) -LINK_PLUGIN(TONY) -#endif -#if PLUGIN_ENABLED_STATIC(TOON) -LINK_PLUGIN(TOON) -#endif -#if PLUGIN_ENABLED_STATIC(TSAGE) -LINK_PLUGIN(TSAGE) -#endif -#if PLUGIN_ENABLED_STATIC(TOUCHE) -LINK_PLUGIN(TOUCHE) -#endif -#if PLUGIN_ENABLED_STATIC(TUCKER) -LINK_PLUGIN(TUCKER) -#endif -#if PLUGIN_ENABLED_STATIC(WINTERMUTE) -LINK_PLUGIN(WINTERMUTE) -#endif -#if PLUGIN_ENABLED_STATIC(ZVISION) -LINK_PLUGIN(ZVISION) -#endif diff --git a/engines/queen/engine-plugin.h b/engines/queen/engine-plugin.h new file mode 100644 index 0000000000..145f162a53 --- /dev/null +++ b/engines/queen/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(QUEEN) +LINK_PLUGIN(QUEEN) +#endif diff --git a/engines/saga/engine-plugin.h b/engines/saga/engine-plugin.h new file mode 100644 index 0000000000..d271e36c50 --- /dev/null +++ b/engines/saga/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(SAGA) +LINK_PLUGIN(SAGA) +#endif diff --git a/engines/sci/engine-plugin.h b/engines/sci/engine-plugin.h new file mode 100644 index 0000000000..01184e14e1 --- /dev/null +++ b/engines/sci/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(SCI) +LINK_PLUGIN(SCI) +#endif diff --git a/engines/scumm/engine-plugin.h b/engines/scumm/engine-plugin.h new file mode 100644 index 0000000000..be9f83a149 --- /dev/null +++ b/engines/scumm/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(SCUMM) +LINK_PLUGIN(SCUMM) +#endif diff --git a/engines/sky/engine-plugin.h b/engines/sky/engine-plugin.h new file mode 100644 index 0000000000..54e762226d --- /dev/null +++ b/engines/sky/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(SKY) +LINK_PLUGIN(SKY) +#endif diff --git a/engines/sword1/engine-plugin.h b/engines/sword1/engine-plugin.h new file mode 100644 index 0000000000..4f8b9fd5d3 --- /dev/null +++ b/engines/sword1/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(SWORD1) +LINK_PLUGIN(SWORD1) +#endif diff --git a/engines/sword2/engine-plugin.h b/engines/sword2/engine-plugin.h new file mode 100644 index 0000000000..791c358002 --- /dev/null +++ b/engines/sword2/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(SWORD2) +LINK_PLUGIN(SWORD2) +#endif diff --git a/engines/sword25/engine-plugin.h b/engines/sword25/engine-plugin.h new file mode 100644 index 0000000000..526b443f57 --- /dev/null +++ b/engines/sword25/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(SWORD25) +LINK_PLUGIN(SWORD25) +#endif diff --git a/engines/teenagent/engine-plugin.h b/engines/teenagent/engine-plugin.h new file mode 100644 index 0000000000..1edf835c5e --- /dev/null +++ b/engines/teenagent/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(TEENAGENT) +LINK_PLUGIN(TEENAGENT) +#endif diff --git a/engines/testbed/engine-plugin.h b/engines/testbed/engine-plugin.h new file mode 100644 index 0000000000..8ae5687fa1 --- /dev/null +++ b/engines/testbed/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(TESTBED) +LINK_PLUGIN(TESTBED) +#endif diff --git a/engines/tinsel/engine-plugin.h b/engines/tinsel/engine-plugin.h new file mode 100644 index 0000000000..a8046b2b92 --- /dev/null +++ b/engines/tinsel/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(TINSEL) +LINK_PLUGIN(TINSEL) +#endif diff --git a/engines/toltecs/engine-plugin.h b/engines/toltecs/engine-plugin.h new file mode 100644 index 0000000000..8d6320957f --- /dev/null +++ b/engines/toltecs/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(TOLTECS) +LINK_PLUGIN(TOLTECS) +#endif diff --git a/engines/tony/engine-plugin.h b/engines/tony/engine-plugin.h new file mode 100644 index 0000000000..68bd31b7d9 --- /dev/null +++ b/engines/tony/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(TONY) +LINK_PLUGIN(TONY) +#endif diff --git a/engines/toon/engine-plugin.h b/engines/toon/engine-plugin.h new file mode 100644 index 0000000000..969ac88265 --- /dev/null +++ b/engines/toon/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(TOON) +LINK_PLUGIN(TOON) +#endif diff --git a/engines/touche/engine-plugin.h b/engines/touche/engine-plugin.h new file mode 100644 index 0000000000..d778ec54a3 --- /dev/null +++ b/engines/touche/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(TOUCHE) +LINK_PLUGIN(TOUCHE) +#endif diff --git a/engines/tsage/engine-plugin.h b/engines/tsage/engine-plugin.h new file mode 100644 index 0000000000..73711aa4a0 --- /dev/null +++ b/engines/tsage/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(TSAGE) +LINK_PLUGIN(TSAGE) +#endif diff --git a/engines/tucker/engine-plugin.h b/engines/tucker/engine-plugin.h new file mode 100644 index 0000000000..524574c264 --- /dev/null +++ b/engines/tucker/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(TUCKER) +LINK_PLUGIN(TUCKER) +#endif diff --git a/engines/wintermute/engine-plugin.h b/engines/wintermute/engine-plugin.h new file mode 100644 index 0000000000..e338020200 --- /dev/null +++ b/engines/wintermute/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(WINTERMUTE) +LINK_PLUGIN(WINTERMUTE) +#endif diff --git a/engines/zvision/engine-plugin.h b/engines/zvision/engine-plugin.h new file mode 100644 index 0000000000..384a39e25d --- /dev/null +++ b/engines/zvision/engine-plugin.h @@ -0,0 +1,3 @@ +#if PLUGIN_ENABLED_STATIC(ZVISION) +LINK_PLUGIN(ZVISION) +#endif -- cgit v1.2.3 From 1ac01d2333af11d403ef84dd5192abb18814e5b3 Mon Sep 17 00:00:00 2001 From: D G Turner Date: Thu, 7 Nov 2013 12:58:34 +0100 Subject: BUILD: Remove need for engine-plugin.h in engines. This is now generated automatically by the configure script from the engine directory names. --- configure | 11 +++++++++-- engines/agi/engine-plugin.h | 3 --- engines/agos/engine-plugin.h | 3 --- engines/avalanche/engine-plugin.h | 3 --- engines/cge/engine-plugin.h | 3 --- engines/cine/engine-plugin.h | 3 --- engines/composer/engine-plugin.h | 3 --- engines/cruise/engine-plugin.h | 3 --- engines/draci/engine-plugin.h | 3 --- engines/drascula/engine-plugin.h | 3 --- engines/dreamweb/engine-plugin.h | 3 --- engines/fullpipe/engine-plugin.h | 3 --- engines/gob/engine-plugin.h | 3 --- engines/groovie/engine-plugin.h | 3 --- engines/hopkins/engine-plugin.h | 3 --- engines/hugo/engine-plugin.h | 3 --- engines/kyra/engine-plugin.h | 3 --- engines/lastexpress/engine-plugin.h | 3 --- engines/lure/engine-plugin.h | 3 --- engines/made/engine-plugin.h | 3 --- engines/mohawk/engine-plugin.h | 3 --- engines/mortevielle/engine-plugin.h | 3 --- engines/neverhood/engine-plugin.h | 3 --- engines/parallaction/engine-plugin.h | 3 --- engines/pegasus/engine-plugin.h | 3 --- engines/queen/engine-plugin.h | 3 --- engines/saga/engine-plugin.h | 3 --- engines/sci/engine-plugin.h | 3 --- engines/scumm/engine-plugin.h | 3 --- engines/sky/engine-plugin.h | 3 --- engines/sword1/engine-plugin.h | 3 --- engines/sword2/engine-plugin.h | 3 --- engines/sword25/engine-plugin.h | 3 --- engines/teenagent/engine-plugin.h | 3 --- engines/testbed/engine-plugin.h | 3 --- engines/tinsel/engine-plugin.h | 3 --- engines/toltecs/engine-plugin.h | 3 --- engines/tony/engine-plugin.h | 3 --- engines/toon/engine-plugin.h | 3 --- engines/touche/engine-plugin.h | 3 --- engines/tsage/engine-plugin.h | 3 --- engines/tucker/engine-plugin.h | 3 --- engines/wintermute/engine-plugin.h | 3 --- engines/zvision/engine-plugin.h | 3 --- 44 files changed, 9 insertions(+), 131 deletions(-) delete mode 100644 engines/agi/engine-plugin.h delete mode 100644 engines/agos/engine-plugin.h delete mode 100644 engines/avalanche/engine-plugin.h delete mode 100644 engines/cge/engine-plugin.h delete mode 100644 engines/cine/engine-plugin.h delete mode 100644 engines/composer/engine-plugin.h delete mode 100644 engines/cruise/engine-plugin.h delete mode 100644 engines/draci/engine-plugin.h delete mode 100644 engines/drascula/engine-plugin.h delete mode 100644 engines/dreamweb/engine-plugin.h delete mode 100644 engines/fullpipe/engine-plugin.h delete mode 100644 engines/gob/engine-plugin.h delete mode 100644 engines/groovie/engine-plugin.h delete mode 100644 engines/hopkins/engine-plugin.h delete mode 100644 engines/hugo/engine-plugin.h delete mode 100644 engines/kyra/engine-plugin.h delete mode 100644 engines/lastexpress/engine-plugin.h delete mode 100644 engines/lure/engine-plugin.h delete mode 100644 engines/made/engine-plugin.h delete mode 100644 engines/mohawk/engine-plugin.h delete mode 100644 engines/mortevielle/engine-plugin.h delete mode 100644 engines/neverhood/engine-plugin.h delete mode 100644 engines/parallaction/engine-plugin.h delete mode 100644 engines/pegasus/engine-plugin.h delete mode 100644 engines/queen/engine-plugin.h delete mode 100644 engines/saga/engine-plugin.h delete mode 100644 engines/sci/engine-plugin.h delete mode 100644 engines/scumm/engine-plugin.h delete mode 100644 engines/sky/engine-plugin.h delete mode 100644 engines/sword1/engine-plugin.h delete mode 100644 engines/sword2/engine-plugin.h delete mode 100644 engines/sword25/engine-plugin.h delete mode 100644 engines/teenagent/engine-plugin.h delete mode 100644 engines/testbed/engine-plugin.h delete mode 100644 engines/tinsel/engine-plugin.h delete mode 100644 engines/toltecs/engine-plugin.h delete mode 100644 engines/tony/engine-plugin.h delete mode 100644 engines/toon/engine-plugin.h delete mode 100644 engines/touche/engine-plugin.h delete mode 100644 engines/tsage/engine-plugin.h delete mode 100644 engines/tucker/engine-plugin.h delete mode 100644 engines/wintermute/engine-plugin.h delete mode 100644 engines/zvision/engine-plugin.h diff --git a/configure b/configure index 2bad89a87d..1832383a25 100755 --- a/configure +++ b/configure @@ -4390,6 +4390,13 @@ cat > engines/plugins_table.h << EOF // This file is being included by "base/plugins.cpp" EOF -for i in $_srcdir/engines/*/engine-plugin.h; do - cat $i >> engines/plugins_table.h +for i in $_srcdir/engines/*; do + if [ -d $i ]; then + j=`echo ${i#$_srcdir/engines/} | tr '[:lower:]' '[:upper:]'` + cat >> engines/plugins_table.h << EOF +#if PLUGIN_ENABLED_STATIC($j) +LINK_PLUGIN($j) +#endif +EOF + fi done diff --git a/engines/agi/engine-plugin.h b/engines/agi/engine-plugin.h deleted file mode 100644 index 962a8ca441..0000000000 --- a/engines/agi/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(AGI) -LINK_PLUGIN(AGI) -#endif diff --git a/engines/agos/engine-plugin.h b/engines/agos/engine-plugin.h deleted file mode 100644 index ea4e6f7168..0000000000 --- a/engines/agos/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(AGOS) -LINK_PLUGIN(AGOS) -#endif diff --git a/engines/avalanche/engine-plugin.h b/engines/avalanche/engine-plugin.h deleted file mode 100644 index bfe791dd17..0000000000 --- a/engines/avalanche/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(AVALANCHE) -LINK_PLUGIN(AVALANCHE) -#endif diff --git a/engines/cge/engine-plugin.h b/engines/cge/engine-plugin.h deleted file mode 100644 index 8f9c23eec0..0000000000 --- a/engines/cge/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(CGE) -LINK_PLUGIN(CGE) -#endif diff --git a/engines/cine/engine-plugin.h b/engines/cine/engine-plugin.h deleted file mode 100644 index be38a293bd..0000000000 --- a/engines/cine/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(CINE) -LINK_PLUGIN(CINE) -#endif diff --git a/engines/composer/engine-plugin.h b/engines/composer/engine-plugin.h deleted file mode 100644 index d06f241b40..0000000000 --- a/engines/composer/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(COMPOSER) -LINK_PLUGIN(COMPOSER) -#endif diff --git a/engines/cruise/engine-plugin.h b/engines/cruise/engine-plugin.h deleted file mode 100644 index 78fbbbd38a..0000000000 --- a/engines/cruise/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(CRUISE) -LINK_PLUGIN(CRUISE) -#endif diff --git a/engines/draci/engine-plugin.h b/engines/draci/engine-plugin.h deleted file mode 100644 index c02afdbb56..0000000000 --- a/engines/draci/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(DRACI) -LINK_PLUGIN(DRACI) -#endif diff --git a/engines/drascula/engine-plugin.h b/engines/drascula/engine-plugin.h deleted file mode 100644 index d0f598cce9..0000000000 --- a/engines/drascula/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(DRASCULA) -LINK_PLUGIN(DRASCULA) -#endif diff --git a/engines/dreamweb/engine-plugin.h b/engines/dreamweb/engine-plugin.h deleted file mode 100644 index fae9e7a754..0000000000 --- a/engines/dreamweb/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(DREAMWEB) -LINK_PLUGIN(DREAMWEB) -#endif diff --git a/engines/fullpipe/engine-plugin.h b/engines/fullpipe/engine-plugin.h deleted file mode 100644 index ea875a7e57..0000000000 --- a/engines/fullpipe/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(FULLPIPE) -LINK_PLUGIN(FULLPIPE) -#endif diff --git a/engines/gob/engine-plugin.h b/engines/gob/engine-plugin.h deleted file mode 100644 index 86cff48cbc..0000000000 --- a/engines/gob/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(GOB) -LINK_PLUGIN(GOB) -#endif diff --git a/engines/groovie/engine-plugin.h b/engines/groovie/engine-plugin.h deleted file mode 100644 index dcb05b1333..0000000000 --- a/engines/groovie/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(GROOVIE) -LINK_PLUGIN(GROOVIE) -#endif diff --git a/engines/hopkins/engine-plugin.h b/engines/hopkins/engine-plugin.h deleted file mode 100644 index fe54ca1449..0000000000 --- a/engines/hopkins/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(HOPKINS) -LINK_PLUGIN(HOPKINS) -#endif diff --git a/engines/hugo/engine-plugin.h b/engines/hugo/engine-plugin.h deleted file mode 100644 index 12b6edcd74..0000000000 --- a/engines/hugo/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(HUGO) -LINK_PLUGIN(HUGO) -#endif diff --git a/engines/kyra/engine-plugin.h b/engines/kyra/engine-plugin.h deleted file mode 100644 index b3bcb477da..0000000000 --- a/engines/kyra/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(KYRA) -LINK_PLUGIN(KYRA) -#endif diff --git a/engines/lastexpress/engine-plugin.h b/engines/lastexpress/engine-plugin.h deleted file mode 100644 index 2cca42fe92..0000000000 --- a/engines/lastexpress/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(LASTEXPRESS) -LINK_PLUGIN(LASTEXPRESS) -#endif diff --git a/engines/lure/engine-plugin.h b/engines/lure/engine-plugin.h deleted file mode 100644 index a1392601ac..0000000000 --- a/engines/lure/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(LURE) -LINK_PLUGIN(LURE) -#endif diff --git a/engines/made/engine-plugin.h b/engines/made/engine-plugin.h deleted file mode 100644 index ed544471ba..0000000000 --- a/engines/made/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(MADE) -LINK_PLUGIN(MADE) -#endif diff --git a/engines/mohawk/engine-plugin.h b/engines/mohawk/engine-plugin.h deleted file mode 100644 index d2e69794b1..0000000000 --- a/engines/mohawk/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(MOHAWK) -LINK_PLUGIN(MOHAWK) -#endif diff --git a/engines/mortevielle/engine-plugin.h b/engines/mortevielle/engine-plugin.h deleted file mode 100644 index a0895d42f6..0000000000 --- a/engines/mortevielle/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(MORTEVIELLE) -LINK_PLUGIN(MORTEVIELLE) -#endif diff --git a/engines/neverhood/engine-plugin.h b/engines/neverhood/engine-plugin.h deleted file mode 100644 index 7857703d07..0000000000 --- a/engines/neverhood/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(NEVERHOOD) -LINK_PLUGIN(NEVERHOOD) -#endif diff --git a/engines/parallaction/engine-plugin.h b/engines/parallaction/engine-plugin.h deleted file mode 100644 index 21fb5d9ba1..0000000000 --- a/engines/parallaction/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(PARALLACTION) -LINK_PLUGIN(PARALLACTION) -#endif diff --git a/engines/pegasus/engine-plugin.h b/engines/pegasus/engine-plugin.h deleted file mode 100644 index 7f9cb4388b..0000000000 --- a/engines/pegasus/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(PEGASUS) -LINK_PLUGIN(PEGASUS) -#endif diff --git a/engines/queen/engine-plugin.h b/engines/queen/engine-plugin.h deleted file mode 100644 index 145f162a53..0000000000 --- a/engines/queen/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(QUEEN) -LINK_PLUGIN(QUEEN) -#endif diff --git a/engines/saga/engine-plugin.h b/engines/saga/engine-plugin.h deleted file mode 100644 index d271e36c50..0000000000 --- a/engines/saga/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(SAGA) -LINK_PLUGIN(SAGA) -#endif diff --git a/engines/sci/engine-plugin.h b/engines/sci/engine-plugin.h deleted file mode 100644 index 01184e14e1..0000000000 --- a/engines/sci/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(SCI) -LINK_PLUGIN(SCI) -#endif diff --git a/engines/scumm/engine-plugin.h b/engines/scumm/engine-plugin.h deleted file mode 100644 index be9f83a149..0000000000 --- a/engines/scumm/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(SCUMM) -LINK_PLUGIN(SCUMM) -#endif diff --git a/engines/sky/engine-plugin.h b/engines/sky/engine-plugin.h deleted file mode 100644 index 54e762226d..0000000000 --- a/engines/sky/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(SKY) -LINK_PLUGIN(SKY) -#endif diff --git a/engines/sword1/engine-plugin.h b/engines/sword1/engine-plugin.h deleted file mode 100644 index 4f8b9fd5d3..0000000000 --- a/engines/sword1/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(SWORD1) -LINK_PLUGIN(SWORD1) -#endif diff --git a/engines/sword2/engine-plugin.h b/engines/sword2/engine-plugin.h deleted file mode 100644 index 791c358002..0000000000 --- a/engines/sword2/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(SWORD2) -LINK_PLUGIN(SWORD2) -#endif diff --git a/engines/sword25/engine-plugin.h b/engines/sword25/engine-plugin.h deleted file mode 100644 index 526b443f57..0000000000 --- a/engines/sword25/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(SWORD25) -LINK_PLUGIN(SWORD25) -#endif diff --git a/engines/teenagent/engine-plugin.h b/engines/teenagent/engine-plugin.h deleted file mode 100644 index 1edf835c5e..0000000000 --- a/engines/teenagent/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(TEENAGENT) -LINK_PLUGIN(TEENAGENT) -#endif diff --git a/engines/testbed/engine-plugin.h b/engines/testbed/engine-plugin.h deleted file mode 100644 index 8ae5687fa1..0000000000 --- a/engines/testbed/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(TESTBED) -LINK_PLUGIN(TESTBED) -#endif diff --git a/engines/tinsel/engine-plugin.h b/engines/tinsel/engine-plugin.h deleted file mode 100644 index a8046b2b92..0000000000 --- a/engines/tinsel/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(TINSEL) -LINK_PLUGIN(TINSEL) -#endif diff --git a/engines/toltecs/engine-plugin.h b/engines/toltecs/engine-plugin.h deleted file mode 100644 index 8d6320957f..0000000000 --- a/engines/toltecs/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(TOLTECS) -LINK_PLUGIN(TOLTECS) -#endif diff --git a/engines/tony/engine-plugin.h b/engines/tony/engine-plugin.h deleted file mode 100644 index 68bd31b7d9..0000000000 --- a/engines/tony/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(TONY) -LINK_PLUGIN(TONY) -#endif diff --git a/engines/toon/engine-plugin.h b/engines/toon/engine-plugin.h deleted file mode 100644 index 969ac88265..0000000000 --- a/engines/toon/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(TOON) -LINK_PLUGIN(TOON) -#endif diff --git a/engines/touche/engine-plugin.h b/engines/touche/engine-plugin.h deleted file mode 100644 index d778ec54a3..0000000000 --- a/engines/touche/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(TOUCHE) -LINK_PLUGIN(TOUCHE) -#endif diff --git a/engines/tsage/engine-plugin.h b/engines/tsage/engine-plugin.h deleted file mode 100644 index 73711aa4a0..0000000000 --- a/engines/tsage/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(TSAGE) -LINK_PLUGIN(TSAGE) -#endif diff --git a/engines/tucker/engine-plugin.h b/engines/tucker/engine-plugin.h deleted file mode 100644 index 524574c264..0000000000 --- a/engines/tucker/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(TUCKER) -LINK_PLUGIN(TUCKER) -#endif diff --git a/engines/wintermute/engine-plugin.h b/engines/wintermute/engine-plugin.h deleted file mode 100644 index e338020200..0000000000 --- a/engines/wintermute/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(WINTERMUTE) -LINK_PLUGIN(WINTERMUTE) -#endif diff --git a/engines/zvision/engine-plugin.h b/engines/zvision/engine-plugin.h deleted file mode 100644 index 384a39e25d..0000000000 --- a/engines/zvision/engine-plugin.h +++ /dev/null @@ -1,3 +0,0 @@ -#if PLUGIN_ENABLED_STATIC(ZVISION) -LINK_PLUGIN(ZVISION) -#endif -- cgit v1.2.3 From ef85456859e466adc8913041e4f31809485c45ab Mon Sep 17 00:00:00 2001 From: D G Turner Date: Thu, 7 Nov 2013 12:58:34 +0100 Subject: BUILD: Remove need for engine.mk in each engine directory. Each engine now only has to provide a single configure.engine file adding the engine into the configure script, which then produces the required other files automatically. --- .gitignore | 1 + Makefile | 2 +- Makefile.common | 8 +++----- configure | 40 +++++++++++++++++++++++++++++++++++++--- engines/agi/engine.mk | 4 ---- engines/agos/engine.mk | 8 -------- engines/avalanche/engine.mk | 4 ---- engines/cge/engine.mk | 4 ---- engines/cine/engine.mk | 4 ---- engines/composer/engine.mk | 4 ---- engines/cruise/engine.mk | 4 ---- engines/draci/engine.mk | 4 ---- engines/drascula/engine.mk | 4 ---- engines/dreamweb/engine.mk | 4 ---- engines/fullpipe/engine.mk | 4 ---- engines/gob/engine.mk | 4 ---- engines/groovie/engine.mk | 8 -------- engines/hopkins/engine.mk | 4 ---- engines/hugo/engine.mk | 4 ---- engines/kyra/engine.mk | 12 ------------ engines/lastexpress/engine.mk | 4 ---- engines/lure/engine.mk | 4 ---- engines/made/engine.mk | 4 ---- engines/mohawk/engine.mk | 16 ---------------- engines/mortevielle/engine.mk | 4 ---- engines/neverhood/engine.mk | 4 ---- engines/parallaction/engine.mk | 4 ---- engines/pegasus/engine.mk | 4 ---- engines/queen/engine.mk | 4 ---- engines/saga/engine.mk | 12 ------------ engines/sci/engine.mk | 8 -------- engines/scumm/engine.mk | 12 ------------ engines/sky/engine.mk | 4 ---- engines/sword1/engine.mk | 4 ---- engines/sword2/engine.mk | 4 ---- engines/sword25/engine.mk | 4 ---- engines/teenagent/engine.mk | 4 ---- engines/testbed/engine.mk | 4 ---- engines/tinsel/engine.mk | 4 ---- engines/toltecs/engine.mk | 4 ---- engines/tony/engine.mk | 4 ---- engines/toon/engine.mk | 4 ---- engines/touche/engine.mk | 4 ---- engines/tsage/engine.mk | 4 ---- engines/tucker/engine.mk | 4 ---- engines/wintermute/engine.mk | 4 ---- engines/zvision/engine.mk | 4 ---- 47 files changed, 42 insertions(+), 229 deletions(-) delete mode 100644 engines/agi/engine.mk delete mode 100644 engines/agos/engine.mk delete mode 100644 engines/avalanche/engine.mk delete mode 100644 engines/cge/engine.mk delete mode 100644 engines/cine/engine.mk delete mode 100644 engines/composer/engine.mk delete mode 100644 engines/cruise/engine.mk delete mode 100644 engines/draci/engine.mk delete mode 100644 engines/drascula/engine.mk delete mode 100644 engines/dreamweb/engine.mk delete mode 100644 engines/fullpipe/engine.mk delete mode 100644 engines/gob/engine.mk delete mode 100644 engines/groovie/engine.mk delete mode 100644 engines/hopkins/engine.mk delete mode 100644 engines/hugo/engine.mk delete mode 100644 engines/kyra/engine.mk delete mode 100644 engines/lastexpress/engine.mk delete mode 100644 engines/lure/engine.mk delete mode 100644 engines/made/engine.mk delete mode 100644 engines/mohawk/engine.mk delete mode 100644 engines/mortevielle/engine.mk delete mode 100644 engines/neverhood/engine.mk delete mode 100644 engines/parallaction/engine.mk delete mode 100644 engines/pegasus/engine.mk delete mode 100644 engines/queen/engine.mk delete mode 100644 engines/saga/engine.mk delete mode 100644 engines/sci/engine.mk delete mode 100644 engines/scumm/engine.mk delete mode 100644 engines/sky/engine.mk delete mode 100644 engines/sword1/engine.mk delete mode 100644 engines/sword2/engine.mk delete mode 100644 engines/sword25/engine.mk delete mode 100644 engines/teenagent/engine.mk delete mode 100644 engines/testbed/engine.mk delete mode 100644 engines/tinsel/engine.mk delete mode 100644 engines/toltecs/engine.mk delete mode 100644 engines/tony/engine.mk delete mode 100644 engines/toon/engine.mk delete mode 100644 engines/touche/engine.mk delete mode 100644 engines/tsage/engine.mk delete mode 100644 engines/tucker/engine.mk delete mode 100644 engines/wintermute/engine.mk delete mode 100644 engines/zvision/engine.mk diff --git a/.gitignore b/.gitignore index 04b81ddb43..469f22d11c 100644 --- a/.gitignore +++ b/.gitignore @@ -106,6 +106,7 @@ project.xcworkspace /plugins /engines/plugins_table.h +/engines/engines.mk /test/runner /test/runner.cpp diff --git a/Makefile b/Makefile index 2f17822051..45f50f99d7 100644 --- a/Makefile +++ b/Makefile @@ -83,7 +83,7 @@ include $(srcdir)/Makefile.common # check if configure has been run or has been changed since last run ENGINE_SUBDIRS_CONFIGURE := $(wildcard $(srcdir)/engines/*/configure.engine) -config.h config.mk engines/plugins_table.h: $(srcdir)/configure $(ENGINE_SUBDIRS_CONFIGURE) +config.h config.mk engines/plugins_table.h engines/engines.mk: $(srcdir)/configure $(ENGINE_SUBDIRS_CONFIGURE) ifeq "$(findstring config.mk,$(MAKEFILE_LIST))" "config.mk" @echo "Running $(srcdir)/configure with the last specified parameters" @sleep 2 diff --git a/Makefile.common b/Makefile.common index 0b2f8a564a..b56300a115 100644 --- a/Makefile.common +++ b/Makefile.common @@ -16,9 +16,7 @@ all: $(EXECUTABLE) plugins PLUGINS := MODULES := test devtools base $(MODULES) -ENGINE_SUBDIRS_MK := $(wildcard $(srcdir)/engines/*/engine.mk) -# Include the build instructions for all engines --include $(ENGINE_SUBDIRS_MK) +-include engines/engines.mk # After the game specific modules follow the shared modules MODULES += \ @@ -81,7 +79,7 @@ $(EXECUTABLE): $(OBJS) $(QUIET_LINK)$(LD) $(LDFLAGS) $(PRE_OBJS_FLAGS) $+ $(POST_OBJS_FLAGS) $(LIBS) -o $@ distclean: clean clean-devtools - $(RM) config.h config.mk config.log engines/plugins_table.h + $(RM) config.h config.mk config.log engines/engines.mk engines/plugins_table.h clean: $(RM_REC) $(DEPDIRS) @@ -149,7 +147,7 @@ endif # recreate them (which it can't), and in particular from looking for potential # source files. This can save quite a bit of disk access time. .PHONY: $(wildcard $(addsuffix /*.d,$(DEPDIRS))) $(addprefix $(srcdir)/, $(addsuffix /module.mk,$(MODULES))) \ - $(srcdir)/$(port_mk) $(srcdir)/rules.mk $ENGINE_SUBDIRS_MK + $(srcdir)/$(port_mk) $(srcdir)/rules.mk ###################################################################### # Get the current version information diff --git a/configure b/configure index 1832383a25..bf8649a9b8 100755 --- a/configure +++ b/configure @@ -4383,6 +4383,40 @@ EOF fi +echo "Creating engines/engines.mk" +cat > engines/engines.mk << EOF +# This file is automatically generated by configure +# DO NOT EDIT MANUALLY +# This file is being included by "Makefile.common" +EOF + +for engine in $_engines; do + j=`echo $engine | tr '[:lower:]' '[:upper:]'` + if test "`get_engine_sub $engine`" = "no" ; then + # main engine + cat >> engines/engines.mk << EOF + +ifdef ENABLE_$j +DEFINES += -DENABLE_$j=\$(ENABLE_$j) +MODULES += engines/$engine +EOF + + for subeng in `get_engine_subengines $engine` ; do + k=`echo $subeng | tr '[:lower:]' '[:upper:]'` + cat >> engines/engines.mk << EOF + +ifdef ENABLE_$k +DEFINES += -DENABLE_$k +endif +EOF + done + + cat >> engines/engines.mk << EOF +endif +EOF + fi +done + echo "Creating engines/plugins_table.h" cat > engines/plugins_table.h << EOF /* This file is automatically generated by configure */ @@ -4390,9 +4424,9 @@ cat > engines/plugins_table.h << EOF // This file is being included by "base/plugins.cpp" EOF -for i in $_srcdir/engines/*; do - if [ -d $i ]; then - j=`echo ${i#$_srcdir/engines/} | tr '[:lower:]' '[:upper:]'` +for engine in $_engines; do + if test "`get_engine_sub $engine`" = "no" ; then + j=`echo $engine | tr '[:lower:]' '[:upper:]'` cat >> engines/plugins_table.h << EOF #if PLUGIN_ENABLED_STATIC($j) LINK_PLUGIN($j) diff --git a/engines/agi/engine.mk b/engines/agi/engine.mk deleted file mode 100644 index 18963fd4a4..0000000000 --- a/engines/agi/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_AGI -DEFINES += -DENABLE_AGI=$(ENABLE_AGI) -MODULES += engines/agi -endif diff --git a/engines/agos/engine.mk b/engines/agos/engine.mk deleted file mode 100644 index ba60a78844..0000000000 --- a/engines/agos/engine.mk +++ /dev/null @@ -1,8 +0,0 @@ -ifdef ENABLE_AGOS -DEFINES += -DENABLE_AGOS=$(ENABLE_AGOS) -MODULES += engines/agos - -ifdef ENABLE_AGOS2 -DEFINES += -DENABLE_AGOS2 -endif -endif diff --git a/engines/avalanche/engine.mk b/engines/avalanche/engine.mk deleted file mode 100644 index 17356ee376..0000000000 --- a/engines/avalanche/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_AVALANCHE -DEFINES += -DENABLE_AVALANCHE=$(ENABLE_AVALANCHE) -MODULES += engines/avalanche -endif diff --git a/engines/cge/engine.mk b/engines/cge/engine.mk deleted file mode 100644 index c71f4e0df2..0000000000 --- a/engines/cge/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_CGE -DEFINES += -DENABLE_CGE=$(ENABLE_CGE) -MODULES += engines/cge -endif diff --git a/engines/cine/engine.mk b/engines/cine/engine.mk deleted file mode 100644 index a32c319d3c..0000000000 --- a/engines/cine/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_CINE -DEFINES += -DENABLE_CINE=$(ENABLE_CINE) -MODULES += engines/cine -endif diff --git a/engines/composer/engine.mk b/engines/composer/engine.mk deleted file mode 100644 index b444021013..0000000000 --- a/engines/composer/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_COMPOSER -DEFINES += -DENABLE_COMPOSER=$(ENABLE_COMPOSER) -MODULES += engines/composer -endif diff --git a/engines/cruise/engine.mk b/engines/cruise/engine.mk deleted file mode 100644 index ac37c61834..0000000000 --- a/engines/cruise/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_CRUISE -DEFINES += -DENABLE_CRUISE=$(ENABLE_CRUISE) -MODULES += engines/cruise -endif diff --git a/engines/draci/engine.mk b/engines/draci/engine.mk deleted file mode 100644 index 81ccc3f70f..0000000000 --- a/engines/draci/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_DRACI -DEFINES += -DENABLE_DRACI=$(ENABLE_DRACI) -MODULES += engines/draci -endif diff --git a/engines/drascula/engine.mk b/engines/drascula/engine.mk deleted file mode 100644 index ca4f6c9883..0000000000 --- a/engines/drascula/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_DRASCULA -DEFINES += -DENABLE_DRASCULA=$(ENABLE_DRASCULA) -MODULES += engines/drascula -endif diff --git a/engines/dreamweb/engine.mk b/engines/dreamweb/engine.mk deleted file mode 100644 index 088fcca535..0000000000 --- a/engines/dreamweb/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_DREAMWEB -DEFINES += -DENABLE_DREAMWEB=$(ENABLE_DREAMWEB) -MODULES += engines/dreamweb -endif diff --git a/engines/fullpipe/engine.mk b/engines/fullpipe/engine.mk deleted file mode 100644 index 7aeec541f1..0000000000 --- a/engines/fullpipe/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_FULLPIPE -DEFINES += -DENABLE_FULLPIPE=$(ENABLE_FULLPIPE) -MODULES += engines/fullpipe -endif diff --git a/engines/gob/engine.mk b/engines/gob/engine.mk deleted file mode 100644 index c78e7ddbf1..0000000000 --- a/engines/gob/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_GOB -DEFINES += -DENABLE_GOB=$(ENABLE_GOB) -MODULES += engines/gob -endif diff --git a/engines/groovie/engine.mk b/engines/groovie/engine.mk deleted file mode 100644 index a209860e84..0000000000 --- a/engines/groovie/engine.mk +++ /dev/null @@ -1,8 +0,0 @@ -ifdef ENABLE_GROOVIE -DEFINES += -DENABLE_GROOVIE=$(ENABLE_GROOVIE) -MODULES += engines/groovie - -ifdef ENABLE_GROOVIE2 -DEFINES += -DENABLE_GROOVIE2 -endif -endif diff --git a/engines/hopkins/engine.mk b/engines/hopkins/engine.mk deleted file mode 100644 index ac2281c0be..0000000000 --- a/engines/hopkins/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_HOPKINS -DEFINES += -DENABLE_HOPKINS=$(ENABLE_HOPKINS) -MODULES += engines/hopkins -endif diff --git a/engines/hugo/engine.mk b/engines/hugo/engine.mk deleted file mode 100644 index a6ca531dd0..0000000000 --- a/engines/hugo/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_HUGO -DEFINES += -DENABLE_HUGO=$(ENABLE_HUGO) -MODULES += engines/hugo -endif diff --git a/engines/kyra/engine.mk b/engines/kyra/engine.mk deleted file mode 100644 index a2bfce3038..0000000000 --- a/engines/kyra/engine.mk +++ /dev/null @@ -1,12 +0,0 @@ -ifdef ENABLE_KYRA -DEFINES += -DENABLE_KYRA=$(ENABLE_KYRA) -MODULES += engines/kyra - -ifdef ENABLE_LOL -DEFINES += -DENABLE_LOL -endif - -ifdef ENABLE_EOB -DEFINES += -DENABLE_EOB -endif -endif diff --git a/engines/lastexpress/engine.mk b/engines/lastexpress/engine.mk deleted file mode 100644 index 6e0ba3bf25..0000000000 --- a/engines/lastexpress/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_LASTEXPRESS -DEFINES += -DENABLE_LASTEXPRESS=$(ENABLE_LASTEXPRESS) -MODULES += engines/lastexpress -endif diff --git a/engines/lure/engine.mk b/engines/lure/engine.mk deleted file mode 100644 index 62be295b28..0000000000 --- a/engines/lure/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_LURE -DEFINES += -DENABLE_LURE=$(ENABLE_LURE) -MODULES += engines/lure -endif diff --git a/engines/made/engine.mk b/engines/made/engine.mk deleted file mode 100644 index 8fd832cbb5..0000000000 --- a/engines/made/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_MADE -DEFINES += -DENABLE_MADE=$(ENABLE_MADE) -MODULES += engines/made -endif diff --git a/engines/mohawk/engine.mk b/engines/mohawk/engine.mk deleted file mode 100644 index e9474b5534..0000000000 --- a/engines/mohawk/engine.mk +++ /dev/null @@ -1,16 +0,0 @@ -ifdef ENABLE_MOHAWK -DEFINES += -DENABLE_MOHAWK=$(ENABLE_MOHAWK) -MODULES += engines/mohawk - -ifdef ENABLE_CSTIME -DEFINES += -DENABLE_CSTIME -endif - -ifdef ENABLE_MYST -DEFINES += -DENABLE_MYST -endif - -ifdef ENABLE_RIVEN -DEFINES += -DENABLE_RIVEN -endif -endif diff --git a/engines/mortevielle/engine.mk b/engines/mortevielle/engine.mk deleted file mode 100644 index 4232dece3d..0000000000 --- a/engines/mortevielle/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_MORTEVIELLE -DEFINES += -DENABLE_MORTEVIELLE=$(ENABLE_MORTEVIELLE) -MODULES += engines/mortevielle -endif diff --git a/engines/neverhood/engine.mk b/engines/neverhood/engine.mk deleted file mode 100644 index 52b032a5d8..0000000000 --- a/engines/neverhood/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_NEVERHOOD -DEFINES += -DENABLE_NEVERHOOD=$(ENABLE_NEVERHOOD) -MODULES += engines/neverhood -endif diff --git a/engines/parallaction/engine.mk b/engines/parallaction/engine.mk deleted file mode 100644 index 465b6fc813..0000000000 --- a/engines/parallaction/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_PARALLACTION -DEFINES += -DENABLE_PARALLACTION=$(ENABLE_PARALLACTION) -MODULES += engines/parallaction -endif diff --git a/engines/pegasus/engine.mk b/engines/pegasus/engine.mk deleted file mode 100644 index 60bba59e65..0000000000 --- a/engines/pegasus/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_PEGASUS -DEFINES += -DENABLE_PEGASUS=$(ENABLE_PEGASUS) -MODULES += engines/pegasus -endif diff --git a/engines/queen/engine.mk b/engines/queen/engine.mk deleted file mode 100644 index 05f3dcad91..0000000000 --- a/engines/queen/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_QUEEN -DEFINES += -DENABLE_QUEEN=$(ENABLE_QUEEN) -MODULES += engines/queen -endif diff --git a/engines/saga/engine.mk b/engines/saga/engine.mk deleted file mode 100644 index a6e855bafd..0000000000 --- a/engines/saga/engine.mk +++ /dev/null @@ -1,12 +0,0 @@ -ifdef ENABLE_SAGA -DEFINES += -DENABLE_SAGA=$(ENABLE_SAGA) -MODULES += engines/saga - -ifdef ENABLE_IHNM -DEFINES += -DENABLE_IHNM -endif - -ifdef ENABLE_SAGA2 -DEFINES += -DENABLE_SAGA2 -endif -endif diff --git a/engines/sci/engine.mk b/engines/sci/engine.mk deleted file mode 100644 index 7f26a19833..0000000000 --- a/engines/sci/engine.mk +++ /dev/null @@ -1,8 +0,0 @@ -ifdef ENABLE_SCI -DEFINES += -DENABLE_SCI=$(ENABLE_SCI) -MODULES += engines/sci - -ifdef ENABLE_SCI32 -DEFINES += -DENABLE_SCI32 -endif -endif diff --git a/engines/scumm/engine.mk b/engines/scumm/engine.mk deleted file mode 100644 index 640dfb51b4..0000000000 --- a/engines/scumm/engine.mk +++ /dev/null @@ -1,12 +0,0 @@ -ifdef ENABLE_SCUMM -DEFINES += -DENABLE_SCUMM=$(ENABLE_SCUMM) -MODULES += engines/scumm - -ifdef ENABLE_SCUMM_7_8 -DEFINES += -DENABLE_SCUMM_7_8 -endif - -ifdef ENABLE_HE -DEFINES += -DENABLE_HE -endif -endif diff --git a/engines/sky/engine.mk b/engines/sky/engine.mk deleted file mode 100644 index 182e6082a2..0000000000 --- a/engines/sky/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_SKY -DEFINES += -DENABLE_SKY=$(ENABLE_SKY) -MODULES += engines/sky -endif diff --git a/engines/sword1/engine.mk b/engines/sword1/engine.mk deleted file mode 100644 index 39f6afb4fb..0000000000 --- a/engines/sword1/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_SWORD1 -DEFINES += -DENABLE_SWORD1=$(ENABLE_SWORD1) -MODULES += engines/sword1 -endif diff --git a/engines/sword2/engine.mk b/engines/sword2/engine.mk deleted file mode 100644 index 5f05112180..0000000000 --- a/engines/sword2/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_SWORD2 -DEFINES += -DENABLE_SWORD2=$(ENABLE_SWORD2) -MODULES += engines/sword2 -endif diff --git a/engines/sword25/engine.mk b/engines/sword25/engine.mk deleted file mode 100644 index 32a906c5cd..0000000000 --- a/engines/sword25/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_SWORD25 -DEFINES += -DENABLE_SWORD25=$(ENABLE_SWORD25) -MODULES += engines/sword25 -endif diff --git a/engines/teenagent/engine.mk b/engines/teenagent/engine.mk deleted file mode 100644 index 82004eb489..0000000000 --- a/engines/teenagent/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_TEENAGENT -DEFINES += -DENABLE_TEENAGENT=$(ENABLE_TEENAGENT) -MODULES += engines/teenagent -endif diff --git a/engines/testbed/engine.mk b/engines/testbed/engine.mk deleted file mode 100644 index b19db6ee9d..0000000000 --- a/engines/testbed/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_TESTBED -DEFINES += -DENABLE_TESTBED=$(ENABLE_TESTBED) -MODULES += engines/testbed -endif diff --git a/engines/tinsel/engine.mk b/engines/tinsel/engine.mk deleted file mode 100644 index f3df46bc34..0000000000 --- a/engines/tinsel/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_TINSEL -DEFINES += -DENABLE_TINSEL=$(ENABLE_TINSEL) -MODULES += engines/tinsel -endif diff --git a/engines/toltecs/engine.mk b/engines/toltecs/engine.mk deleted file mode 100644 index 38bf6c04b8..0000000000 --- a/engines/toltecs/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_TOLTECS -DEFINES += -DENABLE_TOLTECS=$(ENABLE_TOLTECS) -MODULES += engines/toltecs -endif diff --git a/engines/tony/engine.mk b/engines/tony/engine.mk deleted file mode 100644 index 605f2e6cd2..0000000000 --- a/engines/tony/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_TONY -DEFINES += -DENABLE_TONY=$(ENABLE_TONY) -MODULES += engines/tony -endif diff --git a/engines/toon/engine.mk b/engines/toon/engine.mk deleted file mode 100644 index ec8b66f122..0000000000 --- a/engines/toon/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_TOON -DEFINES += -DENABLE_TOON=$(ENABLE_TOON) -MODULES += engines/toon -endif diff --git a/engines/touche/engine.mk b/engines/touche/engine.mk deleted file mode 100644 index 1629a82b2c..0000000000 --- a/engines/touche/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_TOUCHE -DEFINES += -DENABLE_TOUCHE=$(ENABLE_TOUCHE) -MODULES += engines/touche -endif diff --git a/engines/tsage/engine.mk b/engines/tsage/engine.mk deleted file mode 100644 index d734665560..0000000000 --- a/engines/tsage/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_TSAGE -DEFINES += -DENABLE_TSAGE=$(ENABLE_TSAGE) -MODULES += engines/tsage -endif diff --git a/engines/tucker/engine.mk b/engines/tucker/engine.mk deleted file mode 100644 index 6342af048e..0000000000 --- a/engines/tucker/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_TUCKER -DEFINES += -DENABLE_TUCKER=$(ENABLE_TUCKER) -MODULES += engines/tucker -endif diff --git a/engines/wintermute/engine.mk b/engines/wintermute/engine.mk deleted file mode 100644 index 145d2f76b8..0000000000 --- a/engines/wintermute/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_WINTERMUTE -DEFINES += -DENABLE_WINTERMUTE=$(ENABLE_WINTERMUTE) -MODULES += engines/wintermute -endif diff --git a/engines/zvision/engine.mk b/engines/zvision/engine.mk deleted file mode 100644 index be76a4d67d..0000000000 --- a/engines/zvision/engine.mk +++ /dev/null @@ -1,4 +0,0 @@ -ifdef ENABLE_ZVISION -DEFINES += -DENABLE_ZVISION=$(ENABLE_ZVISION) -MODULES += engines/zvision -endif -- cgit v1.2.3 From 6e29e1abeefb998c97df14c6971c69822ead7959 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Thu, 7 Nov 2013 12:58:34 +0100 Subject: DEVTOOLS: Adapt create_project for new configure.engine files. I could not try any generated project files since I do not have access to the IDEs. --- devtools/create_project/create_project.cpp | 165 ++++++++++++++++++++--------- devtools/create_project/create_project.h | 43 +++++++- 2 files changed, 151 insertions(+), 57 deletions(-) diff --git a/devtools/create_project/create_project.cpp b/devtools/create_project/create_project.cpp index e013377241..ad3160d778 100644 --- a/devtools/create_project/create_project.cpp +++ b/devtools/create_project/create_project.cpp @@ -81,22 +81,6 @@ std::string unifyPath(const std::string &path); * @param exe Name of the executable. */ void displayHelp(const char *exe); - -/** - * Structure for describing an FSNode. This is a very minimalistic - * description, which includes everything we need. - * It only contains the name of the node and whether it is a directory - * or not. - */ -struct FSNode { - FSNode() : name(), isDirectory(false) {} - FSNode(const std::string &n, bool iD) : name(n), isDirectory(iD) {} - - std::string name; ///< Name of the file system node - bool isDirectory; ///< Whether it is a directory or not -}; - -typedef std::list FileList; } // End of anonymous namespace enum ProjectType { @@ -128,7 +112,7 @@ int main(int argc, char *argv[]) { setup.filePrefix = setup.srcDir; setup.outputDir = '.'; - setup.engines = parseConfigure(setup.srcDir); + setup.engines = parseEngines(setup.srcDir); if (setup.engines.empty()) { std::cout << "WARNING: No engines found in configure file or configure file missing in \"" << setup.srcDir << "\"\n"; @@ -672,47 +656,51 @@ void displayHelp(const char *exe) { } /** - * Try to parse a given line and create an engine definition - * out of the result. - * - * This may take *any* input line, when the line is not used - * to define an engine the result of the function will be "false". + * Parse the configure.engine file of a given engine directory and return a + * list of all defined engines. * - * Note that the contents of "engine" are undefined, when this - * function returns "false". + * @param engineDir The directory of the engine. + * @return The list of all defined engines. + */ +EngineDescList parseEngineConfigure(const std::string &engineDir); + +/** + * Compares two FSNode entries in a strict-weak fashion based on the name. * - * @param line Text input line. - * @param engine Reference to an object, where the engine information - * is to be stored in. - * @return "true", when parsing succeeded, "false" otherwise. + * @param left The first operand. + * @param right The second operand. + * @return "true" when the name of the left operand is strictly smaller than + * the name of the second operand. "false" otherwise. */ -bool parseEngine(const std::string &line, EngineDesc &engine); +bool compareFSNode(const CreateProjectTool::FSNode &left, const CreateProjectTool::FSNode &right); } // End of anonymous namespace -EngineDescList parseConfigure(const std::string &srcDir) { - std::string configureFile = srcDir + "/engines/configure.engines"; +EngineDescList parseEngines(const std::string &srcDir) { + using CreateProjectTool::FileList; + using CreateProjectTool::listDirectory; - std::ifstream configure(configureFile.c_str()); - if (!configure) - return EngineDescList(); + EngineDescList engineList; - std::string line; - EngineDescList engines; + FileList engineFiles = listDirectory(srcDir + "/engines/"); - for (;;) { - std::getline(configure, line); - if (configure.eof()) - break; + // Sort file list alphabetically this allows for a nicer order in + // --list-engines output, for example. + engineFiles.sort(&compareFSNode); - if (configure.fail()) - error("Failed while reading from " + configureFile); + for (FileList::const_iterator i = engineFiles.begin(), end = engineFiles.end(); i != end; ++i) { + // Each engine requires its own sub directory thus we will skip all + // non directory file nodes here. + if (!i->isDirectory) { + continue; + } - EngineDesc desc; - if (parseEngine(line, desc)) - engines.push_back(desc); + // Retrieve all engines defined in this sub directory and add them to + // the list of all engines. + EngineDescList list = parseEngineConfigure(srcDir + "/engines/" + i->name); + engineList.splice(engineList.end(), list); } - return engines; + return engineList; } bool isSubEngine(const std::string &name, const EngineDescList &engines) { @@ -777,6 +765,21 @@ StringList getEngineDefines(const EngineDescList &engines) { } namespace { +/** + * Try to parse a given line and create an engine definition + * out of the result. + * + * This may take *any* input line, when the line is not used + * to define an engine the result of the function will be "false". + * + * Note that the contents of "engine" are undefined, when this + * function returns "false". + * + * @param line Text input line. + * @param engine Reference to an object, where the engine information + * is to be stored in. + * @return "true", when parsing succeeded, "false" otherwise. + */ bool parseEngine(const std::string &line, EngineDesc &engine) { // Format: // add_engine engine_name "Readable Description" enable_default ["SubEngineList"] @@ -799,6 +802,36 @@ bool parseEngine(const std::string &line, EngineDesc &engine) { return true; } + +EngineDescList parseEngineConfigure(const std::string &engineDir) { + std::string configureFile = engineDir + "/configure.engine"; + + std::ifstream configure(configureFile.c_str()); + if (!configure) + return EngineDescList(); + + std::string line; + EngineDescList engines; + + for (;;) { + std::getline(configure, line); + if (configure.eof()) + break; + + if (configure.fail()) + error("Failed while reading from " + configureFile); + + EngineDesc desc; + if (parseEngine(line, desc)) + engines.push_back(desc); + } + + return engines; +} + +bool compareFSNode(const CreateProjectTool::FSNode &left, const CreateProjectTool::FSNode &right) { + return left.name < right.name; +} } // End of anonymous namespace TokenList tokenize(const std::string &input, char separator) { @@ -1048,13 +1081,6 @@ bool compareNodes(const FileNode *l, const FileNode *r) { } } -/** - * Returns a list of all files and directories in the specified - * path. - * - * @param dir Directory which should be listed. - * @return List of all children. - */ FileList listDirectory(const std::string &dir) { FileList result; #ifdef USE_WIN32_API @@ -1242,6 +1268,12 @@ void ProjectProvider::createProject(BuildSetup &setup) { // Create other misc. build files createOtherBuildFiles(setup); + + // In case we create the main ScummVM project files we will need to + // generate engines/plugins_table.h too. + if (!setup.tests && !setup.devTools) { + createEnginePluginsTable(setup); + } } ProjectProvider::UUIDMap ProjectProvider::createUUIDMap(const BuildSetup &setup) const { @@ -1569,6 +1601,33 @@ void ProjectProvider::createModuleList(const std::string &moduleDir, const Strin error("Malformed file " + moduleMkFile); } +void ProjectProvider::createEnginePluginsTable(const BuildSetup &setup) { + const std::string enginePluginsTableFile = setup.outputDir + "/engines/plugins_table.h"; + std::ofstream enginePluginsTable(enginePluginsTableFile.c_str()); + if (!enginePluginsTable) { + error("Could not open \"" + enginePluginsTableFile + "\" for writing"); + } + + enginePluginsTable << "/* This file is automatically generated by create_project */\n" + << "/* DO NOT EDIT MANUALLY */\n" + << "// This file is being included by \"base/plugins.cpp\"\n"; + + for (EngineDescList::const_iterator i = setup.engines.begin(), end = setup.engines.end(); i != end; ++i) { + // We ignore all sub engines here because they require no special + // handling. + if (isSubEngine(i->name, setup.engines)) { + continue; + } + + // Make the engine name all uppercase. + std::string engineName; + std::transform(i->name.begin(), i->name.end(), std::back_inserter(engineName), toupper); + + enginePluginsTable << "#if PLUGIN_ENABLED_STATIC(" << engineName << ")\n" + << "LINK_PLUGIN(" << engineName << ")\n" + << "#endif\n"; + } +} } // End of anonymous namespace void error(const std::string &message) { diff --git a/devtools/create_project/create_project.h b/devtools/create_project/create_project.h index 2f27cc2f61..69ed551151 100644 --- a/devtools/create_project/create_project.h +++ b/devtools/create_project/create_project.h @@ -102,16 +102,17 @@ struct EngineDesc { typedef std::list EngineDescList; /** - * This function parses the project configure file and creates a list - * of available engines. + * This function parses the project directory and creates a list of + * available engines. * * It will also automatically setup the default build state (enabled - * or disabled) to the state specified in the "configure" file. + * or disabled) to the state specified in the individual configure.engine + * files. * * @param srcDir Path to the root of the project source. * @return List of available engines. */ -EngineDescList parseConfigure(const std::string &srcDir); +EngineDescList parseEngines(const std::string &srcDir); /** * Checks whether the specified engine is a sub engine. To determine this @@ -262,6 +263,22 @@ void NORETURN_PRE error(const std::string &message) NORETURN_POST; namespace CreateProjectTool { +/** + * Structure for describing an FSNode. This is a very minimalistic + * description, which includes everything we need. + * It only contains the name of the node and whether it is a directory + * or not. + */ +struct FSNode { + FSNode() : name(), isDirectory(false) {} + FSNode(const std::string &n, bool iD) : name(n), isDirectory(iD) {} + + std::string name; ///< Name of the file system node + bool isDirectory; ///< Whether it is a directory or not +}; + +typedef std::list FileList; + /** * Gets a proper sequence of \t characters for the given * indentation level. @@ -314,6 +331,15 @@ bool producesObjectFile(const std::string &fileName); */ std::string toString(int num); +/** + * Returns a list of all files and directories in the specified + * path. + * + * @param dir Directory which should be listed. + * @return List of all children. + */ +FileList listDirectory(const std::string &dir); + /** * Structure representing a file tree. This contains two * members: name and children. "name" holds the name of @@ -474,6 +500,15 @@ protected: * @return A new UUID as string. */ std::string createUUID() const; + +private: + /** + * This creates the engines/plugins_table.h file required for building + * ScummVM. + * + * @param setup Description of the desired build. + */ + void createEnginePluginsTable(const BuildSetup &setup); }; } // End of CreateProjectTool namespace -- cgit v1.2.3 From 100e45e7488e45eec46a937aa841da1372f4956d Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Thu, 7 Nov 2013 12:58:34 +0100 Subject: BUILD: Add engines/plugins_table.h to git in the ideprojects target. --- ports.mk | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ports.mk b/ports.mk index f9d075707b..9b54b3533b 100644 --- a/ports.mk +++ b/ports.mk @@ -318,15 +318,15 @@ else ifeq "$(CUR_BRANCH)" "" $(error You must be on a release branch) endif @echo Creating Code::Blocks project files... - @cd $(srcdir)/dists/codeblocks && ../../devtools/create_project/create_project ../.. --codeblocks >/dev/null && git add -f *.workspace *.cbp + @cd $(srcdir)/dists/codeblocks && ../../devtools/create_project/create_project ../.. --codeblocks >/dev/null && git add -f engines/plugins_table.h *.workspace *.cbp @echo Creating MSVC8 project files... - @cd $(srcdir)/dists/msvc8 && ../../devtools/create_project/create_project ../.. --msvc --msvc-version 8 >/dev/null && git add -f *.sln *.vcproj *.vsprops + @cd $(srcdir)/dists/msvc8 && ../../devtools/create_project/create_project ../.. --msvc --msvc-version 8 >/dev/null && git add -f engines/plugins_table.h *.sln *.vcproj *.vsprops @echo Creating MSVC9 project files... - @cd $(srcdir)/dists/msvc9 && ../../devtools/create_project/create_project ../.. --msvc --msvc-version 9 >/dev/null && git add -f *.sln *.vcproj *.vsprops + @cd $(srcdir)/dists/msvc9 && ../../devtools/create_project/create_project ../.. --msvc --msvc-version 9 >/dev/null && git add -f engines/plugins_table.h *.sln *.vcproj *.vsprops @echo Creating MSVC10 project files... - @cd $(srcdir)/dists/msvc10 && ../../devtools/create_project/create_project ../.. --msvc --msvc-version 10 >/dev/null && git add -f *.sln *.vcxproj *.vcxproj.filters *.props + @cd $(srcdir)/dists/msvc10 && ../../devtools/create_project/create_project ../.. --msvc --msvc-version 10 >/dev/null && git add -f engines/plugins_table.h *.sln *.vcxproj *.vcxproj.filters *.props @echo Creating MSVC11 project files... - @cd $(srcdir)/dists/msvc11 && ../../devtools/create_project/create_project ../.. --msvc --msvc-version 11 >/dev/null && git add -f *.sln *.vcxproj *.vcxproj.filters *.props + @cd $(srcdir)/dists/msvc11 && ../../devtools/create_project/create_project ../.. --msvc --msvc-version 11 >/dev/null && git add -f engines/plugins_table.h *.sln *.vcxproj *.vcxproj.filters *.props @echo @echo All is done. @echo Now run -- cgit v1.2.3 From 9c025523587410371d5b2e9e4d9643e02f33b5e2 Mon Sep 17 00:00:00 2001 From: D G Turner Date: Thu, 7 Nov 2013 12:58:34 +0100 Subject: BUILD: Partial solution for parallel make issue. This is due to the multiple outputs produced by the configure rule, which cause multiple invocations of configure when make is run in parallel. Various solutions are detailed in the Multiple-Outputs section of the GNU automake manual which apply generally to makefiles. This solution is a simpler one, but should solve the problem, though it can fail on "mutilated" trees ie. where some of the configure outputs are present, but not all... but this situation is not common, tends to be due to an error in configure and should be recoverable by a "make clean && ./configure" call. --- Makefile | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 45f50f99d7..88b60ca73f 100644 --- a/Makefile +++ b/Makefile @@ -83,7 +83,7 @@ include $(srcdir)/Makefile.common # check if configure has been run or has been changed since last run ENGINE_SUBDIRS_CONFIGURE := $(wildcard $(srcdir)/engines/*/configure.engine) -config.h config.mk engines/plugins_table.h engines/engines.mk: $(srcdir)/configure $(ENGINE_SUBDIRS_CONFIGURE) +config.h: $(srcdir)/configure $(ENGINE_SUBDIRS_CONFIGURE) ifeq "$(findstring config.mk,$(MAKEFILE_LIST))" "config.mk" @echo "Running $(srcdir)/configure with the last specified parameters" @sleep 2 @@ -95,6 +95,14 @@ else $(error You need to run $(srcdir)/configure before you can run make. Check $(srcdir)/configure --help for a list of parameters) endif +config.mk engines/plugins_table.h engines/engines.mk: config.h + @if test -f $@; then \ + touch $@; \ + else \ + rm -f config.h; \ + $(MAKE) config.h; \ + fi + ifneq ($(origin port_mk), undefined) include $(srcdir)/$(port_mk) endif -- cgit v1.2.3 From 19a20ad71fb8b57504f54786b39ba481dd1400b0 Mon Sep 17 00:00:00 2001 From: D G Turner Date: Thu, 7 Nov 2013 12:58:34 +0100 Subject: BUILD: Create engines/ dir if necessary, to fix out-of-tree builds --- configure | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/configure b/configure index bf8649a9b8..e474490efb 100755 --- a/configure +++ b/configure @@ -4383,6 +4383,10 @@ EOF fi +# Ensure engines folder exists prior to trying to generate +# files into it (used for out-of-tree-builds) +mkdir -p engines + echo "Creating engines/engines.mk" cat > engines/engines.mk << EOF # This file is automatically generated by configure -- cgit v1.2.3 From c00ab00f250205dc76890965562f5b661055826a Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Thu, 7 Nov 2013 12:58:35 +0100 Subject: DEVTOOLS: Factor out function to create directories in create_project. --- devtools/create_project/create_project.cpp | 27 ++++++++++++++++++++++++++ devtools/create_project/create_project.h | 7 +++++++ devtools/create_project/xcode.cpp | 31 +----------------------------- 3 files changed, 35 insertions(+), 30 deletions(-) diff --git a/devtools/create_project/create_project.cpp b/devtools/create_project/create_project.cpp index ad3160d778..026cbe07a4 100644 --- a/devtools/create_project/create_project.cpp +++ b/devtools/create_project/create_project.cpp @@ -59,6 +59,7 @@ #include #include #include +#include #endif namespace { @@ -1121,6 +1122,32 @@ FileList listDirectory(const std::string &dir) { return result; } +void createDirectory(const std::string &dir) { +#if defined(_WIN32) || defined(WIN32) + if (!CreateDirectory(dir.c_str(), NULL)) { + if (GetLastError() != ERROR_ALREADY_EXISTS) { + error("Could not create folder \"" + dir + "\""); + } + } +#else + if (mkdir(dir.c_str(), 0777) == -1) { + if (errno == EEXIST) { + // Try to open as a folder (might be a file / symbolic link) + DIR *dirp = opendir(dir.c_str()); + if (dirp == NULL) { + error("Could not create folder \"" + dir + "\""); + } else { + // The folder exists, just close the stream and return + closedir(dirp); + } + } else { + error("Could not create folder \"" + dir + "\""); + } + } +#endif + +} + /** * Scans the specified directory against files, which should be included * in the project files. It will not include files present in the exclude list. diff --git a/devtools/create_project/create_project.h b/devtools/create_project/create_project.h index 69ed551151..459342a67d 100644 --- a/devtools/create_project/create_project.h +++ b/devtools/create_project/create_project.h @@ -340,6 +340,13 @@ std::string toString(int num); */ FileList listDirectory(const std::string &dir); +/** + * Create a directory at the given path. + * + * @param dir The path to create. + */ +void createDirectory(const std::string &dir); + /** * Structure representing a file tree. This contains two * members: name and children. "name" holds the name of diff --git a/devtools/create_project/xcode.cpp b/devtools/create_project/xcode.cpp index a9b8e7a752..d95bf3e9ee 100644 --- a/devtools/create_project/xcode.cpp +++ b/devtools/create_project/xcode.cpp @@ -26,15 +26,6 @@ #include #include -#if defined(_WIN32) || defined(WIN32) -#include -#else -#include -#include -#include -#include -#endif - namespace CreateProjectTool { #define DEBUG_XCODE_HASH 0 @@ -88,27 +79,7 @@ XCodeProvider::XCodeProvider(StringList &global_warnings, std::map engines/engines.mk << EOF # This file is being included by "Makefile.common" EOF -for engine in $_engines; do +for engine in $_sorted_engines; do j=`echo $engine | tr '[:lower:]' '[:upper:]'` if test "`get_engine_sub $engine`" = "no" ; then # main engine @@ -4428,7 +4438,7 @@ cat > engines/plugins_table.h << EOF // This file is being included by "base/plugins.cpp" EOF -for engine in $_engines; do +for engine in $_sorted_engines; do if test "`get_engine_sub $engine`" = "no" ; then j=`echo $engine | tr '[:lower:]' '[:upper:]'` cat >> engines/plugins_table.h << EOF -- cgit v1.2.3 From 80136c1e51902d4c63264730e26a7b4aff35e829 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Thu, 7 Nov 2013 12:58:35 +0100 Subject: DEVTOOLS: Make create_project sort SCUMM as first engine. This makes create_project output consistent with configure output again. --- devtools/create_project/config.h | 1 + devtools/create_project/create_project.cpp | 35 ++++++++++++++++++++++++++++-- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/devtools/create_project/config.h b/devtools/create_project/config.h index 1a66edff93..9d4b101360 100644 --- a/devtools/create_project/config.h +++ b/devtools/create_project/config.h @@ -27,6 +27,7 @@ #define PROJECT_NAME "scummvm" // Used for folders, icons, resources and project/solution name #define LIBS_DEFINE "SCUMMVM_LIBS" // Name of the include environment variable #define REVISION_DEFINE "SCUMMVM_INTERNAL_REVISION" +#define FIRST_ENGINE "scumm" // Name of the engine which should be sorted as first element #define ENABLE_LANGUAGE_EXTENSIONS "" // Comma separated list of projects that need language extensions #define DISABLE_EDIT_AND_CONTINUE "tinsel,tony,scummvm" // Comma separated list of projects that need Edit&Continue to be disabled for co-routine support (the main project is automatically added) diff --git a/devtools/create_project/create_project.cpp b/devtools/create_project/create_project.cpp index 3eba36e235..16b8e1d166 100644 --- a/devtools/create_project/create_project.cpp +++ b/devtools/create_project/create_project.cpp @@ -674,6 +674,19 @@ EngineDescList parseEngineConfigure(const std::string &engineDir); * the name of the second operand. "false" otherwise. */ bool compareFSNode(const CreateProjectTool::FSNode &left, const CreateProjectTool::FSNode &right); + +#ifdef FIRST_ENGINE +/** + * Compares two FSNode entries in a strict-weak fashion based on engine name + * order. + * + * @param left The first operand. + * @param right The second operand. + * @return "true" when the name of the left operand is strictly smaller than + * the name of the second operand. "false" otherwise. + */ +bool compareEngineNames(const CreateProjectTool::FSNode &left, const CreateProjectTool::FSNode &right); +#endif } // End of anonymous namespace EngineDescList parseEngines(const std::string &srcDir) { @@ -684,9 +697,15 @@ EngineDescList parseEngines(const std::string &srcDir) { FileList engineFiles = listDirectory(srcDir + "/engines/"); - // Sort file list alphabetically this allows for a nicer order in - // --list-engines output, for example. +#ifdef FIRST_ENGINE + // In case we want to sort an engine to the front of the list we will + // use some manual sorting predicate which assures that. + engineFiles.sort(&compareEngineNames); +#else + // Otherwise, we simply sort the file list alphabetically this allows + // for a nicer order in --list-engines output, for example. engineFiles.sort(&compareFSNode); +#endif for (FileList::const_iterator i = engineFiles.begin(), end = engineFiles.end(); i != end; ++i) { // Each engine requires its own sub directory thus we will skip all @@ -833,6 +852,18 @@ EngineDescList parseEngineConfigure(const std::string &engineDir) { bool compareFSNode(const CreateProjectTool::FSNode &left, const CreateProjectTool::FSNode &right) { return left.name < right.name; } + +#ifdef FIRST_ENGINE +bool compareEngineNames(const CreateProjectTool::FSNode &left, const CreateProjectTool::FSNode &right) { + if (left.name == FIRST_ENGINE) { + return right.name != FIRST_ENGINE; + } else if (right.name == FIRST_ENGINE) { + return false; + } else { + return compareFSNode(left, right); + } +} +#endif } // End of anonymous namespace TokenList tokenize(const std::string &input, char separator) { -- cgit v1.2.3 From aa2371c3d8749e4a552ee88c0a36e45e88b0e9ba Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 24 Nov 2013 02:00:21 +0100 Subject: DRACI: Janitorial - Fix spacing errors --- engines/draci/barchive.cpp | 12 ++--- engines/draci/game.cpp | 2 +- engines/draci/script.cpp | 110 ++++++++++++++++++++++----------------------- 3 files changed, 62 insertions(+), 62 deletions(-) diff --git a/engines/draci/barchive.cpp b/engines/draci/barchive.cpp index 31dfe62dee..584367fdfb 100644 --- a/engines/draci/barchive.cpp +++ b/engines/draci/barchive.cpp @@ -203,12 +203,12 @@ void BArchive::openArchive(const Common::String &path) { uint32 fileOffset; fileOffset = reader.readUint32LE(); - _f.seek(fileOffset); // Seek to next file in archive + _f.seek(fileOffset); // Seek to next file in archive - _files[i]._compLength = _f.readUint16LE(); // Compressed size + _files[i]._compLength = _f.readUint16LE(); // Compressed size // should be the same as uncompressed - _files[i]._length = _f.readUint16LE(); // Original size + _files[i]._length = _f.readUint16LE(); // Original size _files[i]._offset = fileOffset; // Offset of file from start @@ -216,9 +216,9 @@ void BArchive::openArchive(const Common::String &path) { assert(compressionType == 0 && "Compression type flag is non-zero (file is compressed)"); - _files[i]._crc = _f.readByte(); // CRC checksum of the file - _files[i]._data = NULL; // File data will be read in on demand - _files[i]._stopper = 0; // Dummy value; not used in BAR files, needed in DFW + _files[i]._crc = _f.readByte(); // CRC checksum of the file + _files[i]._data = NULL; // File data will be read in on demand + _files[i]._stopper = 0; // Dummy value; not used in BAR files, needed in DFW } // Last footer item should be equal to footerOffset diff --git a/engines/draci/game.cpp b/engines/draci/game.cpp index a5c8aa867f..009f1bb3d2 100644 --- a/engines/draci/game.cpp +++ b/engines/draci/game.cpp @@ -1410,7 +1410,7 @@ void Game::enterNewRoom() { // for the dragon in the persons array if (_newRoom == _info._mapRoom) { _persons[kDragonObject]._x = 160; - _persons[kDragonObject]._y = 0; + _persons[kDragonObject]._y = 0; } // Set the appropriate loop status before loading the room diff --git a/engines/draci/script.cpp b/engines/draci/script.cpp index 8ff60033ed..49bd111f98 100644 --- a/engines/draci/script.cpp +++ b/engines/draci/script.cpp @@ -41,65 +41,65 @@ namespace Draci { void Script::setupCommandList() { /** A table of all the commands the game player uses */ static const GPL2Command gplCommands[] = { - { 0, 0, "gplend", 0, { }, NULL }, - { 0, 1, "exit", 0, { }, NULL }, - { 1, 1, "goto", 1, { kGPL2Ident }, &Script::c_Goto }, - { 2, 1, "Let", 2, { kGPL2Ident, kGPL2Math }, &Script::c_Let }, - { 3, 1, "if", 2, { kGPL2Math, kGPL2Ident }, &Script::c_If }, - { 4, 1, "Start", 2, { kGPL2Ident, kGPL2Str }, &Script::start }, - { 5, 1, "Load", 2, { kGPL2Ident, kGPL2Str }, &Script::load }, - { 5, 2, "StartPlay", 2, { kGPL2Ident, kGPL2Str }, &Script::startPlay }, - { 5, 3, "JustTalk", 0, { }, &Script::justTalk }, - { 5, 4, "JustStay", 0, { }, &Script::justStay }, - { 6, 1, "Talk", 2, { kGPL2Ident, kGPL2Str }, &Script::talk }, - { 7, 1, "ObjStat", 2, { kGPL2Ident, kGPL2Ident }, &Script::objStat }, - { 7, 2, "ObjStat_On", 2, { kGPL2Ident, kGPL2Ident }, &Script::objStatOn }, - { 8, 1, "IcoStat", 2, { kGPL2Ident, kGPL2Ident }, &Script::icoStat }, - { 9, 1, "Dialogue", 1, { kGPL2Str }, &Script::dialogue }, - { 9, 2, "ExitDialogue", 0, { }, &Script::exitDialogue }, - { 9, 3, "ResetDialogue", 0, { }, &Script::resetDialogue }, - { 9, 4, "ResetDialogueFrom", 0, { }, &Script::resetDialogueFrom }, - { 9, 5, "ResetBlock", 1, { kGPL2Ident }, &Script::resetBlock }, - { 10, 1, "WalkOn", 3, { kGPL2Num, kGPL2Num, kGPL2Ident }, &Script::walkOn }, - { 10, 2, "StayOn", 3, { kGPL2Num, kGPL2Num, kGPL2Ident }, &Script::stayOn }, - { 10, 3, "WalkOnPlay", 3, { kGPL2Num, kGPL2Num, kGPL2Ident }, &Script::walkOnPlay }, - { 11, 1, "LoadPalette", 1, { kGPL2Str }, &Script::loadPalette }, - { 12, 1, "SetPalette", 0, { }, &Script::setPalette }, - { 12, 2, "BlackPalette", 0, { }, &Script::blackPalette }, - { 13, 1, "FadePalette", 3, { kGPL2Num, kGPL2Num, kGPL2Num }, &Script::fadePalette }, - { 13, 2, "FadePalettePlay", 3, { kGPL2Num, kGPL2Num, kGPL2Num }, &Script::fadePalettePlay }, - { 14, 1, "NewRoom", 2, { kGPL2Ident, kGPL2Num }, &Script::newRoom }, - { 15, 1, "ExecInit", 1, { kGPL2Ident }, &Script::execInit }, - { 15, 2, "ExecLook", 1, { kGPL2Ident }, &Script::execLook }, - { 15, 3, "ExecUse", 1, { kGPL2Ident }, &Script::execUse }, - { 18, 1, "LoadMusic", 1, { kGPL2Str }, &Script::loadMusic }, - { 18, 2, "StartMusic", 0, { }, &Script::startMusic }, - { 18, 3, "StopMusic", 0, { }, &Script::stopMusic }, - { 19, 1, "Mark", 0, { }, &Script::mark }, - { 19, 2, "Release", 0, { }, &Script::release }, - { 20, 1, "Play", 0, { }, &Script::play }, - { 21, 1, "LoadMap", 1, { kGPL2Str }, &Script::loadMap }, - { 21, 2, "RoomMap", 0, { }, &Script::roomMap }, - { 22, 1, "DisableQuickHero", 0, { }, &Script::disableQuickHero }, - { 22, 2, "EnableQuickHero", 0, { }, &Script::enableQuickHero }, - { 23, 1, "DisableSpeedText", 0, { }, &Script::disableSpeedText }, - { 23, 2, "EnableSpeedText", 0, { }, &Script::enableSpeedText }, - { 24, 1, "QuitGame", 0, { }, &Script::quitGame }, - { 25, 1, "PushNewRoom", 0, { }, &Script::pushNewRoom }, - { 25, 2, "PopNewRoom", 0, { }, &Script::popNewRoom }, + { 0, 0, "gplend", 0, { }, NULL }, + { 0, 1, "exit", 0, { }, NULL }, + { 1, 1, "goto", 1, { kGPL2Ident }, &Script::c_Goto }, + { 2, 1, "Let", 2, { kGPL2Ident, kGPL2Math }, &Script::c_Let }, + { 3, 1, "if", 2, { kGPL2Math, kGPL2Ident }, &Script::c_If }, + { 4, 1, "Start", 2, { kGPL2Ident, kGPL2Str }, &Script::start }, + { 5, 1, "Load", 2, { kGPL2Ident, kGPL2Str }, &Script::load }, + { 5, 2, "StartPlay", 2, { kGPL2Ident, kGPL2Str }, &Script::startPlay }, + { 5, 3, "JustTalk", 0, { }, &Script::justTalk }, + { 5, 4, "JustStay", 0, { }, &Script::justStay }, + { 6, 1, "Talk", 2, { kGPL2Ident, kGPL2Str }, &Script::talk }, + { 7, 1, "ObjStat", 2, { kGPL2Ident, kGPL2Ident }, &Script::objStat }, + { 7, 2, "ObjStat_On", 2, { kGPL2Ident, kGPL2Ident }, &Script::objStatOn }, + { 8, 1, "IcoStat", 2, { kGPL2Ident, kGPL2Ident }, &Script::icoStat }, + { 9, 1, "Dialogue", 1, { kGPL2Str }, &Script::dialogue }, + { 9, 2, "ExitDialogue", 0, { }, &Script::exitDialogue }, + { 9, 3, "ResetDialogue", 0, { }, &Script::resetDialogue }, + { 9, 4, "ResetDialogueFrom", 0, { }, &Script::resetDialogueFrom }, + { 9, 5, "ResetBlock", 1, { kGPL2Ident }, &Script::resetBlock }, + { 10, 1, "WalkOn", 3, { kGPL2Num, kGPL2Num, kGPL2Ident }, &Script::walkOn }, + { 10, 2, "StayOn", 3, { kGPL2Num, kGPL2Num, kGPL2Ident }, &Script::stayOn }, + { 10, 3, "WalkOnPlay", 3, { kGPL2Num, kGPL2Num, kGPL2Ident }, &Script::walkOnPlay }, + { 11, 1, "LoadPalette", 1, { kGPL2Str }, &Script::loadPalette }, + { 12, 1, "SetPalette", 0, { }, &Script::setPalette }, + { 12, 2, "BlackPalette", 0, { }, &Script::blackPalette }, + { 13, 1, "FadePalette", 3, { kGPL2Num, kGPL2Num, kGPL2Num }, &Script::fadePalette }, + { 13, 2, "FadePalettePlay", 3, { kGPL2Num, kGPL2Num, kGPL2Num }, &Script::fadePalettePlay }, + { 14, 1, "NewRoom", 2, { kGPL2Ident, kGPL2Num }, &Script::newRoom }, + { 15, 1, "ExecInit", 1, { kGPL2Ident }, &Script::execInit }, + { 15, 2, "ExecLook", 1, { kGPL2Ident }, &Script::execLook }, + { 15, 3, "ExecUse", 1, { kGPL2Ident }, &Script::execUse }, + { 18, 1, "LoadMusic", 1, { kGPL2Str }, &Script::loadMusic }, + { 18, 2, "StartMusic", 0, { }, &Script::startMusic }, + { 18, 3, "StopMusic", 0, { }, &Script::stopMusic }, + { 19, 1, "Mark", 0, { }, &Script::mark }, + { 19, 2, "Release", 0, { }, &Script::release }, + { 20, 1, "Play", 0, { }, &Script::play }, + { 21, 1, "LoadMap", 1, { kGPL2Str }, &Script::loadMap }, + { 21, 2, "RoomMap", 0, { }, &Script::roomMap }, + { 22, 1, "DisableQuickHero", 0, { }, &Script::disableQuickHero }, + { 22, 2, "EnableQuickHero", 0, { }, &Script::enableQuickHero }, + { 23, 1, "DisableSpeedText", 0, { }, &Script::disableSpeedText }, + { 23, 2, "EnableSpeedText", 0, { }, &Script::enableSpeedText }, + { 24, 1, "QuitGame", 0, { }, &Script::quitGame }, + { 25, 1, "PushNewRoom", 0, { }, &Script::pushNewRoom }, + { 25, 2, "PopNewRoom", 0, { }, &Script::popNewRoom }, // The following commands are not used in the original game files. - { 16, 1, "RepaintInventory", 0, { }, NULL }, - { 16, 2, "ExitInventory", 0, { }, NULL }, - { 17, 1, "ExitMap", 0, { }, NULL }, - { 18, 4, "FadeOutMusic", 1, { kGPL2Num }, NULL }, - { 18, 5, "FadeInMusic", 1, { kGPL2Num }, NULL }, + { 16, 1, "RepaintInventory", 0, { }, NULL }, + { 16, 2, "ExitInventory", 0, { }, NULL }, + { 17, 1, "ExitMap", 0, { }, NULL }, + { 18, 4, "FadeOutMusic", 1, { kGPL2Num }, NULL }, + { 18, 5, "FadeInMusic", 1, { kGPL2Num }, NULL }, // The following commands are not even defined in the game // sources, but their numbers are allocated for internal // purposes of the old player. - { 26, 1, "ShowCheat", 0, { }, NULL }, - { 26, 2, "HideCheat", 0, { }, NULL }, - { 26, 3, "ClearCheat", 1, { kGPL2Num }, NULL }, - { 27, 1, "FeedPassword", 3, { kGPL2Num, kGPL2Num, kGPL2Num }, NULL } + { 26, 1, "ShowCheat", 0, { }, NULL }, + { 26, 2, "HideCheat", 0, { }, NULL }, + { 26, 3, "ClearCheat", 1, { kGPL2Num }, NULL }, + { 27, 1, "FeedPassword", 3, { kGPL2Num, kGPL2Num, kGPL2Num }, NULL } }; /** Operators used by the mathematical evaluator */ -- cgit v1.2.3 From 17fa43eabc80b92427f6a42b47b304cd90b3ff72 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 24 Nov 2013 02:04:47 +0100 Subject: TSAGE: BF - Remove an unused parameter in Scene570::Icon::setDetails() --- engines/tsage/blue_force/blueforce_scenes5.cpp | 30 +++++++++++++------------- engines/tsage/blue_force/blueforce_scenes5.h | 2 +- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/engines/tsage/blue_force/blueforce_scenes5.cpp b/engines/tsage/blue_force/blueforce_scenes5.cpp index ebaa3e372e..101a39c4b7 100644 --- a/engines/tsage/blue_force/blueforce_scenes5.cpp +++ b/engines/tsage/blue_force/blueforce_scenes5.cpp @@ -1909,7 +1909,7 @@ bool Scene570::Icon::startAction(CursorType action, Event &event) { } } -void Scene570::Icon::setDetails(int iconId, int folderId, int parentFolderId, int unused, const Common::String &msg) { +void Scene570::Icon::setDetails(int iconId, int folderId, int parentFolderId, const Common::String &msg) { Scene570 *scene = (Scene570 *)BF_GLOBALS._sceneManager._scene; NamedObject::postInit(); @@ -2076,23 +2076,23 @@ void Scene570::signal() { _printerIcon.setDetails(570, 14, 15, -1, 2, (SceneItem *)NULL); _iconManager.setup(2); - _folder1.setDetails(1, 1, 0, 2, SCENE570_C_DRIVE); - _folder2.setDetails(1, 2, 1, 2, SCENE570_RING); - _folder3.setDetails(1, 3, 1, 2, SCENE570_PROTO); - _folder4.setDetails(1, 4, 1, 2, SCENE570_WACKY); + _folder1.setDetails(1, 1, 0, SCENE570_C_DRIVE); + _folder2.setDetails(1, 2, 1, SCENE570_RING); + _folder3.setDetails(1, 3, 1, SCENE570_PROTO); + _folder4.setDetails(1, 4, 1, SCENE570_WACKY); if (!BF_GLOBALS.getFlag(fDecryptedBluePrints)) - _icon1.setDetails(3, 5, 0, 2, SCENE570_COBB); - _icon2.setDetails(2, 7, 0, 2, SCENE570_LETTER); + _icon1.setDetails(3, 5, 0, SCENE570_COBB); + _icon2.setDetails(2, 7, 0, SCENE570_LETTER); if (BF_GLOBALS.getFlag(fDecryptedBluePrints)) - _icon3.setDetails(7, 6, 0, 2, SCENE570_COBB); + _icon3.setDetails(7, 6, 0, SCENE570_COBB); - _icon4.setDetails(6, 8, 1, 2, SCENE570_RINGEXE); - _icon5.setDetails(5, 9, 1, 2, SCENE570_RINGDATA); - _icon6.setDetails(6, 10, 2, 2, SCENE570_PROTOEXE); - _icon7.setDetails(5, 11, 2, 2, SCENE570_PROTODATA); - _icon8.setDetails(6, 12, 3, 2, SCENE570_WACKYEXE); - _icon9.setDetails(5, 13, 3, 2, SCENE570_WACKYDATA); + _icon4.setDetails(6, 8, 1, SCENE570_RINGEXE); + _icon5.setDetails(5, 9, 1, SCENE570_RINGDATA); + _icon6.setDetails(6, 10, 2, SCENE570_PROTOEXE); + _icon7.setDetails(5, 11, 2, SCENE570_PROTODATA); + _icon8.setDetails(6, 12, 3, SCENE570_WACKYEXE); + _icon9.setDetails(5, 13, 3, SCENE570_WACKYDATA); _iconManager.refreshList(); BF_GLOBALS._player.enableControl(); @@ -2107,7 +2107,7 @@ void Scene570::signal() { _object3.setFrame(1); _object3.fixPriority(1); - _icon3.setDetails(7, 6, 0, 2, SCENE570_COBB); + _icon3.setDetails(7, 6, 0, SCENE570_COBB); _iconManager.refreshList(); T2_GLOBALS._uiElements._active = true; T2_GLOBALS._uiElements.show(); diff --git a/engines/tsage/blue_force/blueforce_scenes5.h b/engines/tsage/blue_force/blueforce_scenes5.h index 5337b6426b..71c7f3d8f1 100644 --- a/engines/tsage/blue_force/blueforce_scenes5.h +++ b/engines/tsage/blue_force/blueforce_scenes5.h @@ -266,7 +266,7 @@ class Scene570: public SceneExt { virtual void remove(); virtual bool startAction(CursorType action, Event &event); - void setDetails(int iconId, int folderId, int parentFolderId, int unused, const Common::String &msg); + void setDetails(int iconId, int folderId, int parentFolderId, const Common::String &msg); }; class IconManager: public EventHandler { public: -- cgit v1.2.3 From 250d15c5a0348f5d4b91f6f922f802c19b372408 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 24 Nov 2013 02:08:55 +0100 Subject: TSAGE: R2R - Remove an unused variable in maze UI --- engines/tsage/ringworld2/ringworld2_logic.cpp | 6 ++++-- engines/tsage/ringworld2/ringworld2_logic.h | 1 - 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp index 67bd84a247..c88b0cf527 100644 --- a/engines/tsage/ringworld2/ringworld2_logic.cpp +++ b/engines/tsage/ringworld2/ringworld2_logic.cpp @@ -1502,7 +1502,7 @@ MazeUI::MazeUI() { _cellSize.x = _cellSize.y = 0; _mapOffset.x = _mapOffset.y = 0; _resNum = _cellsResNum = 0; - _frameCount = _resCount = _mapImagePitch = _unused = 0; + _frameCount = _resCount = _mapImagePitch = 0; } MazeUI::~MazeUI() { @@ -1518,7 +1518,9 @@ void MazeUI::synchronize(Serializer &s) { s.syncAsSint16LE(_mapOffset.x); s.syncAsSint16LE(_mapOffset.y); - s.syncAsSint16LE(_unused); + + int dummy = 0; + s.syncAsSint16LE(dummy); } void MazeUI::load(int resNum) { diff --git a/engines/tsage/ringworld2/ringworld2_logic.h b/engines/tsage/ringworld2/ringworld2_logic.h index 41ddb277de..c9695c921d 100644 --- a/engines/tsage/ringworld2/ringworld2_logic.h +++ b/engines/tsage/ringworld2/ringworld2_logic.h @@ -307,7 +307,6 @@ public: int _frameCount; int _resCount; int _mapImagePitch; - int _unused; public: MazeUI(); virtual ~MazeUI(); -- cgit v1.2.3 From 793f2c4e05f46846821260b57db5302cd649a5af Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 24 Nov 2013 02:13:48 +0100 Subject: TSAGE: Remove a couple of useless/obsolete warnings --- engines/tsage/blue_force/blueforce_scenes3.cpp | 5 ----- engines/tsage/ringworld/ringworld_scenes10.cpp | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/engines/tsage/blue_force/blueforce_scenes3.cpp b/engines/tsage/blue_force/blueforce_scenes3.cpp index 2bf4a82180..a5cc17a3df 100644 --- a/engines/tsage/blue_force/blueforce_scenes3.cpp +++ b/engines/tsage/blue_force/blueforce_scenes3.cpp @@ -1978,12 +1978,7 @@ void Scene340::Action8::signal() { setDelay(6); break; - case 4: - remove(); - break; default: - // This is present in the original game - warning("Bugs"); remove(); break; } diff --git a/engines/tsage/ringworld/ringworld_scenes10.cpp b/engines/tsage/ringworld/ringworld_scenes10.cpp index f9a8e7996a..eac181e350 100644 --- a/engines/tsage/ringworld/ringworld_scenes10.cpp +++ b/engines/tsage/ringworld/ringworld_scenes10.cpp @@ -1870,7 +1870,7 @@ void Scene9900::signal() { setAction(&_sequenceManager, this, 9908, &_object1, &_object2, &_object3, &_object4, &_object5, &_object6); break; case 162: - warning("TBC: shutdown();"); + // shutdown(); g_globals->_game->quitGame(); break; case 9901: -- cgit v1.2.3 From 14cb73789e1f79e94d3b579f2b3d5c74f8b8c60f Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 24 Nov 2013 02:40:38 +0100 Subject: DRACI: Rework formatting of gplCommands --- engines/draci/script.cpp | 110 +++++++++++++++++++++++------------------------ 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/engines/draci/script.cpp b/engines/draci/script.cpp index 49bd111f98..504476869e 100644 --- a/engines/draci/script.cpp +++ b/engines/draci/script.cpp @@ -41,65 +41,65 @@ namespace Draci { void Script::setupCommandList() { /** A table of all the commands the game player uses */ static const GPL2Command gplCommands[] = { - { 0, 0, "gplend", 0, { }, NULL }, - { 0, 1, "exit", 0, { }, NULL }, - { 1, 1, "goto", 1, { kGPL2Ident }, &Script::c_Goto }, - { 2, 1, "Let", 2, { kGPL2Ident, kGPL2Math }, &Script::c_Let }, - { 3, 1, "if", 2, { kGPL2Math, kGPL2Ident }, &Script::c_If }, - { 4, 1, "Start", 2, { kGPL2Ident, kGPL2Str }, &Script::start }, - { 5, 1, "Load", 2, { kGPL2Ident, kGPL2Str }, &Script::load }, - { 5, 2, "StartPlay", 2, { kGPL2Ident, kGPL2Str }, &Script::startPlay }, - { 5, 3, "JustTalk", 0, { }, &Script::justTalk }, - { 5, 4, "JustStay", 0, { }, &Script::justStay }, - { 6, 1, "Talk", 2, { kGPL2Ident, kGPL2Str }, &Script::talk }, - { 7, 1, "ObjStat", 2, { kGPL2Ident, kGPL2Ident }, &Script::objStat }, - { 7, 2, "ObjStat_On", 2, { kGPL2Ident, kGPL2Ident }, &Script::objStatOn }, - { 8, 1, "IcoStat", 2, { kGPL2Ident, kGPL2Ident }, &Script::icoStat }, - { 9, 1, "Dialogue", 1, { kGPL2Str }, &Script::dialogue }, - { 9, 2, "ExitDialogue", 0, { }, &Script::exitDialogue }, - { 9, 3, "ResetDialogue", 0, { }, &Script::resetDialogue }, - { 9, 4, "ResetDialogueFrom", 0, { }, &Script::resetDialogueFrom }, - { 9, 5, "ResetBlock", 1, { kGPL2Ident }, &Script::resetBlock }, - { 10, 1, "WalkOn", 3, { kGPL2Num, kGPL2Num, kGPL2Ident }, &Script::walkOn }, - { 10, 2, "StayOn", 3, { kGPL2Num, kGPL2Num, kGPL2Ident }, &Script::stayOn }, - { 10, 3, "WalkOnPlay", 3, { kGPL2Num, kGPL2Num, kGPL2Ident }, &Script::walkOnPlay }, - { 11, 1, "LoadPalette", 1, { kGPL2Str }, &Script::loadPalette }, - { 12, 1, "SetPalette", 0, { }, &Script::setPalette }, - { 12, 2, "BlackPalette", 0, { }, &Script::blackPalette }, - { 13, 1, "FadePalette", 3, { kGPL2Num, kGPL2Num, kGPL2Num }, &Script::fadePalette }, - { 13, 2, "FadePalettePlay", 3, { kGPL2Num, kGPL2Num, kGPL2Num }, &Script::fadePalettePlay }, - { 14, 1, "NewRoom", 2, { kGPL2Ident, kGPL2Num }, &Script::newRoom }, - { 15, 1, "ExecInit", 1, { kGPL2Ident }, &Script::execInit }, - { 15, 2, "ExecLook", 1, { kGPL2Ident }, &Script::execLook }, - { 15, 3, "ExecUse", 1, { kGPL2Ident }, &Script::execUse }, - { 18, 1, "LoadMusic", 1, { kGPL2Str }, &Script::loadMusic }, - { 18, 2, "StartMusic", 0, { }, &Script::startMusic }, - { 18, 3, "StopMusic", 0, { }, &Script::stopMusic }, - { 19, 1, "Mark", 0, { }, &Script::mark }, - { 19, 2, "Release", 0, { }, &Script::release }, - { 20, 1, "Play", 0, { }, &Script::play }, - { 21, 1, "LoadMap", 1, { kGPL2Str }, &Script::loadMap }, - { 21, 2, "RoomMap", 0, { }, &Script::roomMap }, - { 22, 1, "DisableQuickHero", 0, { }, &Script::disableQuickHero }, - { 22, 2, "EnableQuickHero", 0, { }, &Script::enableQuickHero }, - { 23, 1, "DisableSpeedText", 0, { }, &Script::disableSpeedText }, - { 23, 2, "EnableSpeedText", 0, { }, &Script::enableSpeedText }, - { 24, 1, "QuitGame", 0, { }, &Script::quitGame }, - { 25, 1, "PushNewRoom", 0, { }, &Script::pushNewRoom }, - { 25, 2, "PopNewRoom", 0, { }, &Script::popNewRoom }, + { 0, 0, "gplend", 0, { }, NULL }, + { 0, 1, "exit", 0, { }, NULL }, + { 1, 1, "goto", 1, { kGPL2Ident }, &Script::c_Goto }, + { 2, 1, "Let", 2, { kGPL2Ident, kGPL2Math }, &Script::c_Let }, + { 3, 1, "if", 2, { kGPL2Math, kGPL2Ident }, &Script::c_If }, + { 4, 1, "Start", 2, { kGPL2Ident, kGPL2Str }, &Script::start }, + { 5, 1, "Load", 2, { kGPL2Ident, kGPL2Str }, &Script::load }, + { 5, 2, "StartPlay", 2, { kGPL2Ident, kGPL2Str }, &Script::startPlay }, + { 5, 3, "JustTalk", 0, { }, &Script::justTalk }, + { 5, 4, "JustStay", 0, { }, &Script::justStay }, + { 6, 1, "Talk", 2, { kGPL2Ident, kGPL2Str }, &Script::talk }, + { 7, 1, "ObjStat", 2, { kGPL2Ident, kGPL2Ident }, &Script::objStat }, + { 7, 2, "ObjStat_On", 2, { kGPL2Ident, kGPL2Ident }, &Script::objStatOn }, + { 8, 1, "IcoStat", 2, { kGPL2Ident, kGPL2Ident }, &Script::icoStat }, + { 9, 1, "Dialogue", 1, { kGPL2Str }, &Script::dialogue }, + { 9, 2, "ExitDialogue", 0, { }, &Script::exitDialogue }, + { 9, 3, "ResetDialogue", 0, { }, &Script::resetDialogue }, + { 9, 4, "ResetDialogueFrom", 0, { }, &Script::resetDialogueFrom }, + { 9, 5, "ResetBlock", 1, { kGPL2Ident }, &Script::resetBlock }, + { 10, 1, "WalkOn", 3, { kGPL2Num, kGPL2Num, kGPL2Ident }, &Script::walkOn }, + { 10, 2, "StayOn", 3, { kGPL2Num, kGPL2Num, kGPL2Ident }, &Script::stayOn }, + { 10, 3, "WalkOnPlay", 3, { kGPL2Num, kGPL2Num, kGPL2Ident }, &Script::walkOnPlay }, + { 11, 1, "LoadPalette", 1, { kGPL2Str }, &Script::loadPalette }, + { 12, 1, "SetPalette", 0, { }, &Script::setPalette }, + { 12, 2, "BlackPalette", 0, { }, &Script::blackPalette }, + { 13, 1, "FadePalette", 3, { kGPL2Num, kGPL2Num, kGPL2Num }, &Script::fadePalette }, + { 13, 2, "FadePalettePlay", 3, { kGPL2Num, kGPL2Num, kGPL2Num }, &Script::fadePalettePlay }, + { 14, 1, "NewRoom", 2, { kGPL2Ident, kGPL2Num }, &Script::newRoom }, + { 15, 1, "ExecInit", 1, { kGPL2Ident }, &Script::execInit }, + { 15, 2, "ExecLook", 1, { kGPL2Ident }, &Script::execLook }, + { 15, 3, "ExecUse", 1, { kGPL2Ident }, &Script::execUse }, + { 18, 1, "LoadMusic", 1, { kGPL2Str }, &Script::loadMusic }, + { 18, 2, "StartMusic", 0, { }, &Script::startMusic }, + { 18, 3, "StopMusic", 0, { }, &Script::stopMusic }, + { 19, 1, "Mark", 0, { }, &Script::mark }, + { 19, 2, "Release", 0, { }, &Script::release }, + { 20, 1, "Play", 0, { }, &Script::play }, + { 21, 1, "LoadMap", 1, { kGPL2Str }, &Script::loadMap }, + { 21, 2, "RoomMap", 0, { }, &Script::roomMap }, + { 22, 1, "DisableQuickHero", 0, { }, &Script::disableQuickHero }, + { 22, 2, "EnableQuickHero", 0, { }, &Script::enableQuickHero }, + { 23, 1, "DisableSpeedText", 0, { }, &Script::disableSpeedText }, + { 23, 2, "EnableSpeedText", 0, { }, &Script::enableSpeedText }, + { 24, 1, "QuitGame", 0, { }, &Script::quitGame }, + { 25, 1, "PushNewRoom", 0, { }, &Script::pushNewRoom }, + { 25, 2, "PopNewRoom", 0, { }, &Script::popNewRoom }, // The following commands are not used in the original game files. - { 16, 1, "RepaintInventory", 0, { }, NULL }, - { 16, 2, "ExitInventory", 0, { }, NULL }, - { 17, 1, "ExitMap", 0, { }, NULL }, - { 18, 4, "FadeOutMusic", 1, { kGPL2Num }, NULL }, - { 18, 5, "FadeInMusic", 1, { kGPL2Num }, NULL }, + { 16, 1, "RepaintInventory", 0, { }, NULL }, + { 16, 2, "ExitInventory", 0, { }, NULL }, + { 17, 1, "ExitMap", 0, { }, NULL }, + { 18, 4, "FadeOutMusic", 1, { kGPL2Num }, NULL }, + { 18, 5, "FadeInMusic", 1, { kGPL2Num }, NULL }, // The following commands are not even defined in the game // sources, but their numbers are allocated for internal // purposes of the old player. - { 26, 1, "ShowCheat", 0, { }, NULL }, - { 26, 2, "HideCheat", 0, { }, NULL }, - { 26, 3, "ClearCheat", 1, { kGPL2Num }, NULL }, - { 27, 1, "FeedPassword", 3, { kGPL2Num, kGPL2Num, kGPL2Num }, NULL } + { 26, 1, "ShowCheat", 0, { }, NULL }, + { 26, 2, "HideCheat", 0, { }, NULL }, + { 26, 3, "ClearCheat", 1, { kGPL2Num }, NULL }, + { 27, 1, "FeedPassword", 3, { kGPL2Num, kGPL2Num, kGPL2Num }, NULL } }; /** Operators used by the mathematical evaluator */ -- cgit v1.2.3 From 6a2ee82699d7467e2e698d5d1ce6a388f49bb883 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sat, 23 Nov 2013 21:00:58 -0500 Subject: FULLPIPE: Implement sceneHandler04_sub1() --- engines/fullpipe/behavior.cpp | 13 +++++++++++++ engines/fullpipe/behavior.h | 2 ++ engines/fullpipe/constants.h | 2 ++ engines/fullpipe/scenes/scene04.cpp | 16 +++++++++++++++- 4 files changed, 32 insertions(+), 1 deletion(-) diff --git a/engines/fullpipe/behavior.cpp b/engines/fullpipe/behavior.cpp index c7b526d2c1..c27f1082f5 100644 --- a/engines/fullpipe/behavior.cpp +++ b/engines/fullpipe/behavior.cpp @@ -185,6 +185,19 @@ bool BehaviorManager::setBehaviorEnabled(StaticANIObject *obj, int aniId, int qu return true; } +void BehaviorManager::setFlagByStaticAniObject(StaticANIObject *ani, int flag) { + for (uint i = 0; i < _behaviors.size(); i++) { + BehaviorInfo *beh = _behaviors[i]; + + if (ani == beh->_ani) { + if (flag) + beh->_flags &= 0xfe; + else + beh->_flags |= 1; + } + } +} + void BehaviorInfo::clear() { _ani = 0; _staticsId = 0; diff --git a/engines/fullpipe/behavior.h b/engines/fullpipe/behavior.h index 4fd1454351..1ac0b5bbfe 100644 --- a/engines/fullpipe/behavior.h +++ b/engines/fullpipe/behavior.h @@ -79,6 +79,8 @@ class BehaviorManager : public CObject { void updateStaticAniBehavior(StaticANIObject *ani, int delay, BehaviorEntry *beh); bool setBehaviorEnabled(StaticANIObject *obj, int aniId, int quId, int flag); + + void setFlagByStaticAniObject(StaticANIObject *ani, int flag); }; } // End of namespace Fullpipe diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 087a768156..53eec3ad7c 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -189,6 +189,7 @@ namespace Fullpipe { #define QU_PNK_CLICK 550 #define QU_SC3_ENTERLIFT 2779 #define QU_SC3_EXITLIFT 2808 +#define QU_SC4_MANFROMBOTTLE 2851 #define SC_1 301 #define SC_10 653 #define SC_11 654 @@ -276,6 +277,7 @@ namespace Fullpipe { #define ST_LBN_9P 2778 #define ST_MAN_EMPTY 476 #define ST_MAN_RIGHT 325 +#define ST_MAN_SIT 1164 #define TrubaDown 697 #define TrubaLeft 474 #define TrubaRight 696 diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index dbcff07003..01069eab1f 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -289,7 +289,21 @@ void sceneHandler04_stopSound() { } void sceneHandler04_sub1(ExCommand *ex) { - warning("sceneHandler04_sub1()"); + g_fullpipe->_aniMan->changeStatics2(ST_MAN_SIT); + + MessageQueue *mq = new MessageQueue(g_fullpipe->_currentScene->getMessageQueueById(QU_SC4_MANFROMBOTTLE), 0, 0); + + if (ex) { + ExCommand *newex = new ExCommand(ex); + + mq->_exCommands.push_back(newex); + } + + mq->_flags |= 1; + mq->chain(0); + + g_vars->scene04_var10 = 0; + g_fullpipe->_behaviorManager->setFlagByStaticAniObject(g_fullpipe->_aniMan, 1); } void sceneHandler04_sub3() { -- cgit v1.2.3 From 1aa0d0bd9b78ac008961730644efdd5d3f8a2a12 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 23 Nov 2013 23:23:43 -0500 Subject: TSAGE: Added new palette rotation code, to fix R2R rimwall vechile scene --- engines/tsage/core.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/engines/tsage/core.cpp b/engines/tsage/core.cpp index 320d3ddd2c..a519ffbd10 100644 --- a/engines/tsage/core.cpp +++ b/engines/tsage/core.cpp @@ -1153,6 +1153,13 @@ void PaletteRotation::signal() { if (flag) _currIndex = _start; } + + // Added in Return to Ringworld + if (_currIndex < _start) { + flag = decDuration(); + if (flag) + _currIndex = _end; + } break; case 2: _currIndex += _idxChange; -- cgit v1.2.3 From 22e2187859a0ceca84415de4a009f6e1aa493d3b Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 24 Nov 2013 09:53:04 -0500 Subject: TSAGE: Slow down title sequence animations to better match original --- engines/tsage/ringworld2/ringworld2_logic.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp index c88b0cf527..4e0ca915fb 100644 --- a/engines/tsage/ringworld2/ringworld2_logic.cpp +++ b/engines/tsage/ringworld2/ringworld2_logic.cpp @@ -1863,6 +1863,10 @@ bool AnimationPlayer::load(int animId, Action *endAction) { _frameDelay = (60 / _subData._frameRate); _gameFrame = R2_GLOBALS._events.getFrameNumber(); + // WORKAROUND: Slow down the title sequences to better match the original + if (animId <= 4 || animId == 15) + _frameDelay *= 8; + if (_subData._totalSize) { _dataNeeded = _subData._totalSize; } else { -- cgit v1.2.3 From 831b68d986ce37665cc4ae6653ba1d44d3e1b1f8 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 24 Nov 2013 10:55:37 -0500 Subject: TSAGE: Fix R2R palette corruption when showing dialogs on the title screen --- engines/tsage/graphics.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/tsage/graphics.cpp b/engines/tsage/graphics.cpp index 33ddb8bcec..cdb1cfd59f 100644 --- a/engines/tsage/graphics.cpp +++ b/engines/tsage/graphics.cpp @@ -1245,7 +1245,7 @@ GfxButton *GfxDialog::execute(GfxButton *defaultButton) { } void GfxDialog::setPalette() { - if (g_vm->getGameID() == GType_BlueForce) { + if (g_vm->getGameID() != GType_Ringworld) { g_globals->_scenePalette.loadPalette(2); g_globals->_scenePalette.setPalette(0, 1); g_globals->_scenePalette.setPalette(g_globals->_gfxColors.background, 1); -- cgit v1.2.3 From 552f2a52bddbaacdf67929414b796e8f5f093d49 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 24 Nov 2013 10:58:32 -0500 Subject: TSAGE: Fix R2R shading map not being setup if you restarted game whilst in-game --- engines/tsage/ringworld2/ringworld2_logic.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp index 4e0ca915fb..e735f4ffb1 100644 --- a/engines/tsage/ringworld2/ringworld2_logic.cpp +++ b/engines/tsage/ringworld2/ringworld2_logic.cpp @@ -371,12 +371,13 @@ void SceneExt::postInit(SceneObjectList *OwnerList) { _field12 = 0; _sceneMode = 0; + static_cast(R2_GLOBALS._sceneHandler)->setupPaletteMaps(); + int prevScene = R2_GLOBALS._sceneManager._previousScene; int sceneNumber = R2_GLOBALS._sceneManager._sceneNumber; if (((prevScene == -1) && (sceneNumber != 180) && (sceneNumber != 205) && (sceneNumber != 50)) || (sceneNumber == 50) || ((sceneNumber == 100) && (prevScene == 0 || prevScene == 180 || prevScene == 205))) { - static_cast(R2_GLOBALS._sceneHandler)->setupPaletteMaps(); R2_GLOBALS._uiElements._active = true; R2_GLOBALS._uiElements.show(); } else { -- cgit v1.2.3 From 30441cc7c13b1fa1c6e29474e496b29e93765d92 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 24 Nov 2013 18:08:39 +0100 Subject: TOLTECS: Fix spacing errors --- engines/toltecs/render.cpp | 2 +- engines/toltecs/saveload.cpp | 2 +- engines/toltecs/screen.cpp | 4 ++-- engines/toltecs/script.cpp | 10 +++++----- engines/toltecs/toltecs.cpp | 8 ++++---- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/engines/toltecs/render.cpp b/engines/toltecs/render.cpp index 4c41e6ce00..ae458d40a3 100644 --- a/engines/toltecs/render.cpp +++ b/engines/toltecs/render.cpp @@ -156,7 +156,7 @@ void RenderQueue::update() { byte *srcp = _vm->_screen->_backScreen + _vm->_cameraX + _vm->_cameraY * _vm->_sceneWidth; int16 w = MIN(640, _vm->_sceneWidth); int16 h = MIN(400, _vm->_cameraHeight); - while (h--) { + while (h--) { memcpy(destp, srcp, w); destp += 640; srcp += _vm->_sceneWidth; diff --git a/engines/toltecs/saveload.cpp b/engines/toltecs/saveload.cpp index 6c195a34c2..4edcc601b8 100644 --- a/engines/toltecs/saveload.cpp +++ b/engines/toltecs/saveload.cpp @@ -183,7 +183,7 @@ void ToltecsEngine::loadgame(const char *filename) { _mouseDisabled = in->readUint16LE(); _system->warpMouse(_mouseX, _mouseY); - _system->showMouse(_mouseDisabled == 0); + _system->showMouse(_mouseDisabled == 0); _palette->loadState(in); _script->loadState(in); diff --git a/engines/toltecs/screen.cpp b/engines/toltecs/screen.cpp index 1eb2f41fd2..dd418be71f 100644 --- a/engines/toltecs/screen.cpp +++ b/engines/toltecs/screen.cpp @@ -599,7 +599,7 @@ int16 Screen::drawString(int16 x, int16 y, byte color, uint fontResIndex, const if (ywobble) yadd = *ywobble; - while (len--) { + while (len--) { byte ch = *text++; if (ch <= 0x20) { x += font.getWidth(); @@ -634,7 +634,7 @@ void Screen::drawChar(const Font &font, byte *dest, int16 x, int16 y, byte ch, b byte flags = charData[0] & 0xF0; charData++; if ((flags & 0x80) == 0) { - if (flags & 0x10) { + if (flags & 0x10) { memset(dest, color, count); } else if (outline) { memset(dest, 0, count); diff --git a/engines/toltecs/script.cpp b/engines/toltecs/script.cpp index 476c3a4fcf..83c4ef15fe 100644 --- a/engines/toltecs/script.cpp +++ b/engines/toltecs/script.cpp @@ -65,7 +65,7 @@ ScriptInterpreter::ScriptInterpreter(ToltecsEngine *vm) : _vm(vm) { _savedSp = 0; _slots[kMaxScriptSlots - 1].size = 1024; - _slots[kMaxScriptSlots - 1].data = new byte[_slots[kMaxScriptSlots - 1].size]; + _slots[kMaxScriptSlots - 1].data = new byte[_slots[kMaxScriptSlots - 1].size]; setupScriptFunctions(); @@ -184,11 +184,11 @@ void ScriptInterpreter::loadScript(uint resIndex, uint slotIndex) { delete[] _slots[slotIndex].data; - _slots[slotIndex].resIndex = resIndex; + _slots[slotIndex].resIndex = resIndex; Resource *scriptResource = _vm->_res->load(resIndex); _slots[slotIndex].size = scriptResource->size; - _slots[slotIndex].data = new byte[_slots[slotIndex].size]; - memcpy(_slots[slotIndex].data, scriptResource->data, _slots[slotIndex].size); + _slots[slotIndex].data = new byte[_slots[slotIndex].size]; + memcpy(_slots[slotIndex].data, scriptResource->data, _slots[slotIndex].size); } void ScriptInterpreter::setMainScript(uint slotIndex) { @@ -852,7 +852,7 @@ void ScriptInterpreter::sfFindMouseInRectIndex2() { } void ScriptInterpreter::sfDrawGuiImage() { - _vm->_screen->drawGuiImage(arg16(5), arg16(3), arg16(7)); + _vm->_screen->drawGuiImage(arg16(5), arg16(3), arg16(7)); } void ScriptInterpreter::sfAddAnimatedSpriteNoLoop() { diff --git a/engines/toltecs/toltecs.cpp b/engines/toltecs/toltecs.cpp index 188facd63c..8bd824cfee 100644 --- a/engines/toltecs/toltecs.cpp +++ b/engines/toltecs/toltecs.cpp @@ -235,7 +235,7 @@ void ToltecsEngine::loadScene(uint resIndex) { byte *source = scene + 392; byte *destp = _screen->_backScreen; byte *destEnd = destp + _sceneWidth * _sceneHeight; - while (destp < destEnd) { + while (destp < destEnd) { int count = 1; byte pixel = *source++; if (pixel & 0x80) { @@ -250,7 +250,7 @@ void ToltecsEngine::loadScene(uint resIndex) { debug(0, "_sceneWidth = %d; _sceneHeight = %d", _sceneWidth, _sceneHeight); // Load scene segmap - _segmap->load(scene + imageSize + 4); + _segmap->load(scene + imageSize + 4); _screen->_fullRefresh = true; _screen->_renderQueue->clear(); @@ -574,9 +574,9 @@ void ToltecsEngine::walk(byte *walkData) { if (ydelta > ABS(walkInfo.x1 - walkInfo.x2) * _walkSpeedX) { v10 = 100 - walkInfo.scaling; v11 = v8; - } else { + } else { v10 = v8; - v11 = 100 - walkInfo.scaling; + v11 = 100 - walkInfo.scaling; } walkInfo.yerror += walkInfo.mulValue * v10; -- cgit v1.2.3 From 29659ba9486df35ede7eb9ee501aa91307924cd1 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 24 Nov 2013 18:32:59 +0100 Subject: NEVERHOOD: Fix spacing errors --- engines/neverhood/detection.cpp | 2 +- engines/neverhood/gamemodule.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/neverhood/detection.cpp b/engines/neverhood/detection.cpp index efd0699d58..e5486bbcf5 100644 --- a/engines/neverhood/detection.cpp +++ b/engines/neverhood/detection.cpp @@ -196,7 +196,7 @@ bool NeverhoodMetaEngine::hasFeature(MetaEngineFeature f) const { (f == kSupportsListSaves) || (f == kSupportsLoadingDuringStartup) || (f == kSupportsDeleteSave) || - (f == kSavesSupportMetaInfo) || + (f == kSavesSupportMetaInfo) || (f == kSavesSupportThumbnail) || (f == kSavesSupportCreationDate) || (f == kSavesSupportPlayTime); diff --git a/engines/neverhood/gamemodule.cpp b/engines/neverhood/gamemodule.cpp index 50c7c503d3..699df2ae7d 100644 --- a/engines/neverhood/gamemodule.cpp +++ b/engines/neverhood/gamemodule.cpp @@ -216,7 +216,7 @@ void GameModule::initRadioPuzzle() { setGlobalVar(V_RADIO_ROOM_LEFT_DOOR, 1); setGlobalVar(V_RADIO_ROOM_RIGHT_DOOR, 0); setSubVar(VA_IS_PUZZLE_INIT, 0x08C80800, 1); - } + } } void GameModule::initTestTubes1Puzzle() { -- cgit v1.2.3 From 622dfcf950c6b12633911568bcad940dca74ed9e Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 24 Nov 2013 18:40:10 +0100 Subject: SWORD25: Janitorial - Fix spacing errors --- engines/sword25/gfx/image/art.cpp | 3 +-- engines/sword25/gfx/renderobjectmanager.cpp | 17 ++++++++++------- engines/sword25/util/lua/lopcodes.cpp | 2 +- engines/sword25/util/lua/lua.h | 2 +- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/engines/sword25/gfx/image/art.cpp b/engines/sword25/gfx/image/art.cpp index 9c4b9fe8bd..e2eeaca33f 100644 --- a/engines/sword25/gfx/image/art.cpp +++ b/engines/sword25/gfx/image/art.cpp @@ -424,8 +424,7 @@ static void art_vpath_render_bez(ArtVpath **p_vpath, int *pn, int *pn_max, x_m, y_m, xb1, yb1, xb2, yb2, x3, y3, flatness); } else { // don't subdivide - art_vpath_add_point(p_vpath, pn, pn_max, - ART_LINETO, x3, y3); + art_vpath_add_point(p_vpath, pn, pn_max, ART_LINETO, x3, y3); } } diff --git a/engines/sword25/gfx/renderobjectmanager.cpp b/engines/sword25/gfx/renderobjectmanager.cpp index 57c8ec318f..bc7dd02636 100644 --- a/engines/sword25/gfx/renderobjectmanager.cpp +++ b/engines/sword25/gfx/renderobjectmanager.cpp @@ -103,13 +103,16 @@ bool RenderObjectManager::render() { _uta->clear(); // Add rectangles of objects which don't exist in this frame any more - for (RenderObjectQueue::iterator it = _prevQueue->begin(); it != _prevQueue->end(); ++it) - if (!_currQueue->exists(*it)) - _uta->addRect((*it)._bbox); - // Add rectangles of objects which are different from the previous frame - for (RenderObjectQueue::iterator it = _currQueue->begin(); it != _currQueue->end(); ++it) - if (!_prevQueue->exists(*it)) - _uta->addRect((*it)._bbox); + for (RenderObjectQueue::iterator it = _prevQueue->begin(); it != _prevQueue->end(); ++it) { + if (!_currQueue->exists(*it)) + _uta->addRect((*it)._bbox); + } + + // Add rectangles of objects which are different from the previous frame + for (RenderObjectQueue::iterator it = _currQueue->begin(); it != _currQueue->end(); ++it) { + if (!_prevQueue->exists(*it)) + _uta->addRect((*it)._bbox); + } RectangleList *updateRects = _uta->getRectangles(); Common::Array updateRectsMinZ; diff --git a/engines/sword25/util/lua/lopcodes.cpp b/engines/sword25/util/lua/lopcodes.cpp index 9d76862ae2..8b0a3ab330 100644 --- a/engines/sword25/util/lua/lopcodes.cpp +++ b/engines/sword25/util/lua/lopcodes.cpp @@ -61,7 +61,7 @@ const char *const luaP_opnames[NUM_OPCODES+1] = { const lu_byte luaP_opmodes[NUM_OPCODES] = { /* T A B C mode opcode */ - opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_MOVE */ + opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_MOVE */ ,opmode(0, 1, OpArgK, OpArgN, iABx) /* OP_LOADK */ ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_LOADBOOL */ ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_LOADNIL */ diff --git a/engines/sword25/util/lua/lua.h b/engines/sword25/util/lua/lua.h index a3b7573ca5..4f557e462b 100644 --- a/engines/sword25/util/lua/lua.h +++ b/engines/sword25/util/lua/lua.h @@ -22,7 +22,7 @@ #define LUA_RELEASE "Lua 5.1.3" #define LUA_VERSION_NUM 501 #define LUA_COPYRIGHT "Copyright (C) 1994-2008 Lua.org, PUC-Rio" -#define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo & W. Celes" +#define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo & W. Celes" /* mark for precompiled code (`Lua') */ -- cgit v1.2.3 From 819ab3189f1e95eb544a920671e2bf0204e318f1 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 24 Nov 2013 19:07:35 +0100 Subject: TSAGE: R2R - Fix palette glitch in intro (courtesy of Dreammaster) --- engines/tsage/graphics.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/engines/tsage/graphics.cpp b/engines/tsage/graphics.cpp index cdb1cfd59f..fa3ed33302 100644 --- a/engines/tsage/graphics.cpp +++ b/engines/tsage/graphics.cpp @@ -1246,7 +1246,8 @@ GfxButton *GfxDialog::execute(GfxButton *defaultButton) { void GfxDialog::setPalette() { if (g_vm->getGameID() != GType_Ringworld) { - g_globals->_scenePalette.loadPalette(2); + if (g_vm->getGameID() == GType_BlueForce) + g_globals->_scenePalette.loadPalette(2); g_globals->_scenePalette.setPalette(0, 1); g_globals->_scenePalette.setPalette(g_globals->_gfxColors.background, 1); g_globals->_scenePalette.setPalette(g_globals->_gfxColors.foreground, 1); -- cgit v1.2.3 From cfbe557bdcb65d1074a883e8deddfa933438d36c Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 24 Nov 2013 19:14:45 +0100 Subject: SAGA: Janitorial - Fix spacing errors --- engines/saga/saga.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/saga/saga.h b/engines/saga/saga.h index 01cab21f5d..645e1c30d0 100644 --- a/engines/saga/saga.h +++ b/engines/saga/saga.h @@ -138,7 +138,7 @@ enum GameFileTypes { enum GameFeatures { GF_ITE_FLOPPY = 1 << 0, #if 0 - GF_OLD_ITE_DOS = 1 << 1, // Currently unused + GF_OLD_ITE_DOS = 1 << 1, // Currently unused #endif GF_EXTRA_ITE_CREDITS = 1 << 2, GF_8BIT_UNSIGNED_PCM = 1 << 3 -- cgit v1.2.3 From 86231d14d5401e242e6d3170dc8b769e40204709 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 24 Nov 2013 19:17:18 +0100 Subject: MADE: Janitorial - Fix spacing errors --- engines/made/detection.cpp | 114 ++++++++++++++++++++++----------------------- engines/made/screenfx.cpp | 2 +- engines/made/sound.cpp | 2 +- 3 files changed, 59 insertions(+), 59 deletions(-) diff --git a/engines/made/detection.cpp b/engines/made/detection.cpp index e8b755cb40..c2c866ff34 100644 --- a/engines/made/detection.cpp +++ b/engines/made/detection.cpp @@ -211,77 +211,77 @@ static const MadeGameDescription gameDescriptions[] = { 3, }, - { - // Return to Zork - Italian CD version 1.2 3/31/95 (installed) + { + // Return to Zork - Italian CD version 1.2 3/31/95 (installed) // Patch #2685032 submitted by goodoldgeorg - { - "rtz", - "V1.2, 3/31/95, installed, CD", - AD_ENTRY1s("rtzcd.dat", "5b86035aed0277f96e3d173542b5364a", 523776), - Common::IT_ITA, - Common::kPlatformDOS, + { + "rtz", + "V1.2, 3/31/95, installed, CD", + AD_ENTRY1s("rtzcd.dat", "5b86035aed0277f96e3d173542b5364a", 523776), + Common::IT_ITA, + Common::kPlatformDOS, ADGF_CD, GUIO0() - }, - GID_RTZ, - 0, - GF_CD, - 3, - }, + }, + GID_RTZ, + 0, + GF_CD, + 3, + }, { - // Return to Zork - Italian CD version 1.2 3/31/95 + // Return to Zork - Italian CD version 1.2 3/31/95 // Patch #2685032 submitted by goodoldgeorg - { - "rtz", - "V1.2, 3/31/95, CD", - AD_ENTRY1s("rtzcd.red", "946997d8b0aa6cb4e848bad02a1fc3d2", 354971), - Common::IT_ITA, - Common::kPlatformDOS, + { + "rtz", + "V1.2, 3/31/95, CD", + AD_ENTRY1s("rtzcd.red", "946997d8b0aa6cb4e848bad02a1fc3d2", 354971), + Common::IT_ITA, + Common::kPlatformDOS, ADGF_CD, GUIO0() - }, - GID_RTZ, - 0, - GF_CD_COMPRESSED, - 3, - }, - - { - // Return to Zork - French CD version 1.2 5/13/95 (installed) + }, + GID_RTZ, + 0, + GF_CD_COMPRESSED, + 3, + }, + + { + // Return to Zork - French CD version 1.2 5/13/95 (installed) // Patch #2685032 submitted by goodoldgeorg - { - "rtz", - "V1.2, 5/13/95, installed, CD", - AD_ENTRY1s("rtzcd.dat", "bde8251a8e34e87c54e3f93147d56c9e", 523776), - Common::FR_FRA, - Common::kPlatformDOS, + { + "rtz", + "V1.2, 5/13/95, installed, CD", + AD_ENTRY1s("rtzcd.dat", "bde8251a8e34e87c54e3f93147d56c9e", 523776), + Common::FR_FRA, + Common::kPlatformDOS, ADGF_CD, GUIO0() - }, - GID_RTZ, - 0, - GF_CD, - 3, - }, - - { - // Return to Zork - French CD version 1.2 5/13/95 + }, + GID_RTZ, + 0, + GF_CD, + 3, + }, + + { + // Return to Zork - French CD version 1.2 5/13/95 // Patch #2685032 submitted by goodoldgeorg - { - "rtz", - "V1.2, 3/31/95, CD", - AD_ENTRY1s("rtzcd.red", "946997d8b0aa6cb4e848bad02a1fc3d2", 354614), - Common::FR_FRA, - Common::kPlatformDOS, + { + "rtz", + "V1.2, 3/31/95, CD", + AD_ENTRY1s("rtzcd.red", "946997d8b0aa6cb4e848bad02a1fc3d2", 354614), + Common::FR_FRA, + Common::kPlatformDOS, ADGF_CD, GUIO0() - }, - GID_RTZ, - 0, - GF_CD_COMPRESSED, - 3, - }, + }, + GID_RTZ, + 0, + GF_CD_COMPRESSED, + 3, + }, { // Return to Zork - English floppy version diff --git a/engines/made/screenfx.cpp b/engines/made/screenfx.cpp index d069308a4b..b89b3af802 100644 --- a/engines/made/screenfx.cpp +++ b/engines/made/screenfx.cpp @@ -165,7 +165,7 @@ void ScreenEffects::flash(int flashCount, byte *palette, int colorCount) { _screen->setRGBPalette(_fxPalette, 0, colorCount); _screen->updateScreenAndWait(20); _screen->setRGBPalette(palette, 0, colorCount); - _screen->updateScreenAndWait(20); + _screen->updateScreenAndWait(20); } } diff --git a/engines/made/sound.cpp b/engines/made/sound.cpp index f73c580560..176f8688bd 100644 --- a/engines/made/sound.cpp +++ b/engines/made/sound.cpp @@ -228,7 +228,7 @@ void decompressSound(byte *source, byte *dest, uint16 chunkSize, uint16 chunkCou break; default: - return; + return; } -- cgit v1.2.3 From b3356464e49103ed2c579cf2dba56aaa32463995 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 24 Nov 2013 19:18:20 +0100 Subject: AGOS: Janitorial - Fix spacing errors --- engines/agos/icons.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/engines/agos/icons.cpp b/engines/agos/icons.cpp index 6d4192da2a..5647fece7e 100644 --- a/engines/agos/icons.cpp +++ b/engines/agos/icons.cpp @@ -1089,15 +1089,15 @@ bool AGOSEngine_PN::ifObjectInInv(uint16 a) { } bool AGOSEngine_PN::testContainer(uint16 a) { - return bitextract(_quickptr[1] + a * _quickshort[1], 0) != 0; + return bitextract(_quickptr[1] + a * _quickshort[1], 0) != 0; } bool AGOSEngine_PN::testObvious(uint16 a) { - return bitextract(_quickptr[1] + a * _quickshort[1], 4) != 0; + return bitextract(_quickptr[1] + a * _quickshort[1], 4) != 0; } bool AGOSEngine_PN::testSeen(uint16 a) { - return bitextract(_quickptr[1] + a * _quickshort[1], 3) != 0; + return bitextract(_quickptr[1] + a * _quickshort[1], 3) != 0; } void AGOSEngine_PN::printIcon(HitArea *ha, uint8 i, uint8 r) { -- cgit v1.2.3 From 29a63886aa27d9cd3e9b01cdc896f83591b71c8b Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 24 Nov 2013 19:20:12 +0100 Subject: TINSEL: Janitorial - Fix spacing errors --- engines/tinsel/music.cpp | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/engines/tinsel/music.cpp b/engines/tinsel/music.cpp index 3144ea7f94..bf7257f876 100644 --- a/engines/tinsel/music.cpp +++ b/engines/tinsel/music.cpp @@ -91,28 +91,29 @@ static const int enhancedAudioGRAVersion[] = { }; static const int enhancedAudioSCNVersion[] = { - 301, 302, 2, 1, 1, 301, 302, 3, 3, 4, // 1-10 - 4, 5, 6, 1, 7, 8, 9, 10, 8, 11, // 11-20 - 11, 12, 13, 13, 13, 13, 13, 14, 13, 13, // 21-30 - 15, 16, 17, 15, 18, 19, 20, 338, 21, 21, // 31-40 - 341, 342, 22, 22, 23, 24, 25, 26, 27, 28, // 41-50 - 29, 30, 31, 32, 33, 34, 35, 35, 36, 37, // 51-60 - 38, 39, 39, 39, 39, 40, 39, 41, 41, 42, // 61-70 - 43, 42, 44, 45, 41, 46, 48, 47, 48, 49, // 71-80 - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, // 81-90 - 60, 61, 62, 63, 61, 64, 65, 66, 67, 68, // 91-100 - 69, 70, 68, 71, 72, 73, 74, 75, 12, 76, // 101-110 - 77, 78, 79, 80, 4, 4, 82, 83, 77, 4, // 111-120 - 84, 85, 86, 3124, 88, 89, 90, 88, 2, 2, // 121-130 - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 131-140 - 3142, 91, 92, 93, 94, 94, 95, 96, 52, 4, // 141-150 - 97, 98, 99, 99 // 151-154 + 301, 302, 2, 1, 1, 301, 302, 3, 3, 4, // 1-10 + 4, 5, 6, 1, 7, 8, 9, 10, 8, 11, // 11-20 + 11, 12, 13, 13, 13, 13, 13, 14, 13, 13, // 21-30 + 15, 16, 17, 15, 18, 19, 20, 338, 21, 21, // 31-40 + 341, 342, 22, 22, 23, 24, 25, 26, 27, 28, // 41-50 + 29, 30, 31, 32, 33, 34, 35, 35, 36, 37, // 51-60 + 38, 39, 39, 39, 39, 40, 39, 41, 41, 42, // 61-70 + 43, 42, 44, 45, 41, 46, 48, 47, 48, 49, // 71-80 + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, // 81-90 + 60, 61, 62, 63, 61, 64, 65, 66, 67, 68, // 91-100 + 69, 70, 68, 71, 72, 73, 74, 75, 12, 76, // 101-110 + 77, 78, 79, 80, 4, 4, 82, 83, 77, 4, // 111-120 + 84, 85, 86, 3124, 88, 89, 90, 88, 2, 2, // 121-130 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 131-140 + 3142, 91, 92, 93, 94, 94, 95, 96, 52, 4, // 141-150 + 97, 98, 99, 99 // 151-154 }; int GetTrackNumber(SCNHANDLE hMidi) { - for (int i = 0; i < ARRAYSIZE(g_midiOffsets); i++) + for (int i = 0; i < ARRAYSIZE(g_midiOffsets); i++) { if (g_midiOffsets[i] == hMidi) return i; + } return -1; } -- cgit v1.2.3 From a8de5dfad87fe54b9f6cd12d0d70c37b2751939d Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 24 Nov 2013 19:28:54 +0100 Subject: LASTEXPRESS: Janitorial - Fix spacing errors --- engines/lastexpress/entities/entity.h | 72 +++++++++++++++---------------- engines/lastexpress/entities/servers0.cpp | 4 +- engines/lastexpress/entities/verges.cpp | 2 +- engines/lastexpress/game/entities.h | 8 ++-- engines/lastexpress/game/logic.cpp | 4 +- engines/lastexpress/game/logic.h | 2 +- engines/lastexpress/game/object.cpp | 7 +-- engines/lastexpress/game/savegame.h | 2 +- engines/lastexpress/game/state.h | 12 +++--- 9 files changed, 57 insertions(+), 56 deletions(-) diff --git a/engines/lastexpress/entities/entity.h b/engines/lastexpress/entities/entity.h index 5aa7c1be5a..f3b57e7464 100644 --- a/engines/lastexpress/entities/entity.h +++ b/engines/lastexpress/entities/entity.h @@ -818,9 +818,9 @@ public: /** * Synchronizes a string. * - * @param s The Common::Serializer to use. - * @param string The string. - * @param length Length of the string. + * @param s The Common::Serializer to use. + * @param string The string. + * @param length Length of the string. */ void syncString(Common::Serializer &s, Common::String &string, uint length) const; @@ -921,7 +921,7 @@ protected: /** * Play sound * - * @param savepoint The savepoint + * @param savepoint The savepoint * - Sound filename * @param resetItem true to reset item. * @param flag sound flag @@ -931,9 +931,9 @@ protected: /** * Draws the entity * - * @param savepoint The savepoint - * - Sequence - * - ExcuseMe flag + * @param savepoint The savepoint + * - Sequence + * - ExcuseMe flag * @param handleExcuseMe true to handle excuseMeCath action */ void draw(const SavePoint &savepoint, bool handleExcuseMe = false); @@ -941,7 +941,7 @@ protected: /** * Draws the entity along with another one * - * @param savepoint The savepoint. + * @param savepoint The savepoint. * - Sequence 1 * - Sequence 2 * - EntityIndex @@ -976,23 +976,23 @@ protected: /** * Process callback action when the entity direction is not kDirectionRight * - * @param savepoint The savepoint. + * @param savepoint The savepoint. */ void callbackActionOnDirection(const SavePoint &savepoint); /** * Process callback action when somebody is standing in the restaurant or salon. * - * @param savepoint The savepoint. + * @param savepoint The savepoint. */ void callbackActionRestaurantOrSalon(const SavePoint &savepoint); /** * Updates the entity * - * @param savepoint The savepoint. - * - CarIndex - * - EntityPosition + * @param savepoint The savepoint. + * - CarIndex + * - EntityPosition * @param handleExcuseMe true to handle the kActionExcuseMe/kActionExcuseMeCath actions. */ void updateEntity(const SavePoint &savepoint, bool handleExcuseMe = false); @@ -1000,11 +1000,11 @@ protected: /** * Call a specific savepoint (or draw sequence in default case) * - * @param savepoint The savepoint. - * - Sequence to draw in default case - * - EntityIndex - * - ActionIndex - * - Sequence for the savepoint + * @param savepoint The savepoint. + * - Sequence to draw in default case + * - EntityIndex + * - ActionIndex + * - Sequence for the savepoint * @param handleExcuseMe true to handle excuse me. */ void callSavepoint(const SavePoint &savepoint, bool handleExcuseMe = false); @@ -1012,36 +1012,36 @@ protected: /** * Handles entering/exiting a compartment. * - * @param savepoint The savepoint. - * @param position1 The first position. - * @param position2 The second position. - * @param car The car. - * @param compartment The compartment. - * @param alternate true to use the alternate version of SceneManager::loadSceneFromObject() + * @param savepoint The savepoint. + * @param position1 The first position. + * @param position2 The second position. + * @param car The car. + * @param compartment The compartment. + * @param alternate true to use the alternate version of SceneManager::loadSceneFromObject() */ void enterExitCompartment(const SavePoint &savepoint, EntityPosition position1 = kPositionNone, EntityPosition position2 = kPositionNone, CarIndex car = kCarNone, ObjectIndex compartment = kObjectNone, bool alternate = false, bool updateLocation = false); /** * Go to compartment. * - * @param savepoint The savepoint. - * @param compartmentFrom The compartment from. - * @param positionFrom The position from. - * @param sequenceFrom The sequence from. - * @param sequenceTo The sequence to. + * @param savepoint The savepoint. + * @param compartmentFrom The compartment from. + * @param positionFrom The position from. + * @param sequenceFrom The sequence from. + * @param sequenceTo The sequence to. */ void goToCompartment(const SavePoint &savepoint, ObjectIndex compartmentFrom, EntityPosition positionFrom, Common::String sequenceFrom, Common::String sequenceTo); /** * Go to compartment from compartment. * - * @param savepoint The savepoint. - * @param compartmentFrom The compartment from. - * @param positionFrom The position from. - * @param sequenceFrom The sequence from. - * @param compartmentTo The compartment to. - * @param positionTo The position to. - * @param sequenceTo The sequence to. + * @param savepoint The savepoint. + * @param compartmentFrom The compartment from. + * @param positionFrom The position from. + * @param sequenceFrom The sequence from. + * @param compartmentTo The compartment to. + * @param positionTo The position to. + * @param sequenceTo The sequence to. */ void goToCompartmentFromCompartment(const SavePoint &savepoint, ObjectIndex compartmentFrom, EntityPosition positionFrom, Common::String sequenceFrom, ObjectIndex compartmentTo, EntityPosition positionTo, Common::String sequenceTo); diff --git a/engines/lastexpress/entities/servers0.cpp b/engines/lastexpress/entities/servers0.cpp index 73e0d34722..6323ef0ca8 100644 --- a/engines/lastexpress/entities/servers0.cpp +++ b/engines/lastexpress/entities/servers0.cpp @@ -115,7 +115,7 @@ IMPLEMENT_FUNCTION_NOSETUP(5, Servers0, callbackActionOnDirection) case kActionExitCompartment: callbackAction(); - break; + break; case kActionExcuseMeCath: if (!params->param1) { @@ -445,7 +445,7 @@ IMPLEMENT_FUNCTION(24, Servers0, chapter2Handler) HANDLE_TABLE(1, 3, 1, setup_function25); HANDLE_TABLE(1, 4, 2, setup_function26); - break; + break; case kActionCallback: if (getCallback() == 1) diff --git a/engines/lastexpress/entities/verges.cpp b/engines/lastexpress/entities/verges.cpp index d9ddb0a4d1..68c0813013 100644 --- a/engines/lastexpress/entities/verges.cpp +++ b/engines/lastexpress/entities/verges.cpp @@ -105,7 +105,7 @@ IMPLEMENT_FUNCTION(3, Verges, callbackActionOnDirection) case kActionExitCompartment: callbackAction(); - break; + break; case kActionExcuseMeCath: if (!params->param1) { diff --git a/engines/lastexpress/game/entities.h b/engines/lastexpress/game/entities.h index 81aed627aa..cacbc408c9 100644 --- a/engines/lastexpress/game/entities.h +++ b/engines/lastexpress/game/entities.h @@ -110,7 +110,7 @@ public: * Query if 'entity' is inside a compartment * * @param entity The entity. - * @param car The car. + * @param car The car. * @param position The position. * * @return true if inside the compartment, false if not. @@ -247,7 +247,7 @@ public: /** * Query if nobody is in a compartment at that position. * - * @param car The car. + * @param car The car. * @param position The position. * * @return true if nobody is in a compartment, false if not. @@ -334,8 +334,8 @@ private: static const int _compartmentsCount = 16; static const int _positionsCount = 100 * 10; // 100 positions per train car - LastExpressEngine *_engine; - EntityData *_header; + LastExpressEngine *_engine; + EntityData *_header; Common::Array _entities; // Compartments & positions diff --git a/engines/lastexpress/game/logic.cpp b/engines/lastexpress/game/logic.cpp index 09104d1bf9..d24fb9b598 100644 --- a/engines/lastexpress/game/logic.cpp +++ b/engines/lastexpress/game/logic.cpp @@ -413,8 +413,8 @@ void Logic::resetState() { /** * Handle game over * - * @param type The savegame type. - * @param value The value (event, time, index, ...) + * @param type The savegame type. + * @param value The value (event, time, index, ...) * @param sceneIndex Index of the scene to show. * @param showScene true to show a scene, false to return to menu directly */ diff --git a/engines/lastexpress/game/logic.h b/engines/lastexpress/game/logic.h index efb8f1e1a3..b2d08cb06f 100644 --- a/engines/lastexpress/game/logic.h +++ b/engines/lastexpress/game/logic.h @@ -54,7 +54,7 @@ public: void playFinalSequence() const; void updateCursor(bool redraw = true) const; - Action *getGameAction() { return _action; } + Action *getGameAction() { return _action; } Beetle *getGameBeetle() { return _beetle; } Entities *getGameEntities() { return _entities; } Fight *getGameFight() { return _fight; } diff --git a/engines/lastexpress/game/object.cpp b/engines/lastexpress/game/object.cpp index 48df91ea6d..2fcdde12b9 100644 --- a/engines/lastexpress/game/object.cpp +++ b/engines/lastexpress/game/object.cpp @@ -69,11 +69,12 @@ void Objects::update(ObjectIndex index, EntityIndex entity, ObjectLocation locat getFlags()->flag_3 = true; // Compartments - if (original_location != location && (original_location == kObjectLocation2 || location == kObjectLocation2)) + if (original_location != location && (original_location == kObjectLocation2 || location == kObjectLocation2)) { if ((index >= kObjectCompartment1 && index <= kObjectCompartment8) - || (index >= kObjectCompartmentA && index <= kObjectCompartmentF)) { - getScenes()->updateDoorsAndClock(); + || (index >= kObjectCompartmentA && index <= kObjectCompartmentF)) { + getScenes()->updateDoorsAndClock(); } + } } void Objects::updateLocation2(ObjectIndex index, ObjectLocation location2) { diff --git a/engines/lastexpress/game/savegame.h b/engines/lastexpress/game/savegame.h index 361957227e..257c005e4a 100644 --- a/engines/lastexpress/game/savegame.h +++ b/engines/lastexpress/game/savegame.h @@ -167,7 +167,7 @@ public: bool isGameFinished(uint32 menuIndex, uint32 savegameIndex); // Accessors - uint32 getTime(uint32 index) { return getEntry(index)->time; } + uint32 getTime(uint32 index) { return getEntry(index)->time; } ChapterIndex getChapter(uint32 index) { return getEntry(index)->chapter; } uint32 getValue(uint32 index) { return getEntry(index)->value; } uint32 getLastSavegameTicks() const { return _gameTicksLastSavegame; } diff --git a/engines/lastexpress/game/state.h b/engines/lastexpress/game/state.h index 944f6d47b1..83d528d346 100644 --- a/engines/lastexpress/game/state.h +++ b/engines/lastexpress/game/state.h @@ -657,12 +657,12 @@ private: // Timer int _timer; - Flags *_flags; ///< Flags - Inventory *_inventory; ///< Inventory - Objects *_objects; ///< Objects - SavePoints *_savepoints; ///< SavePoints - GameState *_state; ///< State - Common::Point _coords; ///< Current coordinates + Flags *_flags; ///< Flags + Inventory *_inventory; ///< Inventory + Objects *_objects; ///< Objects + SavePoints *_savepoints; ///< SavePoints + GameState *_state; ///< State + Common::Point _coords; ///< Current coordinates }; } // End of namespace LastExpress -- cgit v1.2.3 From a559e64ca629a2e488c13d72bc4435daf4ebb5c5 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 24 Nov 2013 14:10:33 -0500 Subject: TSAGE: Fix to prevent saving or loading when conversation dialogs are active --- engines/tsage/converse.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/engines/tsage/converse.cpp b/engines/tsage/converse.cpp index 2298d28e0d..f7c1dd24e6 100644 --- a/engines/tsage/converse.cpp +++ b/engines/tsage/converse.cpp @@ -451,6 +451,13 @@ int ConversationChoiceDialog::execute(const Common::StringArray &choiceList) { draw(); g_globals->_events.showCursor(); + // WORKAROUND: On-screen dialogs are really meant to use a GfxManager instance + // for their lifetime, which prevents saving or loading. Since I don't want to spend a lot + // of time refactoring this already working dialog, fake it by putting a dummy gfxmanager at + // the end of the gfx manager list so as to prevent saving or loading + GfxManager gfxManager; + GLOBALS._gfxManagers.push_back(&gfxManager); + // Event handling loop Event event; while (!g_vm->shouldQuit()) { @@ -502,6 +509,7 @@ int ConversationChoiceDialog::execute(const Common::StringArray &choiceList) { // Remove the dialog remove(); + GLOBALS._gfxManagers.remove(&gfxManager); return _selectedIndex; } -- cgit v1.2.3 From 59c0603bf7fbab574eca1ba460a4d53dec00b87b Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 24 Nov 2013 15:12:16 -0500 Subject: TSAGE: Fix for UI appearing during ending R2R cutscene --- engines/tsage/ringworld2/ringworld2_scenes3.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/engines/tsage/ringworld2/ringworld2_scenes3.cpp b/engines/tsage/ringworld2/ringworld2_scenes3.cpp index 167fb72956..8e4967fd26 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes3.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes3.cpp @@ -4954,6 +4954,7 @@ void Scene3600::dispatch() { void Scene3700::postInit(SceneObjectList *OwnerList) { loadScene(3700); R2_GLOBALS._uiElements._active = false; + R2_GLOBALS._uiElements._visible = false; SceneExt::postInit(); R2_GLOBALS._interfaceY = SCREEN_HEIGHT; -- cgit v1.2.3 From f4d582f6406bbce2c2c19103944bf2fbac14da72 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 24 Nov 2013 22:29:49 +0100 Subject: TSAGE: R2R - rename _actorDestPos --- engines/tsage/core.cpp | 6 +++--- engines/tsage/core.h | 2 +- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 2 +- engines/tsage/ringworld2/ringworld2_scenes3.cpp | 13 ++++++++++--- 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/engines/tsage/core.cpp b/engines/tsage/core.cpp index a519ffbd10..6c47cac1ef 100644 --- a/engines/tsage/core.cpp +++ b/engines/tsage/core.cpp @@ -2110,7 +2110,7 @@ SceneObject::SceneObject() : SceneHotspot() { _shade = _oldShade = 0; _linkedActor = NULL; - _field8A = Common::Point(0, 0); + _actorDestPos = Common::Point(0, 0); _angle = 0; _xs = 0; _xe = 0; @@ -2504,8 +2504,8 @@ void SceneObject::synchronize(Serializer &s) { s.syncAsSint16LE(_moveDiff.x); s.syncAsSint16LE(_moveDiff.y); s.syncAsSint32LE(_moveRate); if (g_vm->getGameID() == GType_Ringworld2) { - s.syncAsSint16LE(_field8A.x); - s.syncAsSint16LE(_field8A.y); + s.syncAsSint16LE(_actorDestPos.x); + s.syncAsSint16LE(_actorDestPos.y); } SYNC_POINTER(_endAction); s.syncAsUint32LE(_regionBitList); diff --git a/engines/tsage/core.h b/engines/tsage/core.h index f86172f6a1..3286ee1448 100644 --- a/engines/tsage/core.h +++ b/engines/tsage/core.h @@ -549,7 +549,7 @@ public: EventHandler *_mover; Common::Point _moveDiff; int _moveRate; - Common::Point _field8A; + Common::Point _actorDestPos; Action *_endAction; uint32 _regionBitList; diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index d0fe284cc6..ef4136a343 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -6435,7 +6435,7 @@ void Scene1337::subD02CA() { _item6._object1._mover = _arrunkObj1337[2]._arr1[di]._object1._mover; _item6._object1._moveDiff = _arrunkObj1337[2]._arr1[di]._object1._moveDiff; _item6._object1._moveRate = _arrunkObj1337[2]._arr1[di]._object1._moveRate; - _item6._object1._field8A = _arrunkObj1337[2]._arr1[di]._object1._field8A; + _item6._object1._actorDestPos = _arrunkObj1337[2]._arr1[di]._object1._actorDestPos; _item6._object1._endAction = _arrunkObj1337[2]._arr1[di]._object1._endAction; _item6._object1._regionBitList = _arrunkObj1337[2]._arr1[di]._object1._regionBitList; // _item6._object1._actorName = _arrunkObj1337[2]._arr1[di]._object1._actorName; diff --git a/engines/tsage/ringworld2/ringworld2_scenes3.cpp b/engines/tsage/ringworld2/ringworld2_scenes3.cpp index 8e4967fd26..0780b09fc5 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes3.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes3.cpp @@ -4335,7 +4335,7 @@ void Scene3600::Action2::signal() { scene->_protector.setup(3127, 2, 1); scene->_protector.animate(ANIM_MODE_1, NULL); NpcMover *mover = new NpcMover(); - scene->_protector.addMover(mover, &scene->_protector._field8A, scene); + scene->_protector.addMover(mover, &scene->_protector._actorDestPos, scene); } break; default: @@ -4554,7 +4554,7 @@ void Scene3600::postInit(SceneObjectList *OwnerList) { if (!R2_GLOBALS.getFlag(71)) { _protector.postInit(); _protector._state = 0; - _protector._field8A = Common::Point(226, 152); + _protector._actorDestPos = Common::Point(226, 152); _protector._moveDiff = Common::Point(3, 2); _protector.setPosition(Common::Point(284, 152)); _protector.setup(3127, 2, 1); @@ -4630,6 +4630,8 @@ void Scene3600::remove() { void Scene3600::signal() { switch (_sceneMode) { case 3320: + // Move to the console + // Removed (useless ?) call to sub_1D227 R2_GLOBALS._walkRegions.disableRegion(14); R2_GLOBALS._scrollFollower = &_seeker; @@ -4646,6 +4648,8 @@ void Scene3600::signal() { &_miranda, &_webbster, &_teal, NULL); break; case 3321: + // Teal activates console + // Removed (useless ?) call to sub_1D227 R2_GLOBALS._scrollFollower = &R2_GLOBALS._player; _tealSpeaker.stopSpeaking(); @@ -4731,7 +4735,7 @@ void Scene3600::signal() { _protector.postInit(); _protector._state = 0; - _protector._field8A = Common::Point(226, 152); + _protector._actorDestPos = Common::Point(226, 152); _protector._moveDiff = Common::Point(5, 3); _protector.setup(3403, 7, 1); _protector.setPosition(Common::Point(405, 155)); @@ -4773,6 +4777,7 @@ void Scene3600::signal() { R2_GLOBALS._sound2.play(329); break; case 3600: + // First speech by Teal _sceneMode = 3320; _stripManager.start(3320, this); break; @@ -4781,6 +4786,7 @@ void Scene3600::signal() { case 3602: // No break on purpose case 3603: + // Teal speech near the console R2_GLOBALS._walkRegions.disableRegion(2); R2_GLOBALS._walkRegions.disableRegion(7); _tealSpeaker._displayMode = 1; @@ -4788,6 +4794,7 @@ void Scene3600::signal() { _stripManager.start(3321, this); break; case 3604: + // Goule Protector forces the door R2_GLOBALS._sound2.fadeOut2(NULL); R2_GLOBALS._sound1.stop(); R2_GLOBALS._walkRegions.enableRegion(2); -- cgit v1.2.3 From ef8fefd233fd93c1e9625929ffc831c740cf6492 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 24 Nov 2013 22:43:33 +0100 Subject: TSAGE: R2R - Add comments in Scene3600::signal() --- engines/tsage/ringworld2/ringworld2_scenes3.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/engines/tsage/ringworld2/ringworld2_scenes3.cpp b/engines/tsage/ringworld2/ringworld2_scenes3.cpp index 0780b09fc5..321026461b 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes3.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes3.cpp @@ -4661,6 +4661,8 @@ void Scene3600::signal() { &_quinn, &_seeker, &_miranda, &_webbster, NULL); break; case 3322: + // Teal walks toward the teleport pod, the goule protector appears + // Removed (useless ?) call to sub_1D227 _quinnSpeaker.stopSpeaking(); _quinnSpeaker._displayMode = 1; @@ -4671,6 +4673,8 @@ void Scene3600::signal() { setAction(&_sequenceManager1, this, _sceneMode, &_teal, &_protector, &_steppingDisk, NULL); break; case 3323: + // Goule protector eats Teal guts then moves + if (!_tealDead) _tealDead = true; else { @@ -4713,6 +4717,7 @@ void Scene3600::signal() { _sceneMode = 3623; break; case 3450: + // Speech of Teal and Quinn R2_GLOBALS._sound1.stop(); _protector3400.hide(); _door3400.hide(); @@ -4832,6 +4837,7 @@ void Scene3600::signal() { setAction(&_sequenceManager1, this, 3450, &_protector3400, &_door3400, NULL); break; case 3605: + // Goule protector jumps on Teal _protector.setup(3258, 4, 1); _protector.setAction(&_sequenceManager1, this, 3606, &_teal, &_protector, &_steppingDisk, NULL); -- cgit v1.2.3 From bd8f260d9b128ba03131c7002d8dcf750765f208 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 24 Nov 2013 22:45:36 +0100 Subject: TSAGE: R2R - Remove obsolete comments about sub_1D227() --- engines/tsage/ringworld2/ringworld2_scenes3.cpp | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes3.cpp b/engines/tsage/ringworld2/ringworld2_scenes3.cpp index 321026461b..6f6bbbf96a 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes3.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes3.cpp @@ -2821,7 +2821,6 @@ void Scene3400::remove() { void Scene3400::signal() { switch (_sceneMode) { case 3305: { - // Removed (useless ?) call to sub_1D227 _tealSpeaker._object1.hide(); _teal.show(); _teal.setStrip(1); @@ -2861,7 +2860,6 @@ void Scene3400::signal() { } break; case 3308: - // Removed (useless ?) call to sub_1D227 _companion1.setStrip(2); R2_GLOBALS._player.setStrip(6); _companion2.setStrip(6); @@ -2874,7 +2872,6 @@ void Scene3400::signal() { setAction(&_sequenceManager, this, 3403, &_companion1, &_webbster, &_manholeCover, NULL); break; case 3309: - // Removed (useless ?) call to sub_1D227 _teal.setStrip(1); _sceneMode = 3405; if (R2_GLOBALS._player._characterIndex == R2_MIRANDA) @@ -2883,7 +2880,6 @@ void Scene3400::signal() { setAction(&_sequenceManager, this, 3405, &_companion2, &_manholeCover, NULL); break; case 3310: - // Removed (useless ?) call to sub_1D227 _teal.setStrip(1); _sceneMode = 3406; if (R2_GLOBALS._player._characterIndex == R2_QUINN) @@ -2894,7 +2890,6 @@ void Scene3400::signal() { setAction(&_sequenceManager, this, 3406, &_companion2, &_manholeCover, NULL); break; case 3311: - // Removed (useless ?) call to sub_1D227 _tealSpeaker._object1.hide(); _teal.show(); _teal.setStrip(1); @@ -4631,8 +4626,6 @@ void Scene3600::signal() { switch (_sceneMode) { case 3320: // Move to the console - - // Removed (useless ?) call to sub_1D227 R2_GLOBALS._walkRegions.disableRegion(14); R2_GLOBALS._scrollFollower = &_seeker; _tealSpeaker._object1.hide(); @@ -4649,8 +4642,6 @@ void Scene3600::signal() { break; case 3321: // Teal activates console - - // Removed (useless ?) call to sub_1D227 R2_GLOBALS._scrollFollower = &R2_GLOBALS._player; _tealSpeaker.stopSpeaking(); _teal.show(); @@ -4662,8 +4653,6 @@ void Scene3600::signal() { break; case 3322: // Teal walks toward the teleport pod, the goule protector appears - - // Removed (useless ?) call to sub_1D227 _quinnSpeaker.stopSpeaking(); _quinnSpeaker._displayMode = 1; _tealSpeaker.stopSpeaking(); @@ -4678,7 +4667,6 @@ void Scene3600::signal() { if (!_tealDead) _tealDead = true; else { - // Removed (useless ?) call to sub_1D227 _protectorSpeaker.stopSpeaking(); _protector.show(); _protector.setup(3258, 6, 1); @@ -5014,7 +5002,6 @@ void Scene3700::signal() { case 3328: // No break on purpose case 3329: - // Removed (useless ?) call to sub_1D227 _sceneMode = 3701; setAction(&_sequenceManager, this, 3701, &_seeker, &_miranda, &_webbster, NULL); break; -- cgit v1.2.3 From c26ed6505f4a3c12c082473a1ebaaabd32d40a88 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sun, 24 Nov 2013 16:59:44 -0500 Subject: TSAGE: Fixes for R2R right click dialog choosing cursor or help/player dialog --- engines/tsage/ringworld2/ringworld2_dialogs.cpp | 15 +++++++++------ engines/tsage/ringworld2/ringworld2_dialogs.h | 3 ++- engines/tsage/ringworld2/ringworld2_logic.cpp | 7 ++++++- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_dialogs.cpp b/engines/tsage/ringworld2/ringworld2_dialogs.cpp index 12147f7ee5..a0675bc292 100644 --- a/engines/tsage/ringworld2/ringworld2_dialogs.cpp +++ b/engines/tsage/ringworld2/ringworld2_dialogs.cpp @@ -50,6 +50,7 @@ RightClickDialog::RightClickDialog() : GfxDialog() { _btnList[5] = Common::Point(83, 47); // Set the palette and change the cursor + _previousCursor = R2_GLOBALS._events.getCursor(); R2_GLOBALS._events.setCursor(CURSOR_ARROW); setPalette(); @@ -136,7 +137,7 @@ bool RightClickDialog::process(Event &event) { return false; } -void RightClickDialog::execute() { +int RightClickDialog::execute() { // Draw the dialog draw(); @@ -157,7 +158,8 @@ void RightClickDialog::execute() { } // Execute the specified action - CursorType cursorNum = CURSOR_NONE; + CursorType cursorNum = _previousCursor; + int result = -1; switch (_selectedAction) { case 0: // Look action @@ -177,17 +179,18 @@ void RightClickDialog::execute() { break; case 4: // Change player - CharacterDialog::show(); + result = 0; break; case 5: // Options dialog + result = 1; break; } - if (cursorNum != CURSOR_NONE) - R2_GLOBALS._events.setCursor(cursorNum); - + R2_GLOBALS._events.setCursor(cursorNum); _gfxManager.deactivate(); + + return result; } /*--------------------------------------------------------------------------*/ diff --git a/engines/tsage/ringworld2/ringworld2_dialogs.h b/engines/tsage/ringworld2/ringworld2_dialogs.h index 02a1aed81c..0c19ae4371 100644 --- a/engines/tsage/ringworld2/ringworld2_dialogs.h +++ b/engines/tsage/ringworld2/ringworld2_dialogs.h @@ -50,13 +50,14 @@ private: int _highlightedAction; int _selectedAction; + CursorType _previousCursor; public: RightClickDialog(); ~RightClickDialog(); virtual void draw(); virtual bool process(Event &event); - void execute(); + int execute(); }; class CharacterDialog: public GfxDialog { diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp index e735f4ffb1..92d4770930 100644 --- a/engines/tsage/ringworld2/ringworld2_logic.cpp +++ b/engines/tsage/ringworld2/ringworld2_logic.cpp @@ -1238,8 +1238,13 @@ void Ringworld2Game::processEvent(Event &event) { void Ringworld2Game::rightClick() { RightClickDialog *dlg = new RightClickDialog(); - dlg->execute(); + int option = dlg->execute(); delete dlg; + + if (option == 0) + CharacterDialog::show(); + else if (option == 1) + HelpDialog::show(); } /*--------------------------------------------------------------------------*/ -- cgit v1.2.3 From 6b0f1118de6d0f6e6b29dc8778845bf58926c9ad Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Mon, 25 Nov 2013 00:14:52 +0100 Subject: DEVTOOLS: Add project file directory to include path in generated project files. --- devtools/create_project/codeblocks.cpp | 1 + devtools/create_project/msbuild.cpp | 2 +- devtools/create_project/visualstudio.cpp | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/devtools/create_project/codeblocks.cpp b/devtools/create_project/codeblocks.cpp index ec003df2d5..442a2b0025 100644 --- a/devtools/create_project/codeblocks.cpp +++ b/devtools/create_project/codeblocks.cpp @@ -120,6 +120,7 @@ void CodeBlocksProvider::createProjectFile(const std::string &name, const std::s "\t\t\t\t\t\n" "\t\t\t\t\t\n" "\t\t\t\t\t\n" + "\t\t\t\t\t\n" "\t\t\t\t\n"; ////////////////////////////////////////////////////////////////////////// diff --git a/devtools/create_project/msbuild.cpp b/devtools/create_project/msbuild.cpp index 0d68b2e9c9..07ae20e7dc 100644 --- a/devtools/create_project/msbuild.cpp +++ b/devtools/create_project/msbuild.cpp @@ -360,7 +360,7 @@ void MSBuildProvider::outputGlobalPropFile(const BuildSetup &setup, std::ofstrea "\t\t\n" "\t\t\ttrue\n" "\t\t\t" << warnings << ";%(DisableSpecificWarnings)\n" - "\t\t\t$(" << LIBS_DEFINE << ")\\include;" << prefix << ";" << prefix << "\\engines;" << (setup.tests ? prefix + "\\test\\cxxtest;" : "") << "$(TargetDir);%(AdditionalIncludeDirectories)\n" + "\t\t\t$(" << LIBS_DEFINE << ")\\include;.\\;" << prefix << ";" << prefix << "\\engines;" << (setup.tests ? prefix + "\\test\\cxxtest;" : "") << "$(TargetDir);%(AdditionalIncludeDirectories)\n" "\t\t\t" << definesList << "%(PreprocessorDefinitions)\n" "\t\t\t" << ((setup.devTools || setup.tests) ? "Sync" : "") << "\n"; diff --git a/devtools/create_project/visualstudio.cpp b/devtools/create_project/visualstudio.cpp index 438e0772f9..84bc674f9a 100644 --- a/devtools/create_project/visualstudio.cpp +++ b/devtools/create_project/visualstudio.cpp @@ -232,7 +232,7 @@ void VisualStudioProvider::outputGlobalPropFile(const BuildSetup &setup, std::of "\t\tName=\"VCCLCompilerTool\"\n" "\t\tDisableLanguageExtensions=\"" << (setup.devTools ? "false" : "true") << "\"\n" "\t\tDisableSpecificWarnings=\"" << warnings << "\"\n" - "\t\tAdditionalIncludeDirectories=\"" << prefix << ";" << prefix << "\\engines;$(" << LIBS_DEFINE << ")\\include;" << (setup.tests ? prefix + "\\test\\cxxtest;" : "") << "$(TargetDir)\"\n" + "\t\tAdditionalIncludeDirectories=\".\\;" << prefix << ";" << prefix << "\\engines;$(" << LIBS_DEFINE << ")\\include;" << (setup.tests ? prefix + "\\test\\cxxtest;" : "") << "$(TargetDir)\"\n" "\t\tPreprocessorDefinitions=\"" << definesList << "\"\n" "\t\tExceptionHandling=\"" << ((setup.devTools || setup.tests) ? "1" : "0") << "\"\n"; -- cgit v1.2.3 From bb2b1c8dfe4bdf7b54f7a704bfb632e3671f4da4 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Sun, 24 Nov 2013 22:50:11 -0500 Subject: PEGASUS: Reset the callback trigger in disposeCallBack() Fixes the occasional "loop" when finishing the space chase. Thanks to blitter for actually being able to trigger and debug the damned problem --- engines/pegasus/timers.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/engines/pegasus/timers.cpp b/engines/pegasus/timers.cpp index 8463d866e8..5fb2551e7a 100644 --- a/engines/pegasus/timers.cpp +++ b/engines/pegasus/timers.cpp @@ -333,6 +333,7 @@ void TimeBaseCallBack::releaseCallBack() { void TimeBaseCallBack::disposeCallBack() { _timeBase = 0; + _trigger = kTriggerNone; _hasBeenTriggered = false; } -- cgit v1.2.3 From e9b174273876122bb5fed6e63384480298f3d34d Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Mon, 25 Nov 2013 00:17:05 -0500 Subject: FULLPIPE: Implement sceneHandler04_clickButton() --- engines/fullpipe/constants.h | 4 ++++ engines/fullpipe/scenes/scene04.cpp | 13 ++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 53eec3ad7c..edc956d660 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -26,6 +26,7 @@ namespace Fullpipe { #define ANI_BOOT_1 4231 +#define ANI_BUTTON 598 #define ANI_CLOCK 588 #define ANI_DOMINO_3 2732 #define ANI_DADAYASHIK 306 @@ -109,6 +110,9 @@ namespace Fullpipe { #define MV_KZW_JUMP 558 #define MV_KZW_JUMPROTATE 561 #define MV_BDG_OPEN 1379 +#define MV_BTN_CLICK 599 +#define MV_CLK_GO 589 +#define MV_HND_POINT 602 #define MV_MAN_GOD 481 #define MV_MAN_GOLADDER 451 #define MV_MAN_GOLADDER2 2844 diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index 01069eab1f..d658be517a 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -222,7 +222,18 @@ void sceneHandler04_clickBottle() { } void sceneHandler04_clickButton() { - warning("sceneHandler04_clickButton()"); + StaticANIObject *but = g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_BUTTON, -1); + + if (but) { + if (!g_vars->scene04_clock->_movement || + (g_vars->scene04_clock->_movement->_id == MV_CLK_GO && g_vars->scene04_clock->_movement->_currDynamicPhaseIndex > 3 && + g_vars->scene04_clock->_movement->_currDynamicPhaseIndex < 105)) { + if (!g_vars->scene04_hand->_movement && !g_vars->scene04_var02) { + but->startAnim(MV_BTN_CLICK, 0, -1); + g_vars->scene04_hand->startAnim(MV_HND_POINT, 0, -1); + } + } + } } void sceneHandler04_clickLadder() { -- cgit v1.2.3 From cf230795670114dbf3b236a400734a9ad230ddce Mon Sep 17 00:00:00 2001 From: Strangerke Date: Mon, 25 Nov 2013 08:16:51 +0100 Subject: TSAGE: R2R - Some renaming in scene 3400, add comments about scene modes --- engines/tsage/ringworld2/ringworld2_scenes3.cpp | 23 +++++++++++++++++++---- engines/tsage/ringworld2/ringworld2_scenes3.h | 2 +- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes3.cpp b/engines/tsage/ringworld2/ringworld2_scenes3.cpp index 6f6bbbf96a..732add03ec 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes3.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes3.cpp @@ -2821,6 +2821,7 @@ void Scene3400::remove() { void Scene3400::signal() { switch (_sceneMode) { case 3305: { + // First part of discussion _tealSpeaker._object1.hide(); _teal.show(); _teal.setStrip(1); @@ -2832,6 +2833,7 @@ void Scene3400::signal() { } break; case 3306: + // Teal picks up the sapphire R2_GLOBALS._sound2.play(318); _companion1.setStrip(2); R2_GLOBALS._player.setStrip(6); @@ -2842,15 +2844,16 @@ void Scene3400::signal() { _stripManager.start(3307, this); if (R2_GLOBALS._player._characterIndex == R2_SEEKER) { _sceneMode = 3400; - R2_GLOBALS._player.setAction(&_sequenceManager, this, 3400, &R2_GLOBALS._player, &_teal, &_actor8, NULL); + R2_GLOBALS._player.setAction(&_sequenceManager, this, 3400, &R2_GLOBALS._player, &_teal, &_sapphire, NULL); } else { _sceneMode = 3408; - _companion1.setAction(&_sequenceManager, this, 3408, &_companion1, &_teal, &_actor8, NULL); + _companion1.setAction(&_sequenceManager, this, 3408, &_companion1, &_teal, &_sapphire, NULL); } break; case 3307: case 3404: case 3408: + // A tasp! if (!_soundFaded) { R2_GLOBALS._sound2.fadeOut2(NULL); _soundFaded = true; @@ -2860,6 +2863,7 @@ void Scene3400::signal() { } break; case 3308: + // Characters teleport one after the other _companion1.setStrip(2); R2_GLOBALS._player.setStrip(6); _companion2.setStrip(6); @@ -2872,6 +2876,7 @@ void Scene3400::signal() { setAction(&_sequenceManager, this, 3403, &_companion1, &_webbster, &_manholeCover, NULL); break; case 3309: + // Miranda teleports away _teal.setStrip(1); _sceneMode = 3405; if (R2_GLOBALS._player._characterIndex == R2_MIRANDA) @@ -2880,6 +2885,7 @@ void Scene3400::signal() { setAction(&_sequenceManager, this, 3405, &_companion2, &_manholeCover, NULL); break; case 3310: + // Quinn teleports away _teal.setStrip(1); _sceneMode = 3406; if (R2_GLOBALS._player._characterIndex == R2_QUINN) @@ -2890,6 +2896,7 @@ void Scene3400::signal() { setAction(&_sequenceManager, this, 3406, &_companion2, &_manholeCover, NULL); break; case 3311: + // Teal teleports away _tealSpeaker._object1.hide(); _teal.show(); _teal.setStrip(1); @@ -2897,8 +2904,9 @@ void Scene3400::signal() { setAction(&_sequenceManager, this, 3407, &_teal, &_manholeCover, NULL); break; case 3400: { - _actor8.postInit(); - _actor8.hide(); + // Teal enters the room + _sapphire.postInit(); + _sapphire.hide(); _teal.postInit(); _teal._numFrames = 7; _teal._moveDiff = Common::Point(3, 2); @@ -2918,30 +2926,37 @@ void Scene3400::signal() { } break; case 3401: + // Teal first speech _sceneMode = 3305; _stripManager.start(3305, this); break; case 3402: + // Betrayal of Webbster _sceneMode = 3306; _stripManager.start(3306, this); break; case 3403: + // Teal: "Miranda..." R2_GLOBALS._scrollFollower = &R2_GLOBALS._player; _sceneMode = 3309; _stripManager.start(3309, this); break; case 3405: + // Teal: "And Quinn..." _sceneMode = 3310; _stripManager.start(3310, this); break; case 3406: + // Teal final sentence before teleporting _sceneMode = 3311; _stripManager.start(3311, this); break; case 3407: + // End of scene R2_GLOBALS._sceneManager.changeScene(3600); break; default: + // Unexpected scene mode R2_GLOBALS._player.enableControl(); break; } diff --git a/engines/tsage/ringworld2/ringworld2_scenes3.h b/engines/tsage/ringworld2/ringworld2_scenes3.h index 9e93a61665..398d09a01e 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes3.h +++ b/engines/tsage/ringworld2/ringworld2_scenes3.h @@ -550,7 +550,7 @@ public: SceneActor _teal; SceneActor _door; SceneActor _manholeCover; - SceneActor _actor8; + SceneActor _sapphire; SequenceManager _sequenceManager; bool _soundFaded; -- cgit v1.2.3 From 7c3588ec2a74aa75e3e1a06849b751b3c203d42a Mon Sep 17 00:00:00 2001 From: anotherguest Date: Mon, 25 Nov 2013 16:43:11 +0100 Subject: SYMBIAN OS:Added new engines, updated resolution support. Version number changes --- backends/platform/symbian/AdaptAllMMPs.pl | 15 +++++- .../symbian/BuildPackageUpload_LocalSettings.pl | 24 +++++---- backends/platform/symbian/README | 9 ++++ .../symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg | 2 +- .../S60v3/scummvm-CVS-SymbianS60v3_split.pkg | 2 +- .../symbian/UIQ3/scummvm-CVS-SymbianUIQ3.pkg | 2 +- .../symbian/UIQ3/scummvm-CVS-SymbianUIQ3_split.pkg | 2 +- .../platform/symbian/mmp/scummvm_avalanche.mmp.in | 62 ++++++++++++++++++++++ backends/platform/symbian/mmp/scummvm_base.mmp.in | 10 ++-- .../platform/symbian/mmp/scummvm_dreamweb.mmp.in | 62 ++++++++++++++++++++++ .../platform/symbian/mmp/scummvm_fullpipe.mmp.in | 62 ++++++++++++++++++++++ backends/platform/symbian/mmp/scummvm_kyra.mmp.in | 7 +++ .../platform/symbian/mmp/scummvm_mohawk.mmp.in | 19 +++++++ .../symbian/mmp/scummvm_mortevielle.mmp.in | 62 ++++++++++++++++++++++ .../platform/symbian/mmp/scummvm_neverhood.mmp.in | 61 +++++++++++++++++++++ backends/platform/symbian/mmp/scummvm_sci.mmp.in | 8 +++ .../platform/symbian/mmp/scummvm_zvision.mmp.in | 62 ++++++++++++++++++++++ backends/platform/symbian/src/SymbianOS.cpp | 30 +++++++++++ backends/platform/symbian/src/SymbianOS.h | 2 +- backends/platform/symbian/src/portdefs.h | 2 + 20 files changed, 486 insertions(+), 19 deletions(-) create mode 100644 backends/platform/symbian/mmp/scummvm_avalanche.mmp.in create mode 100644 backends/platform/symbian/mmp/scummvm_dreamweb.mmp.in create mode 100644 backends/platform/symbian/mmp/scummvm_fullpipe.mmp.in create mode 100644 backends/platform/symbian/mmp/scummvm_mortevielle.mmp.in create mode 100644 backends/platform/symbian/mmp/scummvm_neverhood.mmp.in create mode 100644 backends/platform/symbian/mmp/scummvm_zvision.mmp.in diff --git a/backends/platform/symbian/AdaptAllMMPs.pl b/backends/platform/symbian/AdaptAllMMPs.pl index ffc4e88aff..e8e0e0c4ad 100644 --- a/backends/platform/symbian/AdaptAllMMPs.pl +++ b/backends/platform/symbian/AdaptAllMMPs.pl @@ -44,6 +44,12 @@ chdir("../../../"); "mmp/scummvm_toltecs.mmp", "mmp/scummvm_pegasus.mmp", "mmp/scummvm_wintermute.mmp", + "mmp/scummvm_avalanche.mmp", + "mmp/scummvm_dreamweb.mmp", + "mmp/scummvm_fullpipe.mmp", + "mmp/scummvm_mortevielle.mmp", + "mmp/scummvm_neverhood.mmp", + "mmp/scummvm_zvision.mmp", # Target Platform Project Files "S60/ScummVM_S60.mmp", "S60v3/ScummVM_S60v3.mmp", @@ -83,6 +89,7 @@ my @sections_scumm = ("", "ENABLE_SCUMM_7_8", "ENABLE_HE"); # special sections f my @sections_saga = ("", "ENABLE_IHNM", "ENABLE_SAGA2"); # special sections for engine SAGA my @sections_kyra = ("", "ENABLE_LOL","ENABLE_EOB"); # special sections for engine KYRA my @sections_agos = ("", "ENABLE_AGOS2"); # special sections for engine AGOS +my @sections_mohawk = ("", "ENABLE_MYST", "ENABLE_RIVEN", "ENABLE_CSTIME"); # special sections for engine MOHAWK # files excluded from build, case insensitive, will be matched in filename string only my @excludes_snd = ( @@ -161,7 +168,7 @@ ParseModule("_tucker", "tucker", \@section_empty); ParseModule("_sci", "sci", \@section_empty); ParseModule("_draci", "draci", \@section_empty); ParseModule("_teenagent","teenagent", \@section_empty); -ParseModule("_mohawk" ,"mohawk", \@section_empty); +ParseModule("_mohawk" ,"mohawk", \@sections_mohawk); ParseModule("_hugo" ,"hugo", \@section_empty); ParseModule("_toon" ,"toon", \@section_empty); ParseModule("_lastexpress","lastexpress", \@section_empty); @@ -171,6 +178,12 @@ ParseModule("_toltecs","toltecs", \@section_empty); ParseModule("_hopkins","hopkins", \@section_empty); ParseModule("_pegasus","pegasus", \@section_empty); ParseModule("_wintermute","wintermute", \@section_empty); +ParseModule("_avalanche","avalanche", \@section_empty); +ParseModule("_dreamweb","dreamweb", \@section_empty); +ParseModule("_fullpipe","fullpipe", \@section_empty); +ParseModule("_mortevielle","mortevielle", \@section_empty); +ParseModule("_neverhood","neverhood", \@section_empty); +ParseModule("_zvision","zvision", \@section_empty); print " ======================================================================================= Done. Enjoy :P diff --git a/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl b/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl index ded4ef198f..5b88b9d4f5 100644 --- a/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl +++ b/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl @@ -4,21 +4,22 @@ @WorkingEngines = qw( scumm agos sky queen gob groovie saga drascula kyra lure agi touche parallaction cine - cruise made tinsel tucker sword1 sword2 draci sci teenagent mohawk hugo toon lastexpress tsage cge - composer toltecs tony wintermute pegasus + cruise made tinsel tucker sword1 sword2 draci sci teenagent mohawk hugo toon tsage cge + composer toltecs tony wintermute pegasus hopkins avalanche dreamweb fullpipe mortevielle neverhood zvision ); @WorkingEngines_1st = qw( - scumm queen groovie saga drascula - touche parallaction cine -? cruise made tucker lastexpress composer wintermute + scumm queen groovie saga + drascula touche parallaction cine + cruise made tucker + composer toltecs tony pegasus ); @WorkingEngines_2nd = qw( - agos sky gob kyra lure - agi tinsel sword1 sword2 - draci sci teenagent hugo toon - tsage cge toltecs tony pegasus + agos sky gob kyra + lure agi tinsel sword1 + sword2 draci sci teenagent + hugo toon tsage cge hopkins ); @TestingEngines = qw( @@ -34,6 +35,9 @@ lol agos2 eob + myst + riven + cstime ); #disabled subengines lol saga2 personal nightmare @@ -223,7 +227,7 @@ # now you can add $VariationSets only built on this PC below this line :) } - elsif ($ENV{'COMPUTERNAME'} eq "EMBEDDEV_VAIO1") ################################################################# + elsif ($ENV{'COMPUTERNAME'} eq "EMBEDDEV-VAIO2") ################################################################# { $Producer = "AnotherGuest"; $RedirectSTDERR = 1; diff --git a/backends/platform/symbian/README b/backends/platform/symbian/README index 58cbc7814a..ad3edc2b00 100644 --- a/backends/platform/symbian/README +++ b/backends/platform/symbian/README @@ -24,6 +24,15 @@ About ScummVM Jurgen and Lars have successfully transfered all needed changes into CVS/SVN, with additional helpful tools for Symbian OS Release History: +Release version: 1.7.0 + * Nothing significant in the Symbian port, except SDL improvements (new SDL version used) + +Release version: 1.6.0 + * Nothing significant in the Symbian port, except SDL improvements (new SDL version used) + + Release version: 1.5.0 + * Nothing significant in the Symbian port, except SDL improvements (new SDL version used) + Release version: 1.4.0 * Nothing significant in the Symbian port, except SDL improvements (new SDL version used) * See main readme for general ScummVM improvements, major update diff --git a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg index 4c6b1b05f8..4a9768ad07 100644 --- a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg +++ b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg @@ -33,7 +33,7 @@ :"ScummVM" ; UID is the app's UID -#{"ScummVM S60v3"},(0xA0000657),1,60,0 +#{"ScummVM S60v3"},(0xA0000657),1,70,0 ;Supports Series 60 v 3.0 [0x101F7961], 0, 0, 0, {"Series60ProductID"} diff --git a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3_split.pkg b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3_split.pkg index d3fd0450fa..66ca0267f2 100644 --- a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3_split.pkg +++ b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3_split.pkg @@ -36,7 +36,7 @@ :"ScummVM" ; UID is the app's UID -#{"ScummVM S60v3"},(0xA0000657),1,60,0 +#{"ScummVM S60v3"},(0xA0000657),1,70,0 ;Supports Series 60 v 3.0 [0x101F7961], 0, 0, 0, {"Series60ProductID"} diff --git a/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3.pkg b/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3.pkg index c62d25dafa..b4f1cfdd5c 100644 --- a/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3.pkg +++ b/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3.pkg @@ -32,7 +32,7 @@ :"ScummVM" ; UID is the app's UID -#{"ScummVM UIQ3"},(0xA0000657),1,60,0 +#{"ScummVM UIQ3"},(0xA0000657),1,70,0 ; ProductID for UIQ 3.0 ; Product/platform version UID, Major, Minor, Build, Product ID diff --git a/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3_split.pkg b/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3_split.pkg index a37e0b0533..722e23a1b8 100644 --- a/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3_split.pkg +++ b/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3_split.pkg @@ -35,7 +35,7 @@ :"ScummVM" ; UID is the app's UID -#{"ScummVM UIQ3"},(0xA0000657),1,60,0 +#{"ScummVM UIQ3"},(0xA0000657),1,70,0 ; ProductID for UIQ 3.0 ; Product/platform version UID, Major, Minor, Build, Product ID diff --git a/backends/platform/symbian/mmp/scummvm_avalanche.mmp.in b/backends/platform/symbian/mmp/scummvm_avalanche.mmp.in new file mode 100644 index 0000000000..12f157f1e7 --- /dev/null +++ b/backends/platform/symbian/mmp/scummvm_avalanche.mmp.in @@ -0,0 +1,62 @@ +/* ScummVM - Graphic Adventure Engine + * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL + * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System + * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer + * Copyright (C) 2005-2013 The ScummVM project + * Copyright (C) 2013 Strizniou Fedor + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +// +// EPOC MMP makefile project for ScummVM +// + +// *** Definitions + +TARGET scummvm_avalanche.lib +TARGETTYPE lib +OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp +OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings +OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char +ALWAYS_BUILD_AS_ARM + +//START_AUTO_MACROS_SLAVE// + + // empty base file, will be updated by Perl build scripts + +//STOP_AUTO_MACROS_SLAVE// + +// *** SOURCE files + +SOURCEPATH ..\..\..\..\engines\avalanche + +//START_AUTO_OBJECTS_AVALANCHE_// + + // empty base file, will be updated by Perl build scripts + +//STOP_AUTO_OBJECTS_AVALANCHE_// + +// *** Include paths + +USERINCLUDE ..\..\..\..\engines +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src +SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version +SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_base.mmp.in b/backends/platform/symbian/mmp/scummvm_base.mmp.in index d6dfafd014..cd7d3e7e98 100644 --- a/backends/platform/symbian/mmp/scummvm_base.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_base.mmp.in @@ -50,15 +50,16 @@ ALWAYS_BUILD_AS_ARM USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio USERINCLUDE ..\..\..\..\backends\fs ..\src ..\..\..\..\backends\platform\sdl +USERINCLUDE \epoc32\include\mpeg2dec //\epoc32\include\theora +SYSTEMINCLUDE \epoc32\include\freetype +SYSTEMINCLUDE \epoc32\include\mpeg2dec SYSTEMINCLUDE \epoc32\include\ESDL +SYSTEMINCLUDE \epoc32\include\FLAC SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version SYSTEMINCLUDE \epoc32\include\libc SYSTEMINCLUDE \epoc32\include\tremor SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE \epoc32\include\mw -SYSTEMINCLUDE \epoc32\include\platform -SYSTEMINCLUDE \epoc32\include\platform\mw SYSTEMINCLUDE ..\src // for portdefs.h // *** SOURCE files @@ -115,6 +116,9 @@ SOURCEPATH ..\..\..\..\video //STOP_AUTO_OBJECTS_VIDEO_// // add a few files manually, since they are not parsed from modules.mk files +SOURCE bink_decoder.cpp +SOURCE codecs\mpeg.cpp + SOURCEPATH ..\..\..\.. SOURCE backends\events\default\default-events.cpp SOURCE backends\timer\default\default-timer.cpp diff --git a/backends/platform/symbian/mmp/scummvm_dreamweb.mmp.in b/backends/platform/symbian/mmp/scummvm_dreamweb.mmp.in new file mode 100644 index 0000000000..b6369b7d2b --- /dev/null +++ b/backends/platform/symbian/mmp/scummvm_dreamweb.mmp.in @@ -0,0 +1,62 @@ +/* ScummVM - Graphic Adventure Engine + * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL + * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System + * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer + * Copyright (C) 2005-2013 The ScummVM project + * Copyright (C) 2013 Strizniou Fedor + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +// +// EPOC MMP makefile project for ScummVM +// + +// *** Definitions + +TARGET scummvm_dreamweb.lib +TARGETTYPE lib +OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp +OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings +OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char +ALWAYS_BUILD_AS_ARM + +//START_AUTO_MACROS_SLAVE// + + // empty base file, will be updated by Perl build scripts + +//STOP_AUTO_MACROS_SLAVE// + +// *** SOURCE files + +SOURCEPATH ..\..\..\..\engines\dreamweb + +//START_AUTO_OBJECTS_DREAMWEB_// + + // empty base file, will be updated by Perl build scripts + +//STOP_AUTO_OBJECTS_DREAMWEB_// + +// *** Include paths + +USERINCLUDE ..\..\..\..\engines +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src +SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version +SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_fullpipe.mmp.in b/backends/platform/symbian/mmp/scummvm_fullpipe.mmp.in new file mode 100644 index 0000000000..4a8f69f709 --- /dev/null +++ b/backends/platform/symbian/mmp/scummvm_fullpipe.mmp.in @@ -0,0 +1,62 @@ +/* ScummVM - Graphic Adventure Engine + * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL + * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System + * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer + * Copyright (C) 2005-2013 The ScummVM project + * Copyright (C) 2013 Strizniou Fedor + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +// +// EPOC MMP makefile project for ScummVM +// + +// *** Definitions + +TARGET scummvm_fullpipe.lib +TARGETTYPE lib +OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp +OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings +OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char +ALWAYS_BUILD_AS_ARM + +//START_AUTO_MACROS_SLAVE// + + // empty base file, will be updated by Perl build scripts + +//STOP_AUTO_MACROS_SLAVE// + +// *** SOURCE files + +SOURCEPATH ..\..\..\..\engines\fullpipe + +//START_AUTO_OBJECTS_FULLPIPE_// + + // empty base file, will be updated by Perl build scripts + +//STOP_AUTO_OBJECTS_FULLPIPE_// + +// *** Include paths + +USERINCLUDE ..\..\..\..\engines +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src +SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version +SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_kyra.mmp.in b/backends/platform/symbian/mmp/scummvm_kyra.mmp.in index 5772bfaad0..124f7c0dc3 100644 --- a/backends/platform/symbian/mmp/scummvm_kyra.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_kyra.mmp.in @@ -59,6 +59,13 @@ SOURCEPATH ..\..\..\..\engines\kyra //STOP_AUTO_OBJECTS_KYRA_ENABLE_LOL// + +//START_AUTO_OBJECTS_KYRA_ENABLE_EOB// + + // empty base file, will be updated by Perl build scripts + +//STOP_AUTO_OBJECTS_KYRA_ENABLE_EOB// + // *** Include paths USERINCLUDE ..\..\..\..\engines diff --git a/backends/platform/symbian/mmp/scummvm_mohawk.mmp.in b/backends/platform/symbian/mmp/scummvm_mohawk.mmp.in index 5f7bd4e144..3fe9af68f6 100644 --- a/backends/platform/symbian/mmp/scummvm_mohawk.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_mohawk.mmp.in @@ -53,6 +53,25 @@ SOURCEPATH ..\..\..\..\engines\mohawk //STOP_AUTO_OBJECTS_MOHAWK_// + +//START_AUTO_OBJECTS_MOHAWK_ENABLE_MYST// + + // empty base file, will be updated by Perl build scripts + +//STOP_AUTO_OBJECTS_MOHAWK_ENABLE_MYST// + +//START_AUTO_OBJECTS_MOHAWK_ENABLE_RIVEN// + + // empty base file, will be updated by Perl build scripts + +//STOP_AUTO_OBJECTS_MOHAWK_ENABLE_RIVEN// + +//START_AUTO_OBJECTS_MOHAWK_ENABLE_CSTIME// + + // empty base file, will be updated by Perl build scripts + +//STOP_AUTO_OBJECTS_MOHAWK_ENABLE_CSTIME// + // *** Include paths USERINCLUDE ..\..\..\..\engines diff --git a/backends/platform/symbian/mmp/scummvm_mortevielle.mmp.in b/backends/platform/symbian/mmp/scummvm_mortevielle.mmp.in new file mode 100644 index 0000000000..3969a3af9c --- /dev/null +++ b/backends/platform/symbian/mmp/scummvm_mortevielle.mmp.in @@ -0,0 +1,62 @@ +/* ScummVM - Graphic Adventure Engine + * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL + * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System + * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer + * Copyright (C) 2005-2013 The ScummVM project + * Copyright (C) 2013 Strizniou Fedor + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +// +// EPOC MMP makefile project for ScummVM +// + +// *** Definitions + +TARGET scummvm_mortevielle.lib +TARGETTYPE lib +OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp +OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings +OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char +ALWAYS_BUILD_AS_ARM + +//START_AUTO_MACROS_SLAVE// + + // empty base file, will be updated by Perl build scripts + +//STOP_AUTO_MACROS_SLAVE// + +// *** SOURCE files + +SOURCEPATH ..\..\..\..\engines\mortevielle + +//START_AUTO_OBJECTS_MORTEVIELLE_// + + // empty base file, will be updated by Perl build scripts + +//STOP_AUTO_OBJECTS_MORTEVIELLE_// + +// *** Include paths + +USERINCLUDE ..\..\..\..\engines +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src +SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version +SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_neverhood.mmp.in b/backends/platform/symbian/mmp/scummvm_neverhood.mmp.in new file mode 100644 index 0000000000..3a49093c43 --- /dev/null +++ b/backends/platform/symbian/mmp/scummvm_neverhood.mmp.in @@ -0,0 +1,61 @@ +/* ScummVM - Graphic Adventure Engine + * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL + * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System + * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer + * Copyright (C) 2005-2013 The ScummVM project + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +// +// EPOC MMP makefile project for ScummVM +// + +// *** Definitions + +TARGET scummvm_neverhood.lib +TARGETTYPE lib +OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp +OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings +OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char +ALWAYS_BUILD_AS_ARM + +//START_AUTO_MACROS_SLAVE// + + // empty base file, will be updated by Perl build scripts + +//STOP_AUTO_MACROS_SLAVE// + +// *** SOURCE files + +SOURCEPATH ..\..\..\..\engines\neverhood + +//START_AUTO_OBJECTS_NEVERHOOD_// + + // empty base file, will be updated by Perl build scripts + +//STOP_AUTO_OBJECTS_NEVERHOOD_// + +// *** Include paths + +USERINCLUDE ..\..\..\..\engines +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src +SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version +SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_sci.mmp.in b/backends/platform/symbian/mmp/scummvm_sci.mmp.in index 5749c66e10..333a6d43c2 100644 --- a/backends/platform/symbian/mmp/scummvm_sci.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_sci.mmp.in @@ -53,6 +53,14 @@ SOURCEPATH ..\..\..\..\engines\sci //STOP_AUTO_OBJECTS_SCI_// + +//START_AUTO_OBJECTS_SCI_ENABLE_SCI32// + + // empty base file, will be updated by Perl build scripts + +//STOP_AUTO_OBJECTS_SCI_ENABLE_SCI32// + + // *** Include paths USERINCLUDE ..\..\..\..\engines diff --git a/backends/platform/symbian/mmp/scummvm_zvision.mmp.in b/backends/platform/symbian/mmp/scummvm_zvision.mmp.in new file mode 100644 index 0000000000..3687b10fec --- /dev/null +++ b/backends/platform/symbian/mmp/scummvm_zvision.mmp.in @@ -0,0 +1,62 @@ +/* ScummVM - Graphic Adventure Engine + * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL + * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System + * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer + * Copyright (C) 2005-2013 The ScummVM project + * Copyright (C) 2013 Strizniou Fedor + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +// +// EPOC MMP makefile project for ScummVM +// + +// *** Definitions + +TARGET scummvm_zvision.lib +TARGETTYPE lib +OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp +OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings +OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char +ALWAYS_BUILD_AS_ARM + +//START_AUTO_MACROS_SLAVE// + + // empty base file, will be updated by Perl build scripts + +//STOP_AUTO_MACROS_SLAVE// + +// *** SOURCE files + +SOURCEPATH ..\..\..\..\engines\zvision + +//START_AUTO_OBJECTS_ZVISION_// + + // empty base file, will be updated by Perl build scripts + +//STOP_AUTO_OBJECTS_ZVISION_// + +// *** Include paths + +USERINCLUDE ..\..\..\..\engines +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src +SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version +SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/src/SymbianOS.cpp b/backends/platform/symbian/src/SymbianOS.cpp index b1bd976f9e..101b216493 100644 --- a/backends/platform/symbian/src/SymbianOS.cpp +++ b/backends/platform/symbian/src/SymbianOS.cpp @@ -178,6 +178,31 @@ RFs& OSystem_SDL_Symbian::FsSession() { return *_RFs; } +void OSystem_SDL_Symbian::initSize(uint w, uint h, const Graphics::PixelFormat *format ) { + if(w != 640 && w != 320) { + if(w > 320) { + w = 640; + } + else { + w = 320; + } + } + + if(h != 480 && h != 400 && h != 240 && h != 200) { + if(h > 400) { + h = 480; + } else if(h > 240){ + h = 400; + } else if(h > 200) { + h = 240; + } else { + h = 200; + } + } + + ModularBackend::initSize(w, h, format); +} + // Symbian bsearch implementation is flawed void* scumm_bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) { // Perform binary search @@ -197,3 +222,8 @@ void* scumm_bsearch(const void *key, const void *base, size_t nmemb, size_t size return NULL; } + +int remove(const char *path) +{ + return unlink(path); +} diff --git a/backends/platform/symbian/src/SymbianOS.h b/backends/platform/symbian/src/SymbianOS.h index 74a102dc15..89ae0d825c 100644 --- a/backends/platform/symbian/src/SymbianOS.h +++ b/backends/platform/symbian/src/SymbianOS.h @@ -39,7 +39,7 @@ public: virtual bool setGraphicsMode(const char *name); virtual Common::String getDefaultConfigFileName(); virtual void setupIcon(); - + virtual void initSize(uint w, uint h, const Graphics::PixelFormat *format ); /** * Returns reference to File session */ diff --git a/backends/platform/symbian/src/portdefs.h b/backends/platform/symbian/src/portdefs.h index 1f9128a54f..f69a90e009 100644 --- a/backends/platform/symbian/src/portdefs.h +++ b/backends/platform/symbian/src/portdefs.h @@ -60,6 +60,8 @@ typedef signed long int int32; #define SMALL_SCREEN_DEVICE #define DISABLE_COMMAND_LINE +#define USE_RGB_COLOR +int remove(const char *path); #if defined(USE_TREMOR) && !defined(USE_VORBIS) #define USE_VORBIS // make sure this one is defined together with USE_TREMOR! -- cgit v1.2.3 From c665e99eda471b690161e086fe9433a143d2e3a8 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Mon, 25 Nov 2013 18:44:52 -0500 Subject: FULLPIPE: Implement sceneHandler04_checkBigBallClick() --- engines/fullpipe/constants.h | 1 + engines/fullpipe/scenes/scene04.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index edc956d660..2e15423055 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -25,6 +25,7 @@ namespace Fullpipe { +#define ANI_BIGBALL 4923 #define ANI_BOOT_1 4231 #define ANI_BUTTON 598 #define ANI_CLOCK 588 diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index d658be517a..dab2131e04 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -216,6 +216,16 @@ void sceneHandlers_sub01(ExCommand *ex) { warning("sceneHandlers_sub01()"); } +void sceneHandler04_checkBigBallClick() { + StaticANIObject *ball = g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_BIGBALL, -1); + + if (ball) + for (uint i = 0; i < ball->_movements.size(); i++) + ((Movement *)ball->_movements[i])->_counterMax = 73; + + g_vars->scene04_var13 = 1; +} + void sceneHandler04_clickBottle() { if (!g_vars->scene04_var02) g_vars->scene04_var20 += 5; -- cgit v1.2.3 From fa350f9c1f9acd2e36fedceb7520b2723d3ff604 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Mon, 25 Nov 2013 19:54:21 -0500 Subject: VIDEO: Ignore AVI strn metadata --- video/avi_decoder.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/video/avi_decoder.cpp b/video/avi_decoder.cpp index eb5a71cdbe..41102f019d 100644 --- a/video/avi_decoder.cpp +++ b/video/avi_decoder.cpp @@ -69,6 +69,7 @@ namespace Video { #define ID_ISFT MKTAG('I','S','F','T') #define ID_DISP MKTAG('D','I','S','P') #define ID_PRMI MKTAG('P','R','M','I') +#define ID_STRN MKTAG('s','t','r','n') // Codec tags #define ID_RLE MKTAG('R','L','E',' ') @@ -155,6 +156,7 @@ bool AVIDecoder::parseNextChunk() { case ID_JUNK: // Alignment bytes, should be ignored case ID_ISFT: // Metadata, safe to ignore case ID_DISP: // Metadata, should be safe to ignore + case ID_STRN: // Metadata, safe to ignore skipChunk(size); break; case ID_IDX1: -- cgit v1.2.3 From 6fb6ffd77ba93cc46a2674b8ee94ab3f7d9966fa Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Mon, 25 Nov 2013 20:32:53 -0500 Subject: VIDEO: Handle prematurely ending AVI videos --- video/avi_decoder.cpp | 28 +++++++++++++++++++++++++++- video/avi_decoder.h | 4 +++- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/video/avi_decoder.cpp b/video/avi_decoder.cpp index 41102f019d..db8538e5a2 100644 --- a/video/avi_decoder.cpp +++ b/video/avi_decoder.cpp @@ -110,6 +110,7 @@ void AVIDecoder::initCommon() { _decodedHeader = false; _foundMovieList = false; _movieListStart = 0; + _movieListEnd = 0; _fileStream = 0; memset(&_header, 0, sizeof(_header)); } @@ -186,6 +187,7 @@ void AVIDecoder::handleList(uint32 listSize) { // We found the movie block _foundMovieList = true; _movieListStart = curPos; + _movieListEnd = _movieListStart + listSize + (listSize & 1); _fileStream->skip(listSize); return; case ID_HDRL: // Header List @@ -346,17 +348,27 @@ void AVIDecoder::close() { _decodedHeader = false; _foundMovieList = false; _movieListStart = 0; + _movieListEnd = 0; _indexEntries.clear(); memset(&_header, 0, sizeof(_header)); } void AVIDecoder::readNextPacket() { + if ((uint32)_fileStream->pos() >= _movieListEnd) { + // Ugh, reached the end premature. + forceVideoEnd(); + return; + } + uint32 nextTag = _fileStream->readUint32BE(); uint32 size = _fileStream->readUint32LE(); - if (_fileStream->eos()) + if (_fileStream->eos()) { + // Also premature end. + forceVideoEnd(); return; + } if (nextTag == ID_LIST) { // A list of audio/video chunks @@ -656,6 +668,16 @@ void AVIDecoder::readOldIndex(uint32 size) { } } +void AVIDecoder::forceVideoEnd() { + // Horrible AVI video has a premature end + // Force the frame to be the last frame + debug(0, "Forcing end of AVI video"); + + for (TrackListIterator it = getTrackListBegin(); it != getTrackListEnd(); it++) + if ((*it)->getTrackType() == Track::kTrackTypeVideo) + ((AVIVideoTrack *)*it)->forceTrackEnd(); +} + AVIDecoder::AVIVideoTrack::AVIVideoTrack(int frameCount, const AVIStreamHeader &streamHeader, const BitmapInfoHeader &bitmapInfoHeader, byte *initialPalette) : _frameCount(frameCount), _vidsHeader(streamHeader), _bmInfo(bitmapInfoHeader), _initialPalette(initialPalette) { _videoCodec = createCodec(); @@ -758,6 +780,10 @@ Codec *AVIDecoder::AVIVideoTrack::createCodec() { return 0; } +void AVIDecoder::AVIVideoTrack::forceTrackEnd() { + _curFrame = _frameCount - 1; +} + AVIDecoder::AVIAudioTrack::AVIAudioTrack(const AVIStreamHeader &streamHeader, const PCMWaveFormat &waveFormat, Audio::Mixer::SoundType soundType) : _audsHeader(streamHeader), _wvInfo(waveFormat), _soundType(soundType) { _audStream = createAudioStream(); diff --git a/video/avi_decoder.h b/video/avi_decoder.h index 9f28196177..882cce30de 100644 --- a/video/avi_decoder.h +++ b/video/avi_decoder.h @@ -166,6 +166,7 @@ protected: ~AVIVideoTrack(); void decodeFrame(Common::SeekableReadStream *stream); + void forceTrackEnd(); uint16 getWidth() const { return _bmInfo.width; } uint16 getHeight() const { return _bmInfo.height; } @@ -238,7 +239,7 @@ protected: Common::SeekableReadStream *_fileStream; bool _decodedHeader; bool _foundMovieList; - uint32 _movieListStart; + uint32 _movieListStart, _movieListEnd; Audio::Mixer::SoundType _soundType; Common::Rational _frameRateOverride; @@ -250,6 +251,7 @@ protected: void handleStreamHeader(uint32 size); uint16 getStreamType(uint32 tag) const { return tag & 0xFFFF; } byte getStreamIndex(uint32 tag) const; + void forceVideoEnd(); public: virtual AVIAudioTrack *createAudioTrack(AVIStreamHeader sHeader, PCMWaveFormat wvInfo); -- cgit v1.2.3 From e28544d6d16edff0ca5355cf5ebbde5f7b0cf0d8 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Mon, 25 Nov 2013 20:20:11 -0500 Subject: VIDEO: Ensure debug output of the first AVI index --- video/avi_decoder.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/video/avi_decoder.cpp b/video/avi_decoder.cpp index db8538e5a2..36fe83fa19 100644 --- a/video/avi_decoder.cpp +++ b/video/avi_decoder.cpp @@ -650,6 +650,7 @@ void AVIDecoder::readOldIndex(uint32 size) { if (!isAbsolute) firstEntry.offset += _movieListStart - 4; + debug(0, "Index 0: Tag '%s', Offset = %d, Size = %d (Flags = %d)", tag2str(firstEntry.id), firstEntry.offset, firstEntry.size, firstEntry.flags); _indexEntries.push_back(firstEntry); for (uint32 i = 1; i < entryCount; i++) { -- cgit v1.2.3 From f0ebc8fb29ee484929f732dbb24b74d380d092fb Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 26 Nov 2013 07:42:49 +0100 Subject: TSAGE: R2R - Remove dead code --- engines/tsage/ringworld2/ringworld2_logic.cpp | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp index 92d4770930..3f1cecc301 100644 --- a/engines/tsage/ringworld2/ringworld2_logic.cpp +++ b/engines/tsage/ringworld2/ringworld2_logic.cpp @@ -401,19 +401,6 @@ void SceneExt::process(Event &event) { } void SceneExt::dispatch() { -/* - _timerList.dispatch(); - - if (_field37A) { - if ((--_field37A == 0) && R2_GLOBALS._dayNumber) { - if (R2_GLOBALS._uiElements._active && R2_GLOBALS._player._enabled) { - R2_GLOBALS._uiElements.show(); - } - - _field37A = 0; - } - } -*/ Scene::dispatch(); } -- cgit v1.2.3 From b64371f8b822146160bf6e799be2398cd7278b2e Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 26 Nov 2013 07:43:39 +0100 Subject: TSAGE: BF - Remove a couple of useless variables --- engines/tsage/blue_force/blueforce_logic.cpp | 5 ++--- engines/tsage/blue_force/blueforce_logic.h | 2 -- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/engines/tsage/blue_force/blueforce_logic.cpp b/engines/tsage/blue_force/blueforce_logic.cpp index 5674773177..c0f518f075 100644 --- a/engines/tsage/blue_force/blueforce_logic.cpp +++ b/engines/tsage/blue_force/blueforce_logic.cpp @@ -705,7 +705,6 @@ SceneExt::SceneExt(): Scene() { _stripManager._onBegin = SceneExt::startStrip; _stripManager._onEnd = SceneExt::endStrip; - _field372 = _field37A = 0; _savedPlayerEnabled = false; _savedUiEnabled = false; _savedCanWalk = false; @@ -748,6 +747,7 @@ void SceneExt::process(Event &event) { void SceneExt::dispatch() { _timerList.dispatch(); + /* if (_field37A) { if ((--_field37A == 0) && BF_GLOBALS._dayNumber) { if (T2_GLOBALS._uiElements._active && BF_GLOBALS._player._enabled) { @@ -757,6 +757,7 @@ void SceneExt::dispatch() { _field37A = 0; } } + */ Scene::dispatch(); } @@ -833,7 +834,6 @@ void SceneExt::gunDisplay() { void SceneExt::startStrip() { SceneExt *scene = (SceneExt *)BF_GLOBALS._sceneManager._scene; - scene->_field372 = 1; scene->_savedPlayerEnabled = BF_GLOBALS._player._enabled; if (scene->_savedPlayerEnabled) { @@ -848,7 +848,6 @@ void SceneExt::startStrip() { void SceneExt::endStrip() { SceneExt *scene = (SceneExt *)BF_GLOBALS._sceneManager._scene; - scene->_field372 = 0; if (scene->_savedPlayerEnabled) { BF_GLOBALS._player.enableControl(); diff --git a/engines/tsage/blue_force/blueforce_logic.h b/engines/tsage/blue_force/blueforce_logic.h index 59bc2b7a51..857609177a 100644 --- a/engines/tsage/blue_force/blueforce_logic.h +++ b/engines/tsage/blue_force/blueforce_logic.h @@ -196,11 +196,9 @@ private: static void endStrip(); public: AObjectArray _timerList, _objArray2; - int _field372; bool _savedPlayerEnabled; bool _savedUiEnabled; bool _savedCanWalk; - int _field37A; EventHandler *_focusObject; Visage _cursorVisage; -- cgit v1.2.3 From af510118e89406683eba1acaba19c56dd4d5437d Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 26 Nov 2013 07:48:51 +0100 Subject: TSAGE: BF - Some renaming --- engines/tsage/blue_force/blueforce_logic.cpp | 10 +++++----- engines/tsage/blue_force/blueforce_logic.h | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/engines/tsage/blue_force/blueforce_logic.cpp b/engines/tsage/blue_force/blueforce_logic.cpp index c0f518f075..b8af8dd808 100644 --- a/engines/tsage/blue_force/blueforce_logic.cpp +++ b/engines/tsage/blue_force/blueforce_logic.cpp @@ -866,23 +866,23 @@ void SceneExt::clearScreen() { /*--------------------------------------------------------------------------*/ PalettedScene::PalettedScene(): SceneExt() { - _field794 = 0; + _hasFader = false; } void PalettedScene::synchronize(Serializer &s) { SceneExt::synchronize(s); - s.syncAsSint16LE(_field794); + s.syncAsSint16LE(_hasFader); } void PalettedScene::postInit(SceneObjectList *OwnerList) { - _field794 = 0; + _hasFader = false; _palette._field412 = 1; SceneExt::postInit(OwnerList); } void PalettedScene::remove() { SceneExt::remove(); - if (_field794 == 1) { + if (_hasFader) { for (SynchronizedList::iterator i = BF_GLOBALS._sceneObjects->begin(); i != BF_GLOBALS._sceneObjects->end(); ++i) (*i)->remove(); @@ -896,7 +896,7 @@ void PalettedScene::remove() { } PaletteFader *PalettedScene::addFader(const byte *arrBufferRGB, int step, Action *action) { - _field794 = 1; + _hasFader = true; return BF_GLOBALS._scenePalette.addFader(arrBufferRGB, 1, step, action); } diff --git a/engines/tsage/blue_force/blueforce_logic.h b/engines/tsage/blue_force/blueforce_logic.h index 857609177a..d7ea4e2546 100644 --- a/engines/tsage/blue_force/blueforce_logic.h +++ b/engines/tsage/blue_force/blueforce_logic.h @@ -226,7 +226,7 @@ public: class PalettedScene: public SceneExt { public: ScenePalette _palette; - int _field794; + bool _hasFader; public: PalettedScene(); -- cgit v1.2.3 From c211cede06224a2d7fab1f94ce94f723a3022ebb Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 26 Nov 2013 07:59:12 +0100 Subject: TSAGE: BF - Remove some useless variables, some renaming --- engines/tsage/blue_force/blueforce_logic.cpp | 11 +++++------ engines/tsage/blue_force/blueforce_logic.h | 14 +++++++------- engines/tsage/blue_force/blueforce_scenes3.cpp | 16 ++++++++-------- engines/tsage/blue_force/blueforce_scenes7.cpp | 2 +- engines/tsage/core.cpp | 6 +++++- engines/tsage/saveload.h | 2 +- 6 files changed, 27 insertions(+), 24 deletions(-) diff --git a/engines/tsage/blue_force/blueforce_logic.cpp b/engines/tsage/blue_force/blueforce_logic.cpp index b8af8dd808..be5fb4c7b7 100644 --- a/engines/tsage/blue_force/blueforce_logic.cpp +++ b/engines/tsage/blue_force/blueforce_logic.cpp @@ -648,8 +648,6 @@ void FocusObject::postInit(SceneObjectList *OwnerList) { _lookLineNum = 43; _talkLineNum = 44; _useLineNum = -1; - _v90 = 0; - _v92 = 1; SceneExt *scene = (SceneExt *)BF_GLOBALS._sceneManager._scene; scene->_focusObject = this; @@ -658,8 +656,11 @@ void FocusObject::postInit(SceneObjectList *OwnerList) { void FocusObject::synchronize(Serializer &s) { NamedObject::synchronize(s); - s.syncAsSint16LE(_v90); - s.syncAsSint16LE(_v92); + if (s.getVersion() < 12) { + int useless = 0; + s.syncAsSint16LE(useless); + s.syncAsSint16LE(useless); + } } void FocusObject::remove() { @@ -765,8 +766,6 @@ void SceneExt::dispatch() { void SceneExt::loadScene(int sceneNum) { Scene::loadScene(sceneNum); - _v51C34.top = 0; - _v51C34.bottom = 300; BF_GLOBALS._sceneHandler->_delayTicks = 1; } diff --git a/engines/tsage/blue_force/blueforce_logic.h b/engines/tsage/blue_force/blueforce_logic.h index d7ea4e2546..c6c6dc6315 100644 --- a/engines/tsage/blue_force/blueforce_logic.h +++ b/engines/tsage/blue_force/blueforce_logic.h @@ -139,14 +139,17 @@ public: class NamedObject2: public NamedObject { public: - int _v1, _v2; + int _talkCount; - NamedObject2() { _v1 = _v2 = 0; } + NamedObject2() { _talkCount = 0; } virtual Common::String getClassName() { return "NamedObject2"; } virtual void synchronize(Serializer &s) { NamedObject::synchronize(s); - s.syncAsSint16LE(_v1); - s.syncAsSint16LE(_v2); + if (s.getVersion() < 11) { + int useless = 0; + s.syncAsSint16LE(useless); + } + s.syncAsSint16LE(_talkCount); } }; @@ -177,7 +180,6 @@ public: class FocusObject: public NamedObject { public: - int _v90, _v92; GfxSurface _img; FocusObject(); @@ -202,8 +204,6 @@ public: EventHandler *_focusObject; Visage _cursorVisage; - - Rect _v51C34; public: SceneExt(); diff --git a/engines/tsage/blue_force/blueforce_scenes3.cpp b/engines/tsage/blue_force/blueforce_scenes3.cpp index a5cc17a3df..49c3013ad5 100644 --- a/engines/tsage/blue_force/blueforce_scenes3.cpp +++ b/engines/tsage/blue_force/blueforce_scenes3.cpp @@ -4651,10 +4651,10 @@ bool Scene370::Green::startAction(CursorType action, Event &event) { switch (action) { case CURSOR_LOOK: - SceneItem::display2(370, (_v2 < 3) ? 10 : 0); + SceneItem::display2(370, (_talkCount < 3) ? 10 : 0); return true; case CURSOR_USE: - if (_v2 != 3) + if (_talkCount != 3) SceneItem::display2(370, 1); else if (BF_INVENTORY.getObjectScene(INV_HANDCUFFS) == 1) SceneItem::display2(370, 26); @@ -4670,14 +4670,14 @@ bool Scene370::Green::startAction(CursorType action, Event &event) { return true; case CURSOR_TALK: BF_GLOBALS._player.disableControl(); - switch (_v2) { + switch (_talkCount) { case 0: - ++_v2; + ++_talkCount; scene->_sceneMode = 3706; scene->setAction(&scene->_sequenceManager, scene, 3706, NULL); break; case 1: - ++_v2; + ++_talkCount; scene->_sceneMode = 3707; scene->_object5.postInit(); @@ -4689,7 +4689,7 @@ bool Scene370::Green::startAction(CursorType action, Event &event) { scene->setAction(&scene->_sequenceManager, scene, 3707, &scene->_harrison, &scene->_object5, NULL); break; case 2: - ++_v2; + ++_talkCount; scene->_sceneMode = 3708; scene->setAction(&scene->_sequenceManager, scene, 3708, this, &scene->_laura, &scene->_harrison, &scene->_object5, &scene->_greensGun, NULL); @@ -4715,7 +4715,7 @@ bool Scene370::Green::startAction(CursorType action, Event &event) { } return true; case INV_HANDCUFFS: - if (_v2 != 3) + if (_talkCount != 3) SceneItem::display2(370, 2); else { T2_GLOBALS._uiElements.addScore(50); @@ -4752,7 +4752,7 @@ bool Scene370::Harrison::startAction(CursorType action, Event &event) { SceneItem::display2(370, 8); return true; case CURSOR_TALK: - if (scene->_green._v2 != 3) { + if (scene->_green._talkCount != 3) { scene->_sceneMode = 3; scene->_stripManager.start(3714, scene); } else if ((BF_INVENTORY.getObjectScene(INV_GREENS_KNIFE) == 1) || diff --git a/engines/tsage/blue_force/blueforce_scenes7.cpp b/engines/tsage/blue_force/blueforce_scenes7.cpp index 4cdd2f3f15..2f52c4df95 100644 --- a/engines/tsage/blue_force/blueforce_scenes7.cpp +++ b/engines/tsage/blue_force/blueforce_scenes7.cpp @@ -148,7 +148,7 @@ void Scene710::postInit(SceneObjectList *OwnerList) { BF_GLOBALS._sound1.fadeSound(14); _soundExt1.fadeSound(48); - _v51C34.set(40, 0, 280, 240); + BF_GLOBALS._player.postInit(); BF_GLOBALS._player.hide(); BF_GLOBALS._player._moveDiff = Common::Point(4, 2); diff --git a/engines/tsage/core.cpp b/engines/tsage/core.cpp index 6c47cac1ef..88f2c85ffd 100644 --- a/engines/tsage/core.cpp +++ b/engines/tsage/core.cpp @@ -1545,7 +1545,11 @@ void ScenePalette::synchronize(Serializer &s) { s.syncAsSint32LE(_colors.foreground); s.syncAsSint32LE(_colors.background); - s.syncAsSint32LE(_field412); + if (s.getVersion() < 12) { + int useless = 0; + s.syncAsSint16LE(useless); + } + s.syncAsByte(_redColor); s.syncAsByte(_greenColor); s.syncAsByte(_blueColor); diff --git a/engines/tsage/saveload.h b/engines/tsage/saveload.h index 0d0457981f..32da6ee7f4 100644 --- a/engines/tsage/saveload.h +++ b/engines/tsage/saveload.h @@ -33,7 +33,7 @@ namespace TsAGE { typedef void (*SaveNotifierFn)(bool postFlag); -#define TSAGE_SAVEGAME_VERSION 11 +#define TSAGE_SAVEGAME_VERSION 12 class SavedObject; -- cgit v1.2.3 From a8e49412cc03fef52b4f1b18bb199676e11cd2b9 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 26 Nov 2013 08:09:35 +0100 Subject: TSAGE: BF - More renaming --- engines/tsage/blue_force/blueforce_scenes3.cpp | 54 +++++++++++++------------- engines/tsage/blue_force/blueforce_scenes3.h | 5 ++- engines/tsage/blue_force/blueforce_scenes8.cpp | 10 ++--- engines/tsage/blue_force/blueforce_scenes8.h | 2 +- 4 files changed, 36 insertions(+), 35 deletions(-) diff --git a/engines/tsage/blue_force/blueforce_scenes3.cpp b/engines/tsage/blue_force/blueforce_scenes3.cpp index 49c3013ad5..feaf789392 100644 --- a/engines/tsage/blue_force/blueforce_scenes3.cpp +++ b/engines/tsage/blue_force/blueforce_scenes3.cpp @@ -2868,9 +2868,9 @@ void Scene350::checkGun() { void Scene355::Doorway::synchronize(Serializer &s) { NamedObject::synchronize(s); - s.syncAsSint16LE(_v1); - s.syncAsSint16LE(_v2); - s.syncAsSint16LE(_v3); + s.syncAsSint16LE(_mode1356Count); + s.syncAsSint16LE(_talkCount); + s.syncAsSint16LE(_onDuty); } bool Scene355::Doorway::startAction(CursorType action, Event &event) { @@ -2890,9 +2890,9 @@ bool Scene355::Doorway::startAction(CursorType action, Event &event) { return true; case CURSOR_TALK: if (BF_GLOBALS._dayNumber >= 5) { - switch (_v2) { + switch (_talkCount) { case 0: - ++_v2; + ++_talkCount; BF_GLOBALS._sound1.play(109); BF_GLOBALS._player.disableControl(); scene->_sceneMode = 0; @@ -2920,7 +2920,7 @@ bool Scene355::Doorway::startAction(CursorType action, Event &event) { BF_GLOBALS._player.disableControl(); scene->_sceneMode = 3562; scene->setAction(&scene->_sequenceManager, scene, 3562, &BF_GLOBALS._player, NULL); - _v3 = !_v3 ? 1 : 0; + _onDuty = !_onDuty; return true; default: break; @@ -3355,14 +3355,14 @@ bool Scene355::Item11::startAction(CursorType action, Event &event) { return true; case CURSOR_TALK: if (BF_GLOBALS._dayNumber == 5) { - switch (scene->_doorway._v2) { + switch (scene->_doorway._talkCount) { case 0: BF_GLOBALS._player.disableControl(); scene->_sceneMode = 0; BF_GLOBALS.setFlag(fTookTrailerAmmo); scene->_stripManager.start(3575, scene); scene->_lyle._flag = 1; - scene->_doorway._v2 = 1; + scene->_doorway._talkCount = 1; break; case 1: BF_GLOBALS._player.disableControl(); @@ -3534,28 +3534,28 @@ void Scene355::postInit(SceneObjectList *OwnerList) { _doorway.setVisage(355); _doorway.setPosition(Common::Point(193, 105)); _doorway.fixPriority(18); - _doorway._v1 = 0; - _doorway._v3 = 0; + _doorway._mode1356Count = 0; + _doorway._onDuty = false; BF_GLOBALS._sceneItems.push_back(&_doorway); switch (BF_GLOBALS._dayNumber) { case 1: if (!BF_GLOBALS.getFlag(onDuty)) - _doorway._v3 = 1; + _doorway._onDuty = true; else if (BF_INVENTORY.getObjectScene(INV_GREENS_GUN) == 320) - _doorway._v3 = 1; + _doorway._onDuty = true; break; case 2: case 3: case 4: - _doorway._v3 = 1; + _doorway._onDuty = true; break; default: break; } if (BF_GLOBALS._dayNumber == 5) - _doorway._v2 = BF_GLOBALS.getFlag(fTookTrailerAmmo) ? 1 : 0; + _doorway._talkCount = BF_GLOBALS.getFlag(fTookTrailerAmmo) ? 1 : 0; _object8.postInit(); _object8.setVisage(355); @@ -3614,8 +3614,8 @@ void Scene355::postInit(SceneObjectList *OwnerList) { _object11.animate(ANIM_MODE_2); _doorway.setPosition(Common::Point(146, 107)); - _doorway._v3 = 0; - _doorway._v2 = 2; + _doorway._onDuty = false; + _doorway._talkCount = 2; _lyle._flag = 2; _green.postInit(); @@ -3713,16 +3713,16 @@ void Scene355::signal() { _stripManager.start(BF_GLOBALS.getFlag(fBackupIn350) ? 3559 : 3554, this); break; case 1356: - switch (_doorway._v1) { + switch (_doorway._mode1356Count) { case 0: - ++_doorway._v1; + ++_doorway._mode1356Count; _sceneMode = 9999; _stripManager.start(3550, this); break; case 1: _sceneMode = 9999; _stripManager.start(3551, this); - ++_doorway._v1; + ++_doorway._mode1356Count; break; default: break; @@ -3787,7 +3787,7 @@ void Scene355::signal() { T2_GLOBALS._uiElements.addScore(10); } - SceneItem::display2(355, !_doorway._v3 ? 24 : 25); + SceneItem::display2(355, !_doorway._onDuty ? 24 : 25); BF_GLOBALS._player.enableControl(); break; case 4550: @@ -3796,8 +3796,8 @@ void Scene355::signal() { BF_GLOBALS._sound1.play(90); BF_GLOBALS._player._regionBitList |= 0x10; - _doorway._v3 = 0; - _doorway._v2 = 2; + _doorway._onDuty = false; + _doorway._talkCount = 2; _lyle._flag = 2; BF_GLOBALS._player.enableControl(); break; @@ -3867,13 +3867,13 @@ void Scene355::signal() { case 9984: if (BF_GLOBALS._dayNumber == 5) { _sceneMode = 0; - switch (_doorway._v2) { + switch (_doorway._talkCount) { case 0: BF_GLOBALS._sound1.play(109); BF_GLOBALS.setFlag(fTookTrailerAmmo); _stripManager.start(3575, this); _lyle._flag = 1; - ++_doorway._v2; + ++_doorway._talkCount; break; case 1: _stripManager.start(3573, this); @@ -3884,7 +3884,7 @@ void Scene355::signal() { break; } } else if (BF_GLOBALS.getFlag(greenTaken) || (BF_GLOBALS._dayNumber > 1)) { - if (_doorway._v3) { + if (_doorway._onDuty) { SceneItem::display2(355, 23); _sceneMode = 0; signal(); @@ -4009,14 +4009,14 @@ void Scene355::signal() { } case 9997: _sceneMode = 9999; - _doorway._v1 = 2; + _doorway._mode1356Count = 2; _stripManager.start(3562, this); break; case 9998: error("Talkdoor state"); break; case 9999: - if (_doorway._v1 != 2) { + if (_doorway._mode1356Count != 2) { BF_GLOBALS._player.enableControl(); BF_GLOBALS._player._canWalk = false; } else if (BF_GLOBALS.getFlag(gunDrawn)) { diff --git a/engines/tsage/blue_force/blueforce_scenes3.h b/engines/tsage/blue_force/blueforce_scenes3.h index d9f0d32edc..894c3e5ffd 100644 --- a/engines/tsage/blue_force/blueforce_scenes3.h +++ b/engines/tsage/blue_force/blueforce_scenes3.h @@ -493,9 +493,10 @@ class Scene355: public PalettedScene { /* Objects */ class Doorway: public NamedObject { public: - int _v1, _v2, _v3; + int _mode1356Count, _talkCount; + bool _onDuty; - Doorway() { _v1 = _v2 = _v3 = 0; } + Doorway() { _mode1356Count = _talkCount = 0; _onDuty = false; } virtual Common::String getClassName() { return "Scene355_Doorway"; } virtual void synchronize(Serializer &s); virtual bool startAction(CursorType action, Event &event); diff --git a/engines/tsage/blue_force/blueforce_scenes8.cpp b/engines/tsage/blue_force/blueforce_scenes8.cpp index 867b6a9f6e..cf48017643 100644 --- a/engines/tsage/blue_force/blueforce_scenes8.cpp +++ b/engines/tsage/blue_force/blueforce_scenes8.cpp @@ -1958,7 +1958,7 @@ void Scene840::BoatKeysInset::postInit(SceneObjectList *OwnerList) { _waveKeys.setDetails(840, 53, 8, -1, 2, (SceneItem *)NULL); } - _v1B4 = _v1B6 = 0; + _usedRentalKeys = _usedWaveKeys = false; } void Scene840::BoatKeysInset::remove() { @@ -2067,7 +2067,7 @@ bool Scene840::BoatKeysInset::RentalKeys::startAction(CursorType action, Event & BF_INVENTORY.setObjectScene(INV_RENTAL_KEYS, 1); T2_GLOBALS._uiElements.addScore(30); - scene->_boatKeysInset._v1B4 = 1; + scene->_boatKeysInset._usedRentalKeys = true; remove(); } return true; @@ -2085,7 +2085,7 @@ bool Scene840::BoatKeysInset::WaveKeys::startAction(CursorType action, Event &ev SceneItem::display2(840, 56); BF_INVENTORY.setObjectScene(INV_WAVE_KEYS, 1); T2_GLOBALS._uiElements.addScore(50); - scene->_boatKeysInset._v1B6 = 1; + scene->_boatKeysInset._usedWaveKeys = true; remove(); } else { SceneItem::display2(840, 9); @@ -2467,10 +2467,10 @@ void Scene840::signal() { _boatKeysInset.setDetails(840, 50, 8, 51); break; case 8412: - if (_boatKeysInset._v1B6) { + if (_boatKeysInset._usedWaveKeys) { _sceneMode = 8409; setAction(&_sequenceManager1, this, 8409, &BF_GLOBALS._player, &_carter, &_doors, NULL); - } else if (!_boatKeysInset._v1B4) { + } else if (!_boatKeysInset._usedRentalKeys) { BF_GLOBALS._player.enableControl(); } else { _sceneMode = 3; diff --git a/engines/tsage/blue_force/blueforce_scenes8.h b/engines/tsage/blue_force/blueforce_scenes8.h index ef5ef81563..4c0c8bf822 100644 --- a/engines/tsage/blue_force/blueforce_scenes8.h +++ b/engines/tsage/blue_force/blueforce_scenes8.h @@ -348,7 +348,7 @@ class Scene840: public PalettedScene { public: RentalKeys _rentalKeys; WaveKeys _waveKeys; - int _v1B4, _v1B6; + bool _usedRentalKeys,_usedWaveKeys; virtual void postInit(SceneObjectList *OwnerList = NULL); virtual void remove(); -- cgit v1.2.3 From c981b4f1cd696f56d49ee352292701b28d0ae5ed Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 26 Nov 2013 08:15:33 +0100 Subject: TSAGE: BF - Fix savegame issue in Scene840 --- engines/tsage/blue_force/blueforce_scenes8.cpp | 9 +++++++++ engines/tsage/blue_force/blueforce_scenes8.h | 1 + 2 files changed, 10 insertions(+) diff --git a/engines/tsage/blue_force/blueforce_scenes8.cpp b/engines/tsage/blue_force/blueforce_scenes8.cpp index cf48017643..f78a332be9 100644 --- a/engines/tsage/blue_force/blueforce_scenes8.cpp +++ b/engines/tsage/blue_force/blueforce_scenes8.cpp @@ -2096,6 +2096,15 @@ bool Scene840::BoatKeysInset::WaveKeys::startAction(CursorType action, Event &ev } } +void Scene840::BoatKeysInset::synchronize(Serializer &s) { + FocusObject::synchronize(s); + + if (s.getVersion() >= 12) { + s.syncAsSint16LE(_usedWaveKeys); + s.syncAsSint16LE(_usedRentalKeys); + } +} + bool Scene840::BoatKeys::startAction(CursorType action, Event &event) { Scene840 *scene = (Scene840 *)BF_GLOBALS._sceneManager._scene; diff --git a/engines/tsage/blue_force/blueforce_scenes8.h b/engines/tsage/blue_force/blueforce_scenes8.h index 4c0c8bf822..b9e6ebd640 100644 --- a/engines/tsage/blue_force/blueforce_scenes8.h +++ b/engines/tsage/blue_force/blueforce_scenes8.h @@ -350,6 +350,7 @@ class Scene840: public PalettedScene { WaveKeys _waveKeys; bool _usedRentalKeys,_usedWaveKeys; + virtual void synchronize(Serializer &s); virtual void postInit(SceneObjectList *OwnerList = NULL); virtual void remove(); virtual void process(Event &event); -- cgit v1.2.3 From 01d9200a76805e865efb09c305de0cce0f4244fd Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 26 Nov 2013 08:28:59 +0100 Subject: TSAGE: Remove useless variables in sound code --- engines/tsage/sound.cpp | 4 ---- engines/tsage/sound.h | 2 -- 2 files changed, 6 deletions(-) diff --git a/engines/tsage/sound.cpp b/engines/tsage/sound.cpp index e2fe21c6d7..6633d15c26 100644 --- a/engines/tsage/sound.cpp +++ b/engines/tsage/sound.cpp @@ -2734,8 +2734,6 @@ AdlibSoundDriver::AdlibSoundDriver(): SoundDriver() { _masterVolume = 0; _groupData._groupMask = 9; - _groupData._v1 = 0x46; - _groupData._v2 = 0; _groupData._pData = &adlib_group_data[0]; _mixer = g_vm->_mixer; @@ -3053,8 +3051,6 @@ SoundBlasterDriver::SoundBlasterDriver(): SoundDriver() { _masterVolume = 0; _groupData._groupMask = 1; - _groupData._v1 = 0x3E; - _groupData._v2 = 0; static byte const group_data[] = { 3, 1, 1, 0, 0xff }; _groupData._pData = group_data; diff --git a/engines/tsage/sound.h b/engines/tsage/sound.h index 3f039ff9e9..fefe8ad101 100644 --- a/engines/tsage/sound.h +++ b/engines/tsage/sound.h @@ -63,8 +63,6 @@ public: struct GroupData { uint32 _groupMask; - byte _v1; - byte _v2; const byte *_pData; }; -- cgit v1.2.3 From f4137df940c1f0532742f2eb1894db2947944f66 Mon Sep 17 00:00:00 2001 From: anotherguest Date: Tue, 26 Nov 2013 10:39:46 +0100 Subject: SYMBIAN OS:Removed resolution fix from Symbian OS Backend, handle this in SDL backend instead. Add more engines for the split build. --- .../symbian/BuildPackageUpload_LocalSettings.pl | 8 +++++-- backends/platform/symbian/src/SymbianOS.cpp | 25 ---------------------- backends/platform/symbian/src/SymbianOS.h | 2 +- 3 files changed, 7 insertions(+), 28 deletions(-) diff --git a/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl b/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl index 5b88b9d4f5..c72258b8d7 100644 --- a/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl +++ b/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl @@ -5,7 +5,7 @@ scumm agos sky queen gob groovie saga drascula kyra lure agi touche parallaction cine cruise made tinsel tucker sword1 sword2 draci sci teenagent mohawk hugo toon tsage cge - composer toltecs tony wintermute pegasus hopkins avalanche dreamweb fullpipe mortevielle neverhood zvision + composer toltecs tony wintermute pegasus hopkins avalanche dreamweb fullpipe mortevielle neverhood zvision lastexpress ); @WorkingEngines_1st = qw( @@ -13,13 +13,17 @@ drascula touche parallaction cine cruise made tucker composer toltecs tony pegasus + avalanche fullpipe + neverhood lastexpress ); @WorkingEngines_2nd = qw( agos sky gob kyra lure agi tinsel sword1 sword2 draci sci teenagent - hugo toon tsage cge hopkins + hugo toon tsage cge hopkins + dreamweb mortevielle + zvision ); @TestingEngines = qw( diff --git a/backends/platform/symbian/src/SymbianOS.cpp b/backends/platform/symbian/src/SymbianOS.cpp index 101b216493..ead85a933e 100644 --- a/backends/platform/symbian/src/SymbianOS.cpp +++ b/backends/platform/symbian/src/SymbianOS.cpp @@ -178,31 +178,6 @@ RFs& OSystem_SDL_Symbian::FsSession() { return *_RFs; } -void OSystem_SDL_Symbian::initSize(uint w, uint h, const Graphics::PixelFormat *format ) { - if(w != 640 && w != 320) { - if(w > 320) { - w = 640; - } - else { - w = 320; - } - } - - if(h != 480 && h != 400 && h != 240 && h != 200) { - if(h > 400) { - h = 480; - } else if(h > 240){ - h = 400; - } else if(h > 200) { - h = 240; - } else { - h = 200; - } - } - - ModularBackend::initSize(w, h, format); -} - // Symbian bsearch implementation is flawed void* scumm_bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) { // Perform binary search diff --git a/backends/platform/symbian/src/SymbianOS.h b/backends/platform/symbian/src/SymbianOS.h index 89ae0d825c..74a102dc15 100644 --- a/backends/platform/symbian/src/SymbianOS.h +++ b/backends/platform/symbian/src/SymbianOS.h @@ -39,7 +39,7 @@ public: virtual bool setGraphicsMode(const char *name); virtual Common::String getDefaultConfigFileName(); virtual void setupIcon(); - virtual void initSize(uint w, uint h, const Graphics::PixelFormat *format ); + /** * Returns reference to File session */ -- cgit v1.2.3 From cabbc7161badffb3b63f386f4a16ac28d7a09898 Mon Sep 17 00:00:00 2001 From: anotherguest Date: Tue, 26 Nov 2013 10:54:50 +0100 Subject: SYMBIAN OS: Add Sword25 and testbed engines. Perl script updated --- backends/platform/symbian/AdaptAllMMPs.pl | 39 +++++--- .../symbian/BuildPackageUpload_AllVersions.pl | 7 +- .../symbian/BuildPackageUpload_LocalSettings.pl | 111 ++++++++++++--------- .../platform/symbian/mmp/scummvm_sword25.mmp.in | 63 ++++++++++++ .../platform/symbian/mmp/scummvm_testbed.mmp.in | 62 ++++++++++++ 5 files changed, 219 insertions(+), 63 deletions(-) create mode 100644 backends/platform/symbian/mmp/scummvm_sword25.mmp.in create mode 100644 backends/platform/symbian/mmp/scummvm_testbed.mmp.in diff --git a/backends/platform/symbian/AdaptAllMMPs.pl b/backends/platform/symbian/AdaptAllMMPs.pl index e8e0e0c4ad..2f76acf012 100644 --- a/backends/platform/symbian/AdaptAllMMPs.pl +++ b/backends/platform/symbian/AdaptAllMMPs.pl @@ -44,11 +44,14 @@ chdir("../../../"); "mmp/scummvm_toltecs.mmp", "mmp/scummvm_pegasus.mmp", "mmp/scummvm_wintermute.mmp", + # New engines "mmp/scummvm_avalanche.mmp", "mmp/scummvm_dreamweb.mmp", "mmp/scummvm_fullpipe.mmp", "mmp/scummvm_mortevielle.mmp", "mmp/scummvm_neverhood.mmp", + "mmp/scummvm_sword25.mmp", + "mmp/scummvm_testbed.mmp", "mmp/scummvm_zvision.mmp", # Target Platform Project Files "S60/ScummVM_S60.mmp", @@ -85,11 +88,14 @@ Preparing to update all the Symbian MMP project files with objects from module.m # some modules.mk files have #ifndef ENABLE_XXXX blocks: my @section_empty = (""); # section standard: no #ifdef's in module.mk files -my @sections_scumm = ("", "ENABLE_SCUMM_7_8", "ENABLE_HE"); # special sections for engine SCUMM -my @sections_saga = ("", "ENABLE_IHNM", "ENABLE_SAGA2"); # special sections for engine SAGA -my @sections_kyra = ("", "ENABLE_LOL","ENABLE_EOB"); # special sections for engine KYRA my @sections_agos = ("", "ENABLE_AGOS2"); # special sections for engine AGOS -my @sections_mohawk = ("", "ENABLE_MYST", "ENABLE_RIVEN", "ENABLE_CSTIME"); # special sections for engine MOHAWK +my @section_video = ("", "USE_BINK", "USE_MPEG2"); # special sections for engine VIDEO ###, "USE_THEORADEC" +my @sections_groovie = ("", "ENABLE_GROOVIE2"); # special sections for engine GROOVIE +my @sections_kyra = ("", "ENABLE_LOL","ENABLE_EOB"); # special sections for engine KYRA +my @sections_mohawk = ("", "ENABLE_CSTIME", "ENABLE_MYST", "ENABLE_RIVEN"); # special sections for engine MOHAWK +my @sections_saga = ("", "ENABLE_IHNM", "ENABLE_SAGA2"); # special sections for engine SAGA +my @sections_sci = ("", "ENABLE_SCI32"); # special sections for engine SCI +my @sections_scumm = ("", "ENABLE_SCUMM_7_8", "ENABLE_HE"); # special sections for engine SCUMM # files excluded from build, case insensitive, will be matched in filename string only my @excludes_snd = ( @@ -133,13 +139,13 @@ my @excludes_scumm = ( ); -#arseModule(mmpStr, dirStr, ifdefArray, [exclusionsArray]) +#ParseModule(mmpStr, dirStr, ifdefArray, [exclusionsArray]) ParseModule("_base", "base", \@section_empty); # now in ./TRG/ScummVM_TRG.mmp, these never change anyways... ParseModule("_base", "common", \@section_empty); ParseModule("_base", "gui", \@section_empty, \@excludes_gui); ParseModule("_base", "graphics", \@section_empty, \@excludes_graphics); ParseModule("_base", "audio", \@section_empty, \@excludes_snd); -ParseModule("_base", "video", \@section_empty); +ParseModule("_base", "video", \@section_video); # chdir("engines/"); ParseModule("_scumm", "scumm", \@sections_scumm, \@excludes_scumm ); @@ -163,9 +169,9 @@ ParseModule("_drascula","drascula", \@section_empty); ParseModule("_made", "made", \@section_empty); ParseModule("_m4", "m4", \@section_empty); ParseModule("_tinsel", "tinsel", \@section_empty); -ParseModule("_groovie", "groovie", \@section_empty); +ParseModule("_groovie", "groovie", \@sections_groovie); ParseModule("_tucker", "tucker", \@section_empty); -ParseModule("_sci", "sci", \@section_empty); +ParseModule("_sci", "sci", \@sections_sci); ParseModule("_draci", "draci", \@section_empty); ParseModule("_teenagent","teenagent", \@section_empty); ParseModule("_mohawk" ,"mohawk", \@sections_mohawk); @@ -173,17 +179,20 @@ ParseModule("_hugo" ,"hugo", \@section_empty); ParseModule("_toon" ,"toon", \@section_empty); ParseModule("_lastexpress","lastexpress", \@section_empty); ParseModule("_tsage","tsage", \@section_empty); -ParseModule("_tony","tony", \@section_empty); +ParseModule("_tony", "tony", \@section_empty); ParseModule("_toltecs","toltecs", \@section_empty); ParseModule("_hopkins","hopkins", \@section_empty); ParseModule("_pegasus","pegasus", \@section_empty); ParseModule("_wintermute","wintermute", \@section_empty); -ParseModule("_avalanche","avalanche", \@section_empty); -ParseModule("_dreamweb","dreamweb", \@section_empty); -ParseModule("_fullpipe","fullpipe", \@section_empty); -ParseModule("_mortevielle","mortevielle", \@section_empty); -ParseModule("_neverhood","neverhood", \@section_empty); -ParseModule("_zvision","zvision", \@section_empty); +##### new engines +ParseModule("_avalanche" ,"avalanche", \@section_empty); +ParseModule("_dreamweb" ,"dreamweb", \@section_empty); +ParseModule("_fullpipe" ,"fullpipe", \@section_empty); +ParseModule("_mortevielle" ,"mortevielle", \@section_empty); +ParseModule("_neverhood" ,"neverhood", \@section_empty); +ParseModule("_sword25" ,"sword25", \@section_empty); +ParseModule("_testbed" ,"testbed", \@section_empty); +ParseModule("_zvision" ,"zvision", \@section_empty); print " ======================================================================================= Done. Enjoy :P diff --git a/backends/platform/symbian/BuildPackageUpload_AllVersions.pl b/backends/platform/symbian/BuildPackageUpload_AllVersions.pl index 3062068852..560439f4e1 100644 --- a/backends/platform/symbian/BuildPackageUpload_AllVersions.pl +++ b/backends/platform/symbian/BuildPackageUpload_AllVersions.pl @@ -1,6 +1,7 @@ use Cwd; use Switch; +#use feature "switch"; system("cls"); require "BuildPackageUpload_LocalSettings.pl"; @@ -59,9 +60,13 @@ $ftp_url = "FTP://$FTP_User\@$FTP_Host/$FTP_Dir/"; # these macros are always defined: $ExtraMacros = "MACRO NONSTANDARD_PORT\n"; -$ExtraMacros .= "MACRO ENABLE_VKEYBD\n"; +$ExtraMacros .= "MACRO ENABLE_VKEYBD\n"; $ExtraMacros .= "MACRO DISABLE_FANCY_THEMES\n"; $ExtraMacros .= "MACRO USE_TRANSLATION\n"; +$ExtraMacros .= "MACRO USE_BINK\n"; +$ExtraMacros .= "MACRO USE_MPEG2\n"; +# $ExtraMacros .= "MACRO \n"; +# candidates are : , USE_TIMIDITY, # prep nice list of SDKs #while( ($SDK, $RootDir) = each(%SDK_RootDirs) ) diff --git a/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl b/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl index c72258b8d7..ba4b11cc48 100644 --- a/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl +++ b/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl @@ -2,29 +2,33 @@ ################################################################################################################## @WorkingEngines = qw( - scumm agos sky queen gob groovie saga drascula - kyra lure agi touche parallaction cine - cruise made tinsel tucker sword1 sword2 draci sci teenagent mohawk hugo toon tsage cge - composer toltecs tony wintermute pegasus hopkins avalanche dreamweb fullpipe mortevielle neverhood zvision lastexpress + agos agi cine cge composer cruise draci + drascula hugo gob groovie kyra lastexpress + lure made mohawk parallaction pegasus queen + saga sci scumm sky sword1 sword2 teenagent tinsel + toltecs tony toon touche tsage tucker wintermute + dreamweb fullpipe hopkins mortevielle + neverhood testbed avalanche zvision ); +#### New engines +#### sword25 @WorkingEngines_1st = qw( - scumm queen groovie saga - drascula touche parallaction cine - cruise made tucker - composer toltecs tony pegasus - avalanche fullpipe - neverhood lastexpress + cine composer cruise drascula groovie + lastexpress made parallaction queen + saga scumm touche tucker wintermute + avalanche zvision ); @WorkingEngines_2nd = qw( - agos sky gob kyra - lure agi tinsel sword1 - sword2 draci sci teenagent - hugo toon tsage cge hopkins - dreamweb mortevielle - zvision + agi agos cge draci gob hopkins + hugo kyra lure mohawk pegasus sci + sky sword1 sword2 teenagent + tinsel tsage toltecs tony toon + dreamweb fullpipe mortevielle + neverhood testbed ); +#### sword25 @TestingEngines = qw( @@ -39,23 +43,31 @@ lol agos2 eob + cstime myst riven - cstime + saga2 + sci32 + groovie2 ); #disabled subengines lol saga2 personal nightmare + # see configure.engines %UseableFeatures = ( 'zlib' => 'zlib.lib', 'mad' => 'libmad.lib', 'tremor' => 'libtremor.lib', - 'flac' => 'libflac.lib' + 'flac' => 'libflacdec.lib', + 'freetype2' => 'freetype.lib', + 'faad' => 'libFAAD2.lib', ); + # 'mpeg2' => 'libmpeg2.lib' # these are normally enabled for each variation #$DefaultFeatures = qw(zlib,mad); - $DefaultFeatures = qw(zlib,mad,tremor,flac); + #$DefaultFeatures = qw(zlib,mad,tremor,); + $DefaultFeatures = qw(mad,tremor,faad,flac,freetype2,mpeg2,zlib,); ################################################################################################################## ## @@ -72,7 +84,8 @@ $HaltOnError = 0; $SkipExistingPackages = 0; $ReallyQuiet = 0; - $DevBase = "C:\\S"; + $DevBase = "D:\\Symbian"; + $Compiler = "D:\\Program/ Files\\CodeSourcery\\Sourcery/ G++ Lite"; # specify an optional FTP server to upload to after each Build+Package (can leave empty) #$FTP_Host = "host.com"; @@ -85,14 +98,14 @@ # Note1: the \epoc32 directory needs to be in these rootdirs # Note2: these paths do NOT end in a backslash! # $SDK_RootDirs{'UIQ2'} = "$DevBase\\UIQ_21"; - $SDK_RootDirs{'UIQ3'} = "$DevBase\\UIQ3"; + # $SDK_RootDirs{'UIQ3'} = "$DevBase\\UIQ3"; # $SDK_RootDirs{'S60v1'} = "$DevBase\\S60v1"; # $SDK_RootDirs{'S60v2'} = "$DevBase\\S60v2"; $SDK_RootDirs{'S60v3'} = "$DevBase\\S60v3"; # $SDK_RootDirs{'S80'} = "$DevBase\\S80"; # $SDK_RootDirs{'S90'} = "$DevBase\\S90"; - $SDK_ToolchainDirs{'S60v3'} = "$DevBase\\arm-symbianelf\\bin"; + $SDK_ToolchainDirs{'S60v3'} = "$Compiler\\arm-symbianelf\\bin"; $SDK_ToolchainDirs{'UIQ2'} = "$DevBase\\ECompXL\\bin"; # only needed for UIQ2/UIQ3 $SDK_ToolchainDirs{'UIQ3'} = "$DevBase\\ECompXL\\bin"; # only needed for UIQ2/UIQ3 @@ -102,7 +115,7 @@ { ## Standard libraries $SDK_LibraryDirs{'ALL'}{'zlib.lib'} = "$DevBase\\zlib-1.2.2\\epoc"; - #$SDK_LibraryDirs{'ALL'}{'libmad.lib'} = "$DevBase\\libmad-0.15.1b\\group"; + $SDK_LibraryDirs{'ALL'}{'libmad.lib'} = "$DevBase\\libmad-0.15.1b\\group"; $SDK_LibraryDirs{'ALL'}{'libtremor.lib'}= "$DevBase\\tremor\\epoc"; ## SDL 1.2.12 / AnotherGuest / Symbian version @@ -194,7 +207,7 @@ # now you can add $VariationSets only built on this PC below this line :) } - elsif ($ENV{'COMPUTERNAME'} eq "EMBEDDEV-LAPE") ################################################################# + elsif ($ENV{'COMPUTERNAME'} eq "EMBEDDEV-VAIO2") ################################################################# { $Producer = "AnotherGuest"; $RedirectSTDERR = 1; @@ -214,7 +227,7 @@ $SDK_RootDirs{'S60v3'}= "G:\\S60v3"; #$SDK_RootDirs{'S80'}= "D:\\S80"; #$SDK_RootDirs{'S90'}= "D:\\S90"; - $ECompXL_BinDir= "D:\\ECompXL\\"; + #$ECompXL_BinDir= "D:\\ECompXL\\"; if (0) # so we can turn them on/off easily { # $SDK_LibraryDirs{'ALL'}{'zlib.lib'} = "C:\\S\\zlib-1.2.2\\epoc"; @@ -231,38 +244,42 @@ # now you can add $VariationSets only built on this PC below this line :) } - elsif ($ENV{'COMPUTERNAME'} eq "EMBEDDEV-VAIO2") ################################################################# + elsif ($ENV{'COMPUTERNAME'} eq "PC-FOREVER1111") ################################################################# { - $Producer = "AnotherGuest"; + $Producer = "Fedor"; $RedirectSTDERR = 1; $HaltOnError = 0; - $SkipExistingPackages = 1; - $ReallyQuiet = 1; + $SkipExistingPackages = 0; + $ReallyQuiet = 0; + $Compiler = "D:\\Program/ Files\\CodeSourcery\\Sourcery/ G++ Lite"; #$FTP_Host = "host.com"; #$FTP_User = "ag@host.com"; #$FTP_Pass = "password"; #$FTP_Dir = "cvsbuilds"; - #$SDK_RootDirs{'UIQ2'}= "D:\\UIQ2"; - $SDK_RootDirs{'UIQ3'}= "G:\\UIQ3"; - #$SDK_RootDirs{'S60v1'}= "D:\\S60v1"; - #$SDK_RootDirs{'S60v2'}= "D:\\S60v2"; - $SDK_RootDirs{'S60v3'}= "G:\\S60v3"; - #$SDK_RootDirs{'S80'}= "D:\\S80"; - #$SDK_RootDirs{'S90'}= "D:\\S90"; - #$ECompXL_BinDir= "D:\\ECompXL\\"; + #$SDK_RootDirs{'UIQ2'}= "C:\\UIQ2"; + #$SDK_RootDirs{'UIQ3'}= "C:\\UIQ3"; + #$SDK_RootDirs{'S60v1'}= "C:\\S60v1"; + #$SDK_RootDirs{'S60v2'}= "C:\\S60v2"; + #$SDK_RootDirs{'S80'}= "C:\\S80"; + #$SDK_RootDirs{'S90'}= "C:\\S90"; + #$ECompXL_BinDir= "C:\\ECompXL\\"; + + $SDK_RootDirs{'S60v3'}= "D:\\Symbian\\S60_5th_Edition_SDK_v1.0"; + $SDK_ToolchainDirs{'S60v3'} = "$Compiler\\arm-symbianelf\\bin"; + + # these supporting libraries get built first, then all the Variations + # Note: the string {'xxx.lib'} is used in checking in build success: so needs to be accurate! if (0) # so we can turn them on/off easily { # $SDK_LibraryDirs{'ALL'}{'zlib.lib'} = "C:\\S\\zlib-1.2.2\\epoc"; -# $SDK_LibraryDirs{'ALL'}{'libmad.lib'} = "C:\\S\\libmad-0.15.1b\\group"; -# $SDK_LibraryDirs{'ALL'}{'libtremor.lib'}= "C:\\tremor\\epoc"; - $SDK_LibraryDirs{'UIQ2'}{'esdl.lib'} = "E:\\WICKED\\ESDL\\epoc\\UIQ"; - $SDK_LibraryDirs{'S60v1'}{'esdl.lib'} = $SDK_LibraryDirs{'S60v2'}{'esdl.lib'} = "E:\\WICKED\\ESDL\\epoc\\S60"; - $SDK_LibraryDirs{'S80'}{'esdl.lib'} = "E:\\WICKED\\ESDL\\epoc\\S80"; - $SDK_LibraryDirs{'S90'}{'esdl.lib'} = "E:\\WICKED\\ESDL\\epoc\\S90"; - $SDK_LibraryDirs{'S60v3'}{'esdl.lib'} = "E:\\WICKED\\ESDL\\epoc\\S60\\S60V3"; - $SDK_LibraryDirs{'UIQ3'}{'esdl.lib'} = "E:\\WICKED\\ESDL\\epoc\\UIQ\\UIQ3"; + $SDK_LibraryDirs{'ALL'}{'libmad.lib'} = "D:\\Symbian\\Projects\\SDL\\libs\\libmad-0.15.1b\\epoc"; +# $SDK_LibraryDirs{'ALL'}{'libtremor.lib'}= "D:\\Symbian\\Projects\\SDL\\libs\\Tremor\\epoc"; +# $SDK_LibraryDirs{'UIQ2'}{'esdl.lib'} = $SDK_LibraryDirs{'UIQ3'}{'esdl.lib'} = "C:\\S\\ESDL\\epoc\\UIQ"; +# $SDK_LibraryDirs{'S60v1'}{'esdl.lib'} = $SDK_LibraryDirs{'S60v2'}{'esdl.lib'} = $SDK_LibraryDirs{'S60v3'}{'esdl.lib'} = "C:\\S\\ESDL\\epoc\\S60"; +# $SDK_LibraryDirs{'S80'}{'esdl.lib'} = "C:\\S\\ESDL\\epoc\\S80"; +# $SDK_LibraryDirs{'S90'}{'esdl.lib'} = "C:\\S\\ESDL\\epoc\\S90"; } # now you can add $VariationSets only built on this PC below this line :) @@ -306,8 +323,8 @@ # the first one includes all SDKs & release-ready engines $VariationSets{'ALL'}{'all'} = "$DefaultFeatures @WorkingEngines @EnablableSubEngines"; -# $VariationSets{'ALL'}{'1St'} = "$DefaultFeatures @WorkingEngines_1st @EnablableSubEngines"; -# $VariationSets{'ALL'}{'2nd'} = "$DefaultFeatures @WorkingEngines_2nd @EnablableSubEngines"; + # $VariationSets{'ALL'}{'1St'} = "$DefaultFeatures @WorkingEngines_1st @EnablableSubEngines"; + # $VariationSets{'ALL'}{'2nd'} = "$DefaultFeatures @WorkingEngines_2nd @EnablableSubEngines"; # now one for each ready-for-release engine if (0) { diff --git a/backends/platform/symbian/mmp/scummvm_sword25.mmp.in b/backends/platform/symbian/mmp/scummvm_sword25.mmp.in new file mode 100644 index 0000000000..e14501e42d --- /dev/null +++ b/backends/platform/symbian/mmp/scummvm_sword25.mmp.in @@ -0,0 +1,63 @@ +/* ScummVM - Graphic Adventure Engine + * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL + * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System + * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer + * Copyright (C) 2005-2013 The ScummVM project + * Copyright (C) 2013 Strizniou Fedor + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +// +// EPOC MMP makefile project for ScummVM +// + +// *** Definitions + +TARGET scummvm_sword25.lib +TARGETTYPE lib +OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp +OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings +OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char +ALWAYS_BUILD_AS_ARM + +//START_AUTO_MACROS_SLAVE// + + // empty base file, will be updated by Perl build scripts + +//STOP_AUTO_MACROS_SLAVE// + +// *** SOURCE files + +SOURCEPATH ..\..\..\..\engines\sword25 + +//START_AUTO_OBJECTS_SWORD25_// + + // empty base file, will be updated by Perl build scripts + +//STOP_AUTO_OBJECTS_SWORD25_// + +// *** Include paths + +USERINCLUDE ..\..\..\..\engines +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\..\engines\sword25\util\lua ..\..\..\..\engines\sword25\util\pluto +SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version +SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_testbed.mmp.in b/backends/platform/symbian/mmp/scummvm_testbed.mmp.in new file mode 100644 index 0000000000..ce6a18508d --- /dev/null +++ b/backends/platform/symbian/mmp/scummvm_testbed.mmp.in @@ -0,0 +1,62 @@ +/* ScummVM - Graphic Adventure Engine + * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL + * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System + * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer + * Copyright (C) 2005-2013 The ScummVM project + * Copyright (C) 2013 Strizniou Fedor + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +// +// EPOC MMP makefile project for ScummVM +// + +// *** Definitions + +TARGET scummvm_testbed.lib +TARGETTYPE lib +OPTION MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp +OPTION GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings +OPTION GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char +ALWAYS_BUILD_AS_ARM + +//START_AUTO_MACROS_SLAVE// + + // empty base file, will be updated by Perl build scripts + +//STOP_AUTO_MACROS_SLAVE// + +// *** SOURCE files + +SOURCEPATH ..\..\..\..\engines\testbed + +//START_AUTO_OBJECTS_TESTBED_// + + // empty base file, will be updated by Perl build scripts + +//STOP_AUTO_OBJECTS_TESTBED_// + +// *** Include paths + +USERINCLUDE ..\..\..\..\engines +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src +SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version +SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src -- cgit v1.2.3 From ed357a6dfacd2fd41366d2baf61bd344fec9a0a0 Mon Sep 17 00:00:00 2001 From: anotherguest Date: Tue, 26 Nov 2013 12:14:18 +0100 Subject: SYMBIAN OS:Forgot to set Mpeg2Lib decoder lib. --- backends/platform/symbian/BuildPackageUpload_LocalSettings.pl | 1 + 1 file changed, 1 insertion(+) diff --git a/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl b/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl index ba4b11cc48..4ff485b3e3 100644 --- a/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl +++ b/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl @@ -61,6 +61,7 @@ 'flac' => 'libflacdec.lib', 'freetype2' => 'freetype.lib', 'faad' => 'libFAAD2.lib', + 'mpeg2' => 'libmpeg2.lib' ); # 'mpeg2' => 'libmpeg2.lib' -- cgit v1.2.3 From 44c24f8dc81d3bdc5838642ecc88067f6e60b6fd Mon Sep 17 00:00:00 2001 From: anotherguest Date: Tue, 26 Nov 2013 12:17:59 +0100 Subject: SYMBIAN OS:Use defaults for data types also for Symbian OS! --- video/codecs/mpeg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/video/codecs/mpeg.h b/video/codecs/mpeg.h index 0082844537..3560f4b8b7 100644 --- a/video/codecs/mpeg.h +++ b/video/codecs/mpeg.h @@ -37,7 +37,7 @@ typedef signed short int16_t; typedef unsigned char uint8_t; typedef unsigned short uint16_t; -#elif defined(_MSC_VER) +#elif defined(_MSC_VER) || defined (__SYMBIAN32__) typedef signed char int8_t; typedef signed short int16_t; typedef unsigned char uint8_t; -- cgit v1.2.3 From 2f693bd9ec6d17bd7b55ba4a1a701e7f7a325a8c Mon Sep 17 00:00:00 2001 From: anotherguest Date: Tue, 26 Nov 2013 15:23:54 +0100 Subject: SYMBIAN OS: Add correct datafiles to installation scripts --- .../symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg | 36 ++++++++++++++++++--- .../S60v3/scummvm-CVS-SymbianS60v3_split.pkg | 37 +++++++++++++++++++--- 2 files changed, 64 insertions(+), 9 deletions(-) diff --git a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg index 4a9768ad07..a5920ae823 100644 --- a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg +++ b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg @@ -58,18 +58,46 @@ "..\..\..\..\NEWS"-"!:\resource\apps\scummvm\NEWS" ; Common datafiles needed for some games -"..\..\..\..\dists\engine-data\kyra.dat"-"c:\data\scummvm\kyra.dat" -"..\..\..\..\dists\engine-data\sky.cpt"-"c:\data\scummvm\sky.cpt" +"..\..\..\..\dists\engine-data\drascula.dat"-"c:\data\scummvm\drascula.dat" "..\..\..\..\dists\engine-data\hugo.dat"-"c:\data\scummvm\hugo.dat" +"..\..\..\..\dists\engine-data\kyra.dat"-"c:\data\scummvm\kyra.dat" "..\..\..\..\dists\engine-data\lure.dat"-"c:\data\scummvm\lure.dat" -"..\..\..\..\dists\engine-data\drascula.dat"-"c:\data\scummvm\drascula.dat" +"..\..\..\..\dists\engine-data\mort.dat"-"c:\data\scummvm\mort.dat" +"..\..\..\..\dists\engine-data\neverhood.dat"-"c:\data\scummvm\neverhood.dat" +"..\..\..\..\dists\engine-data\queen.tbl"-"c:\data\scummvm\queen.tbl" +"..\..\..\..\dists\engine-data\sky.cpt"-"c:\data\scummvm\sky.cpt" "..\..\..\..\dists\engine-data\teenagent.dat"-"c:\data\scummvm\teenagent.dat" +"..\..\..\..\dists\engine-data\tony.dat"-"c:\data\scummvm\tony.dat" "..\..\..\..\dists\engine-data\toon.dat"-"c:\data\scummvm\toon.dat" "..\..\..\..\dists\engine-data\wintermute.zip"-"c:\data\scummvm\wintermute.zip" -"..\..\..\..\dists\engine-data\tony.dat"-"c:\data\scummvm\tony.dat" "..\..\..\vkeybd\packs\vkeybd_default.zip"-"c:\data\scummvm\vkeybd_default.zip" "..\..\..\..\gui\themes\translations.dat"-"c:\data\scummvm\translations.dat" "..\..\..\..\gui\themes\scummmodern.zip"-"c:\data\scummvm\scummmodern.zip" +"..\..\..\..\gui\themes\fonts\Arial.bdf"-"c:\data\scummvm\Arial.bdf" +"..\..\..\..\gui\themes\fonts\Arial12.bdf"-"c:\data\scummvm\Arial12.bdf" +"..\..\..\..\gui\themes\fonts\ArialBold.bdf"-"c:\data\scummvm\ArialBold.bdf" +"..\..\..\..\gui\themes\fonts\clR6x12-iso-8859-1.bdf"-"c:\data\scummvm\clR6x12-iso-8859-1.bdf" +"..\..\..\..\gui\themes\fonts\clR6x12-iso-8859-2.bdf"-"c:\data\scummvm\clR6x12-iso-8859-2.bdf" +"..\..\..\..\gui\themes\fonts\clR6x12-iso-8859-5.bdf"-"c:\data\scummvm\clR6x12-iso-8859-5.bdf" +"..\..\..\..\gui\themes\fonts\clR6x12-iso-8859-7.bdf"-"c:\data\scummvm\clR6x12-iso-8859-7.bdf" +"..\..\..\..\gui\themes\fonts\clR6x12.bdf"-"c:\data\scummvm\clR6x12.bdf" +"..\..\..\..\gui\themes\fonts\courr12-iso-8859-1.bdf"-"c:\data\scummvm\courr12-iso-8859-1.bdf" +"..\..\..\..\gui\themes\fonts\fixed5x8-iso-8859-1.bdf"-"c:\data\scummvm\fixed5x8-iso-8859-1.bdf" +"..\..\..\..\gui\themes\fonts\fixed5x8-iso-8859-5.bdf"-"c:\data\scummvm\fixed5x8-iso-8859-5.bdf" +"..\..\..\..\gui\themes\fonts\fixed5x8-iso-8859-7.bdf"-"c:\data\scummvm\fixed5x8-iso-8859-7.bdf" +"..\..\..\..\gui\themes\fonts\fixed5x8.bdf"-"c:\data\scummvm\fixed5x8.bdf" +"..\..\..\..\gui\themes\fonts\FreeMonoBold.ttf"-"c:\data\scummvm\FreeMonoBold.ttf" +"..\..\..\..\gui\themes\fonts\FreeSans.ttf"-"c:\data\scummvm\FreeSans.ttf" +"..\..\..\..\gui\themes\fonts\FreeSansBold.ttf"-"c:\data\scummvm\FreeSansBold.ttf" +"..\..\..\..\gui\themes\fonts\helvB12-iso-8859-1.bdf"-"c:\data\scummvm\helvB12-iso-8859-1.bdf" +"..\..\..\..\gui\themes\fonts\helvB12-iso-8859-2.bdf"-"c:\data\scummvm\helvB12-iso-8859-2.bdf" +"..\..\..\..\gui\themes\fonts\helvB12-iso-8859-5.bdf"-"c:\data\scummvm\helvB12-iso-8859-5.bdf" +"..\..\..\..\gui\themes\fonts\helvB12.bdf"-"c:\data\scummvm\helvB12.bdf" +"..\..\..\..\gui\themes\fonts\helvBO12-iso-8859-1.bdf"-"c:\data\scummvm\helvBO12-iso-8859-1.bdf" +"..\..\..\..\gui\themes\fonts\helvBO12.bdf"-"c:\data\scummvm\helvBO12.bdf" +"..\..\..\..\gui\themes\fonts\helvR12-iso-8859-1.bdf"-"c:\data\scummvm\helvR12-iso-8859-1.bdf" +"..\..\..\..\gui\themes\fonts\helvR12.bdf"-"c:\data\scummvm\helvR12.bdf" +;"..\..\..\..\gui\themes\"-"c:\data\scummvm\" ; Config/log files: 'empty' will automagically be removed on uninstall ""-"c:\data\scummvm\scummvm.ini",FILENULL diff --git a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3_split.pkg b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3_split.pkg index 66ca0267f2..c71805fb9f 100644 --- a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3_split.pkg +++ b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3_split.pkg @@ -66,18 +66,45 @@ "..\..\..\..\NEWS"-"!:\resource\apps\scummvm\NEWS" ; Common datafiles needed for some games -"..\..\..\..\dists\engine-data\kyra.dat"-"c:\data\scummvm\kyra.dat" -"..\..\..\..\dists\engine-data\sky.cpt"-"c:\data\scummvm\sky.cpt" +"..\..\..\..\dists\engine-data\drascula.dat"-"c:\data\scummvm\drascula.dat" "..\..\..\..\dists\engine-data\hugo.dat"-"c:\data\scummvm\hugo.dat" +"..\..\..\..\dists\engine-data\kyra.dat"-"c:\data\scummvm\kyra.dat" "..\..\..\..\dists\engine-data\lure.dat"-"c:\data\scummvm\lure.dat" -"..\..\..\..\dists\engine-data\drascula.dat"-"c:\data\scummvm\drascula.dat" +"..\..\..\..\dists\engine-data\mort.dat"-"c:\data\scummvm\mort.dat" +"..\..\..\..\dists\engine-data\neverhood.dat"-"c:\data\scummvm\neverhood.dat" +"..\..\..\..\dists\engine-data\queen.tbl"-"c:\data\scummvm\queen.tbl" +"..\..\..\..\dists\engine-data\sky.cpt"-"c:\data\scummvm\sky.cpt" "..\..\..\..\dists\engine-data\teenagent.dat"-"c:\data\scummvm\teenagent.dat" +"..\..\..\..\dists\engine-data\tony.dat"-"c:\data\scummvm\tony.dat" "..\..\..\..\dists\engine-data\toon.dat"-"c:\data\scummvm\toon.dat" -"..\..\..\..\dists\engine-data\wintermute.zip-"c:\data\scummvm\wintermute.zip" -"..\..\..\..\dists\engine-data\tony.dat-"c:\data\scummvm\tony.dat" +"..\..\..\..\dists\engine-data\wintermute.zip"-"c:\data\scummvm\wintermute.zip" "..\..\..\vkeybd\packs\vkeybd_default.zip"-"c:\data\scummvm\vkeybd_default.zip" "..\..\..\..\gui\themes\translations.dat"-"c:\data\scummvm\translations.dat" "..\..\..\..\gui\themes\scummmodern.zip"-"c:\data\scummvm\scummmodern.zip" +"..\..\..\..\gui\themes\fonts\Arial.bdf"-"c:\data\scummvm\Arial.bdf" +"..\..\..\..\gui\themes\fonts\Arial12.bdf"-"c:\data\scummvm\Arial12.bdf" +"..\..\..\..\gui\themes\fonts\ArialBold.bdf"-"c:\data\scummvm\ArialBold.bdf" +"..\..\..\..\gui\themes\fonts\clR6x12-iso-8859-1.bdf"-"c:\data\scummvm\clR6x12-iso-8859-1.bdf" +"..\..\..\..\gui\themes\fonts\clR6x12-iso-8859-2.bdf"-"c:\data\scummvm\clR6x12-iso-8859-2.bdf" +"..\..\..\..\gui\themes\fonts\clR6x12-iso-8859-5.bdf"-"c:\data\scummvm\clR6x12-iso-8859-5.bdf" +"..\..\..\..\gui\themes\fonts\clR6x12-iso-8859-7.bdf"-"c:\data\scummvm\clR6x12-iso-8859-7.bdf" +"..\..\..\..\gui\themes\fonts\clR6x12.bdf"-"c:\data\scummvm\clR6x12.bdf" +"..\..\..\..\gui\themes\fonts\courr12-iso-8859-1.bdf"-"c:\data\scummvm\courr12-iso-8859-1.bdf" +"..\..\..\..\gui\themes\fonts\fixed5x8-iso-8859-1.bdf"-"c:\data\scummvm\fixed5x8-iso-8859-1.bdf" +"..\..\..\..\gui\themes\fonts\fixed5x8-iso-8859-5.bdf"-"c:\data\scummvm\fixed5x8-iso-8859-5.bdf" +"..\..\..\..\gui\themes\fonts\fixed5x8-iso-8859-7.bdf"-"c:\data\scummvm\fixed5x8-iso-8859-7.bdf" +"..\..\..\..\gui\themes\fonts\fixed5x8.bdf"-"c:\data\scummvm\fixed5x8.bdf" +"..\..\..\..\gui\themes\fonts\FreeMonoBold.ttf"-"c:\data\scummvm\FreeMonoBold.ttf" +"..\..\..\..\gui\themes\fonts\FreeSans.ttf"-"c:\data\scummvm\FreeSans.ttf" +"..\..\..\..\gui\themes\fonts\FreeSansBold.ttf"-"c:\data\scummvm\FreeSansBold.ttf" +"..\..\..\..\gui\themes\fonts\helvB12-iso-8859-1.bdf"-"c:\data\scummvm\helvB12-iso-8859-1.bdf" +"..\..\..\..\gui\themes\fonts\helvB12-iso-8859-2.bdf"-"c:\data\scummvm\helvB12-iso-8859-2.bdf" +"..\..\..\..\gui\themes\fonts\helvB12-iso-8859-5.bdf"-"c:\data\scummvm\helvB12-iso-8859-5.bdf" +"..\..\..\..\gui\themes\fonts\helvB12.bdf"-"c:\data\scummvm\helvB12.bdf" +"..\..\..\..\gui\themes\fonts\helvBO12-iso-8859-1.bdf"-"c:\data\scummvm\helvBO12-iso-8859-1.bdf" +"..\..\..\..\gui\themes\fonts\helvBO12.bdf"-"c:\data\scummvm\helvBO12.bdf" +"..\..\..\..\gui\themes\fonts\helvR12-iso-8859-1.bdf"-"c:\data\scummvm\helvR12-iso-8859-1.bdf" +"..\..\..\..\gui\themes\fonts\helvR12.bdf"-"c:\data\scummvm\helvR12.bdf" ; Config/log files: 'empty' will automagically be removed on uninstall ""-"c:\data\scummvm\scummvm.ini",FILENULL -- cgit v1.2.3 From e1afc7d0d777dad4b7ca0a58f0bb0324b24f9584 Mon Sep 17 00:00:00 2001 From: anotherguest Date: Tue, 26 Nov 2013 16:04:08 +0100 Subject: SYMBIAN OS: README updated with Fedors name. Removed FLAC include from base.mmp.in. --- backends/platform/symbian/README | 3 ++- backends/platform/symbian/mmp/scummvm_base.mmp.in | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/backends/platform/symbian/README b/backends/platform/symbian/README index ad3edc2b00..3c4fbb9d7d 100644 --- a/backends/platform/symbian/README +++ b/backends/platform/symbian/README @@ -2,7 +2,8 @@ ScummVM - ScummVM ported to EPOC/SymbianOS Copyright (C) 2008-2013 ScummVM Team - Copyright (C) 2003-2008 Lars 'AnotherGuest' Persson + Copyright (C) 2013-2013 Fedor Strizniou aka zanac + Copyright (C) 2003-2013 Lars 'AnotherGuest' Persson Copyright (C) 2002-2008 Jurgen 'SumthinWicked' Braam Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson diff --git a/backends/platform/symbian/mmp/scummvm_base.mmp.in b/backends/platform/symbian/mmp/scummvm_base.mmp.in index cd7d3e7e98..bf12bffb41 100644 --- a/backends/platform/symbian/mmp/scummvm_base.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_base.mmp.in @@ -55,7 +55,6 @@ USERINCLUDE \epoc32\include\mpeg2dec //\epoc32\include\theora SYSTEMINCLUDE \epoc32\include\freetype SYSTEMINCLUDE \epoc32\include\mpeg2dec SYSTEMINCLUDE \epoc32\include\ESDL -SYSTEMINCLUDE \epoc32\include\FLAC SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version SYSTEMINCLUDE \epoc32\include\libc SYSTEMINCLUDE \epoc32\include\tremor -- cgit v1.2.3 From 61e2c1decd571c7a703d80d8fa4c3f87adb0f91d Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 26 Nov 2013 22:50:54 +0100 Subject: TSAGE: BF - Various renaming --- engines/tsage/blue_force/blueforce_scenes4.cpp | 94 ++++++++++++++------------ engines/tsage/blue_force/blueforce_scenes4.h | 13 ++-- engines/tsage/blue_force/blueforce_scenes9.cpp | 46 ++++++------- engines/tsage/globals.cpp | 28 ++++---- engines/tsage/globals.h | 10 +-- 5 files changed, 99 insertions(+), 92 deletions(-) diff --git a/engines/tsage/blue_force/blueforce_scenes4.cpp b/engines/tsage/blue_force/blueforce_scenes4.cpp index 072761b5ac..e4a349bc93 100644 --- a/engines/tsage/blue_force/blueforce_scenes4.cpp +++ b/engines/tsage/blue_force/blueforce_scenes4.cpp @@ -136,11 +136,11 @@ void Scene410::Action5::signal() { switch (_actionIndex++) { case 0: - if (scene->_harrisonMovedFl == 0) { + if (!scene->_harrisonMovedFl) { ADD_PLAYER_MOVER(114, 133); } else { ADD_PLAYER_MOVER(195, 139); - } + } break; case 1: BF_GLOBALS._player.updateAngle(scene->_passenger._position); @@ -167,7 +167,7 @@ void Scene410::Action6::signal() { switch (_actionIndex++) { case 0: - if (scene->_harrisonMovedFl == 0) { + if (!scene->_harrisonMovedFl) { ADD_PLAYER_MOVER(114, 133); } else { ADD_PLAYER_MOVER(126, 99); @@ -243,7 +243,7 @@ bool Scene410::Motorcycle::startAction(CursorType action, Event &event) { } else if (BF_GLOBALS.getFlag(fSearchedTruck) && !BF_GLOBALS._sceneObjects->contains(&scene->_harrison)) { scene->_sceneMode = 4103; scene->signal(); - } else if (scene->_cuffedDriverFl != 0) { + } else if (scene->_cuffedDriverFl) { SceneItem::display2(410, 12); } else { scene->_sceneMode = 4103; @@ -260,7 +260,7 @@ bool Scene410::TruckFront::startAction(CursorType action, Event &event) { switch (action) { case CURSOR_USE: - if ((BF_GLOBALS._bookmark < bStoppedFrankie) && (!scene->_cuffedDriverFl || !scene->_field1FBA)) + if ((BF_GLOBALS._bookmark < bStoppedFrankie) && (!scene->_cuffedDriverFl || !scene->_harrissonTalkFl)) break; else if (BF_GLOBALS.getFlag(fSearchedTruck)) SceneItem::display2(410, 13); @@ -297,7 +297,7 @@ bool Scene410::Driver::startAction(CursorType action, Event &event) { SceneItem::display2(410, 7); } else if (!scene->_field1FC0) { scene->_sceneMode = 4124; - scene->_field1FC0 = 1; + scene->_field1FC0 = true; T2_GLOBALS._uiElements.addScore(30); scene->signal(); } else { @@ -309,13 +309,13 @@ bool Scene410::Driver::startAction(CursorType action, Event &event) { return true; case INV_HANDCUFFS: if (BF_GLOBALS.getFlag(fCalledBackup)) { - if ((scene->_talkCount < 5) || (scene->_action1Count < 1) || (scene->_cuffedDriverFl != 0)) + if ((scene->_talkCount < 5) || (scene->_action1Count < 1) || scene->_cuffedDriverFl) break; BF_GLOBALS._player.disableControl(); scene->_sceneMode = 4123; scene->_stripManager.start(4125, scene); - scene->_cuffedDriverFl = 1; + scene->_cuffedDriverFl = true; T2_GLOBALS._uiElements.addScore(30); } else { if (BF_GLOBALS.getFlag(fTalkedDriverNoBkup)) { @@ -332,10 +332,10 @@ bool Scene410::Driver::startAction(CursorType action, Event &event) { BF_GLOBALS._player.disableControl(); scene->_sceneMode = 2; scene->setAction(&scene->_sequenceManager1, scene, 4120, &scene->_passenger, &BF_GLOBALS._player, NULL); - } else if ((scene->_cuffedDriverFl != 0) || (scene->_field1FC2 != 0)) { + } else if (scene->_cuffedDriverFl || scene->_driverOutOfTruckFl) { break; } else { - scene->_field1FC2 = 1; + scene->_driverOutOfTruckFl = true; T2_GLOBALS._uiElements.addScore(30); BF_GLOBALS._player.disableControl(); scene->_sceneMode = 4127; @@ -343,7 +343,7 @@ bool Scene410::Driver::startAction(CursorType action, Event &event) { } return true; case INV_MIRANDA_CARD: - if (scene->_cuffedDriverFl == 0) + if (!scene->_cuffedDriverFl) return false; if (BF_GLOBALS.getFlag(readFrankRights)) { @@ -379,15 +379,15 @@ bool Scene410::Passenger::startAction(CursorType action, Event &event) { SET_Y, GLOBALS._sceneManager._scene->_sceneBounds.top + UI_INTERFACE_Y + 2, SET_FONT, 4, SET_BG_COLOR, 1, SET_FG_COLOR, 96, SET_EXT_BGCOLOR, 99, SET_EXT_FGCOLOR, 13, LIST_END); - } else if (!scene->_field1FBA) { + } else if (!scene->_harrissonTalkFl) { SceneItem::display(410, 5, SET_WIDTH, 300, SET_X, 10 + GLOBALS._sceneManager._scene->_sceneBounds.left, SET_Y, GLOBALS._sceneManager._scene->_sceneBounds.top + UI_INTERFACE_Y + 2, SET_FONT, 4, SET_BG_COLOR, 1, SET_FG_COLOR, 96, SET_EXT_BGCOLOR, 99, SET_EXT_FGCOLOR, 13, LIST_END); - } else if (!scene->_field1FBE) { + } else if (!scene->_cuffedPassengerFl) { scene->_sceneMode = 4121; - scene->_field1FBE = 1; + scene->_cuffedPassengerFl = true; T2_GLOBALS._uiElements.addScore(50); scene->signal(); } else @@ -398,7 +398,7 @@ bool Scene410::Passenger::startAction(CursorType action, Event &event) { return true; case INV_HANDCUFFS: if (BF_GLOBALS.getFlag(fCalledBackup)) { - if ((scene->_talkCount < 5) || (scene->_field1FBA != 0)) + if ((scene->_talkCount < 5) || (scene->_harrissonTalkFl)) break; BF_GLOBALS._player.disableControl(); @@ -413,7 +413,7 @@ bool Scene410::Passenger::startAction(CursorType action, Event &event) { } return true; case INV_MIRANDA_CARD: - if (!scene->_field1FBA) + if (!scene->_harrissonTalkFl) break; if (BF_GLOBALS.getFlag(readFrankRights)) { @@ -455,7 +455,7 @@ bool Scene410::Harrison::startAction(CursorType action, Event &event) { SET_FONT, 4, SET_BG_COLOR, 1, SET_FG_COLOR, 32, SET_EXT_BGCOLOR, 49, SET_EXT_FGCOLOR, 13, LIST_END); } - } else if ((scene->_field1FBA != 0) && (scene->_cuffedDriverFl != 0)) { + } else if (scene->_harrissonTalkFl && scene->_cuffedDriverFl) { BF_GLOBALS._player.disableControl(); scene->_sceneMode = 4112; scene->_stripManager.start(4113, scene); @@ -463,27 +463,27 @@ bool Scene410::Harrison::startAction(CursorType action, Event &event) { BF_GLOBALS.set2Flags(f1098Frankie); BF_GLOBALS.clearFlag(f1098Marina); } else if ((BF_INVENTORY.getObjectScene(INV_HANDCUFFS) == 1) || - (!scene->_field1FBA && (scene->_talkCount < 5))) { + (!scene->_harrissonTalkFl && (scene->_talkCount < 5))) { SceneItem::display(350, 13, SET_WIDTH, 300, SET_X, 10 + GLOBALS._sceneManager._scene->_sceneBounds.left, SET_Y, GLOBALS._sceneManager._scene->_sceneBounds.top + UI_INTERFACE_Y + 2, SET_FONT, 4, SET_BG_COLOR, 1, SET_FG_COLOR, 32, SET_EXT_BGCOLOR, 49, SET_EXT_FGCOLOR, 13, LIST_END); - } else if (!scene->_field1FBA) { + } else if (!scene->_harrissonTalkFl) { BF_GLOBALS._player.disableControl(); - scene->_field1FBA = 1; - scene->_field1FBE = 1; + scene->_harrissonTalkFl = true; + scene->_cuffedPassengerFl = true; BF_GLOBALS._walkRegions.enableRegion(22); scene->_sceneMode = 4122; scene->_stripManager.start(4112, scene); } else if (scene->_action1Count < 1) { break; - } else if (scene->_cuffedDriverFl != 0) { + } else if (scene->_cuffedDriverFl) { error("Error - want to cuff driver, but he's cuffed already"); } else { BF_GLOBALS._player.disableControl(); - scene->_cuffedDriverFl = 1; - scene->_field1FC0 = 1; + scene->_cuffedDriverFl = true; + scene->_field1FC0 = true; BF_GLOBALS._walkRegions.enableRegion(22); scene->_sceneMode = 4109; scene->_stripManager.start(4112, scene); @@ -500,19 +500,23 @@ bool Scene410::Harrison::startAction(CursorType action, Event &event) { /*--------------------------------------------------------------------------*/ Scene410::Scene410(): SceneExt() { - _action1Count = _talkCount = _field1FBA = _cuffedDriverFl = 0; - _field1FBE = _field1FC0 = _field1FC2 = _harrisonMovedFl = 0; + _cuffedDriverFl = _harrissonTalkFl = _driverOutOfTruckFl = false; + _harrisonMovedFl = false; + + _action1Count = _talkCount = 0; + _cuffedPassengerFl = false; + _field1FC0 = false; } void Scene410::synchronize(Serializer &s) { SceneExt::synchronize(s); s.syncAsSint16LE(_action1Count); s.syncAsSint16LE(_talkCount); - s.syncAsSint16LE(_field1FBA); + s.syncAsSint16LE(_harrissonTalkFl); s.syncAsSint16LE(_cuffedDriverFl); - s.syncAsSint16LE(_field1FBE); + s.syncAsSint16LE(_cuffedPassengerFl); s.syncAsSint16LE(_field1FC0); - s.syncAsSint16LE(_field1FC2); + s.syncAsSint16LE(_driverOutOfTruckFl); s.syncAsSint16LE(_harrisonMovedFl); } @@ -593,7 +597,7 @@ void Scene410::postInit(SceneObjectList *OwnerList) { _patrolCar.fixPriority(148); _patrolCar.setPosition(Common::Point(39, 168)); - _harrisonMovedFl = 1; + _harrisonMovedFl = true; _sceneMode = 0; signal(); break; @@ -604,7 +608,7 @@ void Scene410::postInit(SceneObjectList *OwnerList) { _sceneMode = 0; } else { _harrisonMovedFl = BF_GLOBALS._scene410HarrisonMovedFl; - _field1FBA = BF_GLOBALS._v50CC2; + _harrissonTalkFl = BF_GLOBALS._scene410HarrisonTalkFl; _talkCount = BF_GLOBALS._scene410TalkCount; _action1Count = BF_GLOBALS._scene410Action1Count; @@ -617,7 +621,7 @@ void Scene410::postInit(SceneObjectList *OwnerList) { _passenger.setStrip(2); _passenger.setFrame(5); } - if (_field1FBA) { + if (_harrissonTalkFl) { _passenger.setVisage(415); _passenger.setStrip(6); _passenger.setFrame(8); @@ -664,7 +668,7 @@ void Scene410::postInit(SceneObjectList *OwnerList) { _sceneMode = 0; } - _harrisonMovedFl = 1; + _harrisonMovedFl = true; } break; case 50: @@ -687,7 +691,7 @@ void Scene410::signal() { BF_GLOBALS.clearFlag(f1097Marina); BF_GLOBALS._scene410HarrisonMovedFl = _harrisonMovedFl; - BF_GLOBALS._v50CC2 = _field1FBA; + BF_GLOBALS._scene410HarrisonTalkFl = _harrissonTalkFl; BF_GLOBALS._scene410TalkCount = _talkCount; BF_GLOBALS._scene410Action1Count = _action1Count; BF_GLOBALS._sceneManager.changeScene(60); @@ -730,7 +734,7 @@ void Scene410::signal() { case 9: _sceneMode = 4106; _stripManager.start(4111, this); - _field1FBA = 1; + _harrissonTalkFl = true; BF_GLOBALS.setFlag(fCuffedFrankie); T2_GLOBALS._uiElements.addScore(30); break; @@ -760,7 +764,7 @@ void Scene410::signal() { break; case 4104: // After call for backup, patrol car is coming - _harrisonMovedFl = 1; + _harrisonMovedFl = true; BF_GLOBALS._player.disableControl(); _sceneMode = 0; setAction(&_sequenceManager1, this, 4104, &_patrolCar, &_harrison, NULL); @@ -1432,21 +1436,21 @@ bool Scene450::Manager::startAction(CursorType action, Event &event) { } else { animate(ANIM_MODE_8, 1, NULL); - if (scene->_field19AC) { + if (scene->_managerCallsWeaselFl) { scene->_sceneMode = 2; - if (scene->_field19AE) { + if (scene->_talkManagerFl) { scene->_stripManager.start(4521, scene); } else { - scene->_field19AE = 1; + scene->_talkManagerFl = true; scene->_stripManager.start(4512, scene); } } else { scene->_sceneMode = 4506; - if (scene->_field19AE) { + if (scene->_talkManagerFl) { scene->setAction(&scene->_sequenceManager, scene, 4518, &BF_GLOBALS._player, this, NULL); } else { scene->_sceneMode = 4506; - scene->_field19AE = 1; + scene->_talkManagerFl = true; scene->setAction(&scene->_sequenceManager, scene, 4506, &BF_GLOBALS._player, this, NULL); } } @@ -1524,13 +1528,13 @@ bool Scene450::Exit::startAction(CursorType action, Event &event) { /*--------------------------------------------------------------------------*/ Scene450::Scene450(): SceneExt() { - _field19AC = _field19AE = 0; + _managerCallsWeaselFl = _talkManagerFl = false; } void Scene450::synchronize(Serializer &s) { SceneExt::synchronize(s); - s.syncAsSint16LE(_field19AC); - s.syncAsSint16LE(_field19AE); + s.syncAsSint16LE(_managerCallsWeaselFl); + s.syncAsSint16LE(_talkManagerFl); } void Scene450::postInit(SceneObjectList *OwnerList) { @@ -1654,7 +1658,7 @@ void Scene450::signal() { case 4510: case 4511: BF_GLOBALS.setFlag(fMgrCallsWeasel); - _field19AC = 1; + _managerCallsWeaselFl = true; _sceneMode = 4503; setAction(&_sequenceManager, this, 4503, &_weasel, &_door, &_manager, NULL); break; diff --git a/engines/tsage/blue_force/blueforce_scenes4.h b/engines/tsage/blue_force/blueforce_scenes4.h index 895970e4ee..92e91c93b2 100644 --- a/engines/tsage/blue_force/blueforce_scenes4.h +++ b/engines/tsage/blue_force/blueforce_scenes4.h @@ -116,10 +116,12 @@ public: SpeakerDriver _driverSpeaker; SpeakerShooter _shooterSpeaker; ASoundExt _sound1; - int _action1Count, _talkCount, _field1FBA; - int _cuffedDriverFl, _field1FBE; - int _field1FC0; - int _field1FC2, _harrisonMovedFl; + int _action1Count, _talkCount; + bool _harrissonTalkFl; + bool _cuffedDriverFl; + bool _cuffedPassengerFl; + bool _field1FC0; + bool _driverOutOfTruckFl, _harrisonMovedFl; Scene410(); virtual void postInit(SceneObjectList *OwnerList = NULL); @@ -255,7 +257,8 @@ public: NamedObject _door, _counterDoor; Exit _exit; NamedHotspot _interior, _shelf, _counter; - int _field19AC, _field19AE; + bool _managerCallsWeaselFl; + bool _talkManagerFl; Scene450(); virtual void synchronize(Serializer &s); diff --git a/engines/tsage/blue_force/blueforce_scenes9.cpp b/engines/tsage/blue_force/blueforce_scenes9.cpp index cef9e8135c..2b42dc8625 100644 --- a/engines/tsage/blue_force/blueforce_scenes9.cpp +++ b/engines/tsage/blue_force/blueforce_scenes9.cpp @@ -840,14 +840,14 @@ bool Scene910::Nico::startAction(CursorType action, Event &event) { if (BF_GLOBALS._nico910State >= 4) return NamedObject::startAction(action, event); - if (BF_GLOBALS._v4CEE6 < 4) - BF_GLOBALS._v4CEE6++; + if (BF_GLOBALS._nico910Talk < 4) + BF_GLOBALS._nico910Talk++; - if (BF_GLOBALS._v4CEE6 == 2) { + if (BF_GLOBALS._nico910Talk == 2) { scene->_sceneMode = 13; scene->_stripManager.start(9105, scene); } else - scene->_stripManager.start(9103 + BF_GLOBALS._v4CEE6, &BF_GLOBALS._stripProxy); + scene->_stripManager.start(9103 + BF_GLOBALS._nico910Talk, &BF_GLOBALS._stripProxy); return true; break; case INV_COLT45: @@ -887,14 +887,14 @@ bool Scene910::Nico::startAction(CursorType action, Event &event) { if (BF_GLOBALS._nico910State >= 4) return NamedObject::startAction(action, event); - if (BF_GLOBALS._v4CEE6 < 4) - BF_GLOBALS._v4CEE6++; + if (BF_GLOBALS._nico910Talk < 4) + BF_GLOBALS._nico910Talk++; - if (BF_GLOBALS._v4CEE6 == 2) { + if (BF_GLOBALS._nico910Talk == 2) { scene->_sceneMode = 13; scene->_stripManager.start(9105, scene); } else - scene->_stripManager.start(9103 + BF_GLOBALS._v4CEE6, &BF_GLOBALS._stripProxy); + scene->_stripManager.start(9103 + BF_GLOBALS._nico910Talk, &BF_GLOBALS._stripProxy); return true; break; @@ -966,16 +966,16 @@ bool Scene910::Stuart::startAction(CursorType action, Event &event) { return true; break; case CURSOR_TALK: - if (BF_GLOBALS._v4CEE8 < 3) - BF_GLOBALS._v4CEE8++; + if (BF_GLOBALS._stuart910Talk < 3) + BF_GLOBALS._stuart910Talk++; - scene->_stripManager.start(9107 + BF_GLOBALS._v4CEE8, &BF_GLOBALS._stripProxy); + scene->_stripManager.start(9107 + BF_GLOBALS._stuart910Talk, &BF_GLOBALS._stripProxy); return true; break; case INV_COLT45: if ((BF_GLOBALS.getFlag(gunDrawn)) && (BF_GLOBALS.getFlag(fGunLoaded)) && (BF_GLOBALS.getHasBullets())){ BF_GLOBALS._player.disableControl(); - if (BF_GLOBALS._v4CEE4 == 2) { + if (BF_GLOBALS._stuart910State == 2) { scene->_sceneMode = 9132; scene->setAction(&scene->_sequenceManager1, scene, 9132, &scene->_stuart, NULL); return NamedObject::startAction(action, event); @@ -1878,7 +1878,7 @@ bool Scene910::Item2::startAction(CursorType action, Event &event) { bool Scene910::Item3::startAction(CursorType action, Event &event) { Scene910 *scene = (Scene910 *)BF_GLOBALS._sceneManager._scene; - if ((action == CURSOR_TALK) && (BF_GLOBALS._nico910State == 4) && (BF_GLOBALS._v4CEE4 == 0)) { + if ((action == CURSOR_TALK) && (BF_GLOBALS._nico910State == 4) && (BF_GLOBALS._stuart910State == 0)) { BF_GLOBALS._player.disableControl(); scene->_sceneMode = 15; scene->_stripManager.start(9102, scene); @@ -2057,7 +2057,7 @@ void Scene910::postInit(SceneObjectList *OwnerList) { || (BF_GLOBALS._sceneManager._previousScene == 300)) { BF_GLOBALS._sceneManager._previousScene = 900; BF_GLOBALS._nico910State = 0; - BF_GLOBALS._v4CEE4 = 0; + BF_GLOBALS._stuart910State = 0; } _field2DE0 = 0; @@ -2149,7 +2149,7 @@ void Scene910::postInit(SceneObjectList *OwnerList) { _nico.setVisage(913); _nico.setPosition(Common::Point(262, 124)); _nico.setStrip(6); - BF_GLOBALS._v4CEE6 = 0; + BF_GLOBALS._nico910Talk = 0; BF_GLOBALS._nico910State = 1; _nico.setDetails(910, 63, 64, 67, 5, &_item4); BF_GLOBALS._v4CECA = 2; @@ -2309,7 +2309,7 @@ void Scene910::signal() { case 15: _stuart.postInit(); _stuart.setDetails(910, 66, 67, 68, 5, &_nico); - BF_GLOBALS._v4CEE8 = 0; + BF_GLOBALS._stuart910Talk = 0; _sceneMode = 9121; setAction(&_sequenceManager1, this, 9121, &_stuart, NULL); break; @@ -2349,7 +2349,7 @@ void Scene910::signal() { case 18: BF_GLOBALS._player._strip = 7; BF_GLOBALS._player._frame = 1; - if (BF_GLOBALS._v4CEE4 == 3) { + if (BF_GLOBALS._stuart910State == 3) { if (_field2DE4 == 0) { _field2DE4 = 1; _sceneMode = 9142; @@ -2460,7 +2460,7 @@ void Scene910::signal() { BF_GLOBALS._player.disableControl(); _nico.postInit(); _nico.setDetails(910, 63, 64, 65, 5, &_item4); - BF_GLOBALS._v4CEE6 = 0; + BF_GLOBALS._nico910Talk = 0; _shadow.postInit(); _action2.remove(); _sceneMode = 9116; @@ -2498,7 +2498,7 @@ void Scene910::signal() { break; case 9121: _item3.setDetails(7, 910, 96, 60, 61, 3); - BF_GLOBALS._v4CEE4 = 2; + BF_GLOBALS._stuart910State = 2; if (BF_GLOBALS._nico910State == 4) { _sceneMode = 20; _stripManager.start(9115, this); @@ -2582,7 +2582,7 @@ void Scene910::signal() { _yellowCord.hide(); _sceneMode = 9136; setAction(&_sequenceManager1, this, 9136, &BF_GLOBALS._player, &_stuart, &_yellowCord, NULL); - BF_GLOBALS._v4CEE4 = 3; + BF_GLOBALS._stuart910State = 3; break; case 11: _sceneMode = 9137; @@ -2605,13 +2605,13 @@ void Scene910::signal() { _stuart.postInit(); _nico.setDetails(910, 72, 73, 74, 3, (SceneItem *)NULL); _stuart.setDetails(910, 66, 67, 68, 5, &_nico); - BF_GLOBALS._v4CEE8 = 0; + BF_GLOBALS._stuart910Talk = 0; _sceneMode = 9121; setAction(&_sequenceManager1, this, 9121, &_stuart, NULL); break; case 9126: _sceneMode = 19; - if (BF_GLOBALS._v4CEE4 == 0) + if (BF_GLOBALS._stuart910State == 0) signal(); else _stripManager.start(9115, this); @@ -2630,7 +2630,7 @@ void Scene910::signal() { break; case 9132: BF_GLOBALS._player.enableControl(); - BF_GLOBALS._v4CEE4 = 4; + BF_GLOBALS._stuart910State = 4; BF_GLOBALS._deathReason = 13; BF_GLOBALS._sceneManager.changeScene(666); break; diff --git a/engines/tsage/globals.cpp b/engines/tsage/globals.cpp index 768c51ca16..388f6f7686 100644 --- a/engines/tsage/globals.cpp +++ b/engines/tsage/globals.cpp @@ -241,19 +241,19 @@ namespace BlueForce { BlueForceGlobals::BlueForceGlobals(): TsAGE2Globals() { _hiddenDoorStatus = 0; _nico910State = 0; - _v4CEE4 = 0; - _v4CEE6 = 0; - _v4CEE8 = 0; + _stuart910State = 0; + _nico910Talk = 0; + _stuart910Talk = 0; _deziTopic = 0; _deathReason = 0; _driveFromScene = 300; _driveToScene = 0; _subFlagBitArr1 = 0; _subFlagBitArr2 = 0; - _v50CC2 = 0; + _scene410HarrisonTalkFl = false; _scene410Action1Count = 0; _scene410TalkCount = 0; - _scene410HarrisonMovedFl = 0; + _scene410HarrisonMovedFl = false; _bookmark = bNone; _mapLocationId = 1; _clip1Bullets = 8; @@ -296,9 +296,9 @@ void BlueForceGlobals::synchronize(Serializer &s) { s.syncAsByte(_breakerBoxStatusArr[i]); s.syncAsSint16LE(_hiddenDoorStatus); s.syncAsSint16LE(_nico910State); - s.syncAsSint16LE(_v4CEE4); - s.syncAsSint16LE(_v4CEE6); - s.syncAsSint16LE(_v4CEE8); + s.syncAsSint16LE(_stuart910State); + s.syncAsSint16LE(_nico910Talk); + s.syncAsSint16LE(_stuart910Talk); s.syncAsSint16LE(_deziTopic); s.syncAsSint16LE(_deathReason); s.syncAsSint16LE(_driveFromScene); @@ -312,7 +312,7 @@ void BlueForceGlobals::synchronize(Serializer &s) { } s.syncAsSint16LE(_subFlagBitArr1); s.syncAsSint16LE(_subFlagBitArr2); - s.syncAsSint16LE(_v50CC2); + s.syncAsSint16LE(_scene410HarrisonTalkFl); s.syncAsSint16LE(_scene410Action1Count); s.syncAsSint16LE(_scene410TalkCount); s.syncAsSint16LE(_scene410HarrisonMovedFl); @@ -372,17 +372,17 @@ void BlueForceGlobals::reset() { _breakerBoxStatusArr[17] = 0; _hiddenDoorStatus = 0; _nico910State = 0; - _v4CEE4 = 0; - _v4CEE6 = 0; - _v4CEE8 = 0; + _stuart910State = 0; + _nico910Talk = 0; + _stuart910Talk = 0; _deziTopic = 0; _deathReason = 0; _subFlagBitArr1 = 0; _subFlagBitArr2 = 0; - _v50CC2 = 0; + _scene410HarrisonTalkFl = false; _scene410Action1Count = 0; _scene410TalkCount = 0; - _scene410HarrisonMovedFl = 0; + _scene410HarrisonMovedFl = false; _clip1Bullets = 8; _clip2Bullets = 8; } diff --git a/engines/tsage/globals.h b/engines/tsage/globals.h index 4523a7bca0..92c3d2e24b 100644 --- a/engines/tsage/globals.h +++ b/engines/tsage/globals.h @@ -200,19 +200,19 @@ public: int8 _breakerBoxStatusArr[18]; int _hiddenDoorStatus; int _nico910State; - int _v4CEE4; - int _v4CEE6; - int _v4CEE8; + int _stuart910State; + int _nico910Talk; + int _stuart910Talk; int _deziTopic; int _deathReason; int _driveFromScene; int _driveToScene; uint8 _subFlagBitArr1; uint8 _subFlagBitArr2; - int _v50CC2; + bool _scene410HarrisonTalkFl; int _scene410Action1Count; int _scene410TalkCount; - int _scene410HarrisonMovedFl; + bool _scene410HarrisonMovedFl; Bookmark _bookmark; int _mapLocationId; int _clip1Bullets, _clip2Bullets; -- cgit v1.2.3 From 38163df9a645ae2a20f3aeaac7afd759a0900eb8 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 27 Nov 2013 00:44:34 +0100 Subject: TSAGE: R2R - Some renaming in scene 1337, re-stub waitFrames() --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 34 ++++++++++++++----------- engines/tsage/ringworld2/ringworld2_scenes1.h | 6 ++--- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index ef4136a343..f03fb90eaa 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -2264,13 +2264,15 @@ void Scene1337::Action1337::subD18B5(int resNum, int stripNum, int frameNum) { warning("STUBBED: Action1337::subD18B5()"); } -void Scene1337::Action1337::skipFrames(int32 skipCount) { +void Scene1337::Action1337::waitFrames(int32 skipCount) { + warning("STUBBED: waitFrames()"); +/* uint32 firstFrameNumber = g_globals->_events.getFrameNumber(); uint32 tmpFrameNumber = firstFrameNumber; while (tmpFrameNumber < firstFrameNumber + skipCount) tmpFrameNumber = g_globals->_events.getFrameNumber(); - +*/ warning("_eventManager.waitEvent(-1)"); } @@ -2358,7 +2360,7 @@ void Scene1337::Action1::signal() { R2_GLOBALS._sceneObjects->draw(); - skipFrames(60); + waitFrames(60); scene->actionDisplay(1331, 9, 159, 10, 1, 200, 0, 7, 0, 154, 154); scene->_arrunkObj1337[2]._arr2[1]._field34 = 2; @@ -2428,7 +2430,7 @@ void Scene1337::Action1::signal() { R2_GLOBALS._sceneObjects->draw(); - skipFrames(120); + waitFrames(120); scene->_arrunkObj1337[2]._arr2[0]._object1.remove(); scene->_arrunkObj1337[2]._arr2[1]._object1.remove(); scene->_arrunkObj1337[2]._arr2[2]._object1.remove(); @@ -2566,7 +2568,7 @@ void Scene1337::Action1::signal() { R2_GLOBALS._sceneObjects->draw(); - skipFrames(60); + waitFrames(60); scene->actionDisplay(1331, 11, 159, 10, 1, 200, 0, 7, 0, 154, 154); scene->actionDisplay(1331, 12, 159, 10, 1, 200, 0, 7, 0, 154, 154); @@ -2597,7 +2599,7 @@ void Scene1337::Action1::signal() { R2_GLOBALS._sceneObjects->draw(); - skipFrames(60); + waitFrames(60); scene->actionDisplay(1331, 13, 159, 10, 1, 200, 0, 7, 0, 154, 154); scene->_arrunkObj1337[2]._arr2[1]._field34 = scene->_arrunkObj1337[2]._arr1[3]._field34; @@ -2644,7 +2646,7 @@ void Scene1337::Action1::signal() { R2_GLOBALS._sceneObjects->draw(); - skipFrames(60); + waitFrames(60); scene->actionDisplay(1331, 14, 159, 10, 1, 200, 0, 7, 0, 154, 154); scene->_arrunkObj1337[2]._arr3[0]._object1.postInit(); @@ -2670,7 +2672,7 @@ void Scene1337::Action1::signal() { R2_GLOBALS._sceneObjects->draw(); - skipFrames(60); + waitFrames(60); scene->actionDisplay(1331, 15, 159, 10, 1, 200, 0, 7, 0, 154, 154); int tmpVal = 15; @@ -2704,7 +2706,7 @@ void Scene1337::Action1::signal() { R2_GLOBALS._sceneObjects->draw(); - skipFrames(240); + waitFrames(240); scene->_arrObject1[0].remove(); scene->_arrObject1[1].remove(); @@ -2793,7 +2795,7 @@ void Scene1337::Action1::signal() { R2_GLOBALS._sceneObjects->draw(); - skipFrames(240); + waitFrames(240); scene->actionDisplay(1331, 17, 159, 10, 1, 200, 0, 7, 0, 154, 154); tmpVal = 72; @@ -2821,7 +2823,7 @@ void Scene1337::Action1::signal() { R2_GLOBALS._sceneObjects->draw(); - skipFrames(240); + waitFrames(240); scene->_arrObject1[0].remove(); scene->_arrObject1[1].remove(); @@ -2937,7 +2939,7 @@ void Scene1337::Action1::signal() { R2_GLOBALS._sceneObjects->draw(); - skipFrames(240); + waitFrames(240); scene->_arrObject1[0].remove(); scene->_arrObject1[1].remove(); @@ -5537,11 +5539,11 @@ void Scene1337::suggestInstructions() { } else { if (R2_GLOBALS._v57709 == 0) subD18F5(); - subCB59B(); + displayInstructions(); } } -void Scene1337::subCB59B() { +void Scene1337::displayInstructions() { _item1.setAction(&_action1); } @@ -5600,6 +5602,7 @@ void Scene1337::subCCF26() { _item1.setAction(&_action3); } void Scene1337::subCD193() { + // Display menu with "Auto Play", "New Game", "Quit" and "Continue" warning("STUBBED: subCD193()"); } @@ -6825,7 +6828,8 @@ void Scene1337::subD183F(int arg1, int arg2) { } } -void Scene1337::subD18B5(int resNum, int rlbNum, int arg3) { +void Scene1337::subD18B5(int resNum, int rlbNum, int frameNum) { + // Change the mouse cursor and set it to the desired frame (if different than 0) warning("STUBBED lvl3 Scene1337::subD18B5()"); } diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h index cc114b2033..ecc4c1f2ca 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.h +++ b/engines/tsage/ringworld2/ringworld2_scenes1.h @@ -214,7 +214,7 @@ class Scene1337 : public SceneExt { class Action1337: public Action { public: void subD18B5(int resNum, int stripNum, int frameNum); - void skipFrames(int32 skipCount); + void waitFrames(int32 skipCount); }; class Action1: public Action1337 { @@ -358,7 +358,7 @@ public: void subC51A0(unkObj1337sub1 *subObj1, unkObj1337sub1 *subObj2); void displayDialog(int dialogNumb); void subPostInit(); - void subCB59B(); + void displayInstructions(); void suggestInstructions(); void shuffleCards(); void subCCF26(); @@ -370,7 +370,7 @@ public: void subD0281(); void subD02CA(); void subD183F(int arg1, int arg2); - void subD18B5(int resNum, int rlbNum, int arg3); + void subD18B5(int resNum, int rlbNum, int frameNum); int subD18F5(); int subD1917(); int subD1940(bool flag); -- cgit v1.2.3 From 57f45a76f28f20feb40b55ea2bb0edb7d19f7717 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Tue, 26 Nov 2013 23:14:30 -0500 Subject: FULLPIPE: Fix variable initialization. Thanks to md5 for pointing out --- engines/fullpipe/motion.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/engines/fullpipe/motion.cpp b/engines/fullpipe/motion.cpp index c1977c0ac3..280a7c27b0 100644 --- a/engines/fullpipe/motion.cpp +++ b/engines/fullpipe/motion.cpp @@ -979,6 +979,8 @@ MessageQueue *MovGraph2::doWalkTo(StaticANIObject *obj, int xpos, int ypos, int if (minPath < 0.0 || ((linkInfoSource.node != linkInfoDest.node || !linkInfoSource.node) && !tempLinkList.size())) return 0; + memset(&movInfo1, 0, sizeof(movInfo1)); + movInfo1.subIndex = idxsub; movInfo1.pt1.x = obj->_ox; movInfo1.pt1.y = obj->_oy; -- cgit v1.2.3 From a6ae7d485622b5332914b077a1100cf299f8358d Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 27 Nov 2013 07:39:16 +0100 Subject: TSAGE: R2R - Fix waitFrames in scene 1337 --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 18 ++++++++++-------- engines/tsage/ringworld2/ringworld2_scenes1.h | 2 +- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index f03fb90eaa..87639b5715 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -2264,16 +2264,18 @@ void Scene1337::Action1337::subD18B5(int resNum, int stripNum, int frameNum) { warning("STUBBED: Action1337::subD18B5()"); } -void Scene1337::Action1337::waitFrames(int32 skipCount) { - warning("STUBBED: waitFrames()"); -/* +void Scene1337::Action1337::waitFrames(int32 frameCount) { uint32 firstFrameNumber = g_globals->_events.getFrameNumber(); - uint32 tmpFrameNumber = firstFrameNumber; + uint32 curFrame = firstFrameNumber; + uint32 destFrame = firstFrameNumber + frameCount; - while (tmpFrameNumber < firstFrameNumber + skipCount) - tmpFrameNumber = g_globals->_events.getFrameNumber(); -*/ - warning("_eventManager.waitEvent(-1)"); + while (curFrame < destFrame) { + TsAGE::Event event; + g_globals->_events.getEvent(event); + curFrame = g_globals->_events.getFrameNumber(); + } + + // CHECKME: The original is calling _eventManager.waitEvent(); } void Scene1337::Action1::signal() { diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h index ecc4c1f2ca..ed66f98921 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.h +++ b/engines/tsage/ringworld2/ringworld2_scenes1.h @@ -214,7 +214,7 @@ class Scene1337 : public SceneExt { class Action1337: public Action { public: void subD18B5(int resNum, int stripNum, int frameNum); - void waitFrames(int32 skipCount); + void waitFrames(int32 frameCount); }; class Action1: public Action1337 { -- cgit v1.2.3 From 960523e25202ae9370da728daa06c1e588551f4e Mon Sep 17 00:00:00 2001 From: Strangerke Date: Wed, 27 Nov 2013 08:43:27 +0100 Subject: TSAGE: R2R - Remove dead code, implement subD18B5() --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 41 +++++++++++++++---------- engines/tsage/ringworld2/ringworld2_scenes1.h | 3 +- 2 files changed, 26 insertions(+), 18 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index 87639b5715..bc2112b5d7 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -20,6 +20,8 @@ * */ +#include "graphics/cursorman.h" + #include "tsage/scenes.h" #include "tsage/tsage.h" #include "tsage/staticres.h" @@ -2260,10 +2262,6 @@ void Scene1337::synchronize(Serializer &s) { warning("STUBBED: Scene1337::synchronize()"); } -void Scene1337::Action1337::subD18B5(int resNum, int stripNum, int frameNum) { - warning("STUBBED: Action1337::subD18B5()"); -} - void Scene1337::Action1337::waitFrames(int32 frameCount) { uint32 firstFrameNumber = g_globals->_events.getFrameNumber(); uint32 curFrame = firstFrameNumber; @@ -3542,7 +3540,7 @@ void Scene1337::Action5::signal() { scene->_field3EF0->_object1.remove(); if (scene->_field3EF0 == &scene->_item6) { - subD18B5(5, 1, 4); + scene->setCursorData(5, 1, 4); scene->subC4CEC(); } scene->_item2._object1.setPosition(scene->_field3EF0->_field36, 0); @@ -3590,7 +3588,7 @@ void Scene1337::Action6::signal() { scene->setAnimationInfo(scene->_field3EF4); scene->_aSound1.play(59); if (scene->_field3EF0 == &scene->_item6) { - subD18B5(5, 1, 4); + scene->setCursorData(5, 1, 4); scene->subC4CEC(); } scene->subC20F9(); @@ -3618,7 +3616,7 @@ void Scene1337::Action7::signal() { break; case 1: if (scene->_field3EF0 == &scene->_item6) { - subD18B5(5, 1, 4); + scene->setCursorData(5, 1, 4); scene->subC4CEC(); } scene->setAnimationInfo(scene->_field3EF4); @@ -3659,7 +3657,7 @@ void Scene1337::Action8::signal() { scene->_item2._object1.hide(); if (scene->_field3EF0 == &scene->_item6) { - subD18B5(5, 1, 4); + scene->setCursorData(5, 1, 4); scene->subC4CEC(); } scene->setAnimationInfo(scene->_field3EF4); @@ -3699,7 +3697,7 @@ void Scene1337::Action9::signal() { scene->_aSound1.play(57); if (scene->_field3EF0 == &scene->_item6) { - subD18B5(5, 1, 4); + scene->setCursorData(5, 1, 4); scene->subC4CEC(); } @@ -3726,7 +3724,7 @@ void Scene1337::Action10::signal() { scene->_field3EF0->_object1.remove(); if (scene->_field3EF0 == &scene->_item6) { - subD18B5(5, 1, 4); + scene->setCursorData(5, 1, 4); scene->subC4CEC(); } @@ -3894,7 +3892,7 @@ void Scene1337::Action11::signal() { if (scene->_field4240 == 2) { scene->_item2._object1.setPosition(scene->_field3EF4->_field36, 0); - subD18B5(5, 1, 4); + scene->setCursorData(5, 1, 4); } else { scene->_field3EF0->_field34 = 0; scene->_field3EF0->_object1.remove(); @@ -6469,7 +6467,7 @@ void Scene1337::subD02CA() { } // That continues the block when R2_GLOBALS._v57810 == 200 and di != 4 - subD18B5(1332, _item6._object1._strip, _item6._object1._frame); + setCursorData(1332, _item6._object1._strip, _item6._object1._frame); R2_GLOBALS._sceneObjects->draw(); Event event; bool found = false; @@ -6490,7 +6488,7 @@ void Scene1337::subD02CA() { _arrunkObj1337[2]._arr1[i]._object1.setPosition(_arrunkObj1337[2]._arr1[i]._field36, 0); _arrunkObj1337[2]._arr1[i]._object1.fixPriority(170); setAnimationInfo(&_arrunkObj1337[2]._arr1[i]); - subD18B5(5, 1, 4); + setCursorData(5, 1, 4); found = true; _field423E--; _field4244 = 0; @@ -6830,9 +6828,20 @@ void Scene1337::subD183F(int arg1, int arg2) { } } -void Scene1337::subD18B5(int resNum, int rlbNum, int frameNum) { +void Scene1337::setCursorData(int resNum, int rlbNum, int frameNum) { // Change the mouse cursor and set it to the desired frame (if different than 0) - warning("STUBBED lvl3 Scene1337::subD18B5()"); + if (!frameNum) + return; + + uint size; + byte *cursor = g_resourceManager->getSubResource(resNum, rlbNum, frameNum, &size); + // Decode the cursor + GfxSurface s = surfaceFromRes(cursor); + + Graphics::Surface surface = s.lockSurface(); + const byte *cursorData = (const byte *)surface.getPixels(); + CursorMan.replaceCursor(cursorData, surface.w, surface.h, s._centroid.x, s._centroid.y, s._transColor); + s.unlockSurface(); } int Scene1337::subD18F5() { @@ -6866,7 +6875,7 @@ int Scene1337::subD1940(bool flag) { } void Scene1337::subD195F(int arg1, int arg2) { - subD18B5(5, arg1, arg2); + setCursorData(5, arg1, arg2); } void Scene1337::subD1975(int arg1, int arg2) { diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h index ed66f98921..09c674f9f3 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.h +++ b/engines/tsage/ringworld2/ringworld2_scenes1.h @@ -213,7 +213,6 @@ class Scene1337 : public SceneExt { class Action1337: public Action { public: - void subD18B5(int resNum, int stripNum, int frameNum); void waitFrames(int32 frameCount); }; @@ -370,7 +369,7 @@ public: void subD0281(); void subD02CA(); void subD183F(int arg1, int arg2); - void subD18B5(int resNum, int rlbNum, int frameNum); + void setCursorData(int resNum, int rlbNum, int frameNum); int subD18F5(); int subD1917(); int subD1940(bool flag); -- cgit v1.2.3 From f4cb2d35d403fb160bcbf846762a36e8be5c7115 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Wed, 27 Nov 2013 18:26:16 +0100 Subject: SCUMM: Remove unsued method loadThumbnailFromSlot(int slot). --- engines/scumm/scumm.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/engines/scumm/scumm.h b/engines/scumm/scumm.h index ca05c90936..0b0c14a59a 100644 --- a/engines/scumm/scumm.h +++ b/engines/scumm/scumm.h @@ -620,9 +620,6 @@ public: // thumbnail + info stuff public: - Graphics::Surface *loadThumbnailFromSlot(int slot) { - return loadThumbnailFromSlot(_targetName.c_str(), slot); - } static Graphics::Surface *loadThumbnailFromSlot(const char *target, int slot); static bool loadInfosFromSlot(const char *target, int slot, SaveStateMetaInfos *stuff); -- cgit v1.2.3 From d8d6faff019b681c80f5e22a0e4266ecfa78f55c Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Wed, 27 Nov 2013 19:01:30 +0100 Subject: SCUMM: Slight cleanup in savegame code. --- engines/scumm/saveload.cpp | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/engines/scumm/saveload.cpp b/engines/scumm/saveload.cpp index 8170a032d9..f9d4456c14 100644 --- a/engines/scumm/saveload.cpp +++ b/engines/scumm/saveload.cpp @@ -634,28 +634,46 @@ bool ScummEngine::getSavegameName(int slot, Common::String &desc) { return result; } -bool getSavegameName(Common::InSaveFile *in, Common::String &desc, int heversion) { - SaveGameHeader hdr; - +namespace { +bool loadAndCheckSaveGameHeader(Common::InSaveFile *in, int heversion, SaveGameHeader &hdr, Common::String *error = nullptr) { if (!loadSaveGameHeader(in, hdr)) { - desc = "Invalid savegame"; + if (error) { + *error = "Invalid savegame"; + } return false; } - if (hdr.ver > CURRENT_VER) + if (hdr.ver > CURRENT_VER) { hdr.ver = TO_LE_32(hdr.ver); + } + if (hdr.ver < VER(7) || hdr.ver > CURRENT_VER) { - desc = "Invalid version"; + if (error) { + *error = "Invalid version"; + } return false; } // We (deliberately) broke HE savegame compatibility at some point. if (hdr.ver < VER(57) && heversion >= 60) { - desc = "Unsupported version"; + if (error) { + *error = "Unsupported version"; + } return false; } hdr.name[sizeof(hdr.name) - 1] = 0; + return true; +} +} // End of anonymous namespace + +bool getSavegameName(Common::InSaveFile *in, Common::String &desc, int heversion) { + SaveGameHeader hdr; + + if (!loadAndCheckSaveGameHeader(in, heversion, hdr, &desc)) { + return false; + } + desc = hdr.name; return true; } @@ -672,13 +690,12 @@ Graphics::Surface *ScummEngine::loadThumbnailFromSlot(const char *target, int sl return 0; } - if (!loadSaveGameHeader(in, hdr)) { + // FIXME: HE version? + if (!loadAndCheckSaveGameHeader(in, 0, hdr)) { delete in; return 0; } - if (hdr.ver > CURRENT_VER) - hdr.ver = TO_LE_32(hdr.ver); if (hdr.ver < VER(52)) { delete in; return 0; @@ -705,13 +722,12 @@ bool ScummEngine::loadInfosFromSlot(const char *target, int slot, SaveStateMetaI return false; } - if (!loadSaveGameHeader(in, hdr)) { + // FIXME: HE version? + if (!loadAndCheckSaveGameHeader(in, 0, hdr)) { delete in; return false; } - if (hdr.ver > CURRENT_VER) - hdr.ver = TO_LE_32(hdr.ver); if (hdr.ver < VER(56)) { delete in; return false; -- cgit v1.2.3 From 3318c4e4ac04055a2d5aaf3683fd66f50b0fc5a2 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Wed, 27 Nov 2013 19:03:23 +0100 Subject: SCUMM: Slight cleanup in detection.cpp. --- engines/scumm/detection.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/scumm/detection.cpp b/engines/scumm/detection.cpp index 170ca0993c..d2fd00762b 100644 --- a/engines/scumm/detection.cpp +++ b/engines/scumm/detection.cpp @@ -1223,8 +1223,8 @@ const char *ScummMetaEngine::getOriginalCopyright() const { } namespace Scumm { - extern bool getSavegameName(Common::InSaveFile *in, Common::String &desc, int heversion); -} +bool getSavegameName(Common::InSaveFile *in, Common::String &desc, int heversion); +} // End of namespace Scumm int ScummMetaEngine::getMaximumSaveSlot() const { return 99; } -- cgit v1.2.3 From fdcb6a6b1ae524b106a7da3bda9e0afcdf7313da Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Wed, 27 Nov 2013 19:29:21 +0100 Subject: SCUMM: Cleanup querySaveMetaInfos implementation. This results in less code and also less I/O operations (including seeking). --- engines/scumm/detection.cpp | 22 ++++++-------- engines/scumm/saveload.cpp | 71 ++++++++++++--------------------------------- engines/scumm/scumm.h | 4 +-- 3 files changed, 29 insertions(+), 68 deletions(-) diff --git a/engines/scumm/detection.cpp b/engines/scumm/detection.cpp index d2fd00762b..aa7e60930a 100644 --- a/engines/scumm/detection.cpp +++ b/engines/scumm/detection.cpp @@ -1262,25 +1262,21 @@ void ScummMetaEngine::removeSaveState(const char *target, int slot) const { } SaveStateDescriptor ScummMetaEngine::querySaveMetaInfos(const char *target, int slot) const { - Common::String filename = ScummEngine::makeSavegameName(target, slot, false); - Common::InSaveFile *in = g_system->getSavefileManager()->openForLoading(filename); - - if (!in) - return SaveStateDescriptor(); - Common::String saveDesc; - Scumm::getSavegameName(in, saveDesc, 0); // FIXME: heversion?!? - delete in; + Graphics::Surface *thumbnail = nullptr; + SaveStateMetaInfos infos; + memset(&infos, 0, sizeof(infos)); + SaveStateMetaInfos *infoPtr = &infos; - // TODO: Cleanup - Graphics::Surface *thumbnail = ScummEngine::loadThumbnailFromSlot(target, slot); + // FIXME: heversion?!? + if (!ScummEngine::querySaveMetaInfos(target, slot, 0, saveDesc, thumbnail, infoPtr)) { + return SaveStateDescriptor(); + } SaveStateDescriptor desc(slot, saveDesc); desc.setThumbnail(thumbnail); - SaveStateMetaInfos infos; - memset(&infos, 0, sizeof(infos)); - if (ScummEngine::loadInfosFromSlot(target, slot, &infos)) { + if (infoPtr) { int day = (infos.date >> 24) & 0xFF; int month = (infos.date >> 16) & 0xFF; int year = infos.date & 0xFFFF; diff --git a/engines/scumm/saveload.cpp b/engines/scumm/saveload.cpp index f9d4456c14..3feab2e62f 100644 --- a/engines/scumm/saveload.cpp +++ b/engines/scumm/saveload.cpp @@ -678,72 +678,39 @@ bool getSavegameName(Common::InSaveFile *in, Common::String &desc, int heversion return true; } -Graphics::Surface *ScummEngine::loadThumbnailFromSlot(const char *target, int slot) { - Common::SeekableReadStream *in; - SaveGameHeader hdr; - - if (slot < 0) - return 0; - - Common::String filename = ScummEngine::makeSavegameName(target, slot, false); - if (!(in = g_system->getSavefileManager()->openForLoading(filename))) { - return 0; - } - - // FIXME: HE version? - if (!loadAndCheckSaveGameHeader(in, 0, hdr)) { - delete in; - return 0; - } - - if (hdr.ver < VER(52)) { - delete in; - return 0; - } - - Graphics::Surface *thumb = 0; - if (Graphics::checkThumbnailHeader(*in)) { - thumb = Graphics::loadThumbnail(*in); +bool ScummEngine::querySaveMetaInfos(const char *target, int slot, int heversion, Common::String &desc, Graphics::Surface *&thumbnail, SaveStateMetaInfos *&timeInfos) { + if (slot < 0) { + return false; } - delete in; - return thumb; -} - -bool ScummEngine::loadInfosFromSlot(const char *target, int slot, SaveStateMetaInfos *stuff) { - Common::SeekableReadStream *in; SaveGameHeader hdr; + const Common::String filename = ScummEngine::makeSavegameName(target, slot, false); + Common::ScopedPtr in(g_system->getSavefileManager()->openForLoading(filename)); - if (slot < 0) - return 0; - - Common::String filename = makeSavegameName(target, slot, false); - if (!(in = g_system->getSavefileManager()->openForLoading(filename))) { + if (!in) { return false; } - // FIXME: HE version? - if (!loadAndCheckSaveGameHeader(in, 0, hdr)) { - delete in; + if (!loadAndCheckSaveGameHeader(in.get(), heversion, hdr)) { return false; } - if (hdr.ver < VER(56)) { - delete in; - return false; - } + desc = hdr.name; - if (!Graphics::skipThumbnail(*in)) { - delete in; - return false; - } + if (hdr.ver > VER(52)) { + if (Graphics::checkThumbnailHeader(*in)) { + thumbnail = Graphics::loadThumbnail(*in); + } - if (!loadInfos(in, stuff)) { - delete in; - return false; + if (hdr.ver > VER(57)) { + if (!loadInfos(in.get(), timeInfos)) { + return false; + } + } else { + timeInfos = nullptr; + } } - delete in; return true; } diff --git a/engines/scumm/scumm.h b/engines/scumm/scumm.h index 0b0c14a59a..942e8a6b69 100644 --- a/engines/scumm/scumm.h +++ b/engines/scumm/scumm.h @@ -620,9 +620,7 @@ public: // thumbnail + info stuff public: - static Graphics::Surface *loadThumbnailFromSlot(const char *target, int slot); - - static bool loadInfosFromSlot(const char *target, int slot, SaveStateMetaInfos *stuff); + static bool querySaveMetaInfos(const char *target, int slot, int heversion, Common::String &desc, Graphics::Surface *&thumbnail, SaveStateMetaInfos *&timeInfos); protected: void saveInfos(Common::WriteStream* file); -- cgit v1.2.3 From 10def6a4353a081871065ed5622023e6f4f865bb Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Wed, 27 Nov 2013 19:32:08 +0100 Subject: SCUMM: Small formatting fix. --- engines/scumm/saveload.cpp | 2 +- engines/scumm/scumm.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/scumm/saveload.cpp b/engines/scumm/saveload.cpp index 3feab2e62f..5197e07819 100644 --- a/engines/scumm/saveload.cpp +++ b/engines/scumm/saveload.cpp @@ -764,7 +764,7 @@ bool ScummEngine::loadInfos(Common::SeekableReadStream *file, SaveStateMetaInfos return true; } -void ScummEngine::saveInfos(Common::WriteStream* file) { +void ScummEngine::saveInfos(Common::WriteStream *file) { SaveInfoSection section; section.type = MKTAG('I','N','F','O'); section.version = INFOSECTION_VERSION; diff --git a/engines/scumm/scumm.h b/engines/scumm/scumm.h index 942e8a6b69..f192a1e256 100644 --- a/engines/scumm/scumm.h +++ b/engines/scumm/scumm.h @@ -623,7 +623,7 @@ public: static bool querySaveMetaInfos(const char *target, int slot, int heversion, Common::String &desc, Graphics::Surface *&thumbnail, SaveStateMetaInfos *&timeInfos); protected: - void saveInfos(Common::WriteStream* file); + void saveInfos(Common::WriteStream *file); static bool loadInfos(Common::SeekableReadStream *file, SaveStateMetaInfos *stuff); protected: -- cgit v1.2.3 From 14d328facab9867f61e9b7c3e26eb62d7ccdb2e3 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Wed, 27 Nov 2013 19:44:54 +0100 Subject: GRAPHICS: Fix SharedPtrSurfaceDeleter for nullptr inputs. --- graphics/surface.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/graphics/surface.h b/graphics/surface.h index 07e289b0bb..f1b2aa64ab 100644 --- a/graphics/surface.h +++ b/graphics/surface.h @@ -334,7 +334,9 @@ public: */ struct SharedPtrSurfaceDeleter { void operator()(Surface *ptr) { - ptr->free(); + if (ptr) { + ptr->free(); + } delete ptr; } }; -- cgit v1.2.3 From 441ebc04b0afd2ba768c454c9a20b6320b4cf6a2 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Wed, 27 Nov 2013 23:07:57 +0100 Subject: DEVTOOLS: Include 'iterator' for std::back_inserter. --- devtools/create_project/create_project.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/devtools/create_project/create_project.cpp b/devtools/create_project/create_project.cpp index 16b8e1d166..9d7ed532cb 100644 --- a/devtools/create_project/create_project.cpp +++ b/devtools/create_project/create_project.cpp @@ -43,6 +43,7 @@ #include #include #include +#include #include #include -- cgit v1.2.3 From 8ac319365a7fd68bf09ed0edacddaa3e5f1dda09 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Thu, 28 Nov 2013 01:31:42 +0100 Subject: TSAGE: Fix savegame issue --- engines/tsage/blue_force/blueforce_logic.h | 2 +- engines/tsage/core.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/tsage/blue_force/blueforce_logic.h b/engines/tsage/blue_force/blueforce_logic.h index c6c6dc6315..0045980820 100644 --- a/engines/tsage/blue_force/blueforce_logic.h +++ b/engines/tsage/blue_force/blueforce_logic.h @@ -145,7 +145,7 @@ public: virtual Common::String getClassName() { return "NamedObject2"; } virtual void synchronize(Serializer &s) { NamedObject::synchronize(s); - if (s.getVersion() < 11) { + if (s.getVersion() < 12) { int useless = 0; s.syncAsSint16LE(useless); } diff --git a/engines/tsage/core.cpp b/engines/tsage/core.cpp index 88f2c85ffd..0c17bf92d7 100644 --- a/engines/tsage/core.cpp +++ b/engines/tsage/core.cpp @@ -1547,7 +1547,7 @@ void ScenePalette::synchronize(Serializer &s) { if (s.getVersion() < 12) { int useless = 0; - s.syncAsSint16LE(useless); + s.syncAsSint32LE(useless); } s.syncAsByte(_redColor); -- cgit v1.2.3 From c8c901137165a063a9dbc533c9c35592abb1eff6 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Wed, 27 Nov 2013 23:38:22 -0500 Subject: FULLPIPE: Implement sceneHandler04_sub3() --- engines/fullpipe/constants.h | 1 + engines/fullpipe/scenes.h | 2 +- engines/fullpipe/scenes/scene04.cpp | 9 ++++++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 2e15423055..91593684e4 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -191,6 +191,7 @@ namespace Fullpipe { #define QU_INTR_FINISH 5138 #define QU_INTR_GETUPMAN 5136 #define QU_INTR_STARTINTRO 5133 +#define QU_KOZAW_WALK 505 #define QU_PNK_CLICK 550 #define QU_SC3_ENTERLIFT 2779 #define QU_SC3_EXITLIFT 2808 diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index 277beb0083..0ff34d51b5 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -89,7 +89,7 @@ public: Common::Point scene04_jumpingKozyawki[20]; Common::Point scene04_jumpRotateKozyawki[20]; - Common::Array scene04_kozyawkiObjList; + Common::List scene04_kozyawkiObjList; Common::Array scene04_bottleObjList; Common::Array scene04_kozyawkiAni; diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index dab2131e04..db5e327c14 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -328,7 +328,14 @@ void sceneHandler04_sub1(ExCommand *ex) { } void sceneHandler04_sub3() { - warning("sceneHandler04_sub3()"); + if (g_vars->scene04_kozyawkiObjList.size()) { + g_vars->scene04_var05 = g_vars->scene04_kozyawkiObjList.front(); + g_vars->scene04_kozyawkiObjList.pop_front(); + + MessageQueue *mq = new MessageQueue(g_fullpipe->_currentScene->getMessageQueueById(QU_KOZAW_WALK), 0, 1); + mq->replaceKeyCode(-1, g_vars->scene04_var05->_okeyCode); + mq->chain(0); + } } void sceneHandler04_sub4() { -- cgit v1.2.3 From 71fa9fe2184d9e1677661b1481f1fbb561d4e0c0 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Wed, 27 Nov 2013 23:41:50 -0500 Subject: FULLPIPE: Give some names in scene04 --- engines/fullpipe/scenes.cpp | 2 +- engines/fullpipe/scenes.h | 2 +- engines/fullpipe/scenes/scene04.cpp | 19 ++++++++++--------- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index 6771fe8ec8..7cf469df00 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -79,7 +79,7 @@ Vars::Vars() { scene04_var01 = 0; scene04_var02 = 0; scene04_var04 = 0; - scene04_var05 = 0; + scene04_walkingKozyawka = 0; scene04_var06 = 0; scene04_var07 = 0; scene04_var08 = 0; diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index 0ff34d51b5..c890dd8d11 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -105,7 +105,7 @@ public: int scene04_var01; int scene04_var02; int scene04_var04; - StaticANIObject *scene04_var05; + StaticANIObject *scene04_walkingKozyawka; int scene04_var06; int scene04_var07; int scene04_var08; diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index db5e327c14..28a9b6fc00 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -143,7 +143,7 @@ void scene04_initScene(Scene *sc) { g_vars->scene04_var02 = 0; g_vars->scene04_soundPlaying = 0; g_vars->scene04_var04 = 0; - g_vars->scene04_var05 = 0; + g_vars->scene04_walkingKozyawka = 0; g_vars->scene04_var06 = 2; g_vars->scene04_dynamicPhaseIndex = 0; @@ -327,13 +327,13 @@ void sceneHandler04_sub1(ExCommand *ex) { g_fullpipe->_behaviorManager->setFlagByStaticAniObject(g_fullpipe->_aniMan, 1); } -void sceneHandler04_sub3() { +void sceneHandler04_walkKozyawka() { if (g_vars->scene04_kozyawkiObjList.size()) { - g_vars->scene04_var05 = g_vars->scene04_kozyawkiObjList.front(); + g_vars->scene04_walkingKozyawka = g_vars->scene04_kozyawkiObjList.front(); g_vars->scene04_kozyawkiObjList.pop_front(); MessageQueue *mq = new MessageQueue(g_fullpipe->_currentScene->getMessageQueueById(QU_KOZAW_WALK), 0, 1); - mq->replaceKeyCode(-1, g_vars->scene04_var05->_okeyCode); + mq->replaceKeyCode(-1, g_vars->scene04_walkingKozyawka->_okeyCode); mq->chain(0); } } @@ -457,13 +457,14 @@ int sceneHandler04(ExCommand *ex) { break; case MSG_KOZAWRESTART: - if (g_vars->scene04_var05) { - g_vars->scene04_kozyawkiObjList.push_back(g_vars->scene04_var05); - g_vars->scene04_var05->hide(); - g_vars->scene04_var05 = 0; + if (g_vars->scene04_walkingKozyawka) { + g_vars->scene04_kozyawkiObjList.push_back(g_vars->scene04_walkingKozyawka); + g_vars->scene04_walkingKozyawka->hide(); + g_vars->scene04_walkingKozyawka = 0; } + if (g_vars->scene04_soundPlaying) - sceneHandler04_sub3(); + sceneHandler04_walkKozyawka(); break; -- cgit v1.2.3 From 1ba391817995cfd6f18c0cbe85ee23161facdd70 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 28 Nov 2013 10:54:23 -0500 Subject: TSAGE: Fix for R2R maze minimap not handling right-hand column scrolling on-screen --- engines/tsage/ringworld2/ringworld2_logic.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp index 3f1cecc301..6444b26d56 100644 --- a/engines/tsage/ringworld2/ringworld2_logic.cpp +++ b/engines/tsage/ringworld2/ringworld2_logic.cpp @@ -1602,8 +1602,9 @@ void MazeUI::draw() { int cellY = _mapOffset.y / _cellSize.y + yCtr; // Loop to iterate through the horizontal visible cells to build up - // an entire cell high horizontal slice of the map - for (int xCtr = 0; xCtr < _cellsVisible.x; ++xCtr) { + // an entire cell high horizontal slice of the map, plus one extra cell + // to allow for partial cell scrolling on-screen on the left/right sides + for (int xCtr = 0; xCtr <= _cellsVisible.x; ++xCtr) { int cellX = _mapOffset.x / _cellSize.x + xCtr; // Get the type of content to display in the cell -- cgit v1.2.3 From 0df36b4b1c5f3b5dc0e752a016c6643c0bfee73f Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 28 Nov 2013 10:58:20 -0500 Subject: TSAGE: R2R minimap scrolling fix applies vertically as well --- engines/tsage/ringworld2/ringworld2_logic.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp index 6444b26d56..e1d6e79423 100644 --- a/engines/tsage/ringworld2/ringworld2_logic.cpp +++ b/engines/tsage/ringworld2/ringworld2_logic.cpp @@ -1598,7 +1598,7 @@ void MazeUI::draw() { (_cellSize.y - 1)) / _cellSize.y; // Loop to handle the cell rows of the visible display area one at a time - for (int yCtr = 0; yCtr < _cellsVisible.y; ++yCtr, yPos += ySize) { + for (int yCtr = 0; yCtr <= _cellsVisible.y; ++yCtr, yPos += ySize) { int cellY = _mapOffset.y / _cellSize.y + yCtr; // Loop to iterate through the horizontal visible cells to build up -- cgit v1.2.3 From 6b61eb62ab8f672be35ced69aa18e9793eb27772 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 28 Nov 2013 15:00:44 -0500 Subject: TSAGE: R2R fix for zoomed speaking characters appearing correctly --- engines/tsage/core.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/engines/tsage/core.cpp b/engines/tsage/core.cpp index 0c17bf92d7..596f056bfe 100644 --- a/engines/tsage/core.cpp +++ b/engines/tsage/core.cpp @@ -2748,6 +2748,12 @@ GfxSurface SceneObject::getFrame() { } void SceneObject::reposition() { + if (g_vm->getGameID() == GType_Ringworld2) { + if (!(_flags & OBJFLAG_ZOOMED)) { + setZoom(g_globals->_sceneManager._scene->_zoomPercents[MIN(_position.y, (int16)255)]); + } + } + GfxSurface frame = getFrame(); _bounds.resize(frame, _position.x, _position.y - _yDiff, _percent); -- cgit v1.2.3 From afa735cec4491c5986c459e889e17fcea94853a5 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Thu, 28 Nov 2013 14:19:33 -0500 Subject: FULLPIPE: Fix crash at scene03 load --- engines/fullpipe/gfx.cpp | 14 +++++++++++++- engines/fullpipe/utils.cpp | 11 +++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/engines/fullpipe/gfx.cpp b/engines/fullpipe/gfx.cpp index 2e89bd6003..fba7e402d2 100644 --- a/engines/fullpipe/gfx.cpp +++ b/engines/fullpipe/gfx.cpp @@ -464,6 +464,8 @@ Picture::~Picture() { } void Picture::freePicture() { + debug(5, "Picture::freePicture(): file: %s", _memfilename); + if (_bitmap) { if (testFlags() && !_field_54) { freeData(); @@ -519,7 +521,7 @@ bool Picture::load(MfcArchive &file) { getData(); - debug(5, "Picture::load: <%s>", _memfilename); + debug(5, "Picture::load: loaded <%s>", _memfilename); return true; } @@ -539,6 +541,10 @@ void Picture::setAOIDs() { } void Picture::init() { + debug(5, "Picture::init(), %s", _memfilename); + + MemoryObject::getData(); + _bitmap = new Bitmap(); getDibInfo(); @@ -567,6 +573,12 @@ void Picture::getDibInfo() { warning("Uneven data size: 0x%x", _dataSize); } + if (!_data) { + warning("Picture::getDibInfo: data is empty <%s>", _memfilename); + + MemoryObject::load(); + } + Common::MemoryReadStream *s = new Common::MemoryReadStream(_data + off - 32, 32); _bitmap->load(s); diff --git a/engines/fullpipe/utils.cpp b/engines/fullpipe/utils.cpp index 3304a93667..3c2aaebd83 100644 --- a/engines/fullpipe/utils.cpp +++ b/engines/fullpipe/utils.cpp @@ -149,6 +149,11 @@ bool MemoryObject::load(MfcArchive &file) { void MemoryObject::loadFile(char *filename) { debug(5, "MemoryObject::loadFile(<%s>)", filename); if (!_data) { + NGIArchive *arr = g_fullpipe->_currArchive; + + if (g_fullpipe->_currArchive != _libHandle && _libHandle) + g_fullpipe->_currArchive = _libHandle; + Common::SeekableReadStream *s = g_fullpipe->_currArchive->createReadStreamForMember(filename); if (s) { @@ -161,7 +166,11 @@ void MemoryObject::loadFile(char *filename) { s->read(_data, _dataSize); delete s; + } else { + warning("MemoryObject::loadFile(): reading failure"); } + + g_fullpipe->_currArchive = arr; } } @@ -181,6 +190,8 @@ byte *MemoryObject::loadData() { } void MemoryObject::freeData() { + debug(8, "MemoryObject::freeData(): file: %s", _memfilename); + if (_data) free(_data); -- cgit v1.2.3 From a742b5fe8c6f09dd017c645c65d4cdff35f47202 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Thu, 28 Nov 2013 14:44:43 -0500 Subject: FULLPIPE: Skip reading empty filenames --- engines/fullpipe/utils.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/engines/fullpipe/utils.cpp b/engines/fullpipe/utils.cpp index 3c2aaebd83..3a65801951 100644 --- a/engines/fullpipe/utils.cpp +++ b/engines/fullpipe/utils.cpp @@ -148,6 +148,10 @@ bool MemoryObject::load(MfcArchive &file) { void MemoryObject::loadFile(char *filename) { debug(5, "MemoryObject::loadFile(<%s>)", filename); + + if (!*filename) + return; + if (!_data) { NGIArchive *arr = g_fullpipe->_currArchive; -- cgit v1.2.3 From 73612b897934fd33183ebf3f93658e30f24314cf Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Thu, 28 Nov 2013 15:17:12 -0500 Subject: FULLPIPE: Fix crash at scene04 start --- engines/fullpipe/statics.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/engines/fullpipe/statics.cpp b/engines/fullpipe/statics.cpp index c86d5abd08..d14c3d83e2 100644 --- a/engines/fullpipe/statics.cpp +++ b/engines/fullpipe/statics.cpp @@ -152,15 +152,19 @@ StaticANIObject::StaticANIObject(StaticANIObject *src) : GameObject(src) { _statics = 0; for (uint i = 0; i < src->_movements.size(); i++) { - Movement *mov; - if (((Movement *)src->_movements[i])->_currMovement) { - mov = new Movement(getMovementById(src->getMovementIdById(((Movement *)src->_movements[i])->_id)), this); - mov->_id = ((Movement *)src->_movements[i])->_id; + Movement *newmov; + Movement *mov = (Movement *)src->_movements[i]; + + if (mov->_currMovement) { + // WORKAROUND: Original uses weird construction here: + // new Movement(getMovementById(src->getMovementIdById(mov->_id)), this); + newmov = new Movement(src->getMovementById(src->getMovementIdById(mov->_id)), this); + newmov->_id = mov->_id; } else { - mov = new Movement(((Movement *)src->_movements[i]), 0, -1, this); + newmov = new Movement(mov, 0, -1, this); } - _movements.push_back(mov); + _movements.push_back(newmov); } } -- cgit v1.2.3 From 43b5a0ebf90058b214fdbf02e2441b9da55047e3 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Fri, 29 Nov 2013 03:01:36 -0500 Subject: FULLPIPE: Implement scene04_speakerCallback() --- engines/fullpipe/scenes/scene04.cpp | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index 28a9b6fc00..f36dc48e8a 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -36,8 +36,27 @@ namespace Fullpipe { -void scene04_callback(int *param) { - warning("STUB: scene04_callback"); +static const int scene04_speakerPhases[] = { + 0, 1, 2, 3, -1, -1, + 0, 2, 3, -1, -1, -1, + 0, 2, -1, -1, -1, -1 +}; + +void scene04_speakerCallback(int *phase) { + if (g_vars->scene04_soundPlaying) { + if (g_vars->scene04_var17 >= 0) { + *phase = scene04_speakerPhases[g_vars->scene04_var17 + 6 * g_vars->scene04_var16]; + + g_vars->scene04_var17++; + + if (scene04_speakerPhases[g_vars->scene04_var17 + 6 * g_vars->scene04_var16] < 0) { + g_vars->scene04_var17 = 0; + g_vars->scene04_var16 = g_fullpipe->_rnd->getRandomNumber(2); + } + } else { + ++g_vars->scene04_var17; + } + } } void scene04_initScene(Scene *sc) { @@ -166,7 +185,7 @@ void scene04_initScene(Scene *sc) { g_vars->scene04_mamasha->hide(); g_vars->scene04_speaker = sc->getStaticANIObject1ById(ANI_SPEAKER_4, -1); - g_vars->scene04_speaker->_callback2 = scene04_callback; + g_vars->scene04_speaker->_callback2 = scene04_speakerCallback; g_vars->scene04_speaker->startAnim(MV_SPK4_PLAY, 0, -1); g_vars->scene04_var16 = 0; -- cgit v1.2.3 From ba52b4aca701bdf7bead7a50baccee9868a3406c Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Fri, 29 Nov 2013 03:06:07 -0500 Subject: FULLPIPE: Some renames in scene04 --- engines/fullpipe/scenes.cpp | 4 ++-- engines/fullpipe/scenes.h | 4 ++-- engines/fullpipe/scenes/scene04.cpp | 18 +++++++++--------- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index 7cf469df00..5b55d40752 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -90,8 +90,8 @@ Vars::Vars() { scene04_var13 = 0; scene04_var14 = 0; scene04_var15 = 0; - scene04_var16 = 0; - scene04_var17 = 0; + scene04_speakerVariant = 0; + scene04_speakerPhase = 0; scene04_var18 = 0; scene04_var19 = 0; scene04_var20 = 0; diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index c890dd8d11..217cfd9a5c 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -116,8 +116,8 @@ public: int scene04_var13; int scene04_var14; int scene04_var15; - int scene04_var16; - int scene04_var17; + int scene04_speakerVariant; + int scene04_speakerPhase; int scene04_var18; int scene04_var19; int scene04_var20; diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index f36dc48e8a..30b5f0a254 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -44,17 +44,17 @@ static const int scene04_speakerPhases[] = { void scene04_speakerCallback(int *phase) { if (g_vars->scene04_soundPlaying) { - if (g_vars->scene04_var17 >= 0) { - *phase = scene04_speakerPhases[g_vars->scene04_var17 + 6 * g_vars->scene04_var16]; + if (g_vars->scene04_speakerPhase >= 0) { + *phase = scene04_speakerPhases[g_vars->scene04_speakerPhase + 6 * g_vars->scene04_speakerVariant]; - g_vars->scene04_var17++; + g_vars->scene04_speakerPhase++; - if (scene04_speakerPhases[g_vars->scene04_var17 + 6 * g_vars->scene04_var16] < 0) { - g_vars->scene04_var17 = 0; - g_vars->scene04_var16 = g_fullpipe->_rnd->getRandomNumber(2); + if (scene04_speakerPhases[g_vars->scene04_speakerPhase + 6 * g_vars->scene04_speakerVariant] < 0) { + g_vars->scene04_speakerPhase = 0; + g_vars->scene04_speakerVariant = g_fullpipe->_rnd->getRandomNumber(2); } } else { - ++g_vars->scene04_var17; + ++g_vars->scene04_speakerPhase; } } } @@ -188,8 +188,8 @@ void scene04_initScene(Scene *sc) { g_vars->scene04_speaker->_callback2 = scene04_speakerCallback; g_vars->scene04_speaker->startAnim(MV_SPK4_PLAY, 0, -1); - g_vars->scene04_var16 = 0; - g_vars->scene04_var17 = 0; + g_vars->scene04_speakerVariant = 0; + g_vars->scene04_speakerPhase = 0; g_fullpipe->initArcadeKeys("SC_4"); } -- cgit v1.2.3 From be7325c309766721403bd4a21b8df4bbc514f4dd Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Fri, 29 Nov 2013 09:29:34 +0100 Subject: FULLPIPE: Implement sceneHandler04_dropBottle() --- engines/fullpipe/constants.h | 1 + engines/fullpipe/scenes.cpp | 1 + engines/fullpipe/scenes.h | 5 +++-- engines/fullpipe/scenes/scene04.cpp | 27 +++++++++++++++++++++++++-- 4 files changed, 30 insertions(+), 4 deletions(-) diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 91593684e4..e1ec51a947 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -259,6 +259,7 @@ namespace Fullpipe { #define ST_EGTR_MID1 2863 #define ST_EGTR_MID2 2869 #define ST_EGTR_SLIM 336 +#define ST_HND_EMPTY 603 #define ST_IN1MAN_SLEEP 5112 #define ST_KZW_EMPTY 498 #define ST_LBN_0N 2832 diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index 5b55d40752..9d5d168395 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -96,6 +96,7 @@ Vars::Vars() { scene04_var19 = 0; scene04_var20 = 0; scene04_var24 = 0; + scene04_var26 = 0; selector = 0; } diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index 217cfd9a5c..ed0da0a9db 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -90,8 +90,8 @@ public: Common::Point scene04_jumpRotateKozyawki[20]; Common::List scene04_kozyawkiObjList; - Common::Array scene04_bottleObjList; - Common::Array scene04_kozyawkiAni; + Common::List scene04_bottleObjList; + Common::List scene04_kozyawkiAni; int scene04_ladder; bool scene04_coinPut; @@ -122,6 +122,7 @@ public: int scene04_var19; int scene04_var20; StaticANIObject *scene04_var24; + int scene04_var26; PictureObject *selector; }; diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index 30b5f0a254..f2fbfd3ef4 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -160,7 +160,7 @@ void scene04_initScene(Scene *sc) { } g_vars->scene04_var02 = 0; - g_vars->scene04_soundPlaying = 0; + g_vars->scene04_soundPlaying = false; g_vars->scene04_var04 = 0; g_vars->scene04_walkingKozyawka = 0; g_vars->scene04_var06 = 2; @@ -283,7 +283,30 @@ void sceneHandler04_clickPlank() { } void sceneHandler04_dropBottle() { - warning("sceneHandler04_dropBottle()"); + g_vars->scene04_var12 = 1; + g_vars->scene04_var26 = 10; + g_vars->scene04_var06 = 0; + + while (g_vars->scene04_kozyawkiAni.size()) { + StaticANIObject *koz = g_vars->scene04_kozyawkiAni.front(); + g_vars->scene04_kozyawkiAni.pop_front(); + + for (Common::List::iterator it = g_vars->scene04_bottleObjList.begin(); it != g_vars->scene04_bottleObjList.end(); ++it) + if (*it == koz) { + g_vars->scene04_bottleObjList.erase(it); + break; + } + + koz->queueMessageQueue(0); + koz->hide(); + + g_vars->scene04_kozyawkiObjList.push_back(koz); + } + + g_vars->scene04_hand->changeStatics2(ST_HND_EMPTY); + + g_vars->scene04_hand->setOXY(429, 21); + g_vars->scene04_hand->_priority = 15; } void sceneHandler04_gotoLadder(int par) { -- cgit v1.2.3 From 08457dda0d69c15347d9ac61d54f9e35942c32f5 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Fri, 29 Nov 2013 21:07:18 +0200 Subject: FULLPIPE: Fix warning --- engines/fullpipe/statics.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/fullpipe/statics.cpp b/engines/fullpipe/statics.cpp index d14c3d83e2..b82875f638 100644 --- a/engines/fullpipe/statics.cpp +++ b/engines/fullpipe/statics.cpp @@ -1235,7 +1235,7 @@ Movement::Movement(Movement *src, int *oldIdxs, int newSize, StaticANIObject *an _m2y = src->_m2y; if (newSize != -1) { - if (newSize >= src->_dynamicPhases.size() + 1) + if (newSize >= (int)src->_dynamicPhases.size() + 1) newSize = src->_dynamicPhases.size() + 1; } else { newSize = src->_dynamicPhases.size(); -- cgit v1.2.3 From 6fc1a523bac291e460f0898a8b9530be25da8e9a Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 30 Nov 2013 00:14:17 +0100 Subject: TSAGE: R2R - Some renaming in scene 1337 --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 2018 ++++++++++++----------- engines/tsage/ringworld2/ringworld2_scenes1.h | 6 +- 2 files changed, 1013 insertions(+), 1011 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index bc2112b5d7..fd44cd6d16 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -2213,7 +2213,7 @@ void Scene1200::startCrawling(CrawlDirection dir) { *--------------------------------------------------------------------------*/ Scene1337::unkObj1337sub1::unkObj1337sub1() { - _field34 = 0; + _cardId = 0; _field36 = Common::Point(0, 0); } @@ -2276,6 +2276,9 @@ void Scene1337::Action1337::waitFrames(int32 frameCount) { // CHECKME: The original is calling _eventManager.waitEvent(); } +/** + * Display instructions + */ void Scene1337::Action1::signal() { Scene1337 *scene = (Scene1337 *)R2_GLOBALS._sceneManager._scene; @@ -2286,284 +2289,283 @@ void Scene1337::Action1::signal() { scene->actionDisplay(1331, 7, 159, 10, 1, 200, 0, 7, 0, 154, 154); scene->actionDisplay(1331, 8, 159, 10, 1, 200, 0, 7, 0, 154, 154); - scene->_arrunkObj1337[1]._arr2[0]._field34 = 2; - scene->_arrunkObj1337[1]._arr2[0]._object1.postInit(); - scene->_arrunkObj1337[1]._arr2[0]._object1.setVisage(1332); - scene->_arrunkObj1337[1]._arr2[0]._object1.setPosition(scene->_arrunkObj1337[1]._arr2[0]._field36, 0); - scene->_arrunkObj1337[1]._arr2[0]._object1.setStrip(2); - scene->_arrunkObj1337[1]._arr2[0]._object1.setFrame(scene->_arrunkObj1337[1]._arr2[0]._field34); - scene->_arrunkObj1337[1]._arr2[0]._object1.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[1]._arr2[0]); - - scene->_arrunkObj1337[1]._arr2[1]._field34 = 3; - scene->_arrunkObj1337[1]._arr2[1]._object1.postInit(); - scene->_arrunkObj1337[1]._arr2[1]._object1.setVisage(1332); - scene->_arrunkObj1337[1]._arr2[1]._object1.setPosition(scene->_arrunkObj1337[1]._arr2[1]._field36, 0); - scene->_arrunkObj1337[1]._arr2[1]._object1.setStrip(2); - scene->_arrunkObj1337[1]._arr2[1]._object1.setFrame(scene->_arrunkObj1337[1]._arr2[1]._field34); - scene->_arrunkObj1337[1]._arr2[1]._object1.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[1]._arr2[1]); - - scene->_arrunkObj1337[2]._arr2[0]._field34 = 4; - scene->_arrunkObj1337[2]._arr2[0]._object1.postInit(); - scene->_arrunkObj1337[2]._arr2[0]._object1.setVisage(1332); - scene->_arrunkObj1337[2]._arr2[0]._object1.setPosition(scene->_arrunkObj1337[2]._arr2[0]._field36, 0); - scene->_arrunkObj1337[2]._arr2[0]._object1.setStrip(2); - scene->_arrunkObj1337[2]._arr2[0]._object1.setFrame(scene->_arrunkObj1337[2]._arr2[0]._field34); - scene->_arrunkObj1337[2]._arr2[0]._object1.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._arr2[0]); - - scene->_arrunkObj1337[3]._arr2[0]._field34 = 5; - scene->_arrunkObj1337[3]._arr2[0]._object1.postInit(); - scene->_arrunkObj1337[3]._arr2[0]._object1.setVisage(1332); - scene->_arrunkObj1337[3]._arr2[0]._object1.setPosition(scene->_arrunkObj1337[3]._arr2[0]._field36, 0); - scene->_arrunkObj1337[3]._arr2[0]._object1.setStrip(2); - scene->_arrunkObj1337[3]._arr2[0]._object1.setFrame(scene->_arrunkObj1337[3]._arr2[0]._field34); - scene->_arrunkObj1337[3]._arr2[0]._object1.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[3]._arr2[0]); - - scene->_arrunkObj1337[3]._arr2[1]._field34 = 6; - scene->_arrunkObj1337[3]._arr2[1]._object1.postInit(); - scene->_arrunkObj1337[3]._arr2[1]._object1.setVisage(1332); - scene->_arrunkObj1337[3]._arr2[1]._object1.setPosition(scene->_arrunkObj1337[3]._arr2[1]._field36, 0); - scene->_arrunkObj1337[3]._arr2[1]._object1.setStrip(2); - scene->_arrunkObj1337[3]._arr2[1]._object1.setFrame(scene->_arrunkObj1337[3]._arr2[1]._field34); - scene->_arrunkObj1337[3]._arr2[1]._object1.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[3]._arr2[1]); - - scene->_arrunkObj1337[3]._arr2[2]._field34 = 7; - scene->_arrunkObj1337[3]._arr2[2]._object1.postInit(); - scene->_arrunkObj1337[3]._arr2[2]._object1.setVisage(1332); - scene->_arrunkObj1337[3]._arr2[2]._object1.setPosition(scene->_arrunkObj1337[3]._arr2[2]._field36, 0); - scene->_arrunkObj1337[3]._arr2[2]._object1.setStrip(2); - scene->_arrunkObj1337[3]._arr2[2]._object1.setFrame(scene->_arrunkObj1337[3]._arr2[2]._field34); - scene->_arrunkObj1337[3]._arr2[2]._object1.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[3]._arr2[2]); - - scene->_arrunkObj1337[0]._arr2[0]._field34 = 8; - scene->_arrunkObj1337[0]._arr2[0]._object1.postInit(); - scene->_arrunkObj1337[0]._arr2[0]._object1.setVisage(1332); - scene->_arrunkObj1337[0]._arr2[0]._object1.setPosition(scene->_arrunkObj1337[0]._arr2[0]._field36, 0); - scene->_arrunkObj1337[0]._arr2[0]._object1.setStrip(2); - scene->_arrunkObj1337[0]._arr2[0]._object1.setFrame(scene->_arrunkObj1337[0]._arr2[0]._field34); - scene->_arrunkObj1337[0]._arr2[0]._object1.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[0]._arr2[0]); - - scene->_arrunkObj1337[0]._arr2[1]._field34 = 9; - scene->_arrunkObj1337[0]._arr2[1]._object1.postInit(); - scene->_arrunkObj1337[0]._arr2[1]._object1.setVisage(1332); - scene->_arrunkObj1337[0]._arr2[1]._object1.setPosition(scene->_arrunkObj1337[0]._arr2[1]._field36, 0); - scene->_arrunkObj1337[0]._arr2[1]._object1.setStrip(2); - scene->_arrunkObj1337[0]._arr2[1]._object1.setFrame(scene->_arrunkObj1337[0]._arr2[1]._field34); - scene->_arrunkObj1337[0]._arr2[1]._object1.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[0]._arr2[1]); + scene->_arrunkObj1337[1]._outpostStation[0]._cardId = 2; + scene->_arrunkObj1337[1]._outpostStation[0]._card.postInit(); + scene->_arrunkObj1337[1]._outpostStation[0]._card.setVisage(1332); + scene->_arrunkObj1337[1]._outpostStation[0]._card.setPosition(scene->_arrunkObj1337[1]._outpostStation[0]._field36, 0); + scene->_arrunkObj1337[1]._outpostStation[0]._card.setStrip(2); + scene->_arrunkObj1337[1]._outpostStation[0]._card.setFrame(scene->_arrunkObj1337[1]._outpostStation[0]._cardId); + scene->_arrunkObj1337[1]._outpostStation[0]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_arrunkObj1337[1]._outpostStation[0]); + + scene->_arrunkObj1337[1]._outpostStation[1]._cardId = 3; + scene->_arrunkObj1337[1]._outpostStation[1]._card.postInit(); + scene->_arrunkObj1337[1]._outpostStation[1]._card.setVisage(1332); + scene->_arrunkObj1337[1]._outpostStation[1]._card.setPosition(scene->_arrunkObj1337[1]._outpostStation[1]._field36, 0); + scene->_arrunkObj1337[1]._outpostStation[1]._card.setStrip(2); + scene->_arrunkObj1337[1]._outpostStation[1]._card.setFrame(scene->_arrunkObj1337[1]._outpostStation[1]._cardId); + scene->_arrunkObj1337[1]._outpostStation[1]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_arrunkObj1337[1]._outpostStation[1]); + + scene->_arrunkObj1337[2]._outpostStation[0]._cardId = 4; + scene->_arrunkObj1337[2]._outpostStation[0]._card.postInit(); + scene->_arrunkObj1337[2]._outpostStation[0]._card.setVisage(1332); + scene->_arrunkObj1337[2]._outpostStation[0]._card.setPosition(scene->_arrunkObj1337[2]._outpostStation[0]._field36, 0); + scene->_arrunkObj1337[2]._outpostStation[0]._card.setStrip(2); + scene->_arrunkObj1337[2]._outpostStation[0]._card.setFrame(scene->_arrunkObj1337[2]._outpostStation[0]._cardId); + scene->setAnimationInfo(&scene->_arrunkObj1337[2]._outpostStation[0]); + + scene->_arrunkObj1337[3]._outpostStation[0]._cardId = 5; + scene->_arrunkObj1337[3]._outpostStation[0]._card.postInit(); + scene->_arrunkObj1337[3]._outpostStation[0]._card.setVisage(1332); + scene->_arrunkObj1337[3]._outpostStation[0]._card.setPosition(scene->_arrunkObj1337[3]._outpostStation[0]._field36, 0); + scene->_arrunkObj1337[3]._outpostStation[0]._card.setStrip(2); + scene->_arrunkObj1337[3]._outpostStation[0]._card.setFrame(scene->_arrunkObj1337[3]._outpostStation[0]._cardId); + scene->_arrunkObj1337[3]._outpostStation[0]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_arrunkObj1337[3]._outpostStation[0]); + + scene->_arrunkObj1337[3]._outpostStation[1]._cardId = 6; + scene->_arrunkObj1337[3]._outpostStation[1]._card.postInit(); + scene->_arrunkObj1337[3]._outpostStation[1]._card.setVisage(1332); + scene->_arrunkObj1337[3]._outpostStation[1]._card.setPosition(scene->_arrunkObj1337[3]._outpostStation[1]._field36, 0); + scene->_arrunkObj1337[3]._outpostStation[1]._card.setStrip(2); + scene->_arrunkObj1337[3]._outpostStation[1]._card.setFrame(scene->_arrunkObj1337[3]._outpostStation[1]._cardId); + scene->_arrunkObj1337[3]._outpostStation[1]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_arrunkObj1337[3]._outpostStation[1]); + + scene->_arrunkObj1337[3]._outpostStation[2]._cardId = 7; + scene->_arrunkObj1337[3]._outpostStation[2]._card.postInit(); + scene->_arrunkObj1337[3]._outpostStation[2]._card.setVisage(1332); + scene->_arrunkObj1337[3]._outpostStation[2]._card.setPosition(scene->_arrunkObj1337[3]._outpostStation[2]._field36, 0); + scene->_arrunkObj1337[3]._outpostStation[2]._card.setStrip(2); + scene->_arrunkObj1337[3]._outpostStation[2]._card.setFrame(scene->_arrunkObj1337[3]._outpostStation[2]._cardId); + scene->_arrunkObj1337[3]._outpostStation[2]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_arrunkObj1337[3]._outpostStation[2]); + + scene->_arrunkObj1337[0]._outpostStation[0]._cardId = 8; + scene->_arrunkObj1337[0]._outpostStation[0]._card.postInit(); + scene->_arrunkObj1337[0]._outpostStation[0]._card.setVisage(1332); + scene->_arrunkObj1337[0]._outpostStation[0]._card.setPosition(scene->_arrunkObj1337[0]._outpostStation[0]._field36, 0); + scene->_arrunkObj1337[0]._outpostStation[0]._card.setStrip(2); + scene->_arrunkObj1337[0]._outpostStation[0]._card.setFrame(scene->_arrunkObj1337[0]._outpostStation[0]._cardId); + scene->_arrunkObj1337[0]._outpostStation[0]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_arrunkObj1337[0]._outpostStation[0]); + + scene->_arrunkObj1337[0]._outpostStation[1]._cardId = 9; + scene->_arrunkObj1337[0]._outpostStation[1]._card.postInit(); + scene->_arrunkObj1337[0]._outpostStation[1]._card.setVisage(1332); + scene->_arrunkObj1337[0]._outpostStation[1]._card.setPosition(scene->_arrunkObj1337[0]._outpostStation[1]._field36, 0); + scene->_arrunkObj1337[0]._outpostStation[1]._card.setStrip(2); + scene->_arrunkObj1337[0]._outpostStation[1]._card.setFrame(scene->_arrunkObj1337[0]._outpostStation[1]._cardId); + scene->_arrunkObj1337[0]._outpostStation[1]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_arrunkObj1337[0]._outpostStation[1]); R2_GLOBALS._sceneObjects->draw(); waitFrames(60); scene->actionDisplay(1331, 9, 159, 10, 1, 200, 0, 7, 0, 154, 154); - scene->_arrunkObj1337[2]._arr2[1]._field34 = 2; - scene->_arrunkObj1337[2]._arr2[1]._object1.postInit(); - scene->_arrunkObj1337[2]._arr2[1]._object1.setVisage(1332); - scene->_arrunkObj1337[2]._arr2[1]._object1.setPosition(scene->_arrunkObj1337[2]._arr2[1]._field36, 0); - scene->_arrunkObj1337[2]._arr2[1]._object1.setStrip(2); - scene->_arrunkObj1337[2]._arr2[1]._object1.setFrame(scene->_arrunkObj1337[2]._arr2[1]._field34); - scene->_arrunkObj1337[2]._arr2[1]._object1.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._arr2[1]); - - scene->_arrunkObj1337[2]._arr2[2]._field34 = 3; - scene->_arrunkObj1337[2]._arr2[2]._object1.postInit(); - scene->_arrunkObj1337[2]._arr2[2]._object1.setVisage(1332); - scene->_arrunkObj1337[2]._arr2[2]._object1.setPosition(scene->_arrunkObj1337[2]._arr2[2]._field36, 0); - scene->_arrunkObj1337[2]._arr2[2]._object1.setStrip(2); - scene->_arrunkObj1337[2]._arr2[2]._object1.setFrame(scene->_arrunkObj1337[2]._arr2[2]._field34); - scene->_arrunkObj1337[2]._arr2[2]._object1.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._arr2[2]); - - scene->_arrunkObj1337[2]._arr2[3]._field34 = 5; - scene->_arrunkObj1337[2]._arr2[3]._object1.postInit(); - scene->_arrunkObj1337[2]._arr2[3]._object1.setVisage(1332); - scene->_arrunkObj1337[2]._arr2[3]._object1.setPosition(scene->_arrunkObj1337[2]._arr2[3]._field36, 0); - scene->_arrunkObj1337[2]._arr2[3]._object1.setStrip(2); - scene->_arrunkObj1337[2]._arr2[3]._object1.setFrame(scene->_arrunkObj1337[2]._arr2[3]._field34); - scene->_arrunkObj1337[2]._arr2[3]._object1.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._arr2[3]); - - scene->_arrunkObj1337[2]._arr2[4]._field34 = 6; - scene->_arrunkObj1337[2]._arr2[4]._object1.postInit(); - scene->_arrunkObj1337[2]._arr2[4]._object1.setVisage(1332); - scene->_arrunkObj1337[2]._arr2[4]._object1.setPosition(scene->_arrunkObj1337[2]._arr2[4]._field36, 0); - scene->_arrunkObj1337[2]._arr2[4]._object1.setStrip(2); - scene->_arrunkObj1337[2]._arr2[4]._object1.setFrame(scene->_arrunkObj1337[2]._arr2[4]._field34); - scene->_arrunkObj1337[2]._arr2[4]._object1.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._arr2[4]); - - scene->_arrunkObj1337[2]._arr2[5]._field34 = 7; - scene->_arrunkObj1337[2]._arr2[5]._object1.postInit(); - scene->_arrunkObj1337[2]._arr2[5]._object1.setVisage(1332); - scene->_arrunkObj1337[2]._arr2[5]._object1.setPosition(scene->_arrunkObj1337[2]._arr2[5]._field36, 0); - scene->_arrunkObj1337[2]._arr2[5]._object1.setStrip(2); - scene->_arrunkObj1337[2]._arr2[5]._object1.setFrame(scene->_arrunkObj1337[2]._arr2[5]._field34); - scene->_arrunkObj1337[2]._arr2[5]._object1.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._arr2[5]); - - scene->_arrunkObj1337[2]._arr2[6]._field34 = 8; - scene->_arrunkObj1337[2]._arr2[6]._object1.postInit(); - scene->_arrunkObj1337[2]._arr2[6]._object1.setVisage(1332); - scene->_arrunkObj1337[2]._arr2[6]._object1.setPosition(scene->_arrunkObj1337[2]._arr2[6]._field36, 0); - scene->_arrunkObj1337[2]._arr2[6]._object1.setStrip(2); - scene->_arrunkObj1337[2]._arr2[6]._object1.setFrame(scene->_arrunkObj1337[2]._arr2[6]._field34); - scene->_arrunkObj1337[2]._arr2[6]._object1.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._arr2[6]); - - scene->_arrunkObj1337[2]._arr2[7]._field34 = 9; - scene->_arrunkObj1337[2]._arr2[7]._object1.postInit(); - scene->_arrunkObj1337[2]._arr2[7]._object1.setVisage(1332); - scene->_arrunkObj1337[2]._arr2[7]._object1.setPosition(scene->_arrunkObj1337[2]._arr2[7]._field36, 0); - scene->_arrunkObj1337[2]._arr2[7]._object1.setStrip(2); - scene->_arrunkObj1337[2]._arr2[7]._object1.setFrame(scene->_arrunkObj1337[2]._arr2[7]._field34); - scene->_arrunkObj1337[2]._arr2[7]._object1.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._arr2[7]); + scene->_arrunkObj1337[2]._outpostStation[1]._cardId = 2; + scene->_arrunkObj1337[2]._outpostStation[1]._card.postInit(); + scene->_arrunkObj1337[2]._outpostStation[1]._card.setVisage(1332); + scene->_arrunkObj1337[2]._outpostStation[1]._card.setPosition(scene->_arrunkObj1337[2]._outpostStation[1]._field36, 0); + scene->_arrunkObj1337[2]._outpostStation[1]._card.setStrip(2); + scene->_arrunkObj1337[2]._outpostStation[1]._card.setFrame(scene->_arrunkObj1337[2]._outpostStation[1]._cardId); + scene->_arrunkObj1337[2]._outpostStation[1]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_arrunkObj1337[2]._outpostStation[1]); + + scene->_arrunkObj1337[2]._outpostStation[2]._cardId = 3; + scene->_arrunkObj1337[2]._outpostStation[2]._card.postInit(); + scene->_arrunkObj1337[2]._outpostStation[2]._card.setVisage(1332); + scene->_arrunkObj1337[2]._outpostStation[2]._card.setPosition(scene->_arrunkObj1337[2]._outpostStation[2]._field36, 0); + scene->_arrunkObj1337[2]._outpostStation[2]._card.setStrip(2); + scene->_arrunkObj1337[2]._outpostStation[2]._card.setFrame(scene->_arrunkObj1337[2]._outpostStation[2]._cardId); + scene->_arrunkObj1337[2]._outpostStation[2]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_arrunkObj1337[2]._outpostStation[2]); + + scene->_arrunkObj1337[2]._outpostStation[3]._cardId = 5; + scene->_arrunkObj1337[2]._outpostStation[3]._card.postInit(); + scene->_arrunkObj1337[2]._outpostStation[3]._card.setVisage(1332); + scene->_arrunkObj1337[2]._outpostStation[3]._card.setPosition(scene->_arrunkObj1337[2]._outpostStation[3]._field36, 0); + scene->_arrunkObj1337[2]._outpostStation[3]._card.setStrip(2); + scene->_arrunkObj1337[2]._outpostStation[3]._card.setFrame(scene->_arrunkObj1337[2]._outpostStation[3]._cardId); + scene->_arrunkObj1337[2]._outpostStation[3]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_arrunkObj1337[2]._outpostStation[3]); + + scene->_arrunkObj1337[2]._outpostStation[4]._cardId = 6; + scene->_arrunkObj1337[2]._outpostStation[4]._card.postInit(); + scene->_arrunkObj1337[2]._outpostStation[4]._card.setVisage(1332); + scene->_arrunkObj1337[2]._outpostStation[4]._card.setPosition(scene->_arrunkObj1337[2]._outpostStation[4]._field36, 0); + scene->_arrunkObj1337[2]._outpostStation[4]._card.setStrip(2); + scene->_arrunkObj1337[2]._outpostStation[4]._card.setFrame(scene->_arrunkObj1337[2]._outpostStation[4]._cardId); + scene->_arrunkObj1337[2]._outpostStation[4]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_arrunkObj1337[2]._outpostStation[4]); + + scene->_arrunkObj1337[2]._outpostStation[5]._cardId = 7; + scene->_arrunkObj1337[2]._outpostStation[5]._card.postInit(); + scene->_arrunkObj1337[2]._outpostStation[5]._card.setVisage(1332); + scene->_arrunkObj1337[2]._outpostStation[5]._card.setPosition(scene->_arrunkObj1337[2]._outpostStation[5]._field36, 0); + scene->_arrunkObj1337[2]._outpostStation[5]._card.setStrip(2); + scene->_arrunkObj1337[2]._outpostStation[5]._card.setFrame(scene->_arrunkObj1337[2]._outpostStation[5]._cardId); + scene->_arrunkObj1337[2]._outpostStation[5]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_arrunkObj1337[2]._outpostStation[5]); + + scene->_arrunkObj1337[2]._outpostStation[6]._cardId = 8; + scene->_arrunkObj1337[2]._outpostStation[6]._card.postInit(); + scene->_arrunkObj1337[2]._outpostStation[6]._card.setVisage(1332); + scene->_arrunkObj1337[2]._outpostStation[6]._card.setPosition(scene->_arrunkObj1337[2]._outpostStation[6]._field36, 0); + scene->_arrunkObj1337[2]._outpostStation[6]._card.setStrip(2); + scene->_arrunkObj1337[2]._outpostStation[6]._card.setFrame(scene->_arrunkObj1337[2]._outpostStation[6]._cardId); + scene->_arrunkObj1337[2]._outpostStation[6]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_arrunkObj1337[2]._outpostStation[6]); + + scene->_arrunkObj1337[2]._outpostStation[7]._cardId = 9; + scene->_arrunkObj1337[2]._outpostStation[7]._card.postInit(); + scene->_arrunkObj1337[2]._outpostStation[7]._card.setVisage(1332); + scene->_arrunkObj1337[2]._outpostStation[7]._card.setPosition(scene->_arrunkObj1337[2]._outpostStation[7]._field36, 0); + scene->_arrunkObj1337[2]._outpostStation[7]._card.setStrip(2); + scene->_arrunkObj1337[2]._outpostStation[7]._card.setFrame(scene->_arrunkObj1337[2]._outpostStation[7]._cardId); + scene->_arrunkObj1337[2]._outpostStation[7]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_arrunkObj1337[2]._outpostStation[7]); scene->_aSound1.play(62); R2_GLOBALS._sceneObjects->draw(); waitFrames(120); - scene->_arrunkObj1337[2]._arr2[0]._object1.remove(); - scene->_arrunkObj1337[2]._arr2[1]._object1.remove(); - scene->_arrunkObj1337[2]._arr2[2]._object1.remove(); - scene->_arrunkObj1337[2]._arr2[3]._object1.remove(); - scene->_arrunkObj1337[2]._arr2[4]._object1.remove(); - scene->_arrunkObj1337[2]._arr2[5]._object1.remove(); - scene->_arrunkObj1337[2]._arr2[6]._object1.remove(); - scene->_arrunkObj1337[2]._arr2[7]._object1.remove(); + scene->_arrunkObj1337[2]._outpostStation[0]._card.remove(); + scene->_arrunkObj1337[2]._outpostStation[1]._card.remove(); + scene->_arrunkObj1337[2]._outpostStation[2]._card.remove(); + scene->_arrunkObj1337[2]._outpostStation[3]._card.remove(); + scene->_arrunkObj1337[2]._outpostStation[4]._card.remove(); + scene->_arrunkObj1337[2]._outpostStation[5]._card.remove(); + scene->_arrunkObj1337[2]._outpostStation[6]._card.remove(); + scene->_arrunkObj1337[2]._outpostStation[7]._card.remove(); - scene->_arrunkObj1337[1]._arr2[0]._object1.remove(); - scene->_arrunkObj1337[1]._arr2[1]._object1.remove(); + scene->_arrunkObj1337[1]._outpostStation[0]._card.remove(); + scene->_arrunkObj1337[1]._outpostStation[1]._card.remove(); - scene->_arrunkObj1337[3]._arr2[0]._object1.remove(); - scene->_arrunkObj1337[3]._arr2[1]._object1.remove(); - scene->_arrunkObj1337[3]._arr2[2]._object1.remove(); + scene->_arrunkObj1337[3]._outpostStation[0]._card.remove(); + scene->_arrunkObj1337[3]._outpostStation[1]._card.remove(); + scene->_arrunkObj1337[3]._outpostStation[2]._card.remove(); - scene->_arrunkObj1337[0]._arr2[0]._object1.remove(); - scene->_arrunkObj1337[0]._arr2[1]._object1.remove(); + scene->_arrunkObj1337[0]._outpostStation[0]._card.remove(); + scene->_arrunkObj1337[0]._outpostStation[1]._card.remove(); scene->_background2.setup2(1332, 5, 1, 165, 95, 110, 1); - scene->_arrunkObj1337[1]._arr1[0]._object1.postInit(); - scene->_arrunkObj1337[1]._arr1[0]._object1.setVisage(1332); - scene->_arrunkObj1337[1]._arr1[0]._object1.setPosition(scene->_arrunkObj1337[1]._arr1[0]._field36, 0); - scene->_arrunkObj1337[1]._arr1[0]._object1.setStrip(1); - scene->_arrunkObj1337[1]._arr1[0]._object1.setFrame(4); - scene->_arrunkObj1337[1]._arr1[0]._object1.fixPriority(170); - - scene->_arrunkObj1337[1]._arr1[1]._object1.postInit(); - scene->_arrunkObj1337[1]._arr1[1]._object1.setVisage(1332); - scene->_arrunkObj1337[1]._arr1[1]._object1.setPosition(scene->_arrunkObj1337[1]._arr1[1]._field36, 0); - scene->_arrunkObj1337[1]._arr1[1]._object1.setStrip(1); - scene->_arrunkObj1337[1]._arr1[1]._object1.setFrame(4); - scene->_arrunkObj1337[1]._arr1[1]._object1.fixPriority(170); - - scene->_arrunkObj1337[1]._arr1[2]._object1.postInit(); - scene->_arrunkObj1337[1]._arr1[2]._object1.setVisage(1332); - scene->_arrunkObj1337[1]._arr1[2]._object1.setPosition(scene->_arrunkObj1337[1]._arr1[2]._field36, 0); - scene->_arrunkObj1337[1]._arr1[2]._object1.setStrip(1); - scene->_arrunkObj1337[1]._arr1[2]._object1.setFrame(4); - scene->_arrunkObj1337[1]._arr1[2]._object1.fixPriority(170); - - scene->_arrunkObj1337[2]._arr1[0]._field34 = 30; - scene->_arrunkObj1337[2]._arr1[0]._object1.postInit(); - scene->_arrunkObj1337[2]._arr1[0]._object1.setVisage(1332); - scene->_arrunkObj1337[2]._arr1[0]._object1.setPosition(scene->_arrunkObj1337[2]._arr1[0]._field36, 0); - scene->_arrunkObj1337[2]._arr1[0]._object1.setStrip(1); - scene->_arrunkObj1337[2]._arr1[0]._object1.setFrame(2); - scene->_arrunkObj1337[2]._arr1[0]._object1.fixPriority(170); + scene->_arrunkObj1337[1]._arr1[0]._card.postInit(); + scene->_arrunkObj1337[1]._arr1[0]._card.setVisage(1332); + scene->_arrunkObj1337[1]._arr1[0]._card.setPosition(scene->_arrunkObj1337[1]._arr1[0]._field36, 0); + scene->_arrunkObj1337[1]._arr1[0]._card.setStrip(1); + scene->_arrunkObj1337[1]._arr1[0]._card.setFrame(4); + scene->_arrunkObj1337[1]._arr1[0]._card.fixPriority(170); + + scene->_arrunkObj1337[1]._arr1[1]._card.postInit(); + scene->_arrunkObj1337[1]._arr1[1]._card.setVisage(1332); + scene->_arrunkObj1337[1]._arr1[1]._card.setPosition(scene->_arrunkObj1337[1]._arr1[1]._field36, 0); + scene->_arrunkObj1337[1]._arr1[1]._card.setStrip(1); + scene->_arrunkObj1337[1]._arr1[1]._card.setFrame(4); + scene->_arrunkObj1337[1]._arr1[1]._card.fixPriority(170); + + scene->_arrunkObj1337[1]._arr1[2]._card.postInit(); + scene->_arrunkObj1337[1]._arr1[2]._card.setVisage(1332); + scene->_arrunkObj1337[1]._arr1[2]._card.setPosition(scene->_arrunkObj1337[1]._arr1[2]._field36, 0); + scene->_arrunkObj1337[1]._arr1[2]._card.setStrip(1); + scene->_arrunkObj1337[1]._arr1[2]._card.setFrame(4); + scene->_arrunkObj1337[1]._arr1[2]._card.fixPriority(170); + + scene->_arrunkObj1337[2]._arr1[0]._cardId = 30; + scene->_arrunkObj1337[2]._arr1[0]._card.postInit(); + scene->_arrunkObj1337[2]._arr1[0]._card.setVisage(1332); + scene->_arrunkObj1337[2]._arr1[0]._card.setPosition(scene->_arrunkObj1337[2]._arr1[0]._field36, 0); + scene->_arrunkObj1337[2]._arr1[0]._card.setStrip(1); + scene->_arrunkObj1337[2]._arr1[0]._card.setFrame(2); + scene->_arrunkObj1337[2]._arr1[0]._card.fixPriority(170); scene->setAnimationInfo(&scene->_arrunkObj1337[2]._arr1[0]); - scene->_arrunkObj1337[2]._arr1[1]._field34 = 16; - scene->_arrunkObj1337[2]._arr1[1]._object1.postInit(); - scene->_arrunkObj1337[2]._arr1[1]._object1.setVisage(1332); - scene->_arrunkObj1337[2]._arr1[1]._object1.setPosition(scene->_arrunkObj1337[2]._arr1[1]._field36, 0); - scene->_arrunkObj1337[2]._arr1[1]._object1.setStrip(1); - scene->_arrunkObj1337[2]._arr1[1]._object1.setFrame(2); - scene->_arrunkObj1337[2]._arr1[1]._object1.fixPriority(170); + scene->_arrunkObj1337[2]._arr1[1]._cardId = 16; + scene->_arrunkObj1337[2]._arr1[1]._card.postInit(); + scene->_arrunkObj1337[2]._arr1[1]._card.setVisage(1332); + scene->_arrunkObj1337[2]._arr1[1]._card.setPosition(scene->_arrunkObj1337[2]._arr1[1]._field36, 0); + scene->_arrunkObj1337[2]._arr1[1]._card.setStrip(1); + scene->_arrunkObj1337[2]._arr1[1]._card.setFrame(2); + scene->_arrunkObj1337[2]._arr1[1]._card.fixPriority(170); scene->setAnimationInfo(&scene->_arrunkObj1337[2]._arr1[1]); - scene->_arrunkObj1337[2]._arr1[2]._field34 = 1; - scene->_arrunkObj1337[2]._arr1[2]._object1.postInit(); - scene->_arrunkObj1337[2]._arr1[2]._object1.setVisage(1332); - scene->_arrunkObj1337[2]._arr1[2]._object1.setPosition(scene->_arrunkObj1337[2]._arr1[2]._field36, 0); - scene->_arrunkObj1337[2]._arr1[2]._object1.setStrip(1); - scene->_arrunkObj1337[2]._arr1[2]._object1.setFrame(2); - scene->_arrunkObj1337[2]._arr1[2]._object1.fixPriority(170); + scene->_arrunkObj1337[2]._arr1[2]._cardId = 1; + scene->_arrunkObj1337[2]._arr1[2]._card.postInit(); + scene->_arrunkObj1337[2]._arr1[2]._card.setVisage(1332); + scene->_arrunkObj1337[2]._arr1[2]._card.setPosition(scene->_arrunkObj1337[2]._arr1[2]._field36, 0); + scene->_arrunkObj1337[2]._arr1[2]._card.setStrip(1); + scene->_arrunkObj1337[2]._arr1[2]._card.setFrame(2); + scene->_arrunkObj1337[2]._arr1[2]._card.fixPriority(170); scene->setAnimationInfo(&scene->_arrunkObj1337[2]._arr1[2]); - scene->_arrunkObj1337[3]._arr1[0]._object1.postInit(); - scene->_arrunkObj1337[3]._arr1[0]._object1.setVisage(1332); - scene->_arrunkObj1337[3]._arr1[0]._object1.setPosition(scene->_arrunkObj1337[3]._arr1[0]._field36, 0); - scene->_arrunkObj1337[3]._arr1[0]._object1.setStrip(1); - scene->_arrunkObj1337[3]._arr1[0]._object1.setFrame(3); - scene->_arrunkObj1337[3]._arr1[0]._object1.fixPriority(170); - - scene->_arrunkObj1337[3]._arr1[1]._object1.postInit(); - scene->_arrunkObj1337[3]._arr1[1]._object1.setVisage(1332); - scene->_arrunkObj1337[3]._arr1[1]._object1.setPosition(scene->_arrunkObj1337[3]._arr1[1]._field36, 0); - scene->_arrunkObj1337[3]._arr1[1]._object1.setStrip(1); - scene->_arrunkObj1337[3]._arr1[1]._object1.setFrame(3); - scene->_arrunkObj1337[3]._arr1[1]._object1.fixPriority(170); - - scene->_arrunkObj1337[3]._arr1[2]._object1.postInit(); - scene->_arrunkObj1337[3]._arr1[2]._object1.setVisage(1332); - scene->_arrunkObj1337[3]._arr1[2]._object1.setPosition(scene->_arrunkObj1337[3]._arr1[2]._field36, 0); - scene->_arrunkObj1337[3]._arr1[2]._object1.setStrip(1); - scene->_arrunkObj1337[3]._arr1[2]._object1.setFrame(3); - scene->_arrunkObj1337[3]._arr1[2]._object1.fixPriority(170); - - scene->_arrunkObj1337[0]._arr1[0]._object1.postInit(); - scene->_arrunkObj1337[0]._arr1[0]._object1.setVisage(1332); - scene->_arrunkObj1337[0]._arr1[0]._object1.setPosition(scene->_arrunkObj1337[0]._arr1[0]._field36, 0); - scene->_arrunkObj1337[0]._arr1[0]._object1.setStrip(1); - scene->_arrunkObj1337[0]._arr1[0]._object1.setFrame(2); - scene->_arrunkObj1337[0]._arr1[0]._object1.fixPriority(170); - - scene->_arrunkObj1337[0]._arr1[1]._object1.postInit(); - scene->_arrunkObj1337[0]._arr1[1]._object1.setVisage(1332); - scene->_arrunkObj1337[0]._arr1[1]._object1.setPosition(scene->_arrunkObj1337[0]._arr1[1]._field36, 0); - scene->_arrunkObj1337[0]._arr1[1]._object1.setStrip(1); - scene->_arrunkObj1337[0]._arr1[1]._object1.setFrame(2); - scene->_arrunkObj1337[0]._arr1[1]._object1.fixPriority(170); - - scene->_arrunkObj1337[0]._arr1[2]._object1.postInit(); - scene->_arrunkObj1337[0]._arr1[2]._object1.setVisage(1332); - scene->_arrunkObj1337[0]._arr1[2]._object1.setPosition(scene->_arrunkObj1337[0]._arr1[2]._field36, 0); - scene->_arrunkObj1337[0]._arr1[2]._object1.setStrip(1); - scene->_arrunkObj1337[0]._arr1[2]._object1.setFrame(2); - scene->_arrunkObj1337[0]._arr1[2]._object1.fixPriority(170); + scene->_arrunkObj1337[3]._arr1[0]._card.postInit(); + scene->_arrunkObj1337[3]._arr1[0]._card.setVisage(1332); + scene->_arrunkObj1337[3]._arr1[0]._card.setPosition(scene->_arrunkObj1337[3]._arr1[0]._field36, 0); + scene->_arrunkObj1337[3]._arr1[0]._card.setStrip(1); + scene->_arrunkObj1337[3]._arr1[0]._card.setFrame(3); + scene->_arrunkObj1337[3]._arr1[0]._card.fixPriority(170); + + scene->_arrunkObj1337[3]._arr1[1]._card.postInit(); + scene->_arrunkObj1337[3]._arr1[1]._card.setVisage(1332); + scene->_arrunkObj1337[3]._arr1[1]._card.setPosition(scene->_arrunkObj1337[3]._arr1[1]._field36, 0); + scene->_arrunkObj1337[3]._arr1[1]._card.setStrip(1); + scene->_arrunkObj1337[3]._arr1[1]._card.setFrame(3); + scene->_arrunkObj1337[3]._arr1[1]._card.fixPriority(170); + + scene->_arrunkObj1337[3]._arr1[2]._card.postInit(); + scene->_arrunkObj1337[3]._arr1[2]._card.setVisage(1332); + scene->_arrunkObj1337[3]._arr1[2]._card.setPosition(scene->_arrunkObj1337[3]._arr1[2]._field36, 0); + scene->_arrunkObj1337[3]._arr1[2]._card.setStrip(1); + scene->_arrunkObj1337[3]._arr1[2]._card.setFrame(3); + scene->_arrunkObj1337[3]._arr1[2]._card.fixPriority(170); + + scene->_arrunkObj1337[0]._arr1[0]._card.postInit(); + scene->_arrunkObj1337[0]._arr1[0]._card.setVisage(1332); + scene->_arrunkObj1337[0]._arr1[0]._card.setPosition(scene->_arrunkObj1337[0]._arr1[0]._field36, 0); + scene->_arrunkObj1337[0]._arr1[0]._card.setStrip(1); + scene->_arrunkObj1337[0]._arr1[0]._card.setFrame(2); + scene->_arrunkObj1337[0]._arr1[0]._card.fixPriority(170); + + scene->_arrunkObj1337[0]._arr1[1]._card.postInit(); + scene->_arrunkObj1337[0]._arr1[1]._card.setVisage(1332); + scene->_arrunkObj1337[0]._arr1[1]._card.setPosition(scene->_arrunkObj1337[0]._arr1[1]._field36, 0); + scene->_arrunkObj1337[0]._arr1[1]._card.setStrip(1); + scene->_arrunkObj1337[0]._arr1[1]._card.setFrame(2); + scene->_arrunkObj1337[0]._arr1[1]._card.fixPriority(170); + + scene->_arrunkObj1337[0]._arr1[2]._card.postInit(); + scene->_arrunkObj1337[0]._arr1[2]._card.setVisage(1332); + scene->_arrunkObj1337[0]._arr1[2]._card.setPosition(scene->_arrunkObj1337[0]._arr1[2]._field36, 0); + scene->_arrunkObj1337[0]._arr1[2]._card.setStrip(1); + scene->_arrunkObj1337[0]._arr1[2]._card.setFrame(2); + scene->_arrunkObj1337[0]._arr1[2]._card.fixPriority(170); R2_GLOBALS._sceneObjects->draw(); scene->actionDisplay(1331, 10, 159, 10, 1, 200, 0, 7, 0, 154, 154); - scene->_item2._object1.setPosition(Common::Point(162, 95), 0); - scene->_item2._object1.show(); + scene->_item2._card.setPosition(Common::Point(162, 95), 0); + scene->_item2._card.show(); scene->_aSound2.play(61); Common::Point pt(91, 174); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &pt, this); + scene->_item2._card.addMover(mover, &pt, this); } break; case 2: { - scene->_arrunkObj1337[2]._arr1[3]._field34 = 2; - scene->_arrunkObj1337[2]._arr1[3]._object1.postInit(); - scene->_arrunkObj1337[2]._arr1[3]._object1.setVisage(1332); - scene->_arrunkObj1337[2]._arr1[3]._object1.setPosition(scene->_arrunkObj1337[2]._arr1[3]._field36, 0); - scene->_arrunkObj1337[2]._arr1[3]._object1.setStrip(1); - scene->_arrunkObj1337[2]._arr1[3]._object1.setFrame(2); - scene->_arrunkObj1337[2]._arr1[3]._object1.fixPriority(170); - - scene->_item2._object1.hide(); + scene->_arrunkObj1337[2]._arr1[3]._cardId = 2; + scene->_arrunkObj1337[2]._arr1[3]._card.postInit(); + scene->_arrunkObj1337[2]._arr1[3]._card.setVisage(1332); + scene->_arrunkObj1337[2]._arr1[3]._card.setPosition(scene->_arrunkObj1337[2]._arr1[3]._field36, 0); + scene->_arrunkObj1337[2]._arr1[3]._card.setStrip(1); + scene->_arrunkObj1337[2]._arr1[3]._card.setFrame(2); + scene->_arrunkObj1337[2]._arr1[3]._card.fixPriority(170); + + scene->_item2._card.hide(); scene->setAnimationInfo(&scene->_arrunkObj1337[2]._arr1[3]); R2_GLOBALS._sceneObjects->draw(); @@ -2572,29 +2574,29 @@ void Scene1337::Action1::signal() { scene->actionDisplay(1331, 11, 159, 10, 1, 200, 0, 7, 0, 154, 154); scene->actionDisplay(1331, 12, 159, 10, 1, 200, 0, 7, 0, 154, 154); - scene->_arrunkObj1337[2]._arr2[1]._field34 = 1; - scene->_arrunkObj1337[2]._arr2[1]._object1.postInit(); - scene->_arrunkObj1337[2]._arr2[1]._object1.setVisage(1332); - scene->_arrunkObj1337[2]._arr2[1]._object1.setPosition(scene->_arrunkObj1337[2]._arr2[1]._field36, 0); - scene->_arrunkObj1337[2]._arr2[1]._object1.hide(); + scene->_arrunkObj1337[2]._outpostStation[1]._cardId = 1; + scene->_arrunkObj1337[2]._outpostStation[1]._card.postInit(); + scene->_arrunkObj1337[2]._outpostStation[1]._card.setVisage(1332); + scene->_arrunkObj1337[2]._outpostStation[1]._card.setPosition(scene->_arrunkObj1337[2]._outpostStation[1]._field36, 0); + scene->_arrunkObj1337[2]._outpostStation[1]._card.hide(); - scene->_item2._object1.setStrip(scene->_arrunkObj1337[2]._arr1[2]._object1._strip); - scene->_item2._object1.setFrame(scene->_arrunkObj1337[2]._arr1[2]._object1._frame); - scene->_item2._object1.animate(ANIM_MODE_NONE, NULL); + scene->_item2._card.setStrip(scene->_arrunkObj1337[2]._arr1[2]._card._strip); + scene->_item2._card.setFrame(scene->_arrunkObj1337[2]._arr1[2]._card._frame); + scene->_item2._card.animate(ANIM_MODE_NONE, NULL); - scene->_arrunkObj1337[2]._arr1[2]._field34 = 0; - scene->_arrunkObj1337[2]._arr1[2]._object1.remove(); + scene->_arrunkObj1337[2]._arr1[2]._cardId = 0; + scene->_arrunkObj1337[2]._arr1[2]._card.remove(); - scene->_item2._object1.setPosition(scene->_arrunkObj1337[2]._arr1[2]._field36, 0); - scene->_item2._object1.show(); + scene->_item2._card.setPosition(scene->_arrunkObj1337[2]._arr1[2]._field36, 0); + scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_arrunkObj1337[2]._arr2[1]._field36, this); + scene->_item2._card.addMover(mover, &scene->_arrunkObj1337[2]._outpostStation[1]._field36, this); } break; case 3: { - scene->_item2._object1.hide(); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._arr2[1]); + scene->_item2._card.hide(); + scene->setAnimationInfo(&scene->_arrunkObj1337[2]._outpostStation[1]); scene->_aSound1.play(59); R2_GLOBALS._sceneObjects->draw(); @@ -2602,45 +2604,45 @@ void Scene1337::Action1::signal() { waitFrames(60); scene->actionDisplay(1331, 13, 159, 10, 1, 200, 0, 7, 0, 154, 154); - scene->_arrunkObj1337[2]._arr2[1]._field34 = scene->_arrunkObj1337[2]._arr1[3]._field34; + scene->_arrunkObj1337[2]._outpostStation[1]._cardId = scene->_arrunkObj1337[2]._arr1[3]._cardId; - scene->_item2._object1.setStrip(scene->_arrunkObj1337[2]._arr1[3]._object1._strip); - scene->_item2._object1.setFrame(scene->_arrunkObj1337[2]._arr1[3]._object1._frame); + scene->_item2._card.setStrip(scene->_arrunkObj1337[2]._arr1[3]._card._strip); + scene->_item2._card.setFrame(scene->_arrunkObj1337[2]._arr1[3]._card._frame); - scene->_arrunkObj1337[2]._arr1[3]._field34 = 0; - scene->_arrunkObj1337[2]._arr1[3]._object1.remove(); + scene->_arrunkObj1337[2]._arr1[3]._cardId = 0; + scene->_arrunkObj1337[2]._arr1[3]._card.remove(); - scene->_item2._object1.setPosition(scene->_arrunkObj1337[2]._arr1[3]._field36, 0); - scene->_item2._object1.show(); + scene->_item2._card.setPosition(scene->_arrunkObj1337[2]._arr1[3]._field36, 0); + scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_arrunkObj1337[2]._arr2[1]._field36, this); + scene->_item2._card.addMover(mover, &scene->_arrunkObj1337[2]._outpostStation[1]._field36, this); } break; case 4: { - scene->_item2._object1.hide(); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._arr2[1]); + scene->_item2._card.hide(); + scene->setAnimationInfo(&scene->_arrunkObj1337[2]._outpostStation[1]); scene->_aSound1.play(59); - scene->_item7._field34 = 1; - scene->_item7._object1.hide(); + scene->_item7._cardId = 1; + scene->_item7._card.hide(); - scene->_item2._object1.setStrip(5); - scene->_item2._object1.setFrame(1); - scene->_item2._object1.animate(ANIM_MODE_2, NULL); - scene->_item2._object1.setPosition(scene->_arrunkObj1337[2]._arr2[1]._field36, 0); - scene->_item2._object1.show(); + scene->_item2._card.setStrip(5); + scene->_item2._card.setFrame(1); + scene->_item2._card.animate(ANIM_MODE_2, NULL); + scene->_item2._card.setPosition(scene->_arrunkObj1337[2]._outpostStation[1]._field36, 0); + scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_item7._field36, this); + scene->_item2._card.addMover(mover, &scene->_item7._field36, this); } break; case 5: { - scene->_item2._object1.hide(); + scene->_item2._card.hide(); - scene->_item7._object1.postInit(); - scene->_item7._object1.setVisage(1332); - scene->_item7._object1.setPosition(scene->_item7._field36, 0); + scene->_item7._card.postInit(); + scene->_item7._card.setVisage(1332); + scene->_item7._card.setPosition(scene->_item7._field36, 0); scene->setAnimationInfo(&scene->_item7); scene->_aSound2.play(61); @@ -2649,24 +2651,24 @@ void Scene1337::Action1::signal() { waitFrames(60); scene->actionDisplay(1331, 14, 159, 10, 1, 200, 0, 7, 0, 154, 154); - scene->_arrunkObj1337[2]._arr3[0]._object1.postInit(); - scene->_arrunkObj1337[2]._arr3[0]._object1.setVisage(1332); - scene->_arrunkObj1337[2]._arr3[0]._object1.setPosition(scene->_arrunkObj1337[2]._arr3[0]._field36, 0); - scene->_arrunkObj1337[2]._arr3[0]._object1.hide(); + scene->_arrunkObj1337[2]._arr3[0]._card.postInit(); + scene->_arrunkObj1337[2]._arr3[0]._card.setVisage(1332); + scene->_arrunkObj1337[2]._arr3[0]._card.setPosition(scene->_arrunkObj1337[2]._arr3[0]._field36, 0); + scene->_arrunkObj1337[2]._arr3[0]._card.hide(); - scene->_arrunkObj1337[3]._arr1[2]._field34 = 0; + scene->_arrunkObj1337[3]._arr1[2]._cardId = 0; scene->_arrunkObj1337[3]._arr1[2].remove(); - scene->_item2._object1.setPosition(scene->_arrunkObj1337[3]._arr1[2]._field36, 0); - scene->_item2._object1.show(); + scene->_item2._card.setPosition(scene->_arrunkObj1337[3]._arr1[2]._field36, 0); + scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_arrunkObj1337[2]._arr3[0]._field36, this); + scene->_item2._card.addMover(mover, &scene->_arrunkObj1337[2]._arr3[0]._field36, this); } break; case 6: { - scene->_item2._object1.hide(); - scene->_arrunkObj1337[2]._arr3[0]._field34 = 21; + scene->_item2._card.hide(); + scene->_arrunkObj1337[2]._arr3[0]._cardId = 21; scene->setAnimationInfo(&scene->_arrunkObj1337[2]._arr3[0]); scene->_aSound1.play(57); @@ -2726,43 +2728,43 @@ void Scene1337::Action1::signal() { scene->_arrObject2[6].remove(); scene->_arrObject2[7].remove(); - scene->_item7._field34 = scene->_arrunkObj1337[2]._arr3[0]._field34; + scene->_item7._cardId = scene->_arrunkObj1337[2]._arr3[0]._cardId; - scene->_arrunkObj1337[2]._arr3[0]._field34 = 0; - scene->_arrunkObj1337[2]._arr3[0]._object1.remove(); + scene->_arrunkObj1337[2]._arr3[0]._cardId = 0; + scene->_arrunkObj1337[2]._arr3[0]._card.remove(); - scene->_item2._object1.setPosition(scene->_arrunkObj1337[2]._arr3[0]._field36, 0); - scene->_item2._object1.show(); + scene->_item2._card.setPosition(scene->_arrunkObj1337[2]._arr3[0]._field36, 0); + scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_item7._field36, this); + scene->_item2._card.addMover(mover, &scene->_item7._field36, this); } break; case 7: { - scene->_item2._object1.hide(); + scene->_item2._card.hide(); scene->setAnimationInfo(&scene->_item7); scene->_aSound2.play(61); R2_GLOBALS._sceneObjects->draw(); - scene->_arrunkObj1337[2]._arr3[0]._object1.postInit(); - scene->_arrunkObj1337[2]._arr3[0]._object1.setVisage(1332); - scene->_arrunkObj1337[2]._arr3[0]._object1.setPosition(scene->_arrunkObj1337[2]._arr3[0]._field36, 0); - scene->_arrunkObj1337[2]._arr3[0]._object1.hide(); + scene->_arrunkObj1337[2]._arr3[0]._card.postInit(); + scene->_arrunkObj1337[2]._arr3[0]._card.setVisage(1332); + scene->_arrunkObj1337[2]._arr3[0]._card.setPosition(scene->_arrunkObj1337[2]._arr3[0]._field36, 0); + scene->_arrunkObj1337[2]._arr3[0]._card.hide(); - scene->_arrunkObj1337[3]._arr1[1]._field34 = 0; + scene->_arrunkObj1337[3]._arr1[1]._cardId = 0; scene->_arrunkObj1337[3]._arr1[1].remove(); - scene->_item2._object1.setPosition(scene->_arrunkObj1337[3]._arr1[1]._field36, 0); - scene->_item2._object1.show(); + scene->_item2._card.setPosition(scene->_arrunkObj1337[3]._arr1[1]._field36, 0); + scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_arrunkObj1337[2]._arr3[0]._field36, this); + scene->_item2._card.addMover(mover, &scene->_arrunkObj1337[2]._arr3[0]._field36, this); } break; case 8: { - scene->_item2._object1.hide(); - scene->_arrunkObj1337[2]._arr3[0]._field34 = 14; + scene->_item2._card.hide(); + scene->_arrunkObj1337[2]._arr3[0]._cardId = 14; scene->setAnimationInfo(&scene->_arrunkObj1337[2]._arr3[0]); scene->_aSound1.play(57); @@ -2843,38 +2845,38 @@ void Scene1337::Action1::signal() { scene->_arrObject2[6].remove(); scene->_arrObject2[7].remove(); - scene->_item7._field34 = scene->_arrunkObj1337[2]._arr1[0]._field34; + scene->_item7._cardId = scene->_arrunkObj1337[2]._arr1[0]._cardId; - scene->_item2._object1.setStrip(scene->_arrunkObj1337[2]._arr1[0]._object1._strip); - scene->_item2._object1.setFrame(scene->_arrunkObj1337[2]._arr1[0]._object1._frame); - scene->_item2._object1.animate(ANIM_MODE_NONE, NULL); + scene->_item2._card.setStrip(scene->_arrunkObj1337[2]._arr1[0]._card._strip); + scene->_item2._card.setFrame(scene->_arrunkObj1337[2]._arr1[0]._card._frame); + scene->_item2._card.animate(ANIM_MODE_NONE, NULL); - scene->_arrunkObj1337[2]._arr1[0]._field34 = 0; - scene->_arrunkObj1337[2]._arr1[0]._object1.remove(); + scene->_arrunkObj1337[2]._arr1[0]._cardId = 0; + scene->_arrunkObj1337[2]._arr1[0]._card.remove(); - scene->_item2._object1.setPosition(scene->_arrunkObj1337[2]._arr1[0]._field36, 0); - scene->_item2._object1.show(); + scene->_item2._card.setPosition(scene->_arrunkObj1337[2]._arr1[0]._field36, 0); + scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_arrunkObj1337[2]._arr3[0]._field36, this); + scene->_item2._card.addMover(mover, &scene->_arrunkObj1337[2]._arr3[0]._field36, this); } break; case 9: { scene->_aSound1.play(58); - scene->_arrunkObj1337[2]._arr3[0]._field34 = 0; + scene->_arrunkObj1337[2]._arr3[0]._cardId = 0; scene->_arrunkObj1337[2]._arr3[0].remove(); - scene->_item2._object1.setStrip(5); - scene->_item2._object1.setFrame(1); - scene->_item2._object1.animate(ANIM_MODE_2, NULL); - scene->_item2._object1.setPosition(scene->_arrunkObj1337[2]._arr3[0]._field36, 0); - scene->_item2._object1.show(); + scene->_item2._card.setStrip(5); + scene->_item2._card.setFrame(1); + scene->_item2._card.animate(ANIM_MODE_2, NULL); + scene->_item2._card.setPosition(scene->_arrunkObj1337[2]._arr3[0]._field36, 0); + scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_item7._field36, this); + scene->_item2._card.addMover(mover, &scene->_item7._field36, this); } break; case 10: { - scene->_item2._object1.hide(); + scene->_item2._card.hide(); scene->setAnimationInfo(&scene->_item7); scene->_aSound2.play(61); @@ -2964,29 +2966,29 @@ void Scene1337::Action1::signal() { scene->actionDisplay(1331, 20, 159, 10, 1, 220, 0, 7, 0, 154, 154); scene->actionDisplay(1331, 21, 159, 10, 1, 220, 0, 7, 0, 154, 154); - scene->_item7._field34 = scene->_arrunkObj1337[2]._arr1[1]._field34; + scene->_item7._cardId = scene->_arrunkObj1337[2]._arr1[1]._cardId; - scene->_item2._object1.setStrip(scene->_arrunkObj1337[2]._arr1[1]._object1._strip); - scene->_item2._object1.setFrame(scene->_arrunkObj1337[2]._arr1[1]._object1._frame); - scene->_item2._object1.animate(ANIM_MODE_NONE, NULL); + scene->_item2._card.setStrip(scene->_arrunkObj1337[2]._arr1[1]._card._strip); + scene->_item2._card.setFrame(scene->_arrunkObj1337[2]._arr1[1]._card._frame); + scene->_item2._card.animate(ANIM_MODE_NONE, NULL); - scene->_arrunkObj1337[2]._arr1[1]._field34 = 0; - scene->_arrunkObj1337[2]._arr1[1]._object1.remove(); + scene->_arrunkObj1337[2]._arr1[1]._cardId = 0; + scene->_arrunkObj1337[2]._arr1[1]._card.remove(); - scene->_item2._object1.setPosition(scene->_arrunkObj1337[2]._arr1[1]._field36, 0); - scene->_item2._object1.show(); + scene->_item2._card.setPosition(scene->_arrunkObj1337[2]._arr1[1]._field36, 0); + scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_item7._field36, this); + scene->_item2._card.addMover(mover, &scene->_item7._field36, this); } break; case 11: { - scene->_item2._object1.hide(); + scene->_item2._card.hide(); scene->setAnimationInfo(&scene->_item7); scene->_aSound2.play(61); - scene->_item2._object1.setStrip(5); - scene->_item2._object1.setFrame(1); - scene->_item2._object1.animate(ANIM_MODE_2, NULL); + scene->_item2._card.setStrip(5); + scene->_item2._card.setFrame(1); + scene->_item2._card.animate(ANIM_MODE_2, NULL); R2_GLOBALS._sceneObjects->draw(); @@ -2994,38 +2996,38 @@ void Scene1337::Action1::signal() { int i = -1; for (i = 0; i <= 3; i ++) { - scene->_arrunkObj1337[3]._arr1[i]._field34 = 0; - scene->_arrunkObj1337[3]._arr1[i]._object1.remove(); + scene->_arrunkObj1337[3]._arr1[i]._cardId = 0; + scene->_arrunkObj1337[3]._arr1[i]._card.remove(); - scene->_arrunkObj1337[2]._arr1[i]._field34 = 0; - scene->_arrunkObj1337[2]._arr1[i]._object1.remove(); + scene->_arrunkObj1337[2]._arr1[i]._cardId = 0; + scene->_arrunkObj1337[2]._arr1[i]._card.remove(); - scene->_arrunkObj1337[0]._arr1[i]._field34 = 0; - scene->_arrunkObj1337[0]._arr1[i]._object1.remove(); + scene->_arrunkObj1337[0]._arr1[i]._cardId = 0; + scene->_arrunkObj1337[0]._arr1[i]._card.remove(); - scene->_arrunkObj1337[1]._arr1[i]._field34 = 0; - scene->_arrunkObj1337[1]._arr1[i]._object1.remove(); + scene->_arrunkObj1337[1]._arr1[i]._cardId = 0; + scene->_arrunkObj1337[1]._arr1[i]._card.remove(); } for (i = 0; i <= 7; i++) { - scene->_arrunkObj1337[3]._arr2[i]._field34 = 0; - scene->_arrunkObj1337[3]._arr2[i]._object1.remove(); + scene->_arrunkObj1337[3]._outpostStation[i]._cardId = 0; + scene->_arrunkObj1337[3]._outpostStation[i]._card.remove(); - scene->_arrunkObj1337[2]._arr2[i]._field34 = 0; - scene->_arrunkObj1337[2]._arr2[i]._object1.remove(); + scene->_arrunkObj1337[2]._outpostStation[i]._cardId = 0; + scene->_arrunkObj1337[2]._outpostStation[i]._card.remove(); - scene->_arrunkObj1337[0]._arr2[i]._field34 = 0; - scene->_arrunkObj1337[0]._arr2[i]._object1.remove(); + scene->_arrunkObj1337[0]._outpostStation[i]._cardId = 0; + scene->_arrunkObj1337[0]._outpostStation[i]._card.remove(); - scene->_arrunkObj1337[1]._arr2[i]._field34 = 0; - scene->_arrunkObj1337[1]._arr2[i]._object1.remove(); + scene->_arrunkObj1337[1]._outpostStation[i]._cardId = 0; + scene->_arrunkObj1337[1]._outpostStation[i]._card.remove(); } - scene->_arrunkObj1337[2]._arr3[0]._field34 = 0; - scene->_arrunkObj1337[2]._arr3[0]._object1.remove(); + scene->_arrunkObj1337[2]._arr3[0]._cardId = 0; + scene->_arrunkObj1337[2]._arr3[0]._card.remove(); - scene->_item7._field34 = 0; - scene->_item7._object1.remove(); + scene->_item7._cardId = 0; + scene->_item7._card.remove(); scene->_background2.remove(); } @@ -3048,33 +3050,33 @@ void Scene1337::Action2::signal() { switch (_actionIndex++) { case 0: - scene->_item3._object1.postInit(); - scene->_item3._object1.setVisage(1332); - scene->_item3._object1.setStrip(8); - scene->_item3._object1.setFrame(1); - scene->_item3._object1.fixPriority(300); - scene->_item3._object1.setPosition(Common::Point(156, 108)); + scene->_item3._card.postInit(); + scene->_item3._card.setVisage(1332); + scene->_item3._card.setStrip(8); + scene->_item3._card.setFrame(1); + scene->_item3._card.fixPriority(300); + scene->_item3._card.setPosition(Common::Point(156, 108)); - scene->_item7._object1.remove(); - scene->_item7._field34 = 0; + scene->_item7._card.remove(); + scene->_item7._cardId = 0; scene->_aSound1.play(60); - scene->_item3._object1.animate(ANIM_MODE_5, this); + scene->_item3._card.animate(ANIM_MODE_5, this); break; case 1: - scene->_item3._object1.setFrame(1); + scene->_item3._card.setFrame(1); scene->_aSound1.play(60); - scene->_item3._object1.animate(ANIM_MODE_5, this); + scene->_item3._card.animate(ANIM_MODE_5, this); break; case 2: { Common::Point pt(156, 108); NpcMover *mover = new NpcMover(); - scene->_item3._object1.addMover(mover, &pt, this); + scene->_item3._card.addMover(mover, &pt, this); } break; case 3: - scene->_item3._object1.remove(); + scene->_item3._card.remove(); scene->_background2.setup2(1332, 5, 1, 162, 95, 110, 1); scene->_field423C = 1; break; @@ -3086,256 +3088,256 @@ void Scene1337::Action2::signal() { void Scene1337::Action3::signal() { Scene1337 *scene = (Scene1337 *)R2_GLOBALS._sceneManager._scene; - scene->_item2._object1.setPosition(Common::Point(162, 95), 0); + scene->_item2._card.setPosition(Common::Point(162, 95), 0); switch (_actionIndex++) { case 0: { - scene->_item2._object1._moveDiff = Common::Point(30, 30); - scene->_item2._object1.setVisage(1332); - scene->_item2._object1.setStrip(5); - scene->_item2._object1.setFrame(1); - scene->_item2._object1.fixPriority(400); - scene->_item2._object1.animate(ANIM_MODE_2, NULL); + scene->_item2._card._moveDiff = Common::Point(30, 30); + scene->_item2._card.setVisage(1332); + scene->_item2._card.setStrip(5); + scene->_item2._card.setFrame(1); + scene->_item2._card.fixPriority(400); + scene->_item2._card.animate(ANIM_MODE_2, NULL); scene->_aSound2.play(61); Common::Point pt(283, 146); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &pt, this); + scene->_item2._card.addMover(mover, &pt, this); - scene->_item2._object1.show(); - scene->_arrunkObj1337[1]._arr1[0]._field34 = scene->_field3E28[scene->_field3E24]; + scene->_item2._card.show(); + scene->_arrunkObj1337[1]._arr1[0]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 1: { - scene->_arrunkObj1337[1]._arr1[0]._object1.postInit(); - scene->_arrunkObj1337[1]._arr1[0]._object1._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[1]._arr1[0]._object1.setVisage(1332); - scene->_arrunkObj1337[1]._arr1[0]._object1.setPosition(scene->_arrunkObj1337[1]._arr1[0]._field36, 0); - scene->_arrunkObj1337[1]._arr1[0]._object1.setStrip(1); - scene->_arrunkObj1337[1]._arr1[0]._object1.setFrame(4); - scene->_arrunkObj1337[1]._arr1[0]._object1.fixPriority(170); + scene->_arrunkObj1337[1]._arr1[0]._card.postInit(); + scene->_arrunkObj1337[1]._arr1[0]._card._moveDiff = Common::Point(30, 30); + scene->_arrunkObj1337[1]._arr1[0]._card.setVisage(1332); + scene->_arrunkObj1337[1]._arr1[0]._card.setPosition(scene->_arrunkObj1337[1]._arr1[0]._field36, 0); + scene->_arrunkObj1337[1]._arr1[0]._card.setStrip(1); + scene->_arrunkObj1337[1]._arr1[0]._card.setFrame(4); + scene->_arrunkObj1337[1]._arr1[0]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(10, 174); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &pt, this); + scene->_item2._card.addMover(mover, &pt, this); - scene->_arrunkObj1337[2]._arr1[0]._field34 = scene->_field3E28[scene->_field3E24]; + scene->_arrunkObj1337[2]._arr1[0]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 2: { - scene->_arrunkObj1337[2]._arr1[0]._object1.postInit(); - scene->_arrunkObj1337[2]._arr1[0]._object1._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[2]._arr1[0]._object1.setVisage(1332); - scene->_arrunkObj1337[2]._arr1[0]._object1.setPosition(scene->_arrunkObj1337[2]._arr1[0]._field36, 0); - scene->_arrunkObj1337[2]._arr1[0]._object1.fixPriority(170); - if (scene->_arrunkObj1337[2]._arr1[0]._field34 > 9) { - if (scene->_arrunkObj1337[2]._arr1[0]._field34 > 25) { - scene->_arrunkObj1337[2]._arr1[0]._object1.setStrip(4); - scene->_arrunkObj1337[2]._arr1[0]._object1.setFrame(scene->_arrunkObj1337[2]._arr1[0]._field34 - 25); + scene->_arrunkObj1337[2]._arr1[0]._card.postInit(); + scene->_arrunkObj1337[2]._arr1[0]._card._moveDiff = Common::Point(30, 30); + scene->_arrunkObj1337[2]._arr1[0]._card.setVisage(1332); + scene->_arrunkObj1337[2]._arr1[0]._card.setPosition(scene->_arrunkObj1337[2]._arr1[0]._field36, 0); + scene->_arrunkObj1337[2]._arr1[0]._card.fixPriority(170); + if (scene->_arrunkObj1337[2]._arr1[0]._cardId > 9) { + if (scene->_arrunkObj1337[2]._arr1[0]._cardId > 25) { + scene->_arrunkObj1337[2]._arr1[0]._card.setStrip(4); + scene->_arrunkObj1337[2]._arr1[0]._card.setFrame(scene->_arrunkObj1337[2]._arr1[0]._cardId - 25); } else { - scene->_arrunkObj1337[2]._arr1[0]._object1.setStrip(3); - scene->_arrunkObj1337[2]._arr1[0]._object1.setFrame(scene->_arrunkObj1337[2]._arr1[0]._field34 - 9); + scene->_arrunkObj1337[2]._arr1[0]._card.setStrip(3); + scene->_arrunkObj1337[2]._arr1[0]._card.setFrame(scene->_arrunkObj1337[2]._arr1[0]._cardId - 9); } } else { - scene->_arrunkObj1337[2]._arr1[0]._object1.setStrip(2); - scene->_arrunkObj1337[2]._arr1[0]._object1.setFrame(scene->_arrunkObj1337[2]._arr1[0]._field34); + scene->_arrunkObj1337[2]._arr1[0]._card.setStrip(2); + scene->_arrunkObj1337[2]._arr1[0]._card.setFrame(scene->_arrunkObj1337[2]._arr1[0]._cardId); } scene->_aSound2.play(61); Common::Point pt(14, 14); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &pt, this); + scene->_item2._card.addMover(mover, &pt, this); - scene->_arrunkObj1337[3]._arr1[0]._field34 = scene->_field3E28[scene->_field3E24]; + scene->_arrunkObj1337[3]._arr1[0]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 3: { - scene->_arrunkObj1337[3]._arr1[0]._object1.postInit(); - scene->_arrunkObj1337[3]._arr1[0]._object1._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[3]._arr1[0]._object1.setVisage(1332); - scene->_arrunkObj1337[3]._arr1[0]._object1.setPosition(scene->_arrunkObj1337[3]._arr1[0]._field36, 0); - scene->_arrunkObj1337[3]._arr1[0]._object1.setStrip(1); - scene->_arrunkObj1337[3]._arr1[0]._object1.setFrame(3); - scene->_arrunkObj1337[3]._arr1[0]._object1.fixPriority(170); + scene->_arrunkObj1337[3]._arr1[0]._card.postInit(); + scene->_arrunkObj1337[3]._arr1[0]._card._moveDiff = Common::Point(30, 30); + scene->_arrunkObj1337[3]._arr1[0]._card.setVisage(1332); + scene->_arrunkObj1337[3]._arr1[0]._card.setPosition(scene->_arrunkObj1337[3]._arr1[0]._field36, 0); + scene->_arrunkObj1337[3]._arr1[0]._card.setStrip(1); + scene->_arrunkObj1337[3]._arr1[0]._card.setFrame(3); + scene->_arrunkObj1337[3]._arr1[0]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(280, 5); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &pt, this); + scene->_item2._card.addMover(mover, &pt, this); - scene->_arrunkObj1337[0]._arr1[0]._field34 = scene->_field3E28[scene->_field3E24]; + scene->_arrunkObj1337[0]._arr1[0]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 4: { - scene->_arrunkObj1337[0]._arr1[0]._object1.postInit(); - scene->_arrunkObj1337[0]._arr1[0]._object1._moveDiff = Common::Point(30,30); - scene->_arrunkObj1337[0]._arr1[0]._object1.setVisage(1332); - scene->_arrunkObj1337[0]._arr1[0]._object1.setPosition(scene->_arrunkObj1337[0]._arr1[0]._field36, 0); - scene->_arrunkObj1337[0]._arr1[0]._object1.setStrip(5); - scene->_arrunkObj1337[0]._arr1[0]._object1.setFrame(1); - scene->_arrunkObj1337[0]._arr1[0]._object1.fixPriority(170); + scene->_arrunkObj1337[0]._arr1[0]._card.postInit(); + scene->_arrunkObj1337[0]._arr1[0]._card._moveDiff = Common::Point(30,30); + scene->_arrunkObj1337[0]._arr1[0]._card.setVisage(1332); + scene->_arrunkObj1337[0]._arr1[0]._card.setPosition(scene->_arrunkObj1337[0]._arr1[0]._field36, 0); + scene->_arrunkObj1337[0]._arr1[0]._card.setStrip(5); + scene->_arrunkObj1337[0]._arr1[0]._card.setFrame(1); + scene->_arrunkObj1337[0]._arr1[0]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(283, 124); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &pt, this); + scene->_item2._card.addMover(mover, &pt, this); - scene->_arrunkObj1337[1]._arr1[1]._field34 = scene->_field3E28[scene->_field3E24]; + scene->_arrunkObj1337[1]._arr1[1]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 5: { - scene->_arrunkObj1337[1]._arr1[1]._object1.postInit(); - scene->_arrunkObj1337[1]._arr1[1]._object1._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[1]._arr1[1]._object1.setVisage(1332); - scene->_arrunkObj1337[1]._arr1[1]._object1.setPosition(scene->_arrunkObj1337[1]._arr1[1]._field36, 0); - scene->_arrunkObj1337[1]._arr1[1]._object1.setStrip(1); - scene->_arrunkObj1337[1]._arr1[1]._object1.setFrame(4); - scene->_arrunkObj1337[1]._arr1[1]._object1.fixPriority(170); + scene->_arrunkObj1337[1]._arr1[1]._card.postInit(); + scene->_arrunkObj1337[1]._arr1[1]._card._moveDiff = Common::Point(30, 30); + scene->_arrunkObj1337[1]._arr1[1]._card.setVisage(1332); + scene->_arrunkObj1337[1]._arr1[1]._card.setPosition(scene->_arrunkObj1337[1]._arr1[1]._field36, 0); + scene->_arrunkObj1337[1]._arr1[1]._card.setStrip(1); + scene->_arrunkObj1337[1]._arr1[1]._card.setFrame(4); + scene->_arrunkObj1337[1]._arr1[1]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(37, 174); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &pt, this); + scene->_item2._card.addMover(mover, &pt, this); - scene->_arrunkObj1337[2]._arr1[1]._field34 = scene->_field3E28[scene->_field3E24]; + scene->_arrunkObj1337[2]._arr1[1]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 6: { - scene->_arrunkObj1337[2]._arr1[1]._object1.postInit(); - scene->_arrunkObj1337[2]._arr1[1]._object1._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[2]._arr1[1]._object1.setVisage(1332); - scene->_arrunkObj1337[2]._arr1[1]._object1.setPosition(scene->_arrunkObj1337[2]._arr1[1]._field36, 0); - scene->_arrunkObj1337[2]._arr1[1]._object1.fixPriority(170); - - if (scene->_arrunkObj1337[2]._arr1[1]._field34 > 9) { - if (scene->_arrunkObj1337[2]._arr1[1]._field34 > 25) { - scene->_arrunkObj1337[2]._arr1[1]._object1.setStrip(4); - scene->_arrunkObj1337[2]._arr1[1]._object1.setFrame(scene->_arrunkObj1337[2]._arr1[1]._field34 - 25); + scene->_arrunkObj1337[2]._arr1[1]._card.postInit(); + scene->_arrunkObj1337[2]._arr1[1]._card._moveDiff = Common::Point(30, 30); + scene->_arrunkObj1337[2]._arr1[1]._card.setVisage(1332); + scene->_arrunkObj1337[2]._arr1[1]._card.setPosition(scene->_arrunkObj1337[2]._arr1[1]._field36, 0); + scene->_arrunkObj1337[2]._arr1[1]._card.fixPriority(170); + + if (scene->_arrunkObj1337[2]._arr1[1]._cardId > 9) { + if (scene->_arrunkObj1337[2]._arr1[1]._cardId > 25) { + scene->_arrunkObj1337[2]._arr1[1]._card.setStrip(4); + scene->_arrunkObj1337[2]._arr1[1]._card.setFrame(scene->_arrunkObj1337[2]._arr1[1]._cardId - 25); } else { - scene->_arrunkObj1337[2]._arr1[1]._object1.setStrip(3); - scene->_arrunkObj1337[2]._arr1[1]._object1.setFrame(scene->_arrunkObj1337[2]._arr1[1]._field34 - 9); + scene->_arrunkObj1337[2]._arr1[1]._card.setStrip(3); + scene->_arrunkObj1337[2]._arr1[1]._card.setFrame(scene->_arrunkObj1337[2]._arr1[1]._cardId - 9); } } else { - scene->_arrunkObj1337[2]._arr1[1]._object1.setStrip(2); - scene->_arrunkObj1337[2]._arr1[1]._object1.setFrame(scene->_arrunkObj1337[2]._arr1[1]._field34); + scene->_arrunkObj1337[2]._arr1[1]._card.setStrip(2); + scene->_arrunkObj1337[2]._arr1[1]._card.setFrame(scene->_arrunkObj1337[2]._arr1[1]._cardId); } scene->_aSound2.play(61); Common::Point pt(14, 36); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &pt, this); + scene->_item2._card.addMover(mover, &pt, this); - scene->_arrunkObj1337[3]._arr1[1]._field34 = scene->_field3E28[scene->_field3E24]; + scene->_arrunkObj1337[3]._arr1[1]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 7: { - scene->_arrunkObj1337[3]._arr1[1]._object1.postInit(); - scene->_arrunkObj1337[3]._arr1[1]._object1._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[3]._arr1[1]._object1.setVisage(1332); - scene->_arrunkObj1337[3]._arr1[1]._object1.setPosition(scene->_arrunkObj1337[3]._arr1[1]._field36); - scene->_arrunkObj1337[3]._arr1[1]._object1.setStrip(1); - scene->_arrunkObj1337[3]._arr1[1]._object1.setFrame(3); - scene->_arrunkObj1337[3]._arr1[1]._object1.fixPriority(170); + scene->_arrunkObj1337[3]._arr1[1]._card.postInit(); + scene->_arrunkObj1337[3]._arr1[1]._card._moveDiff = Common::Point(30, 30); + scene->_arrunkObj1337[3]._arr1[1]._card.setVisage(1332); + scene->_arrunkObj1337[3]._arr1[1]._card.setPosition(scene->_arrunkObj1337[3]._arr1[1]._field36); + scene->_arrunkObj1337[3]._arr1[1]._card.setStrip(1); + scene->_arrunkObj1337[3]._arr1[1]._card.setFrame(3); + scene->_arrunkObj1337[3]._arr1[1]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(253, 5); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &pt, this); + scene->_item2._card.addMover(mover, &pt, this); - scene->_arrunkObj1337[0]._arr1[1]._field34 = scene->_field3E28[scene->_field3E24]; + scene->_arrunkObj1337[0]._arr1[1]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 8: { - scene->_arrunkObj1337[0]._arr1[1]._object1.postInit(); - scene->_arrunkObj1337[0]._arr1[1]._object1._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[0]._arr1[1]._object1.setVisage(1332); - scene->_arrunkObj1337[0]._arr1[1]._object1.setPosition(scene->_arrunkObj1337[0]._arr1[1]._field36, 0); - scene->_arrunkObj1337[0]._arr1[1]._object1.setStrip(5); - scene->_arrunkObj1337[0]._arr1[1]._object1.setFrame(1); - scene->_arrunkObj1337[0]._arr1[1]._object1.fixPriority(170); + scene->_arrunkObj1337[0]._arr1[1]._card.postInit(); + scene->_arrunkObj1337[0]._arr1[1]._card._moveDiff = Common::Point(30, 30); + scene->_arrunkObj1337[0]._arr1[1]._card.setVisage(1332); + scene->_arrunkObj1337[0]._arr1[1]._card.setPosition(scene->_arrunkObj1337[0]._arr1[1]._field36, 0); + scene->_arrunkObj1337[0]._arr1[1]._card.setStrip(5); + scene->_arrunkObj1337[0]._arr1[1]._card.setFrame(1); + scene->_arrunkObj1337[0]._arr1[1]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(283, 102); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &pt, this); + scene->_item2._card.addMover(mover, &pt, this); - scene->_arrunkObj1337[1]._arr1[2]._field34 = scene->_field3E28[scene->_field3E24]; + scene->_arrunkObj1337[1]._arr1[2]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 9: { - scene->_arrunkObj1337[1]._arr1[2]._object1.postInit(); - scene->_arrunkObj1337[1]._arr1[2]._object1._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[1]._arr1[2]._object1.setVisage(1332); - scene->_arrunkObj1337[1]._arr1[2]._object1.setPosition(scene->_arrunkObj1337[1]._arr1[2]._field36, 0); - scene->_arrunkObj1337[1]._arr1[2]._object1.setStrip(1); - scene->_arrunkObj1337[1]._arr1[2]._object1.setFrame(4); - scene->_arrunkObj1337[1]._arr1[2]._object1.fixPriority(170); + scene->_arrunkObj1337[1]._arr1[2]._card.postInit(); + scene->_arrunkObj1337[1]._arr1[2]._card._moveDiff = Common::Point(30, 30); + scene->_arrunkObj1337[1]._arr1[2]._card.setVisage(1332); + scene->_arrunkObj1337[1]._arr1[2]._card.setPosition(scene->_arrunkObj1337[1]._arr1[2]._field36, 0); + scene->_arrunkObj1337[1]._arr1[2]._card.setStrip(1); + scene->_arrunkObj1337[1]._arr1[2]._card.setFrame(4); + scene->_arrunkObj1337[1]._arr1[2]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(64, 174); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &pt, this); + scene->_item2._card.addMover(mover, &pt, this); - scene->_arrunkObj1337[2]._arr1[2]._field34 = scene->_field3E28[scene->_field3E24]; + scene->_arrunkObj1337[2]._arr1[2]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 10: { - scene->_arrunkObj1337[2]._arr1[2]._object1.postInit(); - scene->_arrunkObj1337[2]._arr1[2]._object1._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[2]._arr1[2]._object1.setVisage(1332); - scene->_arrunkObj1337[2]._arr1[2]._object1.setPosition(scene->_arrunkObj1337[2]._arr1[2]._field36, 0); - scene->_arrunkObj1337[2]._arr1[2]._object1.fixPriority(170); - - if (scene->_arrunkObj1337[2]._arr1[2]._field34 > 9) { - if (scene->_arrunkObj1337[2]._arr1[2]._field34 > 25) { - scene->_arrunkObj1337[2]._arr1[2]._object1.setStrip(4); - scene->_arrunkObj1337[2]._arr1[2]._object1.setFrame(scene->_arrunkObj1337[2]._arr1[2]._field34 - 25); + scene->_arrunkObj1337[2]._arr1[2]._card.postInit(); + scene->_arrunkObj1337[2]._arr1[2]._card._moveDiff = Common::Point(30, 30); + scene->_arrunkObj1337[2]._arr1[2]._card.setVisage(1332); + scene->_arrunkObj1337[2]._arr1[2]._card.setPosition(scene->_arrunkObj1337[2]._arr1[2]._field36, 0); + scene->_arrunkObj1337[2]._arr1[2]._card.fixPriority(170); + + if (scene->_arrunkObj1337[2]._arr1[2]._cardId > 9) { + if (scene->_arrunkObj1337[2]._arr1[2]._cardId > 25) { + scene->_arrunkObj1337[2]._arr1[2]._card.setStrip(4); + scene->_arrunkObj1337[2]._arr1[2]._card.setFrame(scene->_arrunkObj1337[2]._arr1[2]._cardId - 25); } else { - scene->_arrunkObj1337[2]._arr1[2]._object1.setStrip(3); - scene->_arrunkObj1337[2]._arr1[2]._object1.setFrame(scene->_arrunkObj1337[2]._arr1[2]._field34 - 9); + scene->_arrunkObj1337[2]._arr1[2]._card.setStrip(3); + scene->_arrunkObj1337[2]._arr1[2]._card.setFrame(scene->_arrunkObj1337[2]._arr1[2]._cardId - 9); } } else { - scene->_arrunkObj1337[2]._arr1[2]._object1.setStrip(2); - scene->_arrunkObj1337[2]._arr1[2]._object1.setFrame(scene->_arrunkObj1337[2]._arr1[2]._field34); + scene->_arrunkObj1337[2]._arr1[2]._card.setStrip(2); + scene->_arrunkObj1337[2]._arr1[2]._card.setFrame(scene->_arrunkObj1337[2]._arr1[2]._cardId); } scene->_aSound2.play(61); Common::Point pt(14, 58); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &pt, this); + scene->_item2._card.addMover(mover, &pt, this); - scene->_arrunkObj1337[3]._arr1[2]._field34 = scene->_field3E28[scene->_field3E24]; + scene->_arrunkObj1337[3]._arr1[2]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 11: { - scene->_arrunkObj1337[3]._arr1[2]._object1.postInit(); - scene->_arrunkObj1337[3]._arr1[2]._object1._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[3]._arr1[2]._object1.setVisage(1332); - scene->_arrunkObj1337[3]._arr1[2]._object1.setPosition(scene->_arrunkObj1337[3]._arr1[2]._field36, 0); - scene->_arrunkObj1337[3]._arr1[2]._object1.setStrip(1); - scene->_arrunkObj1337[3]._arr1[2]._object1.setFrame(3); - scene->_arrunkObj1337[3]._arr1[2]._object1.fixPriority(170); + scene->_arrunkObj1337[3]._arr1[2]._card.postInit(); + scene->_arrunkObj1337[3]._arr1[2]._card._moveDiff = Common::Point(30, 30); + scene->_arrunkObj1337[3]._arr1[2]._card.setVisage(1332); + scene->_arrunkObj1337[3]._arr1[2]._card.setPosition(scene->_arrunkObj1337[3]._arr1[2]._field36, 0); + scene->_arrunkObj1337[3]._arr1[2]._card.setStrip(1); + scene->_arrunkObj1337[3]._arr1[2]._card.setFrame(3); + scene->_arrunkObj1337[3]._arr1[2]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(226, 5); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &pt, this); + scene->_item2._card.addMover(mover, &pt, this); - scene->_arrunkObj1337[0]._arr1[2]._field34 = scene->_field3E28[scene->_field3E24]; + scene->_arrunkObj1337[0]._arr1[2]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 12: - scene->_arrunkObj1337[0]._arr1[2]._object1.postInit(); - scene->_arrunkObj1337[0]._arr1[2]._object1._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[0]._arr1[2]._object1.setVisage(1332); - scene->_arrunkObj1337[0]._arr1[2]._object1.setPosition(scene->_arrunkObj1337[0]._arr1[2]._field36, 0); - scene->_arrunkObj1337[0]._arr1[2]._object1.setStrip(5); - scene->_arrunkObj1337[0]._arr1[2]._object1.setFrame(1); - scene->_arrunkObj1337[0]._arr1[2]._object1.fixPriority(170); - scene->_arrunkObj1337[0]._arr1[2]._object1.hide(); + scene->_arrunkObj1337[0]._arr1[2]._card.postInit(); + scene->_arrunkObj1337[0]._arr1[2]._card._moveDiff = Common::Point(30, 30); + scene->_arrunkObj1337[0]._arr1[2]._card.setVisage(1332); + scene->_arrunkObj1337[0]._arr1[2]._card.setPosition(scene->_arrunkObj1337[0]._arr1[2]._field36, 0); + scene->_arrunkObj1337[0]._arr1[2]._card.setStrip(5); + scene->_arrunkObj1337[0]._arr1[2]._card.setFrame(1); + scene->_arrunkObj1337[0]._arr1[2]._card.fixPriority(170); + scene->_arrunkObj1337[0]._arr1[2]._card.hide(); default: break; } @@ -3356,17 +3358,17 @@ void Scene1337::Action4::signal() { switch (_actionIndex++) { case 0: - if ((scene->_arrunkObj1337[scene->_field423E]._arr1[0]._field34 == 0) && (scene->subC264B(scene->_arrunkObj1337[scene->_field423E]._arr3[0]._field34))) { + if ((scene->_arrunkObj1337[scene->_field423E]._arr1[0]._cardId == 0) && (scene->subC264B(scene->_arrunkObj1337[scene->_field423E]._arr3[0]._cardId))) { if (scene->_field3E24 < 0) - scene->subC264B(scene->_arrunkObj1337[scene->_field423E]._arr3[0]._field34); - scene->_item2._object1.setPosition(Common::Point(162, 95), 0); - scene->_item2._object1.show(); + scene->subC264B(scene->_arrunkObj1337[scene->_field423E]._arr3[0]._cardId); + scene->_item2._card.setPosition(Common::Point(162, 95), 0); + scene->_item2._card.show(); scene->_aSound2.play(61); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_arrunkObj1337[scene->_field423E]._fieldB94, this); + scene->_item2._card.addMover(mover, &scene->_arrunkObj1337[scene->_field423E]._fieldB94, this); - scene->_arrunkObj1337[scene->_field423E]._arr1[0]._field34 = scene->_field3E28[scene->_field3E24]; + scene->_arrunkObj1337[scene->_field423E]._arr1[0]._cardId = scene->_field3E28[scene->_field3E24]; scene->_field3E28[scene->_field3E24] = 0; scene->_field3E24--; @@ -3378,33 +3380,33 @@ void Scene1337::Action4::signal() { } break; case 1: - if ( ( scene->_item2._object1._position.x == scene->_arrunkObj1337[scene->_field423E]._fieldB94.x) - && ( scene->_item2._object1._position.y == scene->_arrunkObj1337[scene->_field423E]._fieldB94.y) ) { - scene->_arrunkObj1337[scene->_field423E]._arr1[0]._object1.postInit(); - scene->_arrunkObj1337[scene->_field423E]._arr1[0]._object1._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[scene->_field423E]._arr1[0]._object1.setVisage(1332); - scene->_arrunkObj1337[scene->_field423E]._arr1[0]._object1.setPosition(scene->_arrunkObj1337[scene->_field423E]._arr1[0]._field36, 0); - scene->_arrunkObj1337[scene->_field423E]._arr1[0]._object1.setStrip(1); - scene->_arrunkObj1337[scene->_field423E]._arr1[0]._object1.setFrame(scene->_arrunkObj1337[scene->_field423E]._fieldBA4); - scene->_arrunkObj1337[scene->_field423E]._arr1[0]._object1.fixPriority(170); + if ( ( scene->_item2._card._position.x == scene->_arrunkObj1337[scene->_field423E]._fieldB94.x) + && ( scene->_item2._card._position.y == scene->_arrunkObj1337[scene->_field423E]._fieldB94.y) ) { + scene->_arrunkObj1337[scene->_field423E]._arr1[0]._card.postInit(); + scene->_arrunkObj1337[scene->_field423E]._arr1[0]._card._moveDiff = Common::Point(30, 30); + scene->_arrunkObj1337[scene->_field423E]._arr1[0]._card.setVisage(1332); + scene->_arrunkObj1337[scene->_field423E]._arr1[0]._card.setPosition(scene->_arrunkObj1337[scene->_field423E]._arr1[0]._field36, 0); + scene->_arrunkObj1337[scene->_field423E]._arr1[0]._card.setStrip(1); + scene->_arrunkObj1337[scene->_field423E]._arr1[0]._card.setFrame(scene->_arrunkObj1337[scene->_field423E]._fieldBA4); + scene->_arrunkObj1337[scene->_field423E]._arr1[0]._card.fixPriority(170); } if ((scene->_field4248 == 1) || (scene->_field423E == 2)) scene->setAnimationInfo(&scene->_arrunkObj1337[scene->_field423E]._arr1[0]); - scene->_item2._object1.hide(); - if ((scene->_arrunkObj1337[scene->_field423E]._arr1[0]._field34 == 0) && (scene->subC264B(scene->_arrunkObj1337[scene->_field423E]._arr3[0]._field34 == 0))) { + scene->_item2._card.hide(); + if ((scene->_arrunkObj1337[scene->_field423E]._arr1[0]._cardId == 0) && (scene->subC264B(scene->_arrunkObj1337[scene->_field423E]._arr3[0]._cardId == 0))) { if (scene->_field3E24 < 0) scene->shuffleCards(); - scene->_item2._object1.setPosition(Common::Point(162, 95)); - scene->_item2._object1.show(); + scene->_item2._card.setPosition(Common::Point(162, 95)); + scene->_item2._card.show(); scene->_aSound2.play(61); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_arrunkObj1337[scene->_field423E]._fieldB98, this); + scene->_item2._card.addMover(mover, &scene->_arrunkObj1337[scene->_field423E]._fieldB98, this); - scene->_arrunkObj1337[scene->_field423E]._arr1[1]._field34 = scene->_field3E28[scene->_field3E24]; + scene->_arrunkObj1337[scene->_field423E]._arr1[1]._cardId = scene->_field3E28[scene->_field3E24]; scene->_field3E28[scene->_field3E24] = 0; scene->_field3E24--; if (scene->_field3E24 < 0) @@ -3413,33 +3415,33 @@ void Scene1337::Action4::signal() { signal(); break; case 2: - if ( ( scene->_item2._object1._position.x == scene->_arrunkObj1337[scene->_field423E]._fieldB98.x) - && ( scene->_item2._object1._position.y == scene->_arrunkObj1337[scene->_field423E]._fieldB98.y) ) { - scene->_arrunkObj1337[scene->_field423E]._arr1[1]._object1.postInit(); - scene->_arrunkObj1337[scene->_field423E]._arr1[1]._object1._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[scene->_field423E]._arr1[1]._object1.setVisage(1332); - scene->_arrunkObj1337[scene->_field423E]._arr1[1]._object1.setPosition(scene->_arrunkObj1337[scene->_field423E]._arr1[1]._field36, 0); - scene->_arrunkObj1337[scene->_field423E]._arr1[1]._object1.setStrip(1); - scene->_arrunkObj1337[scene->_field423E]._arr1[1]._object1.setFrame(scene->_arrunkObj1337[scene->_field423E]._fieldBA4); - scene->_arrunkObj1337[scene->_field423E]._arr1[1]._object1.fixPriority(170); + if ( ( scene->_item2._card._position.x == scene->_arrunkObj1337[scene->_field423E]._fieldB98.x) + && ( scene->_item2._card._position.y == scene->_arrunkObj1337[scene->_field423E]._fieldB98.y) ) { + scene->_arrunkObj1337[scene->_field423E]._arr1[1]._card.postInit(); + scene->_arrunkObj1337[scene->_field423E]._arr1[1]._card._moveDiff = Common::Point(30, 30); + scene->_arrunkObj1337[scene->_field423E]._arr1[1]._card.setVisage(1332); + scene->_arrunkObj1337[scene->_field423E]._arr1[1]._card.setPosition(scene->_arrunkObj1337[scene->_field423E]._arr1[1]._field36, 0); + scene->_arrunkObj1337[scene->_field423E]._arr1[1]._card.setStrip(1); + scene->_arrunkObj1337[scene->_field423E]._arr1[1]._card.setFrame(scene->_arrunkObj1337[scene->_field423E]._fieldBA4); + scene->_arrunkObj1337[scene->_field423E]._arr1[1]._card.fixPriority(170); } if ((scene->_field4248 == 1) || (scene->_field423E == 2)) scene->setAnimationInfo(&scene->_arrunkObj1337[scene->_field423E]._arr1[1]); - scene->_item2._object1.hide(); - if ((scene->_arrunkObj1337[scene->_field423E]._arr1[2]._field34 == 0) && (scene->subC264B(scene->_arrunkObj1337[scene->_field423E]._arr3[0]._field34 == 0))) { + scene->_item2._card.hide(); + if ((scene->_arrunkObj1337[scene->_field423E]._arr1[2]._cardId == 0) && (scene->subC264B(scene->_arrunkObj1337[scene->_field423E]._arr3[0]._cardId == 0))) { if (scene->_field3E24 < 0) scene->shuffleCards(); - scene->_item2._object1.setPosition(Common::Point(162, 95)); - scene->_item2._object1.show(); + scene->_item2._card.setPosition(Common::Point(162, 95)); + scene->_item2._card.show(); scene->_aSound2.play(61); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_arrunkObj1337[scene->_field423E]._fieldB9C, this); + scene->_item2._card.addMover(mover, &scene->_arrunkObj1337[scene->_field423E]._fieldB9C, this); - scene->_arrunkObj1337[scene->_field423E]._arr1[2]._field34 = scene->_field3E28[scene->_field3E24]; + scene->_arrunkObj1337[scene->_field423E]._arr1[2]._cardId = scene->_field3E28[scene->_field3E24]; scene->_field3E28[scene->_field3E24] = 0; scene->_field3E24--; if (scene->_field3E24 < 0) @@ -3448,33 +3450,33 @@ void Scene1337::Action4::signal() { signal(); break; case 3: - if ( ( scene->_item2._object1._position.x == scene->_arrunkObj1337[scene->_field423E]._fieldB9C.x) - && ( scene->_item2._object1._position.y == scene->_arrunkObj1337[scene->_field423E]._fieldB9C.y) ) { - scene->_arrunkObj1337[scene->_field423E]._arr1[2]._object1.postInit(); - scene->_arrunkObj1337[scene->_field423E]._arr1[2]._object1._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[scene->_field423E]._arr1[2]._object1.setVisage(1332); - scene->_arrunkObj1337[scene->_field423E]._arr1[2]._object1.setPosition(scene->_arrunkObj1337[scene->_field423E]._arr1[2]._field36, 0); - scene->_arrunkObj1337[scene->_field423E]._arr1[2]._object1.setStrip(1); - scene->_arrunkObj1337[scene->_field423E]._arr1[2]._object1.setFrame(scene->_arrunkObj1337[scene->_field423E]._fieldBA4); - scene->_arrunkObj1337[scene->_field423E]._arr1[2]._object1.fixPriority(170); + if ( ( scene->_item2._card._position.x == scene->_arrunkObj1337[scene->_field423E]._fieldB9C.x) + && ( scene->_item2._card._position.y == scene->_arrunkObj1337[scene->_field423E]._fieldB9C.y) ) { + scene->_arrunkObj1337[scene->_field423E]._arr1[2]._card.postInit(); + scene->_arrunkObj1337[scene->_field423E]._arr1[2]._card._moveDiff = Common::Point(30, 30); + scene->_arrunkObj1337[scene->_field423E]._arr1[2]._card.setVisage(1332); + scene->_arrunkObj1337[scene->_field423E]._arr1[2]._card.setPosition(scene->_arrunkObj1337[scene->_field423E]._arr1[2]._field36, 0); + scene->_arrunkObj1337[scene->_field423E]._arr1[2]._card.setStrip(1); + scene->_arrunkObj1337[scene->_field423E]._arr1[2]._card.setFrame(scene->_arrunkObj1337[scene->_field423E]._fieldBA4); + scene->_arrunkObj1337[scene->_field423E]._arr1[2]._card.fixPriority(170); } if ((scene->_field4248 == 1) || (scene->_field423E == 2)) scene->setAnimationInfo(&scene->_arrunkObj1337[scene->_field423E]._arr1[2]); - scene->_item2._object1.hide(); - if ((scene->_arrunkObj1337[scene->_field423E]._arr1[3]._field34 == 0) && (scene->subC264B(scene->_arrunkObj1337[scene->_field423E]._arr3[0]._field34 == 0))) { + scene->_item2._card.hide(); + if ((scene->_arrunkObj1337[scene->_field423E]._arr1[3]._cardId == 0) && (scene->subC264B(scene->_arrunkObj1337[scene->_field423E]._arr3[0]._cardId == 0))) { if (scene->_field3E24 < 0) scene->shuffleCards(); - scene->_item2._object1.setPosition(Common::Point(162, 95)); - scene->_item2._object1.show(); + scene->_item2._card.setPosition(Common::Point(162, 95)); + scene->_item2._card.show(); scene->_aSound2.play(61); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_arrunkObj1337[scene->_field423E]._fieldBA0, this); + scene->_item2._card.addMover(mover, &scene->_arrunkObj1337[scene->_field423E]._fieldBA0, this); - scene->_arrunkObj1337[scene->_field423E]._arr1[3]._field34 = scene->_field3E28[scene->_field3E24]; + scene->_arrunkObj1337[scene->_field423E]._arr1[3]._cardId = scene->_field3E28[scene->_field3E24]; scene->_field3E28[scene->_field3E24] = 0; scene->_field3E24--; if (scene->_field3E24 < 0) @@ -3483,21 +3485,21 @@ void Scene1337::Action4::signal() { signal(); break; case 4: - if ( ( scene->_item2._object1._position.x == scene->_arrunkObj1337[scene->_field423E]._fieldBA0.x) - && ( scene->_item2._object1._position.y == scene->_arrunkObj1337[scene->_field423E]._fieldBA0.y) ) { - scene->_arrunkObj1337[scene->_field423E]._arr1[3]._object1.postInit(); - scene->_arrunkObj1337[scene->_field423E]._arr1[3]._object1._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[scene->_field423E]._arr1[3]._object1.setVisage(1332); - scene->_arrunkObj1337[scene->_field423E]._arr1[3]._object1.setPosition(scene->_arrunkObj1337[scene->_field423E]._arr1[3]._field36, 0); - scene->_arrunkObj1337[scene->_field423E]._arr1[3]._object1.setStrip(1); - scene->_arrunkObj1337[scene->_field423E]._arr1[3]._object1.setFrame(scene->_arrunkObj1337[scene->_field423E]._fieldBA4); - scene->_arrunkObj1337[scene->_field423E]._arr1[3]._object1.fixPriority(170); + if ( ( scene->_item2._card._position.x == scene->_arrunkObj1337[scene->_field423E]._fieldBA0.x) + && ( scene->_item2._card._position.y == scene->_arrunkObj1337[scene->_field423E]._fieldBA0.y) ) { + scene->_arrunkObj1337[scene->_field423E]._arr1[3]._card.postInit(); + scene->_arrunkObj1337[scene->_field423E]._arr1[3]._card._moveDiff = Common::Point(30, 30); + scene->_arrunkObj1337[scene->_field423E]._arr1[3]._card.setVisage(1332); + scene->_arrunkObj1337[scene->_field423E]._arr1[3]._card.setPosition(scene->_arrunkObj1337[scene->_field423E]._arr1[3]._field36, 0); + scene->_arrunkObj1337[scene->_field423E]._arr1[3]._card.setStrip(1); + scene->_arrunkObj1337[scene->_field423E]._arr1[3]._card.setFrame(scene->_arrunkObj1337[scene->_field423E]._fieldBA4); + scene->_arrunkObj1337[scene->_field423E]._arr1[3]._card.fixPriority(170); } if ((scene->_field4248 == 1) || (scene->_field423E == 2)) scene->setAnimationInfo(&scene->_arrunkObj1337[scene->_field423E]._arr1[3]); - scene->_item2._object1.hide(); + scene->_item2._card.hide(); switch (scene->_field423E) { case 0: scene->subCF979(); @@ -3525,33 +3527,33 @@ void Scene1337::Action5::signal() { switch (_actionIndex++) { case 0: { - scene->_field3E28[scene->_field3E26] = scene->_field3EF0->_field34; + scene->_field3E28[scene->_field3E26] = scene->_field3EF0->_cardId; scene->_field3E26--; - if (!g_globals->_sceneObjects->contains(&scene->_item7._object1)) { - scene->_item7._object1.postInit(); - scene->_item7._object1.hide(); - scene->_item7._object1.setVisage(1332); - scene->_item7._object1.setPosition(scene->_item7._field36, 0); - scene->_item7._object1.fixPriority(170); + if (!g_globals->_sceneObjects->contains(&scene->_item7._card)) { + scene->_item7._card.postInit(); + scene->_item7._card.hide(); + scene->_item7._card.setVisage(1332); + scene->_item7._card.setPosition(scene->_item7._field36, 0); + scene->_item7._card.fixPriority(170); } - scene->_item7._field34 = scene->_field3EF0->_field34; - scene->_field3EF0->_field34 = 0; - scene->_field3EF0->_object1.remove(); + scene->_item7._cardId = scene->_field3EF0->_cardId; + scene->_field3EF0->_cardId = 0; + scene->_field3EF0->_card.remove(); if (scene->_field3EF0 == &scene->_item6) { scene->setCursorData(5, 1, 4); scene->subC4CEC(); } - scene->_item2._object1.setPosition(scene->_field3EF0->_field36, 0); - scene->_item2._object1.show(); + scene->_item2._card.setPosition(scene->_field3EF0->_field36, 0); + scene->_item2._card.show(); Common::Point pt(128, 95); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &pt, this); + scene->_item2._card.addMover(mover, &pt, this); } break; case 1: - scene->_item2._object1.hide(); + scene->_item2._card.hide(); scene->setAnimationInfo(&scene->_item7); scene->_aSound2.play(61); scene->subC20F9(); @@ -3566,25 +3568,25 @@ void Scene1337::Action6::signal() { switch (_actionIndex++) { case 0: { - scene->_field3EF4->_field34 = 1; - scene->_field3EF4->_object1.postInit(); - scene->_field3EF4->_object1.hide(); - scene->_field3EF4->_object1.setVisage(1332); - scene->_field3EF4->_object1.setPosition(scene->_field3EF4->_field36); - scene->_field3EF4->_object1.fixPriority(170); + scene->_field3EF4->_cardId = 1; + scene->_field3EF4->_card.postInit(); + scene->_field3EF4->_card.hide(); + scene->_field3EF4->_card.setVisage(1332); + scene->_field3EF4->_card.setPosition(scene->_field3EF4->_field36); + scene->_field3EF4->_card.fixPriority(170); - scene->_field3EF0->_field34 = 0; - scene->_field3EF0->_object1.remove(); + scene->_field3EF0->_cardId = 0; + scene->_field3EF0->_card.remove(); - scene->_item2._object1.setPosition(scene->_field3EF0->_field36); - scene->_item2._object1.show(); + scene->_item2._card.setPosition(scene->_field3EF0->_field36); + scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_field3EF4->_field36, this); + scene->_item2._card.addMover(mover, &scene->_field3EF4->_field36, this); } break; case 1: - scene->_item2._object1.hide(); + scene->_item2._card.hide(); scene->setAnimationInfo(scene->_field3EF4); scene->_aSound1.play(59); if (scene->_field3EF0 == &scene->_item6) { @@ -3603,15 +3605,15 @@ void Scene1337::Action7::signal() { switch (_actionIndex++) { case 0: { - scene->_field3EF4->_field34 = scene->_field3EF0->_field34; + scene->_field3EF4->_cardId = scene->_field3EF0->_cardId; - scene->_field3EF0->_field34 = 0; - scene->_field3EF0->_object1.remove(); + scene->_field3EF0->_cardId = 0; + scene->_field3EF0->_card.remove(); - scene->_item2._object1.setPosition(scene->_field3EF0->_field36, 0); - scene->_item2._object1.show(); + scene->_item2._card.setPosition(scene->_field3EF0->_field36, 0); + scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_field3EF4->_field36, this); + scene->_item2._card.addMover(mover, &scene->_field3EF4->_field36, this); } break; case 1: @@ -3621,12 +3623,12 @@ void Scene1337::Action7::signal() { } scene->setAnimationInfo(scene->_field3EF4); scene->_aSound1.play(59); - scene->_item5._field34 = 1; + scene->_item5._cardId = 1; scene->_item5._field36.x = scene->_field3EF4->_field36.x; scene->_item5._field36.y = scene->_field3EF4->_field36.y; - scene->_item5._object1.postInit(); - scene->_item5._object1.hide(); - scene->_item5._object1._flags = 0x200; + scene->_item5._card.postInit(); + scene->_item5._card.hide(); + scene->_item5._card._flags = 0x200; scene->subC4A39(&scene->_item5); break; @@ -3640,21 +3642,21 @@ void Scene1337::Action8::signal() { switch (_actionIndex++) { case 0: { - scene->_field3E28[scene->_field3E26] = scene->_field3EF4->_field34; + scene->_field3E28[scene->_field3E26] = scene->_field3EF4->_cardId; scene->_field3E26--; - scene->_field3EF4->_field34 = scene->_field3EF0->_field34; - scene->_field3EF0->_object1.remove(); + scene->_field3EF4->_cardId = scene->_field3EF0->_cardId; + scene->_field3EF0->_card.remove(); - scene->_item2._object1.setPosition(scene->_field3EF0->_field36, 0); - scene->_item2._object1.show(); + scene->_item2._card.setPosition(scene->_field3EF0->_field36, 0); + scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_field3EF4->_field36, this); + scene->_item2._card.addMover(mover, &scene->_field3EF4->_field36, this); } break; case 1: - scene->_item2._object1.hide(); + scene->_item2._card.hide(); if (scene->_field3EF0 == &scene->_item6) { scene->setCursorData(5, 1, 4); @@ -3674,25 +3676,25 @@ void Scene1337::Action9::signal() { switch (_actionIndex++) { case 0: { - scene->_field3EF4->_field34 = scene->_field3EF0->_field34; - scene->_field3EF4->_object1.postInit(); - scene->_field3EF4->_object1.hide(); - scene->_field3EF4->_object1.setVisage(1332); - scene->_field3EF4->_object1.setPosition(scene->_field3EF4->_field36, 0); - scene->_field3EF4->_object1.fixPriority(170); + scene->_field3EF4->_cardId = scene->_field3EF0->_cardId; + scene->_field3EF4->_card.postInit(); + scene->_field3EF4->_card.hide(); + scene->_field3EF4->_card.setVisage(1332); + scene->_field3EF4->_card.setPosition(scene->_field3EF4->_field36, 0); + scene->_field3EF4->_card.fixPriority(170); - scene->_field3EF0->_field34 = 0; - scene->_field3EF0->_object1.remove(); + scene->_field3EF0->_cardId = 0; + scene->_field3EF0->_card.remove(); - scene->_item2._object1.setPosition(scene->_field3EF0->_field36, 0); - scene->_item2._object1.show(); + scene->_item2._card.setPosition(scene->_field3EF0->_field36, 0); + scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_field3EF4->_field36, this); + scene->_item2._card.addMover(mover, &scene->_field3EF4->_field36, this); } break; case 1: - scene->_item2._object1.hide(); + scene->_item2._card.hide(); scene->setAnimationInfo(scene->_field3EF4); scene->_aSound1.play(57); @@ -3713,29 +3715,29 @@ void Scene1337::Action10::signal() { switch (_actionIndex++) { case 0: { - scene->_field3EF8->_object1.postInit(); - scene->_field3EF8->_object1.hide(); - scene->_field3EF8->_object1.setVisage(1332); - scene->_field3EF8->_object1.setPosition(scene->_field3EF8->_field36, 0); - scene->_field3EF8->_object1.fixPriority(170); - scene->_field3EF8->_field34 = scene->_field3EF0->_field34; + scene->_field3EF8->_card.postInit(); + scene->_field3EF8->_card.hide(); + scene->_field3EF8->_card.setVisage(1332); + scene->_field3EF8->_card.setPosition(scene->_field3EF8->_field36, 0); + scene->_field3EF8->_card.fixPriority(170); + scene->_field3EF8->_cardId = scene->_field3EF0->_cardId; - scene->_field3EF0->_field34 = 0; - scene->_field3EF0->_object1.remove(); + scene->_field3EF0->_cardId = 0; + scene->_field3EF0->_card.remove(); if (scene->_field3EF0 == &scene->_item6) { scene->setCursorData(5, 1, 4); scene->subC4CEC(); } - scene->_item2._object1.setPosition(scene->_field3EF0->_field36, 0); - scene->_item2._object1.show(); + scene->_item2._card.setPosition(scene->_field3EF0->_field36, 0); + scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_field3EF8->_field36, this); + scene->_item2._card.addMover(mover, &scene->_field3EF8->_field36, this); } break; case 1: { - scene->_item2._object1.hide(); + scene->_item2._card.hide(); scene->setAnimationInfo(scene->_field3EF8); scene->_aSound1.play(57); @@ -3745,7 +3747,7 @@ void Scene1337::Action10::signal() { switch (scene->_field4240) { case 0: for (indexFound = 0; indexFound < 3; indexFound++) { - if (scene->_arrunkObj1337[0]._arr1[indexFound]._field34 == 29) { + if (scene->_arrunkObj1337[0]._arr1[indexFound]._cardId == 29) { found = true; break; } @@ -3753,7 +3755,7 @@ void Scene1337::Action10::signal() { break; case 1: for (indexFound = 0; indexFound < 3; indexFound++) { - if (scene->_arrunkObj1337[1]._arr1[indexFound]._field34 == 29) { + if (scene->_arrunkObj1337[1]._arr1[indexFound]._cardId == 29) { found = true; break; } @@ -3761,7 +3763,7 @@ void Scene1337::Action10::signal() { break; case 2: for (indexFound = 0; indexFound < 3; indexFound++) { - if (scene->_arrunkObj1337[2]._arr1[indexFound]._field34 == 29) { + if (scene->_arrunkObj1337[2]._arr1[indexFound]._cardId == 29) { found = true; break; } @@ -3769,7 +3771,7 @@ void Scene1337::Action10::signal() { break; case 3: for (indexFound = 0; indexFound < 3; indexFound++) { - if (scene->_arrunkObj1337[3]._arr1[indexFound]._field34 == 29) { + if (scene->_arrunkObj1337[3]._arr1[indexFound]._cardId == 29) { found = true; break; } @@ -3815,14 +3817,14 @@ void Scene1337::Action10::signal() { if (scene->_field4240 == 2) { int j = 0; for (int i = 0; i <= 7; i++) { - if (scene->_arrunkObj1337[2]._arr2[i]._field34 != 0) + if (scene->_arrunkObj1337[2]._outpostStation[i]._cardId != 0) ++j; } if (j <= 1) { for (int i = 0; i <= 7; i++) { - if (scene->_arrunkObj1337[2]._arr2[i]._field34 != 0) { - scene->_field3EF4 = &scene->_arrunkObj1337[2]._arr2[i]; + if (scene->_arrunkObj1337[2]._outpostStation[i]._cardId != 0) { + scene->_field3EF4 = &scene->_arrunkObj1337[2]._outpostStation[i]; break; } } @@ -3844,8 +3846,8 @@ void Scene1337::Action10::signal() { scene->_item6._field36 = event.mousePos; for (int i = 0; i <= 7; i++) { - if ((scene->subC2BF8(&scene->_arrunkObj1337[2]._arr2[i], scene->_item6._field36) != 0) && (scene->_arrunkObj1337[2]._arr2[i]._field34 != 0)) { - scene->_field3EF4 = &scene->_arrunkObj1337[2]._arr2[0]; + if ((scene->subC2BF8(&scene->_arrunkObj1337[2]._outpostStation[i], scene->_item6._field36) != 0) && (scene->_arrunkObj1337[2]._outpostStation[i]._cardId != 0)) { + scene->_field3EF4 = &scene->_arrunkObj1337[2]._outpostStation[0]; found2 = true; break; } @@ -3855,20 +3857,20 @@ void Scene1337::Action10::signal() { } } - scene->_field3E28[scene->_field3E26] = scene->_field3EF4->_field34; + scene->_field3E28[scene->_field3E26] = scene->_field3EF4->_cardId; scene->_field3E26--; - scene->_field3EF4->_field34 = 0; - scene->_field3EF4->_object1.remove(); + scene->_field3EF4->_cardId = 0; + scene->_field3EF4->_card.remove(); - scene->_item2._object1.setPosition(scene->_field3EF4->_field36, 0); - scene->_item2._object1.show(); + scene->_item2._card.setPosition(scene->_field3EF4->_field36, 0); + scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_field3EF8->_field36, this); + scene->_item2._card.addMover(mover, &scene->_field3EF8->_field36, this); } break; case 2: - scene->_item2._object1.hide(); + scene->_item2._card.hide(); scene->subC4A39(scene->_field3EF8); break; default: @@ -3883,29 +3885,29 @@ void Scene1337::Action11::signal() { switch (_actionIndex++) { case 0: { - scene->_field3EF4->_object1.postInit(); - scene->_field3EF4->_object1.hide(); - scene->_field3EF4->_object1.setVisage(1332); - scene->_field3EF4->_object1.setPosition(scene->_field3EF4->_field36, 0); - scene->_field3EF4->_object1.fixPriority(170); - scene->_field3EF4->_field34 = 25; + scene->_field3EF4->_card.postInit(); + scene->_field3EF4->_card.hide(); + scene->_field3EF4->_card.setVisage(1332); + scene->_field3EF4->_card.setPosition(scene->_field3EF4->_field36, 0); + scene->_field3EF4->_card.fixPriority(170); + scene->_field3EF4->_cardId = 25; if (scene->_field4240 == 2) { - scene->_item2._object1.setPosition(scene->_field3EF4->_field36, 0); + scene->_item2._card.setPosition(scene->_field3EF4->_field36, 0); scene->setCursorData(5, 1, 4); } else { - scene->_field3EF0->_field34 = 0; - scene->_field3EF0->_object1.remove(); - scene->_item2._object1.setPosition(scene->_field3EF0->_field36, 0); + scene->_field3EF0->_cardId = 0; + scene->_field3EF0->_card.remove(); + scene->_item2._card.setPosition(scene->_field3EF0->_field36, 0); } - scene->_item2._object1.show(); + scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_field3EF4->_field36, this); + scene->_item2._card.addMover(mover, &scene->_field3EF4->_field36, this); } break; case 1: { - scene->_item2._object1.hide(); + scene->_item2._card.hide(); scene->setAnimationInfo(scene->_field3EF4); scene->_aSound1.play(57); @@ -3915,7 +3917,7 @@ void Scene1337::Action11::signal() { switch (scene->_field4242) { case 0: for (i = 0; i <= 3; i++) { - if (scene->_arrunkObj1337[0]._arr1[i]._field34 == 27) { + if (scene->_arrunkObj1337[0]._arr1[i]._cardId == 27) { found = true; break; } @@ -3934,7 +3936,7 @@ void Scene1337::Action11::signal() { break; case 1: for (i = 0; i <= 3; i++) { - if (scene->_arrunkObj1337[1]._arr1[i]._field34 == 27) { + if (scene->_arrunkObj1337[1]._arr1[i]._cardId == 27) { found = true; break; } @@ -3953,7 +3955,7 @@ void Scene1337::Action11::signal() { break; case 2: for (i = 0; i <= 3; i++) { - if (scene->_arrunkObj1337[2]._arr1[i]._field34 == 27) { + if (scene->_arrunkObj1337[2]._arr1[i]._cardId == 27) { found = true; break; } @@ -3978,7 +3980,7 @@ void Scene1337::Action11::signal() { break; case 3: for (i = 0; i <= 3; i++) { - if (scene->_arrunkObj1337[3]._arr1[i]._field34 == 27) { + if (scene->_arrunkObj1337[3]._arr1[i]._cardId == 27) { found = true; break; } @@ -4006,7 +4008,7 @@ void Scene1337::Action11::signal() { int count = 0; if (scene->_field4242 != 2) { for (i = 0; i <= 3; i++) { - if (scene->_arrunkObj1337[scene->_field4242]._arr1[i]._field34 == 0) + if (scene->_arrunkObj1337[scene->_field4242]._arr1[i]._cardId == 0) ++count; } } @@ -4043,7 +4045,7 @@ void Scene1337::Action11::signal() { if (scene->_field4242 != 2) { for (i = 0; i <= 3; i++) { - if ((scene->subC2BF8(&scene->_arrunkObj1337[scene->_field4242]._arr1[i], scene->_item6._field36) != 0) && (scene->_arrunkObj1337[scene->_field4242]._arr1[i]._field34 != 0)) { + if ((scene->subC2BF8(&scene->_arrunkObj1337[scene->_field4242]._arr1[i], scene->_item6._field36) != 0) && (scene->_arrunkObj1337[scene->_field4242]._arr1[i]._cardId != 0)) { scene->_field3EF8 = &scene->_arrunkObj1337[scene->_field4242]._arr1[i]; found = true; break; @@ -4061,42 +4063,42 @@ void Scene1337::Action11::signal() { } } - scene->_field3EF0->_object1.postInit(); - scene->_field3EF0->_object1.hide(); - scene->_field3EF0->_object1.setVisage(1332); - scene->_field3EF0->_object1.setPosition(scene->_field3EF0->_field36, 0); - scene->_field3EF0->_object1.fixPriority(170); - scene->_field3EF0->_object1.setStrip2(1); - scene->_field3EF0->_field34 = scene->_field3EF8->_field34; + scene->_field3EF0->_card.postInit(); + scene->_field3EF0->_card.hide(); + scene->_field3EF0->_card.setVisage(1332); + scene->_field3EF0->_card.setPosition(scene->_field3EF0->_field36, 0); + scene->_field3EF0->_card.fixPriority(170); + scene->_field3EF0->_card.setStrip2(1); + scene->_field3EF0->_cardId = scene->_field3EF8->_cardId; - scene->_field3EF8->_field34 = 0; - scene->_field3EF8->_object1.remove(); + scene->_field3EF8->_cardId = 0; + scene->_field3EF8->_card.remove(); - scene->_item2._object1.setPosition(scene->_field3EF8->_field36, 0); - scene->_item2._object1.show(); + scene->_item2._card.setPosition(scene->_field3EF8->_field36, 0); + scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_field3EF0->_field36, this); + scene->_item2._card.addMover(mover, &scene->_field3EF0->_field36, this); } break; case 2: - scene->_item2._object1.hide(); + scene->_item2._card.hide(); switch (scene->_field4240) { case 0: - scene->_field3EF0->_object1.setFrame(2); - scene->_field3EF0->_object1.show(); + scene->_field3EF0->_card.setFrame(2); + scene->_field3EF0->_card.show(); scene->_field423E--; scene->_field4244 = 0; break; case 1: - scene->_field3EF0->_object1.setFrame(4); - scene->_field3EF0->_object1.show(); + scene->_field3EF0->_card.setFrame(4); + scene->_field3EF0->_card.show(); scene->_field423E--; scene->_field4244 = 0; break; case 3: - scene->_field3EF0->_object1.setFrame(3); - scene->_field3EF0->_object1.show(); + scene->_field3EF0->_card.setFrame(3); + scene->_field3EF0->_card.show(); scene->_field423E--; scene->_field4244 = 0; break; @@ -4120,19 +4122,19 @@ void Scene1337::Action12::signal() { signal(); break; case 1: { - scene->_field3E28[scene->_field3E26] = scene->_field3EF4->_field34; - scene->_field3EF4->_field34 = scene->_field3EF0->_field34; - scene->_field3EF0->_field34 = 0; - scene->_field3EF0->_object1.remove(); - scene->_item2._object1.setPosition(scene->_field3EF0->_field36, 0); - scene->_item2._object1.show(); + scene->_field3E28[scene->_field3E26] = scene->_field3EF4->_cardId; + scene->_field3EF4->_cardId = scene->_field3EF0->_cardId; + scene->_field3EF0->_cardId = 0; + scene->_field3EF0->_card.remove(); + scene->_item2._card.setPosition(scene->_field3EF0->_field36, 0); + scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_field3EF4->_field36, this); + scene->_item2._card.addMover(mover, &scene->_field3EF4->_field36, this); } break; case 2: - scene->_item2._object1.hide(); + scene->_item2._card.hide(); scene->setAnimationInfo(scene->_field3EF4); scene->_aSound1.play(58); if (scene->_field4242 == 2) { @@ -4141,19 +4143,19 @@ void Scene1337::Action12::signal() { switch (scene->_field4240) { case 0: for (i = 0; i <= 3; i++) { - if (scene->_arrunkObj1337[0]._arr1[i]._field34 != 0) + if (scene->_arrunkObj1337[0]._arr1[i]._cardId != 0) ++count; } break; case 1: for (i = 0; i <= 3; i++) { - if (scene->_arrunkObj1337[3]._arr1[i]._field34 != 0) + if (scene->_arrunkObj1337[3]._arr1[i]._cardId != 0) ++count; } break; case 3: for (i = 0; i <= 3; i++) { - if (scene->_arrunkObj1337[3]._arr1[i]._field34 != 0) + if (scene->_arrunkObj1337[3]._arr1[i]._cardId != 0) ++count; } break; @@ -4192,7 +4194,7 @@ void Scene1337::Action12::signal() { if (scene->_field4240 == 0) { for (i = 0; i <= 3; i++) { - if ((scene->subC2BF8(&scene->_arrunkObj1337[0]._arr1[i], scene->_item6._field36) != 0) && (scene->_arrunkObj1337[0]._arr1[i]._field34 != 0)) { + if ((scene->subC2BF8(&scene->_arrunkObj1337[0]._arr1[i], scene->_item6._field36) != 0) && (scene->_arrunkObj1337[0]._arr1[i]._cardId != 0)) { found = true; scene->_field3EF8 = &scene->_arrunkObj1337[0]._arr1[i]; break; @@ -4202,7 +4204,7 @@ void Scene1337::Action12::signal() { if (scene->_field4240 == 3) { for (i = 0; i <= 3; i++) { - if ((scene->subC2BF8(&scene->_arrunkObj1337[3]._arr1[i], scene->_item6._field36) != 0) && (scene->_arrunkObj1337[3]._arr1[i]._field34 != 0)) { + if ((scene->subC2BF8(&scene->_arrunkObj1337[3]._arr1[i], scene->_item6._field36) != 0) && (scene->_arrunkObj1337[3]._arr1[i]._cardId != 0)) { found = true; scene->_field3EF8 = &scene->_arrunkObj1337[3]._arr1[i]; break; @@ -4212,7 +4214,7 @@ void Scene1337::Action12::signal() { if (scene->_field4240 == 1) { for (i = 0; i <= 3; i++) { - if ((scene->subC2BF8(&scene->_arrunkObj1337[1]._arr1[i], scene->_item6._field36) != 0) && (scene->_arrunkObj1337[1]._arr1[i]._field34 != 0)) { + if ((scene->subC2BF8(&scene->_arrunkObj1337[1]._arr1[i], scene->_item6._field36) != 0) && (scene->_arrunkObj1337[1]._arr1[i]._cardId != 0)) { found = true; scene->_field3EF8 = &scene->_arrunkObj1337[1]._arr1[i]; break; @@ -4238,39 +4240,39 @@ void Scene1337::Action12::signal() { } } - scene->_field3EF0->_object1.postInit(); - scene->_field3EF0->_object1.hide(); - scene->_field3EF0->_object1.setVisage(1332); - scene->_field3EF0->_object1.setPosition(scene->_field3EF0->_field36); - scene->_field3EF0->_object1.fixPriority(170); - scene->_field3EF0->_object1.setStrip2(1); - scene->_field3EF0->_field34 = scene->_field3EF8->_field34; + scene->_field3EF0->_card.postInit(); + scene->_field3EF0->_card.hide(); + scene->_field3EF0->_card.setVisage(1332); + scene->_field3EF0->_card.setPosition(scene->_field3EF0->_field36); + scene->_field3EF0->_card.fixPriority(170); + scene->_field3EF0->_card.setStrip2(1); + scene->_field3EF0->_cardId = scene->_field3EF8->_cardId; - scene->_field3EF8->_field34 = 0; - scene->_field3EF8->_object1.remove(); + scene->_field3EF8->_cardId = 0; + scene->_field3EF8->_card.remove(); - scene->_item2._object1.setPosition(scene->_field3EF8->_field36); - scene->_item2._object1.show(); + scene->_item2._card.setPosition(scene->_field3EF8->_field36); + scene->_item2._card.show(); scene->_aSound1.play(57); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_field3EF0->_field36, this); + scene->_item2._card.addMover(mover, &scene->_field3EF0->_field36, this); } break; case 3: - scene->_item2._object1.hide(); + scene->_item2._card.hide(); switch (scene->_field4242) { case 0: - scene->_field3EF0->_object1.setFrame2(2); - scene->_field3EF0->_object1.show(); + scene->_field3EF0->_card.setFrame2(2); + scene->_field3EF0->_card.show(); break; case 1: - scene->_field3EF0->_object1.setFrame2(4); - scene->_field3EF0->_object1.show(); + scene->_field3EF0->_card.setFrame2(4); + scene->_field3EF0->_card.show(); break; case 3: - scene->_field3EF0->_object1.setFrame2(3); - scene->_field3EF0->_object1.show(); + scene->_field3EF0->_card.setFrame2(3); + scene->_field3EF0->_card.show(); break; default: scene->setAnimationInfo(scene->_field3EF0); @@ -4288,23 +4290,23 @@ void Scene1337::Action13::signal() { switch (_actionIndex++) { case 0: { - scene->_field3E28[scene->_field3E26] = scene->_field3EF4->_field34; + scene->_field3E28[scene->_field3E26] = scene->_field3EF4->_cardId; scene->_field3E26--; - scene->_field3EF4->_field34 = scene->_field3EF0->_field34; + scene->_field3EF4->_cardId = scene->_field3EF0->_cardId; - scene->_field3EF0->_field34 = 0; - scene->_field3EF0->_object1.remove(); + scene->_field3EF0->_cardId = 0; + scene->_field3EF0->_card.remove(); - scene->_item2._object1.setPosition(scene->_field3EF0->_field36, 0); - scene->_item2._object1.show(); + scene->_item2._card.setPosition(scene->_field3EF0->_field36, 0); + scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._object1.addMover(mover, &scene->_field3EF4->_field36, this); + scene->_item2._card.addMover(mover, &scene->_field3EF4->_field36, this); } break; case 1: - scene->_item2._object1.hide(); + scene->_item2._card.hide(); scene->setAnimationInfo(scene->_field3EF4); scene->_aSound1.play(58); signal(); @@ -4342,14 +4344,14 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _arrunkObj1337[2]._arr1[2]._field36 = Common::Point(64, 174); _arrunkObj1337[2]._arr1[3]._field36 = Common::Point(91, 174); - _arrunkObj1337[2]._arr2[0]._field36 = Common::Point(119, 174); - _arrunkObj1337[2]._arr2[1]._field36 = Common::Point(119, 148); - _arrunkObj1337[2]._arr2[2]._field36 = Common::Point(119, 122); - _arrunkObj1337[2]._arr2[3]._field36 = Common::Point(145, 122); - _arrunkObj1337[2]._arr2[4]._field36 = Common::Point(171, 122); - _arrunkObj1337[2]._arr2[5]._field36 = Common::Point(171, 148); - _arrunkObj1337[2]._arr2[6]._field36 = Common::Point(171, 174); - _arrunkObj1337[2]._arr2[7]._field36 = Common::Point(145, 174); + _arrunkObj1337[2]._outpostStation[0]._field36 = Common::Point(119, 174); + _arrunkObj1337[2]._outpostStation[1]._field36 = Common::Point(119, 148); + _arrunkObj1337[2]._outpostStation[2]._field36 = Common::Point(119, 122); + _arrunkObj1337[2]._outpostStation[3]._field36 = Common::Point(145, 122); + _arrunkObj1337[2]._outpostStation[4]._field36 = Common::Point(171, 122); + _arrunkObj1337[2]._outpostStation[5]._field36 = Common::Point(171, 148); + _arrunkObj1337[2]._outpostStation[6]._field36 = Common::Point(171, 174); + _arrunkObj1337[2]._outpostStation[7]._field36 = Common::Point(145, 174); _arrunkObj1337[2]._arr3[0]._field36 = Common::Point(199, 174); @@ -4366,14 +4368,14 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _arrunkObj1337[3]._arr1[2]._field36 = Common::Point(14, 58); _arrunkObj1337[3]._arr1[3]._field36 = Common::Point(14, 80); - _arrunkObj1337[3]._arr2[0]._field36 = Common::Point(37, 66); - _arrunkObj1337[3]._arr2[1]._field36 = Common::Point(63, 66); - _arrunkObj1337[3]._arr2[2]._field36 = Common::Point(89, 66); - _arrunkObj1337[3]._arr2[3]._field36 = Common::Point(89, 92); - _arrunkObj1337[3]._arr2[4]._field36 = Common::Point(89, 118); - _arrunkObj1337[3]._arr2[5]._field36 = Common::Point(63, 118); - _arrunkObj1337[3]._arr2[6]._field36 = Common::Point(37, 118); - _arrunkObj1337[3]._arr2[7]._field36 = Common::Point(37, 92); + _arrunkObj1337[3]._outpostStation[0]._field36 = Common::Point(37, 66); + _arrunkObj1337[3]._outpostStation[1]._field36 = Common::Point(63, 66); + _arrunkObj1337[3]._outpostStation[2]._field36 = Common::Point(89, 66); + _arrunkObj1337[3]._outpostStation[3]._field36 = Common::Point(89, 92); + _arrunkObj1337[3]._outpostStation[4]._field36 = Common::Point(89, 118); + _arrunkObj1337[3]._outpostStation[5]._field36 = Common::Point(63, 118); + _arrunkObj1337[3]._outpostStation[6]._field36 = Common::Point(37, 118); + _arrunkObj1337[3]._outpostStation[7]._field36 = Common::Point(37, 92); _arrunkObj1337[3]._arr3[0]._field36 = Common::Point(37, 145); @@ -4390,14 +4392,14 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _arrunkObj1337[0]._arr1[2]._field36 = Common::Point(226, 5); _arrunkObj1337[0]._arr1[3]._field36 = Common::Point(199, 5); - _arrunkObj1337[0]._arr2[0]._field36 = Common::Point(171, 16); - _arrunkObj1337[0]._arr2[1]._field36 = Common::Point(171, 42); - _arrunkObj1337[0]._arr2[2]._field36 = Common::Point(171, 68); - _arrunkObj1337[0]._arr2[3]._field36 = Common::Point(145, 68); - _arrunkObj1337[0]._arr2[4]._field36 = Common::Point(119, 68); - _arrunkObj1337[0]._arr2[5]._field36 = Common::Point(119, 42); - _arrunkObj1337[0]._arr2[6]._field36 = Common::Point(119, 16); - _arrunkObj1337[0]._arr2[7]._field36 = Common::Point(145, 16); + _arrunkObj1337[0]._outpostStation[0]._field36 = Common::Point(171, 16); + _arrunkObj1337[0]._outpostStation[1]._field36 = Common::Point(171, 42); + _arrunkObj1337[0]._outpostStation[2]._field36 = Common::Point(171, 68); + _arrunkObj1337[0]._outpostStation[3]._field36 = Common::Point(145, 68); + _arrunkObj1337[0]._outpostStation[4]._field36 = Common::Point(119, 68); + _arrunkObj1337[0]._outpostStation[5]._field36 = Common::Point(119, 42); + _arrunkObj1337[0]._outpostStation[6]._field36 = Common::Point(119, 16); + _arrunkObj1337[0]._outpostStation[7]._field36 = Common::Point(145, 16); _arrunkObj1337[0]._arr3[0]._field36 = Common::Point(91, 16); @@ -4414,14 +4416,14 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _arrunkObj1337[1]._arr1[2]._field36 = Common::Point(283, 102); _arrunkObj1337[1]._arr1[3]._field36 = Common::Point(283, 80); - _arrunkObj1337[1]._arr2[0]._field36 = Common::Point(253, 122); - _arrunkObj1337[1]._arr2[1]._field36 = Common::Point(227, 122); - _arrunkObj1337[1]._arr2[2]._field36 = Common::Point(201, 122); - _arrunkObj1337[1]._arr2[3]._field36 = Common::Point(201, 96); - _arrunkObj1337[1]._arr2[4]._field36 = Common::Point(201, 70); - _arrunkObj1337[1]._arr2[5]._field36 = Common::Point(227, 70); - _arrunkObj1337[1]._arr2[6]._field36 = Common::Point(253, 70); - _arrunkObj1337[1]._arr2[7]._field36 = Common::Point(253, 96); + _arrunkObj1337[1]._outpostStation[0]._field36 = Common::Point(253, 122); + _arrunkObj1337[1]._outpostStation[1]._field36 = Common::Point(227, 122); + _arrunkObj1337[1]._outpostStation[2]._field36 = Common::Point(201, 122); + _arrunkObj1337[1]._outpostStation[3]._field36 = Common::Point(201, 96); + _arrunkObj1337[1]._outpostStation[4]._field36 = Common::Point(201, 70); + _arrunkObj1337[1]._outpostStation[5]._field36 = Common::Point(227, 70); + _arrunkObj1337[1]._outpostStation[6]._field36 = Common::Point(253, 70); + _arrunkObj1337[1]._outpostStation[7]._field36 = Common::Point(253, 96); _arrunkObj1337[1]._arr3[0]._field36 = Common::Point(253, 43); @@ -4495,20 +4497,20 @@ void Scene1337::setAnimationInfo(unkObj1337sub1 *subObj) { if (!subObj) return; - if (subObj->_field34 > 9) { - if (subObj->_field34 > 25) { - subObj->_object1.setStrip2(4); - subObj->_object1.setFrame(subObj->_field34 - 25); + if (subObj->_cardId > 9) { + if (subObj->_cardId > 25) { + subObj->_card.setStrip2(4); + subObj->_card.setFrame(subObj->_cardId - 25); } else { - subObj->_object1.setStrip2(3); - subObj->_object1.setFrame(subObj->_field34 - 9); + subObj->_card.setStrip2(3); + subObj->_card.setFrame(subObj->_cardId - 9); } } else { - subObj->_object1.setStrip2(2); - subObj->_object1.setFrame(subObj->_field34); + subObj->_card.setStrip2(2); + subObj->_card.setFrame(subObj->_cardId); } - subObj->_object1.show(); + subObj->_card.show(); R2_GLOBALS._sceneObjects->draw(); } @@ -4657,7 +4659,7 @@ bool Scene1337::subC2687(int arg1) { } int Scene1337::subC26CB(int arg1, int arg2) { - if ((_arrunkObj1337[arg1]._arr1[arg2]._field34 > 1) && (_arrunkObj1337[arg1]._arr1[arg2]._field34 <= 9)) { + if ((_arrunkObj1337[arg1]._arr1[arg2]._cardId > 1) && (_arrunkObj1337[arg1]._arr1[arg2]._cardId <= 9)) { return arg2; } @@ -4666,7 +4668,7 @@ int Scene1337::subC26CB(int arg1, int arg2) { int Scene1337::subC2719(int arg1) { for (int i = 0; i <= 3; i++) { - if (_arrunkObj1337[arg1]._arr1[i]._field34 == 1) + if (_arrunkObj1337[arg1]._arr1[i]._cardId == 1) return i; } @@ -4675,7 +4677,7 @@ int Scene1337::subC2719(int arg1) { int Scene1337::subC274D(int arg1) { for (int i = 0; i <= 3; i++) { - if (_arrunkObj1337[arg1]._arr1[i]._field34 == 13) + if (_arrunkObj1337[arg1]._arr1[i]._cardId == 13) return i; } @@ -4684,7 +4686,7 @@ int Scene1337::subC274D(int arg1) { int Scene1337::subC2781(int arg1) { for (int i = 0; i <= 3; i++) { - if (_arrunkObj1337[arg1]._arr1[i]._field34 == 25) + if (_arrunkObj1337[arg1]._arr1[i]._cardId == 25) return i; } @@ -4737,7 +4739,7 @@ void Scene1337::subC2835(int arg1) { switch (arg1) { case 0: for (i = 0; i <= 3; i++) { - if (subC27F9(_arrunkObj1337[arg1]._arr1[i]._field34) != -1) { + if (subC27F9(_arrunkObj1337[arg1]._arr1[i]._cardId) != -1) { found = true; break; } @@ -4747,7 +4749,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (subC27B5(_arrunkObj1337[arg1]._arr1[i]._field34) != -1) { + if (subC27B5(_arrunkObj1337[arg1]._arr1[i]._cardId) != -1) { found = true; break; } @@ -4757,7 +4759,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if ((_arrunkObj1337[arg1]._arr1[i]._field34 > 1) && (_arrunkObj1337[arg1]._arr1[i]._field34 <= 9)) { + if ((_arrunkObj1337[arg1]._arr1[i]._cardId > 1) && (_arrunkObj1337[arg1]._arr1[i]._cardId <= 9)) { found = true; break; } @@ -4767,7 +4769,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if ((_arrunkObj1337[arg1]._arr1[i]._field34 >= 26) && (_arrunkObj1337[arg1]._arr1[i]._field34 <= 33)) { + if ((_arrunkObj1337[arg1]._arr1[i]._cardId >= 26) && (_arrunkObj1337[arg1]._arr1[i]._cardId <= 33)) { found = true; break; } @@ -4777,7 +4779,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (_arrunkObj1337[arg1]._arr1[i]._field34 == 1) { + if (_arrunkObj1337[arg1]._arr1[i]._cardId == 1) { found = true; break; } @@ -4787,7 +4789,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (_arrunkObj1337[arg1]._arr1[i]._field34 == 25) { + if (_arrunkObj1337[arg1]._arr1[i]._cardId == 25) { found = true; break; } @@ -4797,7 +4799,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (_arrunkObj1337[arg1]._arr1[i]._field34 == 13) { + if (_arrunkObj1337[arg1]._arr1[i]._cardId == 13) { found = true; break; } @@ -4805,7 +4807,7 @@ void Scene1337::subC2835(int arg1) { break; case 1: for (i = 0; i <= 3; i++) { - if ((_arrunkObj1337[arg1]._arr1[i]._field34 >= 26) && (_arrunkObj1337[arg1]._arr1[i]._field34 <= 33)) { + if ((_arrunkObj1337[arg1]._arr1[i]._cardId >= 26) && (_arrunkObj1337[arg1]._arr1[i]._cardId <= 33)) { found = true; break; } @@ -4815,7 +4817,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (_arrunkObj1337[arg1]._arr1[i]._field34 == 1) { + if (_arrunkObj1337[arg1]._arr1[i]._cardId == 1) { found = true; break; } @@ -4825,7 +4827,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if ((_arrunkObj1337[arg1]._arr1[i]._field34 > 1) && (_arrunkObj1337[arg1]._arr1[i]._field34 <= 9)) { + if ((_arrunkObj1337[arg1]._arr1[i]._cardId > 1) && (_arrunkObj1337[arg1]._arr1[i]._cardId <= 9)) { found = true; break; } @@ -4835,7 +4837,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (subC27F9(_arrunkObj1337[arg1]._arr1[i]._field34) != -1) { + if (subC27F9(_arrunkObj1337[arg1]._arr1[i]._cardId) != -1) { found = true; break; } @@ -4845,7 +4847,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (subC27B5(_arrunkObj1337[arg1]._arr1[i]._field34) != -1) { + if (subC27B5(_arrunkObj1337[arg1]._arr1[i]._cardId) != -1) { found = true; break; } @@ -4855,7 +4857,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (_arrunkObj1337[arg1]._arr1[i]._field34 == 25) { + if (_arrunkObj1337[arg1]._arr1[i]._cardId == 25) { found = true; break; } @@ -4865,7 +4867,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (_arrunkObj1337[arg1]._arr1[i]._field34 == 13) { + if (_arrunkObj1337[arg1]._arr1[i]._cardId == 13) { found = true; break; } @@ -4892,8 +4894,8 @@ bool Scene1337::subC2BF8(unkObj1337sub1 *subObj1, Common::Point pt) { void Scene1337::subC2C2F() { bool found = true; - if (_arrunkObj1337[3]._arr3[0]._field34 != 0) { - switch (_arrunkObj1337[3]._arr3[0]._field34) { + if (_arrunkObj1337[3]._arr3[0]._cardId != 0) { + switch (_arrunkObj1337[3]._arr3[0]._cardId) { case 10: // No break on purpose case 12: @@ -4916,7 +4918,7 @@ void Scene1337::subC2C2F() { found = false; int i; for (i = 0; i <= 3; i++) { - if (subC3386(_arrunkObj1337[3]._arr3[0]._field34, _arrunkObj1337[3]._arr1[i]._field34)) { + if (subC3386(_arrunkObj1337[3]._arr3[0]._cardId, _arrunkObj1337[3]._arr1[i]._cardId)) { found = true; break; } @@ -4935,12 +4937,12 @@ void Scene1337::subC2C2F() { int randIndx = R2_GLOBALS._randomSource.getRandomNumber(3); - if (_arrunkObj1337[3]._arr1[randIndx]._field34 == 1) { + if (_arrunkObj1337[3]._arr1[randIndx]._cardId == 1) { found = false; for (int i = 0; i <= 7; i++) { - if ((_arrunkObj1337[3]._arr2[i]._field34 == 0) && (!subC2687(_arrunkObj1337[3]._arr3[0]._field34))) { - subC340B(&_arrunkObj1337[3]._arr1[randIndx], &_arrunkObj1337[3]._arr2[i]); + if ((_arrunkObj1337[3]._outpostStation[i]._cardId == 0) && (!subC2687(_arrunkObj1337[3]._arr3[0]._cardId))) { + subC340B(&_arrunkObj1337[3]._arr1[randIndx], &_arrunkObj1337[3]._outpostStation[i]); found = true; break; } @@ -4949,11 +4951,11 @@ void Scene1337::subC2C2F() { if (found) { return; } - } else if (_arrunkObj1337[3]._arr1[randIndx]._field34 <= 9) { + } else if (_arrunkObj1337[3]._arr1[randIndx]._cardId <= 9) { found = false; for (int i = 0; i <= 7; i++) { - if (_arrunkObj1337[3]._arr2[i]._field34 == _arrunkObj1337[3]._arr1[randIndx]._field34) { + if (_arrunkObj1337[3]._outpostStation[i]._cardId == _arrunkObj1337[3]._arr1[randIndx]._cardId) { found = true; break; } @@ -4961,18 +4963,18 @@ void Scene1337::subC2C2F() { if (!found) { for (int i = 0; i <= 7; i++) { - if ((_arrunkObj1337[3]._arr2[i]._field34 == 1) && (!subC2687(_arrunkObj1337[3]._arr3[0]._field34))) { + if ((_arrunkObj1337[3]._outpostStation[i]._cardId == 1) && (!subC2687(_arrunkObj1337[3]._arr3[0]._cardId))) { int tmpVal = 0; for (int j = 0; j <= 7; j++) { - if ((_arrunkObj1337[3]._arr2[j]._field34 > 1) && (_arrunkObj1337[3]._arr2[j]._field34 <= 9)) + if ((_arrunkObj1337[3]._outpostStation[j]._cardId > 1) && (_arrunkObj1337[3]._outpostStation[j]._cardId <= 9)) ++tmpVal; } if (tmpVal == 7) _field424A = 3; - subC33C0(&_arrunkObj1337[3]._arr1[randIndx], &_arrunkObj1337[3]._arr2[i]); + subC33C0(&_arrunkObj1337[3]._arr1[randIndx], &_arrunkObj1337[3]._outpostStation[i]); found = true; break; } @@ -4980,24 +4982,24 @@ void Scene1337::subC2C2F() { if (found) return; } - } else if (_arrunkObj1337[3]._arr1[randIndx]._field34 == 13) { + } else if (_arrunkObj1337[3]._arr1[randIndx]._cardId == 13) { int tmpVal = subC331B(3); if (tmpVal != -1) { subC358E(&_arrunkObj1337[3]._arr1[randIndx], tmpVal); return; } - } else if (_arrunkObj1337[3]._arr1[randIndx]._field34 == 25) { + } else if (_arrunkObj1337[3]._arr1[randIndx]._cardId == 25) { int tmpVal = -1; found = false; int tmpRandIndx = R2_GLOBALS._randomSource.getRandomNumber(3); for (int i = 0; i <= 3; i++) { if ( (tmpRandIndx != 3) - && ( (_arrunkObj1337[tmpRandIndx]._arr1[0]._field34 != 0) - || (_arrunkObj1337[tmpRandIndx]._arr1[1]._field34 != 0) - || (_arrunkObj1337[tmpRandIndx]._arr1[2]._field34 != 0) - || (_arrunkObj1337[tmpRandIndx]._arr1[3]._field34 != 0) )) { + && ( (_arrunkObj1337[tmpRandIndx]._arr1[0]._cardId != 0) + || (_arrunkObj1337[tmpRandIndx]._arr1[1]._cardId != 0) + || (_arrunkObj1337[tmpRandIndx]._arr1[2]._cardId != 0) + || (_arrunkObj1337[tmpRandIndx]._arr1[3]._cardId != 0) )) { tmpVal = tmpRandIndx; break; } @@ -5012,7 +5014,7 @@ void Scene1337::subC2C2F() { return; } } else { - switch (_arrunkObj1337[3]._arr1[randIndx]._field34) { + switch (_arrunkObj1337[3]._arr1[randIndx]._cardId) { case 10: // No break on purpose case 11: @@ -5045,7 +5047,7 @@ void Scene1337::subC2C2F() { // It's understandable for 'i', which helps making sure that tmpVal is used properly, // but it's suspect for j for (int j = 0; j <= 7; j++) { - if ((_arrunkObj1337[tmpRandIndx]._arr3[0]._field34 == 0) && (subC32B1(tmpRandIndx, _arrunkObj1337[3]._arr1[randIndx]._field34))) { + if ((_arrunkObj1337[tmpRandIndx]._arr3[0]._cardId == 0) && (subC32B1(tmpRandIndx, _arrunkObj1337[3]._arr1[randIndx]._cardId))) { tmpVal = j; } } @@ -5081,7 +5083,7 @@ void Scene1337::subC318B(int arg1, unkObj1337sub1 *subObj1, int arg3) { for (;;) { randIndx = R2_GLOBALS._randomSource.getRandomNumber(3); - if (_arrunkObj1337[arg3]._arr1[randIndx]._field34 != 0) + if (_arrunkObj1337[arg3]._arr1[randIndx]._cardId != 0) break; } @@ -5129,9 +5131,9 @@ int Scene1337::subC3257(int arg1) { bool Scene1337::subC32B1(int arg1, int arg2) { for (int i = 0; i <= 7; i++) { - if (_arrunkObj1337[arg1]._arr2[i]._field34 != 0) { + if (_arrunkObj1337[arg1]._outpostStation[i]._cardId != 0) { int tmpVal = subC3257(arg2); - if (tmpVal == _arrunkObj1337[arg1]._arr2[i]._field34) + if (tmpVal == _arrunkObj1337[arg1]._outpostStation[i]._cardId) return false; } } @@ -5144,7 +5146,7 @@ int Scene1337::subC331B(int arg1) { for (int i = 0; i <= 3; i++) { if (randIndx != arg1) { for (int j = 0; j <= 7; j++) { - if (_arrunkObj1337[randIndx]._arr2[j]._field34 != 0) + if (_arrunkObj1337[randIndx]._outpostStation[j]._cardId != 0) return randIndx; } } @@ -5186,16 +5188,16 @@ void Scene1337::subC33C0(unkObj1337sub1 *subObj1, unkObj1337sub1 *subObj2) { } int Scene1337::subC3E92(int arg1) { - if ( (_arrunkObj1337[arg1]._arr1[0]._field34 == 0) - && (_arrunkObj1337[arg1]._arr1[1]._field34 == 0) - && (_arrunkObj1337[arg1]._arr1[2]._field34 == 0) - && (_arrunkObj1337[arg1]._arr1[3]._field34 == 0)) + if ( (_arrunkObj1337[arg1]._arr1[0]._cardId == 0) + && (_arrunkObj1337[arg1]._arr1[1]._cardId == 0) + && (_arrunkObj1337[arg1]._arr1[2]._cardId == 0) + && (_arrunkObj1337[arg1]._arr1[3]._cardId == 0)) return -1; int randIndx; for (;;) { randIndx = R2_GLOBALS._randomSource.getRandomNumber(3); - if (_arrunkObj1337[arg1]._arr1[randIndx]._field34 == 0) + if (_arrunkObj1337[arg1]._arr1[randIndx]._cardId == 0) break; } @@ -5225,14 +5227,14 @@ void Scene1337::subC34A1(unkObj1337sub1 *subObj1, unkObj1337sub1 *subObj2) { Scene1337::unkObj1337sub1 *Scene1337::subC34EC(int arg1) { for (int i = 0; i <= 7; i++) { - if (_arrunkObj1337[arg1]._arr2[i]._field34 == 1) { - return &_arrunkObj1337[arg1]._arr2[i]; + if (_arrunkObj1337[arg1]._outpostStation[i]._cardId == 1) { + return &_arrunkObj1337[arg1]._outpostStation[i]; } } for (int i = 0; i <= 7; i++) { - if ((_arrunkObj1337[arg1]._arr2[i]._field34 != 0) && (_arrunkObj1337[arg1]._arr2[i]._field34 < 10)) { - return &_arrunkObj1337[arg1]._arr2[i]; + if ((_arrunkObj1337[arg1]._outpostStation[i]._cardId != 0) && (_arrunkObj1337[arg1]._outpostStation[i]._cardId < 10)) { + return &_arrunkObj1337[arg1]._outpostStation[i]; } } @@ -5489,23 +5491,23 @@ void Scene1337::subPostInit() { _field3E24 = 98; _field3E26 = 98; - _item7._field34 = 0; + _item7._cardId = 0; _item7._field36 = Common::Point(128, 95); - _item8._field34 = 0; + _item8._cardId = 0; _item8._field36 = Common::Point(162, 95); - _item6._field34 = 0; + _item6._cardId = 0; - _item2._object1.postInit(); - _item2._object1.setVisage(1332); - _item2._object1.setStrip(5); - _item2._object1.setFrame(1); - _item2._object1._moveDiff = Common::Point(10, 10); - _item2._object1.fixPriority(400); - _item2._object1.setPosition(Common::Point(128, 95), 0); - _item2._object1.animate(ANIM_MODE_2, NULL); - _item2._object1.hide(); + _item2._card.postInit(); + _item2._card.setVisage(1332); + _item2._card.setStrip(5); + _item2._card.setFrame(1); + _item2._card._moveDiff = Common::Point(10, 10); + _item2._card.fixPriority(400); + _item2._card.setPosition(Common::Point(128, 95), 0); + _item2._card.animate(ANIM_MODE_2, NULL); + _item2._card.hide(); _object1.postInit(); _object1.setVisage(1334); @@ -5582,7 +5584,7 @@ void Scene1337::shuffleCards() { } _field423C = 0; - _item2._object1.setAction(&_action2); + _item2._card.setAction(&_action2); while(_field423C == 0) { g_globals->_scenePalette.signalListeners(); @@ -5597,7 +5599,7 @@ void Scene1337::shuffleCards() { } void Scene1337::subCCF26() { - _item2._object1._moveDiff = Common::Point(30, 30); + _item2._card._moveDiff = Common::Point(30, 30); shuffleCards(); _item1.setAction(&_action3); } @@ -5613,10 +5615,10 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { if (arg1 == 3) { int i; for (i = 0; i <= 7; i++) { - if ( (subC2BF8(&_arrunkObj1337[2]._arr2[i], pt)) - || (subC2BF8(&_arrunkObj1337[0]._arr2[i], pt)) - || (subC2BF8(&_arrunkObj1337[1]._arr2[i], pt)) - || (subC2BF8(&_arrunkObj1337[3]._arr2[i], pt)) ) { + if ( (subC2BF8(&_arrunkObj1337[2]._outpostStation[i], pt)) + || (subC2BF8(&_arrunkObj1337[0]._outpostStation[i], pt)) + || (subC2BF8(&_arrunkObj1337[1]._outpostStation[i], pt)) + || (subC2BF8(&_arrunkObj1337[3]._outpostStation[i], pt)) ) { found = true; break; } @@ -5625,26 +5627,26 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { if (found) { switch (curReg) { case 5: - if (_arrunkObj1337[2]._arr2[i]._field34 != 0) - displayDialog(_arrunkObj1337[2]._arr2[i]._field34); + if (_arrunkObj1337[2]._outpostStation[i]._cardId != 0) + displayDialog(_arrunkObj1337[2]._outpostStation[i]._cardId); else actionDisplay(1330, 20, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; case 10: - if (_arrunkObj1337[3]._arr2[i]._field34 != 0) - displayDialog(_arrunkObj1337[3]._arr2[i]._field34); + if (_arrunkObj1337[3]._outpostStation[i]._cardId != 0) + displayDialog(_arrunkObj1337[3]._outpostStation[i]._cardId); else actionDisplay(1330, 22, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; case 15: - if (_arrunkObj1337[0]._arr2[i]._field34 != 0) - displayDialog(_arrunkObj1337[0]._arr2[i]._field34); + if (_arrunkObj1337[0]._outpostStation[i]._cardId != 0) + displayDialog(_arrunkObj1337[0]._outpostStation[i]._cardId); else actionDisplay(1330, 21, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; case 20: - if (_arrunkObj1337[1]._arr2[i]._field34 != 0) - displayDialog(_arrunkObj1337[1]._arr2[i]._field34); + if (_arrunkObj1337[1]._outpostStation[i]._cardId != 0) + displayDialog(_arrunkObj1337[1]._outpostStation[i]._cardId); else actionDisplay(1330, 23, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; @@ -5662,26 +5664,26 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { if (found) { switch (curReg) { case 5: - if (_arrunkObj1337[2]._arr3[0]._field34 != 0) - displayDialog(_arrunkObj1337[2]._arr3[0]._field34); + if (_arrunkObj1337[2]._arr3[0]._cardId != 0) + displayDialog(_arrunkObj1337[2]._arr3[0]._cardId); else actionDisplay(1330, 10, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; case 10: - if (_arrunkObj1337[3]._arr3[0]._field34 != 0) - displayDialog(_arrunkObj1337[3]._arr3[0]._field34); + if (_arrunkObj1337[3]._arr3[0]._cardId != 0) + displayDialog(_arrunkObj1337[3]._arr3[0]._cardId); else actionDisplay(1330, 16, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; case 15: - if (_arrunkObj1337[0]._arr3[0]._field34 != 0) - displayDialog(_arrunkObj1337[3]._arr3[0]._field34); + if (_arrunkObj1337[0]._arr3[0]._cardId != 0) + displayDialog(_arrunkObj1337[3]._arr3[0]._cardId); else actionDisplay(1330, 13, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; case 20: - if (_arrunkObj1337[1]._arr3[0]._field34 != 0) - displayDialog(_arrunkObj1337[1]._arr3[0]._field34); + if (_arrunkObj1337[1]._arr3[0]._cardId != 0) + displayDialog(_arrunkObj1337[1]._arr3[0]._cardId); else actionDisplay(1330, 18, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; @@ -5690,8 +5692,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { } } else { if (subC2BF8(&_item7, pt)) { - if (_item7._field34 != 0) - displayDialog(_item7._field34); + if (_item7._cardId != 0) + displayDialog(_item7._cardId); else actionDisplay(1330, 7, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else if (_background1._bounds.contains(pt)) { @@ -5705,13 +5707,13 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { actionDisplay(1330, 32, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { if (subC2BF8(&_arrunkObj1337[2]._arr1[0], pt)) - displayDialog(_arrunkObj1337[2]._arr1[0]._field34); + displayDialog(_arrunkObj1337[2]._arr1[0]._cardId); else if (subC2BF8(&_arrunkObj1337[2]._arr1[1], pt)) - displayDialog(_arrunkObj1337[2]._arr1[1]._field34); + displayDialog(_arrunkObj1337[2]._arr1[1]._cardId); else if (subC2BF8(&_arrunkObj1337[2]._arr1[2], pt)) - displayDialog(_arrunkObj1337[2]._arr1[2]._field34); + displayDialog(_arrunkObj1337[2]._arr1[2]._cardId); else if (subC2BF8(&_arrunkObj1337[2]._arr1[3], pt)) - displayDialog(_arrunkObj1337[2]._arr1[3]._field34); + displayDialog(_arrunkObj1337[2]._arr1[3]._cardId); else if ((curReg >= 6) && (curReg <= 9)) actionDisplay(1330, 29, 159, 10, 1, 200, 0, 7, 0, 154, 154); else if ((curReg >= 11) && (curReg <= 14)) @@ -5751,8 +5753,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { return; for (int i = 0; i <= 7; i++) { - if (subC2BF8(&_arrunkObj1337[2]._arr2[i], pt)) { - switch (_arrunkObj1337[2]._arr2[i]._field34) { + if (subC2BF8(&_arrunkObj1337[2]._outpostStation[i], pt)) { + switch (_arrunkObj1337[2]._outpostStation[i]._cardId) { case 0: actionDisplay(1330, 11, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; @@ -5765,8 +5767,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { } found = true; break; - } else if (subC2BF8(&_arrunkObj1337[0]._arr2[i], pt)) { - switch (_arrunkObj1337[0]._arr2[i]._field34) { + } else if (subC2BF8(&_arrunkObj1337[0]._outpostStation[i], pt)) { + switch (_arrunkObj1337[0]._outpostStation[i]._cardId) { case 0: actionDisplay(1330, 11, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; @@ -5776,8 +5778,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { } found = true; break; - } else if (subC2BF8(&_arrunkObj1337[1]._arr2[i], pt)) { - switch (_arrunkObj1337[1]._arr2[i]._field34) { + } else if (subC2BF8(&_arrunkObj1337[1]._outpostStation[i], pt)) { + switch (_arrunkObj1337[1]._outpostStation[i]._cardId) { case 0: actionDisplay(1330, 146, 300, 99, 1, 136, 0, 7, 0, 117, 117); break; @@ -5787,8 +5789,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { } found = true; break; - } else if (subC2BF8(&_arrunkObj1337[3]._arr2[i], pt)) { - switch (_arrunkObj1337[3]._arr2[i]._field34) { + } else if (subC2BF8(&_arrunkObj1337[3]._outpostStation[i], pt)) { + switch (_arrunkObj1337[3]._outpostStation[i]._cardId) { case 0: actionDisplay(1330, 147, 20, 99, 1, 136, 0, 7, 0, 172, 172); break; @@ -5802,7 +5804,7 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { } if (subC2BF8(&_arrunkObj1337[2]._arr3[0], pt)) { - if (_arrunkObj1337[0]._arr3[0]._field34 != 0) { + if (_arrunkObj1337[0]._arr3[0]._cardId != 0) { actionDisplay(1330, 39, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { actionDisplay(1330, 11, 159, 10, 1, 200, 0, 7, 0, 154, 154); @@ -5811,7 +5813,7 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { } if (subC2BF8(&_arrunkObj1337[3]._arr3[0], pt)) { - if (_arrunkObj1337[3]._arr3[0]._field34 != 0) { + if (_arrunkObj1337[3]._arr3[0]._cardId != 0) { actionDisplay(1330, 145, 20, 99, 1, 136, 0, 7, 0, 172, 172); } else { actionDisplay(1330, 147, 20, 99, 1, 136, 0, 7, 0, 172, 172); @@ -5820,7 +5822,7 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { } if (subC2BF8(&_arrunkObj1337[1]._arr3[0], pt)) { - if (_arrunkObj1337[1]._arr3[0]._field34 != 0) { + if (_arrunkObj1337[1]._arr3[0]._cardId != 0) { actionDisplay(1330, 144, 300, 99, 1, 136, 0, 7, 0, 117, 117); } else { actionDisplay(1330, 146, 300, 99, 1, 136, 0, 7, 0, 117, 117); @@ -5829,7 +5831,7 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { } if (subC2BF8(&_arrunkObj1337[0]._arr3[0], pt)) { - if (_arrunkObj1337[0]._arr3[0]._field34 != 0) { + if (_arrunkObj1337[0]._arr3[0]._cardId != 0) { actionDisplay(1330, 1, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { actionDisplay(1330, 11, 159, 10, 1, 200, 0, 7, 0, 154, 154); @@ -5914,8 +5916,8 @@ void Scene1337::subCF31D() { bool found; int count; - if (this->_arrunkObj1337[1]._arr3[0]._field34 != 0) { - switch (_arrunkObj1337[1]._arr3[0]._field34) { + if (this->_arrunkObj1337[1]._arr3[0]._cardId != 0) { + switch (_arrunkObj1337[1]._arr3[0]._cardId) { case 10: // No break on purpose case 12: @@ -5938,7 +5940,7 @@ void Scene1337::subCF31D() { found = false; int i; for (i = 0; i <= 3; i++) { - if (subC3386(_arrunkObj1337[1]._arr3[0]._field34, _arrunkObj1337[1]._arr1[i]._field34)) { + if (subC3386(_arrunkObj1337[1]._arr3[0]._cardId, _arrunkObj1337[1]._arr1[i]._cardId)) { found = true; break; } @@ -5962,7 +5964,7 @@ void Scene1337::subCF31D() { tmpVal = 0; for (int j = 0; j <= 7; j++) { - if (_arrunkObj1337[1]._arr2[j]._field34 == _arrunkObj1337[1]._arr1[tmpIndx]._field34) { + if (_arrunkObj1337[1]._outpostStation[j]._cardId == _arrunkObj1337[1]._arr1[tmpIndx]._cardId) { tmpVal = 1; break; } @@ -5972,18 +5974,18 @@ void Scene1337::subCF31D() { break; for (int j = 0; j <= 7; j++) { - if (_arrunkObj1337[1]._arr2[j]._field34 == 1) { - if (!subC2687(_arrunkObj1337[1]._arr3[0]._field34)) { + if (_arrunkObj1337[1]._outpostStation[j]._cardId == 1) { + if (!subC2687(_arrunkObj1337[1]._arr3[0]._cardId)) { count = 0; for (int k = 0; k <= 7; k++) { - if ((_arrunkObj1337[1]._arr2[k]._field34 > 1) && (_arrunkObj1337[1]._arr2[k]._field34 <= 9)) + if ((_arrunkObj1337[1]._outpostStation[k]._cardId > 1) && (_arrunkObj1337[1]._outpostStation[k]._cardId <= 9)) ++count; } if (count == 7) _field424A = 1; - subC33C0(&_arrunkObj1337[1]._arr1[tmpIndx], &_arrunkObj1337[1]._arr2[j]); + subC33C0(&_arrunkObj1337[1]._arr1[tmpIndx], &_arrunkObj1337[1]._outpostStation[j]); found = true; break; } @@ -5997,8 +5999,8 @@ void Scene1337::subCF31D() { tmpVal = subC2719(1); if (tmpVal != -1) { for (int i = 0; i <= 7; i++) { - if ((_arrunkObj1337[1]._arr2[i]._field34 == 0) && (!subC2687(_arrunkObj1337[1]._arr3[0]._field34))) { - subC340B(&_arrunkObj1337[1]._arr1[tmpVal], &_arrunkObj1337[1]._arr2[i]); + if ((_arrunkObj1337[1]._outpostStation[i]._cardId == 0) && (!subC2687(_arrunkObj1337[1]._arr3[0]._cardId))) { + subC340B(&_arrunkObj1337[1]._arr1[tmpVal], &_arrunkObj1337[1]._outpostStation[i]); found = true; break; } @@ -6025,10 +6027,10 @@ void Scene1337::subCF31D() { int rndVal = R2_GLOBALS._randomSource.getRandomNumber(3); for (int i = 0; i <= 3; i++) { if (rndVal != 1) { - if ( (_arrunkObj1337[rndVal]._arr1[0]._field34 != 0) - || (_arrunkObj1337[rndVal]._arr1[1]._field34 != 0) - || (_arrunkObj1337[rndVal]._arr1[2]._field34 != 0) - || (_arrunkObj1337[rndVal]._arr1[3]._field34 == 0)) { + if ( (_arrunkObj1337[rndVal]._arr1[0]._cardId != 0) + || (_arrunkObj1337[rndVal]._arr1[1]._cardId != 0) + || (_arrunkObj1337[rndVal]._arr1[2]._cardId != 0) + || (_arrunkObj1337[rndVal]._arr1[3]._cardId == 0)) { count = rndVal; break; } @@ -6051,7 +6053,7 @@ void Scene1337::subCF31D() { count = -1; int i; for (i = 0; i <= 3; i++) { - tmpVal = subC27B5(_arrunkObj1337[1]._arr1[i]._field34); + tmpVal = subC27B5(_arrunkObj1337[1]._arr1[i]._cardId); if (tmpVal != -1) { int rndVal = R2_GLOBALS._randomSource.getRandomNumber(3); @@ -6061,7 +6063,7 @@ void Scene1337::subCF31D() { for (int k = 0; k <= 7; k++) { // CHECKME: 'k' is not used in that loop. // It looks suspicious. - if ((_arrunkObj1337[tmpVal]._arr3[0]._field34 == 0) && (subC32B1(tmpVal, _arrunkObj1337[1]._arr1[i]._field34))) { + if ((_arrunkObj1337[tmpVal]._arr3[0]._cardId == 0) && (subC32B1(tmpVal, _arrunkObj1337[1]._arr1[i]._cardId))) { count = tmpVal; break; } @@ -6088,14 +6090,14 @@ void Scene1337::subCF31D() { else { int j; for (j = 0; j <= 3; j++) { - if (subC27F9(_arrunkObj1337[1]._arr1[j]._field34) != -1) { + if (subC27F9(_arrunkObj1337[1]._arr1[j]._cardId) != -1) { count = -1; int rndVal = R2_GLOBALS._randomSource.getRandomNumber(3); for (int l = 0; l <= 3; l++) { if (rndVal != 1) { for (int m = 0; m <= 7; m++) { // 'm' is not used in that loop. It looks suspicious. - if ((_arrunkObj1337[rndVal]._arr3[0]._field34 == 0) && (_arrunkObj1337[1]._arr1[j]._field34 == 1)) { + if ((_arrunkObj1337[rndVal]._arr3[0]._cardId == 0) && (_arrunkObj1337[1]._arr1[j]._cardId == 1)) { count = rndVal; break; } @@ -6126,8 +6128,8 @@ void Scene1337::subCF31D() { void Scene1337::subCF979() { bool found = true; - if (_arrunkObj1337[0]._arr3[0]._field34 != 0) { - switch (_arrunkObj1337[0]._arr3[0]._field34) { + if (_arrunkObj1337[0]._arr3[0]._cardId != 0) { + switch (_arrunkObj1337[0]._arr3[0]._cardId) { case 10: //No break on purpose case 12: @@ -6151,7 +6153,7 @@ void Scene1337::subCF979() { found = false; for (i = 0; i <= 3; i++) { - if (subC3386(_arrunkObj1337[0]._arr3[0]._field34, _arrunkObj1337[0]._arr1[i]._field34)) { + if (subC3386(_arrunkObj1337[0]._arr3[0]._cardId, _arrunkObj1337[0]._arr1[i]._cardId)) { found = true; break; } @@ -6176,7 +6178,7 @@ void Scene1337::subCF979() { if (tmpVal != -1) { bool flag = false; for (int j = 0; j <= 7; j++) { - if (_arrunkObj1337[0]._arr2[j]._field34 == _arrunkObj1337[0]._arr1[tmpVal]._field34) { + if (_arrunkObj1337[0]._outpostStation[j]._cardId == _arrunkObj1337[0]._arr1[tmpVal]._cardId) { flag = true; break; } @@ -6184,10 +6186,10 @@ void Scene1337::subCF979() { if (!flag) { for (int j = 0; j <= 7; j++) { - if ((_arrunkObj1337[0]._arr2[j]._field34 == 1) && (!subC2687(_arrunkObj1337[0]._arr3[0]._field34))) { + if ((_arrunkObj1337[0]._outpostStation[j]._cardId == 1) && (!subC2687(_arrunkObj1337[0]._arr3[0]._cardId))) { int count = 0; for (int k = 0; k <= 7; k++) { - if ((_arrunkObj1337[0]._arr2[k]._field34 > 1) && (_arrunkObj1337[0]._arr2[k]._field34 <= 9)) { + if ((_arrunkObj1337[0]._outpostStation[k]._cardId > 1) && (_arrunkObj1337[0]._outpostStation[k]._cardId <= 9)) { ++count; } } @@ -6195,7 +6197,7 @@ void Scene1337::subCF979() { if (count == 7) _field424A = 0; - subC33C0(&_arrunkObj1337[0]._arr1[tmpVal], &_arrunkObj1337[0]._arr2[j]); + subC33C0(&_arrunkObj1337[0]._arr1[tmpVal], &_arrunkObj1337[0]._outpostStation[j]); found = true; } } @@ -6214,8 +6216,8 @@ void Scene1337::subCF979() { if (tmpVal != -1) { for (int i = 0; i <= 7; i++) { - if ((_arrunkObj1337[0]._arr2[i]._field34 == 0) && (!subC2687(_arrunkObj1337[0]._arr3[0]._field34))) { - subC340B(&_arrunkObj1337[0]._arr1[tmpVal], &_arrunkObj1337[0]._arr2[i]); + if ((_arrunkObj1337[0]._outpostStation[i]._cardId == 0) && (!subC2687(_arrunkObj1337[0]._arr3[0]._cardId))) { + subC340B(&_arrunkObj1337[0]._arr1[tmpVal], &_arrunkObj1337[0]._outpostStation[i]); found = true; break; } @@ -6228,7 +6230,7 @@ void Scene1337::subCF979() { tmpVal = subC274D(0); if (tmpVal != -1) { for (int i = 0; i <= 7; i++) { - if (_arrunkObj1337[2]._arr2[i]._field34 != 0) { + if (_arrunkObj1337[2]._outpostStation[i]._cardId != 0) { subC358E(&_arrunkObj1337[0]._arr1[tmpVal], 2); found = true; break; @@ -6241,10 +6243,10 @@ void Scene1337::subCF979() { tmpVal = subC2781(0); if (tmpVal != -1) { - if ( (_arrunkObj1337[2]._arr1[0]._field34 != 0) - || (_arrunkObj1337[2]._arr1[1]._field34 != 0) - || (_arrunkObj1337[2]._arr1[2]._field34 != 0) - || (_arrunkObj1337[2]._arr1[3]._field34 != 0) ) { + if ( (_arrunkObj1337[2]._arr1[0]._cardId != 0) + || (_arrunkObj1337[2]._arr1[1]._cardId != 0) + || (_arrunkObj1337[2]._arr1[2]._cardId != 0) + || (_arrunkObj1337[2]._arr1[3]._cardId != 0) ) { subC318B(0, &_arrunkObj1337[0]._arr1[tmpVal], 2); found = true; } @@ -6254,10 +6256,10 @@ void Scene1337::subCF979() { return; for (int i = 0; i <= 3; i++) { - if (subC27B5(_arrunkObj1337[0]._arr1[i]._field34) != -1) { + if (subC27B5(_arrunkObj1337[0]._arr1[i]._cardId) != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect for (int j = 0; j <= 7; j++) { - if ((_arrunkObj1337[2]._arr3[0]._field34 == 0) && (subC32B1(2, _arrunkObj1337[0]._arr1[i]._field34))) { + if ((_arrunkObj1337[2]._arr3[0]._cardId == 0) && (subC32B1(2, _arrunkObj1337[0]._arr1[i]._cardId))) { subC3456(&_arrunkObj1337[0]._arr1[i], &_arrunkObj1337[2]._arr3[0]); found = true; break; @@ -6273,10 +6275,10 @@ void Scene1337::subCF979() { return; for (int i = 0; i <= 3; i++) { - if (subC27F9(_arrunkObj1337[0]._arr1[i]._field34) != -1) { + if (subC27F9(_arrunkObj1337[0]._arr1[i]._cardId) != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect for (int j = 0; j <= 7; j++) { - if ((_arrunkObj1337[2]._arr3[0]._field34 == 0) && (subC32B1(2, _arrunkObj1337[0]._arr1[i]._field34))) { + if ((_arrunkObj1337[2]._arr3[0]._cardId == 0) && (subC32B1(2, _arrunkObj1337[0]._arr1[i]._cardId))) { subC3456(&_arrunkObj1337[0]._arr1[i], &_arrunkObj1337[2]._arr3[0]); found = true; } @@ -6303,10 +6305,10 @@ void Scene1337::subCF979() { tmpVal = subC2781(0); if (tmpVal != -1) { - if ( (_arrunkObj1337[1]._arr1[0]._field34 != 0) - || (_arrunkObj1337[1]._arr1[1]._field34 != 0) - || (_arrunkObj1337[1]._arr1[2]._field34 != 0) - || (_arrunkObj1337[1]._arr1[3]._field34 != 0) ) { + if ( (_arrunkObj1337[1]._arr1[0]._cardId != 0) + || (_arrunkObj1337[1]._arr1[1]._cardId != 0) + || (_arrunkObj1337[1]._arr1[2]._cardId != 0) + || (_arrunkObj1337[1]._arr1[3]._cardId != 0) ) { subC318B(0, &_arrunkObj1337[0]._arr1[tmpVal], 1); found = true; } @@ -6316,11 +6318,11 @@ void Scene1337::subCF979() { return; for (int i = 0; i <= 3; i++) { - tmpVal = subC27F9(_arrunkObj1337[0]._arr1[i]._field34); + tmpVal = subC27F9(_arrunkObj1337[0]._arr1[i]._cardId); if (tmpVal != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_arrunkObj1337[1]._arr3[0]._field34 == 0) && (subC32B1(1, _arrunkObj1337[0]._arr1[i]._field34))) { + if ((_arrunkObj1337[1]._arr3[0]._cardId == 0) && (subC32B1(1, _arrunkObj1337[0]._arr1[i]._cardId))) { subC3456(&_arrunkObj1337[0]._arr1[i], &_arrunkObj1337[1]._arr3[0]); found = true; } @@ -6329,7 +6331,7 @@ void Scene1337::subCF979() { if (!found) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_arrunkObj1337[3]._arr3[0]._field34 == 0) && (subC32B1(3, _arrunkObj1337[0]._arr1[i]._field34))) { + if ((_arrunkObj1337[3]._arr3[0]._cardId == 0) && (subC32B1(3, _arrunkObj1337[0]._arr1[i]._cardId))) { subC3456(&_arrunkObj1337[0]._arr1[i], &_arrunkObj1337[3]._arr3[0]); found = true; } @@ -6345,11 +6347,11 @@ void Scene1337::subCF979() { return; for (int i = 0; i <= 3; i++) { - tmpVal = subC27B5(_arrunkObj1337[0]._arr1[i]._field34); + tmpVal = subC27B5(_arrunkObj1337[0]._arr1[i]._cardId); if (tmpVal != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_arrunkObj1337[1]._arr3[0]._field34 == 0) && (subC32B1(1, _arrunkObj1337[0]._arr1[i]._field34))) { + if ((_arrunkObj1337[1]._arr3[0]._cardId == 0) && (subC32B1(1, _arrunkObj1337[0]._arr1[i]._cardId))) { subC3456(&_arrunkObj1337[0]._arr1[i], &_arrunkObj1337[1]._arr3[0]); found = true; } @@ -6358,7 +6360,7 @@ void Scene1337::subCF979() { if (!found) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_arrunkObj1337[3]._arr3[0]._field34 == 0) && (subC32B1(3, _arrunkObj1337[0]._arr1[i]._field34))) { + if ((_arrunkObj1337[3]._arr3[0]._cardId == 0) && (subC32B1(3, _arrunkObj1337[0]._arr1[i]._cardId))) { subC3456(&_arrunkObj1337[0]._arr1[i], &_arrunkObj1337[3]._arr3[0]); found = true; } @@ -6381,7 +6383,7 @@ void Scene1337::subD026D() { } void Scene1337::subD0281() { - if (subC27F9(this->_arrunkObj1337[2]._arr3[0]._field34) == -1) + if (subC27F9(this->_arrunkObj1337[2]._arr3[0]._cardId) == -1) _unkFctPtr412 = &Scene1337::subD026D; else subC4A39(&_arrunkObj1337[2]._arr3[0]); @@ -6393,8 +6395,8 @@ void Scene1337::subD02CA() { if (R2_GLOBALS._v57810 == 200) { int di; for (di = 0; di < 4; di++) { - if ((subC2BF8(&_arrunkObj1337[2]._arr1[di], _item6._field36) != 0) && (_arrunkObj1337[2]._arr1[di]._field34 != 0)) { - _item6._field34 = _arrunkObj1337[2]._arr1[di]._field34; + if ((subC2BF8(&_arrunkObj1337[2]._arr1[di], _item6._field36) != 0) && (_arrunkObj1337[2]._arr1[di]._cardId != 0)) { + _item6._cardId = _arrunkObj1337[2]._arr1[di]._cardId; _item6._field36 = _arrunkObj1337[2]._arr1[di]._field36; // _item6._actorName = _arrunkObj1337[2]._arr1[di]._actorName; _item6._fieldE = _arrunkObj1337[2]._arr1[di]._fieldE; @@ -6412,42 +6414,42 @@ void Scene1337::subD02CA() { _item6._useLineNum = _arrunkObj1337[2]._arr1[di]._useLineNum; _item6._action = _arrunkObj1337[2]._arr1[di]._action; warning("_item6._field0 = _arrunkObj1337[2]._arr1[di]._field0;"); - _item6._object1._updateStartFrame = _arrunkObj1337[2]._arr1[di]._object1._updateStartFrame; - _item6._object1._walkStartFrame = _arrunkObj1337[2]._arr1[di]._object1._walkStartFrame; + _item6._card._updateStartFrame = _arrunkObj1337[2]._arr1[di]._card._updateStartFrame; + _item6._card._walkStartFrame = _arrunkObj1337[2]._arr1[di]._card._walkStartFrame; // _field2E is named _field3C in R2R - _item6._object1._field2E = _arrunkObj1337[2]._arr1[di]._object1._field2E; - _item6._object1._percent = _arrunkObj1337[2]._arr1[di]._object1._percent; - _item6._object1._priority = _arrunkObj1337[2]._arr1[di]._object1._priority; - _item6._object1._angle = _arrunkObj1337[2]._arr1[di]._object1._angle; - _item6._object1._flags = _arrunkObj1337[2]._arr1[di]._object1._flags; - _item6._object1._xe = _arrunkObj1337[2]._arr1[di]._object1._xe; - _item6._object1._xs = _arrunkObj1337[2]._arr1[di]._object1._xs; - _item6._object1._paneRects[0] = _arrunkObj1337[2]._arr1[di]._object1._paneRects[0]; - _item6._object1._paneRects[1] = _arrunkObj1337[2]._arr1[di]._object1._paneRects[1]; - _item6._object1._visage = _arrunkObj1337[2]._arr1[di]._object1._visage; - _item6._object1._objectWrapper = _arrunkObj1337[2]._arr1[di]._object1._objectWrapper; - _item6._object1._strip = _arrunkObj1337[2]._arr1[di]._object1._strip; - _item6._object1._animateMode = _arrunkObj1337[2]._arr1[di]._object1._animateMode; - _item6._object1._frame = _arrunkObj1337[2]._arr1[di]._object1._frame; - _item6._object1._endFrame = _arrunkObj1337[2]._arr1[di]._object1._endFrame; + _item6._card._field2E = _arrunkObj1337[2]._arr1[di]._card._field2E; + _item6._card._percent = _arrunkObj1337[2]._arr1[di]._card._percent; + _item6._card._priority = _arrunkObj1337[2]._arr1[di]._card._priority; + _item6._card._angle = _arrunkObj1337[2]._arr1[di]._card._angle; + _item6._card._flags = _arrunkObj1337[2]._arr1[di]._card._flags; + _item6._card._xe = _arrunkObj1337[2]._arr1[di]._card._xe; + _item6._card._xs = _arrunkObj1337[2]._arr1[di]._card._xs; + _item6._card._paneRects[0] = _arrunkObj1337[2]._arr1[di]._card._paneRects[0]; + _item6._card._paneRects[1] = _arrunkObj1337[2]._arr1[di]._card._paneRects[1]; + _item6._card._visage = _arrunkObj1337[2]._arr1[di]._card._visage; + _item6._card._objectWrapper = _arrunkObj1337[2]._arr1[di]._card._objectWrapper; + _item6._card._strip = _arrunkObj1337[2]._arr1[di]._card._strip; + _item6._card._animateMode = _arrunkObj1337[2]._arr1[di]._card._animateMode; + _item6._card._frame = _arrunkObj1337[2]._arr1[di]._card._frame; + _item6._card._endFrame = _arrunkObj1337[2]._arr1[di]._card._endFrame; // _field68 is named _field76 in R2R - _item6._object1._field68 = _arrunkObj1337[2]._arr1[di]._object1._field68; - _item6._object1._frameChange = _arrunkObj1337[2]._arr1[di]._object1._frameChange; - _item6._object1._numFrames = _arrunkObj1337[2]._arr1[di]._object1._numFrames; - _item6._object1._regionIndex = _arrunkObj1337[2]._arr1[di]._object1._regionIndex; - _item6._object1._mover = _arrunkObj1337[2]._arr1[di]._object1._mover; - _item6._object1._moveDiff = _arrunkObj1337[2]._arr1[di]._object1._moveDiff; - _item6._object1._moveRate = _arrunkObj1337[2]._arr1[di]._object1._moveRate; - _item6._object1._actorDestPos = _arrunkObj1337[2]._arr1[di]._object1._actorDestPos; - _item6._object1._endAction = _arrunkObj1337[2]._arr1[di]._object1._endAction; - _item6._object1._regionBitList = _arrunkObj1337[2]._arr1[di]._object1._regionBitList; + _item6._card._field68 = _arrunkObj1337[2]._arr1[di]._card._field68; + _item6._card._frameChange = _arrunkObj1337[2]._arr1[di]._card._frameChange; + _item6._card._numFrames = _arrunkObj1337[2]._arr1[di]._card._numFrames; + _item6._card._regionIndex = _arrunkObj1337[2]._arr1[di]._card._regionIndex; + _item6._card._mover = _arrunkObj1337[2]._arr1[di]._card._mover; + _item6._card._moveDiff = _arrunkObj1337[2]._arr1[di]._card._moveDiff; + _item6._card._moveRate = _arrunkObj1337[2]._arr1[di]._card._moveRate; + _item6._card._actorDestPos = _arrunkObj1337[2]._arr1[di]._card._actorDestPos; + _item6._card._endAction = _arrunkObj1337[2]._arr1[di]._card._endAction; + _item6._card._regionBitList = _arrunkObj1337[2]._arr1[di]._card._regionBitList; // _item6._object1._actorName = _arrunkObj1337[2]._arr1[di]._object1._actorName; - _item6._object1._fieldE = _arrunkObj1337[2]._arr1[di]._object1._fieldE; - _item6._object1._field10 = _arrunkObj1337[2]._arr1[di]._object1._field10; + _item6._card._fieldE = _arrunkObj1337[2]._arr1[di]._card._fieldE; + _item6._card._field10 = _arrunkObj1337[2]._arr1[di]._card._field10; warning("_item6._object1._field12 = _arrunkObj1337[2]._arr1[di]._object1._field12;"); warning("_item6._object1._field14 = _arrunkObj1337[2]._arr1[di]._object1._field14;"); warning("_item6._object1._field16 = _arrunkObj1337[2]._arr1[di]._object1._field16;"); - _item6._object1 = _arrunkObj1337[2]._arr1[di]._object1; + _item6._card = _arrunkObj1337[2]._arr1[di]._card; } } @@ -6467,7 +6469,7 @@ void Scene1337::subD02CA() { } // That continues the block when R2_GLOBALS._v57810 == 200 and di != 4 - setCursorData(1332, _item6._object1._strip, _item6._object1._frame); + setCursorData(1332, _item6._card._strip, _item6._card._frame); R2_GLOBALS._sceneObjects->draw(); Event event; bool found = false; @@ -6480,13 +6482,13 @@ void Scene1337::subD02CA() { for (int i = 0; i <= 3; i ++) { if (subC2BF8(&_arrunkObj1337[2]._arr1[i], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { - if (_arrunkObj1337[2]._arr1[i]._field34 == 0) { - _arrunkObj1337[2]._arr1[i]._field34 = _item6._field34; - _arrunkObj1337[2]._arr1[i]._object1.postInit(); - _arrunkObj1337[2]._arr1[i]._object1.hide(); - _arrunkObj1337[2]._arr1[i]._object1.setVisage(1332); - _arrunkObj1337[2]._arr1[i]._object1.setPosition(_arrunkObj1337[2]._arr1[i]._field36, 0); - _arrunkObj1337[2]._arr1[i]._object1.fixPriority(170); + if (_arrunkObj1337[2]._arr1[i]._cardId == 0) { + _arrunkObj1337[2]._arr1[i]._cardId = _item6._cardId; + _arrunkObj1337[2]._arr1[i]._card.postInit(); + _arrunkObj1337[2]._arr1[i]._card.hide(); + _arrunkObj1337[2]._arr1[i]._card.setVisage(1332); + _arrunkObj1337[2]._arr1[i]._card.setPosition(_arrunkObj1337[2]._arr1[i]._field36, 0); + _arrunkObj1337[2]._arr1[i]._card.fixPriority(170); setAnimationInfo(&_arrunkObj1337[2]._arr1[i]); setCursorData(5, 1, 4); found = true; @@ -6507,63 +6509,63 @@ void Scene1337::subD02CA() { } else if (!found) { bool foundVar4; int i; - if (_item6._field34 == 1) { + if (_item6._cardId == 1) { foundVar4 = false; for (i = 0; i <= 7; i++) { - if (subC2BF8(&_arrunkObj1337[2]._arr2[i], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { + if (subC2BF8(&_arrunkObj1337[2]._outpostStation[i], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { foundVar4 = true; break; } } - if ((foundVar4) && (_arrunkObj1337[2]._arr2[i]._field34 == 0)) { - if (subC27B5(_arrunkObj1337[2]._arr3[0]._field34) != -1) { + if ((foundVar4) && (_arrunkObj1337[2]._outpostStation[i]._cardId == 0)) { + if (subC27B5(_arrunkObj1337[2]._arr3[0]._cardId) != -1) { actionDisplay(1330, 55, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { - subC340B(&_item6, &_arrunkObj1337[2]._arr2[i]); + subC340B(&_item6, &_arrunkObj1337[2]._outpostStation[i]); return; } } else { actionDisplay(1330, 56, 159, 10, 1, 200, 0, 7, 0, 154, 154); } - } else if (_item6._field34 <= 9) { + } else if (_item6._cardId <= 9) { foundVar4 = false; for (i = 0; i <= 7; i++) { - if (subC2BF8(&_arrunkObj1337[2]._arr2[i], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { + if (subC2BF8(&_arrunkObj1337[2]._outpostStation[i], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { foundVar4 = true; break; } } - if ((foundVar4) && (_arrunkObj1337[2]._arr2[i]._field34 == 1)) { + if ((foundVar4) && (_arrunkObj1337[2]._outpostStation[i]._cardId == 1)) { foundVar4 = false; int j; for (j = 0; j <= 7; j++) { - if (_item6._field34 == _arrunkObj1337[2]._arr2[j]._field34) { + if (_item6._cardId == _arrunkObj1337[2]._outpostStation[j]._cardId) { foundVar4 = true; break; } } if (foundVar4) { actionDisplay(1330, 34, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if (subC27B5(_arrunkObj1337[2]._arr3[0]._field34) != -1) { + } else if (subC27B5(_arrunkObj1337[2]._arr3[0]._cardId) != -1) { actionDisplay(1330, 35, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { if (j == 7) _field424A = 2; - subC33C0(&_item6, &_arrunkObj1337[2]._arr2[i]); + subC33C0(&_item6, &_arrunkObj1337[2]._outpostStation[i]); return; } } else { actionDisplay(1330, 37, 159, 10, 1, 200, 0, 7, 0, 154, 154); } } else { - if ((_item6._field34 == 26) || (_item6._field34 == 30) ||(_item6._field34 == 32) || (_item6._field34 == 28)) { + if ((_item6._cardId == 26) || (_item6._cardId == 30) ||(_item6._cardId == 32) || (_item6._cardId == 28)) { if (subC2BF8(&_arrunkObj1337[2]._arr3[0], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { actionDisplay(1330, 42, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if (!subC3386(_arrunkObj1337[2]._arr3[0]._field34, _item6._field34)) { - if (_arrunkObj1337[2]._arr3[0]._field34 != 0) { - switch (_arrunkObj1337[2]._arr3[0]._field34) { + } else if (!subC3386(_arrunkObj1337[2]._arr3[0]._cardId, _item6._cardId)) { + if (_arrunkObj1337[2]._arr3[0]._cardId != 0) { + switch (_arrunkObj1337[2]._arr3[0]._cardId) { case 11: actionDisplay(1330, 68, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; @@ -6587,11 +6589,11 @@ void Scene1337::subD02CA() { return; } } else { - if ((subC27F9(_item6._field34) == -1) && (subC27B5(_item6._field34) == -1)) { - if (_item6._field34 == 13) { + if ((subC27F9(_item6._cardId) == -1) && (subC27B5(_item6._cardId) == -1)) { + if (_item6._cardId == 13) { if (subC2BF8(&_arrunkObj1337[0]._arr4[0], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { for (int k = 0; k <= 7; k++) { - if (_arrunkObj1337[0]._arr2[k]._field34 != 0) { + if (_arrunkObj1337[0]._outpostStation[k]._cardId != 0) { found = true; subC358E(&_item6, 0); } @@ -6601,7 +6603,7 @@ void Scene1337::subD02CA() { actionDisplay(1330, 74, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else if (subC2BF8(&_arrunkObj1337[3]._arr4[0], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { for (int k = 0; k <= 7; k++) { - if (_arrunkObj1337[3]._arr2[k]._field34 != 0) { + if (_arrunkObj1337[3]._outpostStation[k]._cardId != 0) { found = true; subC358E(&_item6, 3); } @@ -6610,7 +6612,7 @@ void Scene1337::subD02CA() { actionDisplay(1330, 74, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else if (subC2BF8(&_arrunkObj1337[1]._arr4[0], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { for (int k = 0; k <= 7; k++) { - if (_arrunkObj1337[1]._arr2[k]._field34 == 0) { + if (_arrunkObj1337[1]._outpostStation[k]._cardId == 0) { found = true; subC358E(&_item6, 1); } @@ -6620,15 +6622,15 @@ void Scene1337::subD02CA() { } else { actionDisplay(1330, 128, 159, 10, 1, 200, 0, 7, 0, 154, 154); } - } else if (_item6._field34 == 25) { + } else if (_item6._cardId == 25) { int k; if (subC2BF8(&_arrunkObj1337[0]._arr4[0], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { - if ( (_arrunkObj1337[0]._arr1[0]._field34 != 0) - || (_arrunkObj1337[0]._arr1[1]._field34 != 0) - || (_arrunkObj1337[0]._arr1[2]._field34 != 0) - || (_arrunkObj1337[0]._arr1[3]._field34 != 0) ) { + if ( (_arrunkObj1337[0]._arr1[0]._cardId != 0) + || (_arrunkObj1337[0]._arr1[1]._cardId != 0) + || (_arrunkObj1337[0]._arr1[2]._cardId != 0) + || (_arrunkObj1337[0]._arr1[3]._cardId != 0) ) { for (k = 0; k <= 3; k++){ - if (_arrunkObj1337[2]._arr1[k]._field34 == 0) + if (_arrunkObj1337[2]._arr1[k]._cardId == 0) break; } subC318B(2, &_arrunkObj1337[2]._arr1[k], 0); @@ -6637,12 +6639,12 @@ void Scene1337::subD02CA() { actionDisplay(1330, 99, 159, 10, 1, 200, 0, 7, 0, 154, 154); } } else if (subC2BF8(&_arrunkObj1337[1]._arr4[0], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { - if ( (_arrunkObj1337[1]._arr1[0]._field34 != 0) - || (_arrunkObj1337[1]._arr1[1]._field34 != 0) - || (_arrunkObj1337[1]._arr1[2]._field34 != 0) - || (_arrunkObj1337[1]._arr1[3]._field34 != 0) ) { + if ( (_arrunkObj1337[1]._arr1[0]._cardId != 0) + || (_arrunkObj1337[1]._arr1[1]._cardId != 0) + || (_arrunkObj1337[1]._arr1[2]._cardId != 0) + || (_arrunkObj1337[1]._arr1[3]._cardId != 0) ) { for (k = 0; k <= 3; k++){ - if (_arrunkObj1337[2]._arr1[k]._field34 == 0) + if (_arrunkObj1337[2]._arr1[k]._cardId == 0) break; } subC318B(2, &_arrunkObj1337[2]._arr1[k], 1); @@ -6653,12 +6655,12 @@ void Scene1337::subD02CA() { } if (subC2BF8(&_arrunkObj1337[3]._arr4[0], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { - if ( (_arrunkObj1337[3]._arr1[0]._field34 != 0) - || (_arrunkObj1337[3]._arr1[1]._field34 != 0) - || (_arrunkObj1337[3]._arr1[2]._field34 != 0) - || (_arrunkObj1337[3]._arr1[3]._field34 != 0) ) { + if ( (_arrunkObj1337[3]._arr1[0]._cardId != 0) + || (_arrunkObj1337[3]._arr1[1]._cardId != 0) + || (_arrunkObj1337[3]._arr1[2]._cardId != 0) + || (_arrunkObj1337[3]._arr1[3]._cardId != 0) ) { for (k = 0; k <= 3; k++){ - if (_arrunkObj1337[2]._arr1[k]._field34 == 0) + if (_arrunkObj1337[2]._arr1[k]._cardId == 0) break; } subC318B(2, &_arrunkObj1337[2]._arr1[k], 3); @@ -6669,17 +6671,17 @@ void Scene1337::subD02CA() { } else { actionDisplay(1330, 129, 159, 10, 1, 200, 0, 7, 0, 154, 154); } - } else if (_item6._field34 == 29) { + } else if (_item6._cardId == 29) { actionDisplay(1330, 136, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if (_item6._field34 == 27) { + } else if (_item6._cardId == 27) { actionDisplay(1330, 137, 159, 10, 1, 200, 0, 7, 0, 154, 154); } } else { if (subC2BF8(&_arrunkObj1337[0]._arr3[0], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { - if (_arrunkObj1337[0]._arr3[0]._field34 != 0) { + if (_arrunkObj1337[0]._arr3[0]._cardId != 0) { actionDisplay(1330, 15, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if (!subC32B1(0, _item6._field34)) { - switch (_item6._field34) { + } else if (!subC32B1(0, _item6._cardId)) { + switch (_item6._cardId) { case 10: actionDisplay(1330, 66, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; @@ -6712,10 +6714,10 @@ void Scene1337::subD02CA() { found = true; } } else if (subC2BF8(&_arrunkObj1337[3]._arr3[0], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { - if (_arrunkObj1337[3]._arr3[0]._field34 != 0) { + if (_arrunkObj1337[3]._arr3[0]._cardId != 0) { actionDisplay(1330, 17, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if (!subC32B1(3, _item6._field34)) { - switch (_item6._field34) { + } else if (!subC32B1(3, _item6._cardId)) { + switch (_item6._cardId) { case 10: actionDisplay(1330, 66, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; @@ -6748,10 +6750,10 @@ void Scene1337::subD02CA() { found = true; } } else if (subC2BF8(&_arrunkObj1337[1]._arr3[0], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { - if (_arrunkObj1337[1]._arr3[0]._field34 != 0) { + if (_arrunkObj1337[1]._arr3[0]._cardId != 0) { actionDisplay(1330, 19, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if (!subC32B1(1, _item6._field34)) { - switch (_item6._field34) { + } else if (!subC32B1(1, _item6._cardId)) { + switch (_item6._cardId) { case 10: actionDisplay(1330, 66, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h index 09c674f9f3..3246b3f856 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.h +++ b/engines/tsage/ringworld2/ringworld2_scenes1.h @@ -185,9 +185,9 @@ public: class Scene1337 : public SceneExt { class unkObj1337sub1: public SceneHotspot { public: - SceneObject _object1; + SceneObject _card; - int _field34; + int _cardId; Common::Point _field36; unkObj1337sub1(); @@ -197,7 +197,7 @@ class Scene1337 : public SceneExt { class unkObj1337_1: public SceneHotspot { public: unkObj1337sub1 _arr1[4]; - unkObj1337sub1 _arr2[8]; + unkObj1337sub1 _outpostStation[8]; unkObj1337sub1 _arr3[1]; unkObj1337sub1 _arr4[1]; -- cgit v1.2.3 From 304f6753cab6dba4fac44789539514804efcbc38 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 30 Nov 2013 00:21:48 +0100 Subject: TSAGE: R2R - More renaming in scene 1337 --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 1936 +++++++++++------------ engines/tsage/ringworld2/ringworld2_scenes1.h | 4 +- 2 files changed, 970 insertions(+), 970 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index fd44cd6d16..243fa50287 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -2214,7 +2214,7 @@ void Scene1200::startCrawling(CrawlDirection dir) { Scene1337::unkObj1337sub1::unkObj1337sub1() { _cardId = 0; - _field36 = Common::Point(0, 0); + _stationPos = Common::Point(0, 0); } void Scene1337::unkObj1337sub1::synchronize(Serializer &s) { @@ -2289,260 +2289,260 @@ void Scene1337::Action1::signal() { scene->actionDisplay(1331, 7, 159, 10, 1, 200, 0, 7, 0, 154, 154); scene->actionDisplay(1331, 8, 159, 10, 1, 200, 0, 7, 0, 154, 154); - scene->_arrunkObj1337[1]._outpostStation[0]._cardId = 2; - scene->_arrunkObj1337[1]._outpostStation[0]._card.postInit(); - scene->_arrunkObj1337[1]._outpostStation[0]._card.setVisage(1332); - scene->_arrunkObj1337[1]._outpostStation[0]._card.setPosition(scene->_arrunkObj1337[1]._outpostStation[0]._field36, 0); - scene->_arrunkObj1337[1]._outpostStation[0]._card.setStrip(2); - scene->_arrunkObj1337[1]._outpostStation[0]._card.setFrame(scene->_arrunkObj1337[1]._outpostStation[0]._cardId); - scene->_arrunkObj1337[1]._outpostStation[0]._card.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[1]._outpostStation[0]); - - scene->_arrunkObj1337[1]._outpostStation[1]._cardId = 3; - scene->_arrunkObj1337[1]._outpostStation[1]._card.postInit(); - scene->_arrunkObj1337[1]._outpostStation[1]._card.setVisage(1332); - scene->_arrunkObj1337[1]._outpostStation[1]._card.setPosition(scene->_arrunkObj1337[1]._outpostStation[1]._field36, 0); - scene->_arrunkObj1337[1]._outpostStation[1]._card.setStrip(2); - scene->_arrunkObj1337[1]._outpostStation[1]._card.setFrame(scene->_arrunkObj1337[1]._outpostStation[1]._cardId); - scene->_arrunkObj1337[1]._outpostStation[1]._card.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[1]._outpostStation[1]); - - scene->_arrunkObj1337[2]._outpostStation[0]._cardId = 4; - scene->_arrunkObj1337[2]._outpostStation[0]._card.postInit(); - scene->_arrunkObj1337[2]._outpostStation[0]._card.setVisage(1332); - scene->_arrunkObj1337[2]._outpostStation[0]._card.setPosition(scene->_arrunkObj1337[2]._outpostStation[0]._field36, 0); - scene->_arrunkObj1337[2]._outpostStation[0]._card.setStrip(2); - scene->_arrunkObj1337[2]._outpostStation[0]._card.setFrame(scene->_arrunkObj1337[2]._outpostStation[0]._cardId); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._outpostStation[0]); - - scene->_arrunkObj1337[3]._outpostStation[0]._cardId = 5; - scene->_arrunkObj1337[3]._outpostStation[0]._card.postInit(); - scene->_arrunkObj1337[3]._outpostStation[0]._card.setVisage(1332); - scene->_arrunkObj1337[3]._outpostStation[0]._card.setPosition(scene->_arrunkObj1337[3]._outpostStation[0]._field36, 0); - scene->_arrunkObj1337[3]._outpostStation[0]._card.setStrip(2); - scene->_arrunkObj1337[3]._outpostStation[0]._card.setFrame(scene->_arrunkObj1337[3]._outpostStation[0]._cardId); - scene->_arrunkObj1337[3]._outpostStation[0]._card.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[3]._outpostStation[0]); - - scene->_arrunkObj1337[3]._outpostStation[1]._cardId = 6; - scene->_arrunkObj1337[3]._outpostStation[1]._card.postInit(); - scene->_arrunkObj1337[3]._outpostStation[1]._card.setVisage(1332); - scene->_arrunkObj1337[3]._outpostStation[1]._card.setPosition(scene->_arrunkObj1337[3]._outpostStation[1]._field36, 0); - scene->_arrunkObj1337[3]._outpostStation[1]._card.setStrip(2); - scene->_arrunkObj1337[3]._outpostStation[1]._card.setFrame(scene->_arrunkObj1337[3]._outpostStation[1]._cardId); - scene->_arrunkObj1337[3]._outpostStation[1]._card.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[3]._outpostStation[1]); - - scene->_arrunkObj1337[3]._outpostStation[2]._cardId = 7; - scene->_arrunkObj1337[3]._outpostStation[2]._card.postInit(); - scene->_arrunkObj1337[3]._outpostStation[2]._card.setVisage(1332); - scene->_arrunkObj1337[3]._outpostStation[2]._card.setPosition(scene->_arrunkObj1337[3]._outpostStation[2]._field36, 0); - scene->_arrunkObj1337[3]._outpostStation[2]._card.setStrip(2); - scene->_arrunkObj1337[3]._outpostStation[2]._card.setFrame(scene->_arrunkObj1337[3]._outpostStation[2]._cardId); - scene->_arrunkObj1337[3]._outpostStation[2]._card.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[3]._outpostStation[2]); - - scene->_arrunkObj1337[0]._outpostStation[0]._cardId = 8; - scene->_arrunkObj1337[0]._outpostStation[0]._card.postInit(); - scene->_arrunkObj1337[0]._outpostStation[0]._card.setVisage(1332); - scene->_arrunkObj1337[0]._outpostStation[0]._card.setPosition(scene->_arrunkObj1337[0]._outpostStation[0]._field36, 0); - scene->_arrunkObj1337[0]._outpostStation[0]._card.setStrip(2); - scene->_arrunkObj1337[0]._outpostStation[0]._card.setFrame(scene->_arrunkObj1337[0]._outpostStation[0]._cardId); - scene->_arrunkObj1337[0]._outpostStation[0]._card.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[0]._outpostStation[0]); - - scene->_arrunkObj1337[0]._outpostStation[1]._cardId = 9; - scene->_arrunkObj1337[0]._outpostStation[1]._card.postInit(); - scene->_arrunkObj1337[0]._outpostStation[1]._card.setVisage(1332); - scene->_arrunkObj1337[0]._outpostStation[1]._card.setPosition(scene->_arrunkObj1337[0]._outpostStation[1]._field36, 0); - scene->_arrunkObj1337[0]._outpostStation[1]._card.setStrip(2); - scene->_arrunkObj1337[0]._outpostStation[1]._card.setFrame(scene->_arrunkObj1337[0]._outpostStation[1]._cardId); - scene->_arrunkObj1337[0]._outpostStation[1]._card.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[0]._outpostStation[1]); + scene->_gameBoardSide[1]._outpostStation[0]._cardId = 2; + scene->_gameBoardSide[1]._outpostStation[0]._card.postInit(); + scene->_gameBoardSide[1]._outpostStation[0]._card.setVisage(1332); + scene->_gameBoardSide[1]._outpostStation[0]._card.setPosition(scene->_gameBoardSide[1]._outpostStation[0]._stationPos, 0); + scene->_gameBoardSide[1]._outpostStation[0]._card.setStrip(2); + scene->_gameBoardSide[1]._outpostStation[0]._card.setFrame(scene->_gameBoardSide[1]._outpostStation[0]._cardId); + scene->_gameBoardSide[1]._outpostStation[0]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_gameBoardSide[1]._outpostStation[0]); + + scene->_gameBoardSide[1]._outpostStation[1]._cardId = 3; + scene->_gameBoardSide[1]._outpostStation[1]._card.postInit(); + scene->_gameBoardSide[1]._outpostStation[1]._card.setVisage(1332); + scene->_gameBoardSide[1]._outpostStation[1]._card.setPosition(scene->_gameBoardSide[1]._outpostStation[1]._stationPos, 0); + scene->_gameBoardSide[1]._outpostStation[1]._card.setStrip(2); + scene->_gameBoardSide[1]._outpostStation[1]._card.setFrame(scene->_gameBoardSide[1]._outpostStation[1]._cardId); + scene->_gameBoardSide[1]._outpostStation[1]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_gameBoardSide[1]._outpostStation[1]); + + scene->_gameBoardSide[2]._outpostStation[0]._cardId = 4; + scene->_gameBoardSide[2]._outpostStation[0]._card.postInit(); + scene->_gameBoardSide[2]._outpostStation[0]._card.setVisage(1332); + scene->_gameBoardSide[2]._outpostStation[0]._card.setPosition(scene->_gameBoardSide[2]._outpostStation[0]._stationPos, 0); + scene->_gameBoardSide[2]._outpostStation[0]._card.setStrip(2); + scene->_gameBoardSide[2]._outpostStation[0]._card.setFrame(scene->_gameBoardSide[2]._outpostStation[0]._cardId); + scene->setAnimationInfo(&scene->_gameBoardSide[2]._outpostStation[0]); + + scene->_gameBoardSide[3]._outpostStation[0]._cardId = 5; + scene->_gameBoardSide[3]._outpostStation[0]._card.postInit(); + scene->_gameBoardSide[3]._outpostStation[0]._card.setVisage(1332); + scene->_gameBoardSide[3]._outpostStation[0]._card.setPosition(scene->_gameBoardSide[3]._outpostStation[0]._stationPos, 0); + scene->_gameBoardSide[3]._outpostStation[0]._card.setStrip(2); + scene->_gameBoardSide[3]._outpostStation[0]._card.setFrame(scene->_gameBoardSide[3]._outpostStation[0]._cardId); + scene->_gameBoardSide[3]._outpostStation[0]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_gameBoardSide[3]._outpostStation[0]); + + scene->_gameBoardSide[3]._outpostStation[1]._cardId = 6; + scene->_gameBoardSide[3]._outpostStation[1]._card.postInit(); + scene->_gameBoardSide[3]._outpostStation[1]._card.setVisage(1332); + scene->_gameBoardSide[3]._outpostStation[1]._card.setPosition(scene->_gameBoardSide[3]._outpostStation[1]._stationPos, 0); + scene->_gameBoardSide[3]._outpostStation[1]._card.setStrip(2); + scene->_gameBoardSide[3]._outpostStation[1]._card.setFrame(scene->_gameBoardSide[3]._outpostStation[1]._cardId); + scene->_gameBoardSide[3]._outpostStation[1]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_gameBoardSide[3]._outpostStation[1]); + + scene->_gameBoardSide[3]._outpostStation[2]._cardId = 7; + scene->_gameBoardSide[3]._outpostStation[2]._card.postInit(); + scene->_gameBoardSide[3]._outpostStation[2]._card.setVisage(1332); + scene->_gameBoardSide[3]._outpostStation[2]._card.setPosition(scene->_gameBoardSide[3]._outpostStation[2]._stationPos, 0); + scene->_gameBoardSide[3]._outpostStation[2]._card.setStrip(2); + scene->_gameBoardSide[3]._outpostStation[2]._card.setFrame(scene->_gameBoardSide[3]._outpostStation[2]._cardId); + scene->_gameBoardSide[3]._outpostStation[2]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_gameBoardSide[3]._outpostStation[2]); + + scene->_gameBoardSide[0]._outpostStation[0]._cardId = 8; + scene->_gameBoardSide[0]._outpostStation[0]._card.postInit(); + scene->_gameBoardSide[0]._outpostStation[0]._card.setVisage(1332); + scene->_gameBoardSide[0]._outpostStation[0]._card.setPosition(scene->_gameBoardSide[0]._outpostStation[0]._stationPos, 0); + scene->_gameBoardSide[0]._outpostStation[0]._card.setStrip(2); + scene->_gameBoardSide[0]._outpostStation[0]._card.setFrame(scene->_gameBoardSide[0]._outpostStation[0]._cardId); + scene->_gameBoardSide[0]._outpostStation[0]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_gameBoardSide[0]._outpostStation[0]); + + scene->_gameBoardSide[0]._outpostStation[1]._cardId = 9; + scene->_gameBoardSide[0]._outpostStation[1]._card.postInit(); + scene->_gameBoardSide[0]._outpostStation[1]._card.setVisage(1332); + scene->_gameBoardSide[0]._outpostStation[1]._card.setPosition(scene->_gameBoardSide[0]._outpostStation[1]._stationPos, 0); + scene->_gameBoardSide[0]._outpostStation[1]._card.setStrip(2); + scene->_gameBoardSide[0]._outpostStation[1]._card.setFrame(scene->_gameBoardSide[0]._outpostStation[1]._cardId); + scene->_gameBoardSide[0]._outpostStation[1]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_gameBoardSide[0]._outpostStation[1]); R2_GLOBALS._sceneObjects->draw(); waitFrames(60); scene->actionDisplay(1331, 9, 159, 10, 1, 200, 0, 7, 0, 154, 154); - scene->_arrunkObj1337[2]._outpostStation[1]._cardId = 2; - scene->_arrunkObj1337[2]._outpostStation[1]._card.postInit(); - scene->_arrunkObj1337[2]._outpostStation[1]._card.setVisage(1332); - scene->_arrunkObj1337[2]._outpostStation[1]._card.setPosition(scene->_arrunkObj1337[2]._outpostStation[1]._field36, 0); - scene->_arrunkObj1337[2]._outpostStation[1]._card.setStrip(2); - scene->_arrunkObj1337[2]._outpostStation[1]._card.setFrame(scene->_arrunkObj1337[2]._outpostStation[1]._cardId); - scene->_arrunkObj1337[2]._outpostStation[1]._card.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._outpostStation[1]); - - scene->_arrunkObj1337[2]._outpostStation[2]._cardId = 3; - scene->_arrunkObj1337[2]._outpostStation[2]._card.postInit(); - scene->_arrunkObj1337[2]._outpostStation[2]._card.setVisage(1332); - scene->_arrunkObj1337[2]._outpostStation[2]._card.setPosition(scene->_arrunkObj1337[2]._outpostStation[2]._field36, 0); - scene->_arrunkObj1337[2]._outpostStation[2]._card.setStrip(2); - scene->_arrunkObj1337[2]._outpostStation[2]._card.setFrame(scene->_arrunkObj1337[2]._outpostStation[2]._cardId); - scene->_arrunkObj1337[2]._outpostStation[2]._card.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._outpostStation[2]); - - scene->_arrunkObj1337[2]._outpostStation[3]._cardId = 5; - scene->_arrunkObj1337[2]._outpostStation[3]._card.postInit(); - scene->_arrunkObj1337[2]._outpostStation[3]._card.setVisage(1332); - scene->_arrunkObj1337[2]._outpostStation[3]._card.setPosition(scene->_arrunkObj1337[2]._outpostStation[3]._field36, 0); - scene->_arrunkObj1337[2]._outpostStation[3]._card.setStrip(2); - scene->_arrunkObj1337[2]._outpostStation[3]._card.setFrame(scene->_arrunkObj1337[2]._outpostStation[3]._cardId); - scene->_arrunkObj1337[2]._outpostStation[3]._card.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._outpostStation[3]); - - scene->_arrunkObj1337[2]._outpostStation[4]._cardId = 6; - scene->_arrunkObj1337[2]._outpostStation[4]._card.postInit(); - scene->_arrunkObj1337[2]._outpostStation[4]._card.setVisage(1332); - scene->_arrunkObj1337[2]._outpostStation[4]._card.setPosition(scene->_arrunkObj1337[2]._outpostStation[4]._field36, 0); - scene->_arrunkObj1337[2]._outpostStation[4]._card.setStrip(2); - scene->_arrunkObj1337[2]._outpostStation[4]._card.setFrame(scene->_arrunkObj1337[2]._outpostStation[4]._cardId); - scene->_arrunkObj1337[2]._outpostStation[4]._card.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._outpostStation[4]); - - scene->_arrunkObj1337[2]._outpostStation[5]._cardId = 7; - scene->_arrunkObj1337[2]._outpostStation[5]._card.postInit(); - scene->_arrunkObj1337[2]._outpostStation[5]._card.setVisage(1332); - scene->_arrunkObj1337[2]._outpostStation[5]._card.setPosition(scene->_arrunkObj1337[2]._outpostStation[5]._field36, 0); - scene->_arrunkObj1337[2]._outpostStation[5]._card.setStrip(2); - scene->_arrunkObj1337[2]._outpostStation[5]._card.setFrame(scene->_arrunkObj1337[2]._outpostStation[5]._cardId); - scene->_arrunkObj1337[2]._outpostStation[5]._card.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._outpostStation[5]); - - scene->_arrunkObj1337[2]._outpostStation[6]._cardId = 8; - scene->_arrunkObj1337[2]._outpostStation[6]._card.postInit(); - scene->_arrunkObj1337[2]._outpostStation[6]._card.setVisage(1332); - scene->_arrunkObj1337[2]._outpostStation[6]._card.setPosition(scene->_arrunkObj1337[2]._outpostStation[6]._field36, 0); - scene->_arrunkObj1337[2]._outpostStation[6]._card.setStrip(2); - scene->_arrunkObj1337[2]._outpostStation[6]._card.setFrame(scene->_arrunkObj1337[2]._outpostStation[6]._cardId); - scene->_arrunkObj1337[2]._outpostStation[6]._card.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._outpostStation[6]); - - scene->_arrunkObj1337[2]._outpostStation[7]._cardId = 9; - scene->_arrunkObj1337[2]._outpostStation[7]._card.postInit(); - scene->_arrunkObj1337[2]._outpostStation[7]._card.setVisage(1332); - scene->_arrunkObj1337[2]._outpostStation[7]._card.setPosition(scene->_arrunkObj1337[2]._outpostStation[7]._field36, 0); - scene->_arrunkObj1337[2]._outpostStation[7]._card.setStrip(2); - scene->_arrunkObj1337[2]._outpostStation[7]._card.setFrame(scene->_arrunkObj1337[2]._outpostStation[7]._cardId); - scene->_arrunkObj1337[2]._outpostStation[7]._card.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._outpostStation[7]); + scene->_gameBoardSide[2]._outpostStation[1]._cardId = 2; + scene->_gameBoardSide[2]._outpostStation[1]._card.postInit(); + scene->_gameBoardSide[2]._outpostStation[1]._card.setVisage(1332); + scene->_gameBoardSide[2]._outpostStation[1]._card.setPosition(scene->_gameBoardSide[2]._outpostStation[1]._stationPos, 0); + scene->_gameBoardSide[2]._outpostStation[1]._card.setStrip(2); + scene->_gameBoardSide[2]._outpostStation[1]._card.setFrame(scene->_gameBoardSide[2]._outpostStation[1]._cardId); + scene->_gameBoardSide[2]._outpostStation[1]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_gameBoardSide[2]._outpostStation[1]); + + scene->_gameBoardSide[2]._outpostStation[2]._cardId = 3; + scene->_gameBoardSide[2]._outpostStation[2]._card.postInit(); + scene->_gameBoardSide[2]._outpostStation[2]._card.setVisage(1332); + scene->_gameBoardSide[2]._outpostStation[2]._card.setPosition(scene->_gameBoardSide[2]._outpostStation[2]._stationPos, 0); + scene->_gameBoardSide[2]._outpostStation[2]._card.setStrip(2); + scene->_gameBoardSide[2]._outpostStation[2]._card.setFrame(scene->_gameBoardSide[2]._outpostStation[2]._cardId); + scene->_gameBoardSide[2]._outpostStation[2]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_gameBoardSide[2]._outpostStation[2]); + + scene->_gameBoardSide[2]._outpostStation[3]._cardId = 5; + scene->_gameBoardSide[2]._outpostStation[3]._card.postInit(); + scene->_gameBoardSide[2]._outpostStation[3]._card.setVisage(1332); + scene->_gameBoardSide[2]._outpostStation[3]._card.setPosition(scene->_gameBoardSide[2]._outpostStation[3]._stationPos, 0); + scene->_gameBoardSide[2]._outpostStation[3]._card.setStrip(2); + scene->_gameBoardSide[2]._outpostStation[3]._card.setFrame(scene->_gameBoardSide[2]._outpostStation[3]._cardId); + scene->_gameBoardSide[2]._outpostStation[3]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_gameBoardSide[2]._outpostStation[3]); + + scene->_gameBoardSide[2]._outpostStation[4]._cardId = 6; + scene->_gameBoardSide[2]._outpostStation[4]._card.postInit(); + scene->_gameBoardSide[2]._outpostStation[4]._card.setVisage(1332); + scene->_gameBoardSide[2]._outpostStation[4]._card.setPosition(scene->_gameBoardSide[2]._outpostStation[4]._stationPos, 0); + scene->_gameBoardSide[2]._outpostStation[4]._card.setStrip(2); + scene->_gameBoardSide[2]._outpostStation[4]._card.setFrame(scene->_gameBoardSide[2]._outpostStation[4]._cardId); + scene->_gameBoardSide[2]._outpostStation[4]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_gameBoardSide[2]._outpostStation[4]); + + scene->_gameBoardSide[2]._outpostStation[5]._cardId = 7; + scene->_gameBoardSide[2]._outpostStation[5]._card.postInit(); + scene->_gameBoardSide[2]._outpostStation[5]._card.setVisage(1332); + scene->_gameBoardSide[2]._outpostStation[5]._card.setPosition(scene->_gameBoardSide[2]._outpostStation[5]._stationPos, 0); + scene->_gameBoardSide[2]._outpostStation[5]._card.setStrip(2); + scene->_gameBoardSide[2]._outpostStation[5]._card.setFrame(scene->_gameBoardSide[2]._outpostStation[5]._cardId); + scene->_gameBoardSide[2]._outpostStation[5]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_gameBoardSide[2]._outpostStation[5]); + + scene->_gameBoardSide[2]._outpostStation[6]._cardId = 8; + scene->_gameBoardSide[2]._outpostStation[6]._card.postInit(); + scene->_gameBoardSide[2]._outpostStation[6]._card.setVisage(1332); + scene->_gameBoardSide[2]._outpostStation[6]._card.setPosition(scene->_gameBoardSide[2]._outpostStation[6]._stationPos, 0); + scene->_gameBoardSide[2]._outpostStation[6]._card.setStrip(2); + scene->_gameBoardSide[2]._outpostStation[6]._card.setFrame(scene->_gameBoardSide[2]._outpostStation[6]._cardId); + scene->_gameBoardSide[2]._outpostStation[6]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_gameBoardSide[2]._outpostStation[6]); + + scene->_gameBoardSide[2]._outpostStation[7]._cardId = 9; + scene->_gameBoardSide[2]._outpostStation[7]._card.postInit(); + scene->_gameBoardSide[2]._outpostStation[7]._card.setVisage(1332); + scene->_gameBoardSide[2]._outpostStation[7]._card.setPosition(scene->_gameBoardSide[2]._outpostStation[7]._stationPos, 0); + scene->_gameBoardSide[2]._outpostStation[7]._card.setStrip(2); + scene->_gameBoardSide[2]._outpostStation[7]._card.setFrame(scene->_gameBoardSide[2]._outpostStation[7]._cardId); + scene->_gameBoardSide[2]._outpostStation[7]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_gameBoardSide[2]._outpostStation[7]); scene->_aSound1.play(62); R2_GLOBALS._sceneObjects->draw(); waitFrames(120); - scene->_arrunkObj1337[2]._outpostStation[0]._card.remove(); - scene->_arrunkObj1337[2]._outpostStation[1]._card.remove(); - scene->_arrunkObj1337[2]._outpostStation[2]._card.remove(); - scene->_arrunkObj1337[2]._outpostStation[3]._card.remove(); - scene->_arrunkObj1337[2]._outpostStation[4]._card.remove(); - scene->_arrunkObj1337[2]._outpostStation[5]._card.remove(); - scene->_arrunkObj1337[2]._outpostStation[6]._card.remove(); - scene->_arrunkObj1337[2]._outpostStation[7]._card.remove(); + scene->_gameBoardSide[2]._outpostStation[0]._card.remove(); + scene->_gameBoardSide[2]._outpostStation[1]._card.remove(); + scene->_gameBoardSide[2]._outpostStation[2]._card.remove(); + scene->_gameBoardSide[2]._outpostStation[3]._card.remove(); + scene->_gameBoardSide[2]._outpostStation[4]._card.remove(); + scene->_gameBoardSide[2]._outpostStation[5]._card.remove(); + scene->_gameBoardSide[2]._outpostStation[6]._card.remove(); + scene->_gameBoardSide[2]._outpostStation[7]._card.remove(); - scene->_arrunkObj1337[1]._outpostStation[0]._card.remove(); - scene->_arrunkObj1337[1]._outpostStation[1]._card.remove(); + scene->_gameBoardSide[1]._outpostStation[0]._card.remove(); + scene->_gameBoardSide[1]._outpostStation[1]._card.remove(); - scene->_arrunkObj1337[3]._outpostStation[0]._card.remove(); - scene->_arrunkObj1337[3]._outpostStation[1]._card.remove(); - scene->_arrunkObj1337[3]._outpostStation[2]._card.remove(); + scene->_gameBoardSide[3]._outpostStation[0]._card.remove(); + scene->_gameBoardSide[3]._outpostStation[1]._card.remove(); + scene->_gameBoardSide[3]._outpostStation[2]._card.remove(); - scene->_arrunkObj1337[0]._outpostStation[0]._card.remove(); - scene->_arrunkObj1337[0]._outpostStation[1]._card.remove(); + scene->_gameBoardSide[0]._outpostStation[0]._card.remove(); + scene->_gameBoardSide[0]._outpostStation[1]._card.remove(); scene->_background2.setup2(1332, 5, 1, 165, 95, 110, 1); - scene->_arrunkObj1337[1]._arr1[0]._card.postInit(); - scene->_arrunkObj1337[1]._arr1[0]._card.setVisage(1332); - scene->_arrunkObj1337[1]._arr1[0]._card.setPosition(scene->_arrunkObj1337[1]._arr1[0]._field36, 0); - scene->_arrunkObj1337[1]._arr1[0]._card.setStrip(1); - scene->_arrunkObj1337[1]._arr1[0]._card.setFrame(4); - scene->_arrunkObj1337[1]._arr1[0]._card.fixPriority(170); - - scene->_arrunkObj1337[1]._arr1[1]._card.postInit(); - scene->_arrunkObj1337[1]._arr1[1]._card.setVisage(1332); - scene->_arrunkObj1337[1]._arr1[1]._card.setPosition(scene->_arrunkObj1337[1]._arr1[1]._field36, 0); - scene->_arrunkObj1337[1]._arr1[1]._card.setStrip(1); - scene->_arrunkObj1337[1]._arr1[1]._card.setFrame(4); - scene->_arrunkObj1337[1]._arr1[1]._card.fixPriority(170); - - scene->_arrunkObj1337[1]._arr1[2]._card.postInit(); - scene->_arrunkObj1337[1]._arr1[2]._card.setVisage(1332); - scene->_arrunkObj1337[1]._arr1[2]._card.setPosition(scene->_arrunkObj1337[1]._arr1[2]._field36, 0); - scene->_arrunkObj1337[1]._arr1[2]._card.setStrip(1); - scene->_arrunkObj1337[1]._arr1[2]._card.setFrame(4); - scene->_arrunkObj1337[1]._arr1[2]._card.fixPriority(170); - - scene->_arrunkObj1337[2]._arr1[0]._cardId = 30; - scene->_arrunkObj1337[2]._arr1[0]._card.postInit(); - scene->_arrunkObj1337[2]._arr1[0]._card.setVisage(1332); - scene->_arrunkObj1337[2]._arr1[0]._card.setPosition(scene->_arrunkObj1337[2]._arr1[0]._field36, 0); - scene->_arrunkObj1337[2]._arr1[0]._card.setStrip(1); - scene->_arrunkObj1337[2]._arr1[0]._card.setFrame(2); - scene->_arrunkObj1337[2]._arr1[0]._card.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._arr1[0]); - - scene->_arrunkObj1337[2]._arr1[1]._cardId = 16; - scene->_arrunkObj1337[2]._arr1[1]._card.postInit(); - scene->_arrunkObj1337[2]._arr1[1]._card.setVisage(1332); - scene->_arrunkObj1337[2]._arr1[1]._card.setPosition(scene->_arrunkObj1337[2]._arr1[1]._field36, 0); - scene->_arrunkObj1337[2]._arr1[1]._card.setStrip(1); - scene->_arrunkObj1337[2]._arr1[1]._card.setFrame(2); - scene->_arrunkObj1337[2]._arr1[1]._card.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._arr1[1]); - - scene->_arrunkObj1337[2]._arr1[2]._cardId = 1; - scene->_arrunkObj1337[2]._arr1[2]._card.postInit(); - scene->_arrunkObj1337[2]._arr1[2]._card.setVisage(1332); - scene->_arrunkObj1337[2]._arr1[2]._card.setPosition(scene->_arrunkObj1337[2]._arr1[2]._field36, 0); - scene->_arrunkObj1337[2]._arr1[2]._card.setStrip(1); - scene->_arrunkObj1337[2]._arr1[2]._card.setFrame(2); - scene->_arrunkObj1337[2]._arr1[2]._card.fixPriority(170); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._arr1[2]); - - scene->_arrunkObj1337[3]._arr1[0]._card.postInit(); - scene->_arrunkObj1337[3]._arr1[0]._card.setVisage(1332); - scene->_arrunkObj1337[3]._arr1[0]._card.setPosition(scene->_arrunkObj1337[3]._arr1[0]._field36, 0); - scene->_arrunkObj1337[3]._arr1[0]._card.setStrip(1); - scene->_arrunkObj1337[3]._arr1[0]._card.setFrame(3); - scene->_arrunkObj1337[3]._arr1[0]._card.fixPriority(170); - - scene->_arrunkObj1337[3]._arr1[1]._card.postInit(); - scene->_arrunkObj1337[3]._arr1[1]._card.setVisage(1332); - scene->_arrunkObj1337[3]._arr1[1]._card.setPosition(scene->_arrunkObj1337[3]._arr1[1]._field36, 0); - scene->_arrunkObj1337[3]._arr1[1]._card.setStrip(1); - scene->_arrunkObj1337[3]._arr1[1]._card.setFrame(3); - scene->_arrunkObj1337[3]._arr1[1]._card.fixPriority(170); - - scene->_arrunkObj1337[3]._arr1[2]._card.postInit(); - scene->_arrunkObj1337[3]._arr1[2]._card.setVisage(1332); - scene->_arrunkObj1337[3]._arr1[2]._card.setPosition(scene->_arrunkObj1337[3]._arr1[2]._field36, 0); - scene->_arrunkObj1337[3]._arr1[2]._card.setStrip(1); - scene->_arrunkObj1337[3]._arr1[2]._card.setFrame(3); - scene->_arrunkObj1337[3]._arr1[2]._card.fixPriority(170); - - scene->_arrunkObj1337[0]._arr1[0]._card.postInit(); - scene->_arrunkObj1337[0]._arr1[0]._card.setVisage(1332); - scene->_arrunkObj1337[0]._arr1[0]._card.setPosition(scene->_arrunkObj1337[0]._arr1[0]._field36, 0); - scene->_arrunkObj1337[0]._arr1[0]._card.setStrip(1); - scene->_arrunkObj1337[0]._arr1[0]._card.setFrame(2); - scene->_arrunkObj1337[0]._arr1[0]._card.fixPriority(170); - - scene->_arrunkObj1337[0]._arr1[1]._card.postInit(); - scene->_arrunkObj1337[0]._arr1[1]._card.setVisage(1332); - scene->_arrunkObj1337[0]._arr1[1]._card.setPosition(scene->_arrunkObj1337[0]._arr1[1]._field36, 0); - scene->_arrunkObj1337[0]._arr1[1]._card.setStrip(1); - scene->_arrunkObj1337[0]._arr1[1]._card.setFrame(2); - scene->_arrunkObj1337[0]._arr1[1]._card.fixPriority(170); - - scene->_arrunkObj1337[0]._arr1[2]._card.postInit(); - scene->_arrunkObj1337[0]._arr1[2]._card.setVisage(1332); - scene->_arrunkObj1337[0]._arr1[2]._card.setPosition(scene->_arrunkObj1337[0]._arr1[2]._field36, 0); - scene->_arrunkObj1337[0]._arr1[2]._card.setStrip(1); - scene->_arrunkObj1337[0]._arr1[2]._card.setFrame(2); - scene->_arrunkObj1337[0]._arr1[2]._card.fixPriority(170); + scene->_gameBoardSide[1]._arr1[0]._card.postInit(); + scene->_gameBoardSide[1]._arr1[0]._card.setVisage(1332); + scene->_gameBoardSide[1]._arr1[0]._card.setPosition(scene->_gameBoardSide[1]._arr1[0]._stationPos, 0); + scene->_gameBoardSide[1]._arr1[0]._card.setStrip(1); + scene->_gameBoardSide[1]._arr1[0]._card.setFrame(4); + scene->_gameBoardSide[1]._arr1[0]._card.fixPriority(170); + + scene->_gameBoardSide[1]._arr1[1]._card.postInit(); + scene->_gameBoardSide[1]._arr1[1]._card.setVisage(1332); + scene->_gameBoardSide[1]._arr1[1]._card.setPosition(scene->_gameBoardSide[1]._arr1[1]._stationPos, 0); + scene->_gameBoardSide[1]._arr1[1]._card.setStrip(1); + scene->_gameBoardSide[1]._arr1[1]._card.setFrame(4); + scene->_gameBoardSide[1]._arr1[1]._card.fixPriority(170); + + scene->_gameBoardSide[1]._arr1[2]._card.postInit(); + scene->_gameBoardSide[1]._arr1[2]._card.setVisage(1332); + scene->_gameBoardSide[1]._arr1[2]._card.setPosition(scene->_gameBoardSide[1]._arr1[2]._stationPos, 0); + scene->_gameBoardSide[1]._arr1[2]._card.setStrip(1); + scene->_gameBoardSide[1]._arr1[2]._card.setFrame(4); + scene->_gameBoardSide[1]._arr1[2]._card.fixPriority(170); + + scene->_gameBoardSide[2]._arr1[0]._cardId = 30; + scene->_gameBoardSide[2]._arr1[0]._card.postInit(); + scene->_gameBoardSide[2]._arr1[0]._card.setVisage(1332); + scene->_gameBoardSide[2]._arr1[0]._card.setPosition(scene->_gameBoardSide[2]._arr1[0]._stationPos, 0); + scene->_gameBoardSide[2]._arr1[0]._card.setStrip(1); + scene->_gameBoardSide[2]._arr1[0]._card.setFrame(2); + scene->_gameBoardSide[2]._arr1[0]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_gameBoardSide[2]._arr1[0]); + + scene->_gameBoardSide[2]._arr1[1]._cardId = 16; + scene->_gameBoardSide[2]._arr1[1]._card.postInit(); + scene->_gameBoardSide[2]._arr1[1]._card.setVisage(1332); + scene->_gameBoardSide[2]._arr1[1]._card.setPosition(scene->_gameBoardSide[2]._arr1[1]._stationPos, 0); + scene->_gameBoardSide[2]._arr1[1]._card.setStrip(1); + scene->_gameBoardSide[2]._arr1[1]._card.setFrame(2); + scene->_gameBoardSide[2]._arr1[1]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_gameBoardSide[2]._arr1[1]); + + scene->_gameBoardSide[2]._arr1[2]._cardId = 1; + scene->_gameBoardSide[2]._arr1[2]._card.postInit(); + scene->_gameBoardSide[2]._arr1[2]._card.setVisage(1332); + scene->_gameBoardSide[2]._arr1[2]._card.setPosition(scene->_gameBoardSide[2]._arr1[2]._stationPos, 0); + scene->_gameBoardSide[2]._arr1[2]._card.setStrip(1); + scene->_gameBoardSide[2]._arr1[2]._card.setFrame(2); + scene->_gameBoardSide[2]._arr1[2]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_gameBoardSide[2]._arr1[2]); + + scene->_gameBoardSide[3]._arr1[0]._card.postInit(); + scene->_gameBoardSide[3]._arr1[0]._card.setVisage(1332); + scene->_gameBoardSide[3]._arr1[0]._card.setPosition(scene->_gameBoardSide[3]._arr1[0]._stationPos, 0); + scene->_gameBoardSide[3]._arr1[0]._card.setStrip(1); + scene->_gameBoardSide[3]._arr1[0]._card.setFrame(3); + scene->_gameBoardSide[3]._arr1[0]._card.fixPriority(170); + + scene->_gameBoardSide[3]._arr1[1]._card.postInit(); + scene->_gameBoardSide[3]._arr1[1]._card.setVisage(1332); + scene->_gameBoardSide[3]._arr1[1]._card.setPosition(scene->_gameBoardSide[3]._arr1[1]._stationPos, 0); + scene->_gameBoardSide[3]._arr1[1]._card.setStrip(1); + scene->_gameBoardSide[3]._arr1[1]._card.setFrame(3); + scene->_gameBoardSide[3]._arr1[1]._card.fixPriority(170); + + scene->_gameBoardSide[3]._arr1[2]._card.postInit(); + scene->_gameBoardSide[3]._arr1[2]._card.setVisage(1332); + scene->_gameBoardSide[3]._arr1[2]._card.setPosition(scene->_gameBoardSide[3]._arr1[2]._stationPos, 0); + scene->_gameBoardSide[3]._arr1[2]._card.setStrip(1); + scene->_gameBoardSide[3]._arr1[2]._card.setFrame(3); + scene->_gameBoardSide[3]._arr1[2]._card.fixPriority(170); + + scene->_gameBoardSide[0]._arr1[0]._card.postInit(); + scene->_gameBoardSide[0]._arr1[0]._card.setVisage(1332); + scene->_gameBoardSide[0]._arr1[0]._card.setPosition(scene->_gameBoardSide[0]._arr1[0]._stationPos, 0); + scene->_gameBoardSide[0]._arr1[0]._card.setStrip(1); + scene->_gameBoardSide[0]._arr1[0]._card.setFrame(2); + scene->_gameBoardSide[0]._arr1[0]._card.fixPriority(170); + + scene->_gameBoardSide[0]._arr1[1]._card.postInit(); + scene->_gameBoardSide[0]._arr1[1]._card.setVisage(1332); + scene->_gameBoardSide[0]._arr1[1]._card.setPosition(scene->_gameBoardSide[0]._arr1[1]._stationPos, 0); + scene->_gameBoardSide[0]._arr1[1]._card.setStrip(1); + scene->_gameBoardSide[0]._arr1[1]._card.setFrame(2); + scene->_gameBoardSide[0]._arr1[1]._card.fixPriority(170); + + scene->_gameBoardSide[0]._arr1[2]._card.postInit(); + scene->_gameBoardSide[0]._arr1[2]._card.setVisage(1332); + scene->_gameBoardSide[0]._arr1[2]._card.setPosition(scene->_gameBoardSide[0]._arr1[2]._stationPos, 0); + scene->_gameBoardSide[0]._arr1[2]._card.setStrip(1); + scene->_gameBoardSide[0]._arr1[2]._card.setFrame(2); + scene->_gameBoardSide[0]._arr1[2]._card.fixPriority(170); R2_GLOBALS._sceneObjects->draw(); @@ -2557,16 +2557,16 @@ void Scene1337::Action1::signal() { } break; case 2: { - scene->_arrunkObj1337[2]._arr1[3]._cardId = 2; - scene->_arrunkObj1337[2]._arr1[3]._card.postInit(); - scene->_arrunkObj1337[2]._arr1[3]._card.setVisage(1332); - scene->_arrunkObj1337[2]._arr1[3]._card.setPosition(scene->_arrunkObj1337[2]._arr1[3]._field36, 0); - scene->_arrunkObj1337[2]._arr1[3]._card.setStrip(1); - scene->_arrunkObj1337[2]._arr1[3]._card.setFrame(2); - scene->_arrunkObj1337[2]._arr1[3]._card.fixPriority(170); + scene->_gameBoardSide[2]._arr1[3]._cardId = 2; + scene->_gameBoardSide[2]._arr1[3]._card.postInit(); + scene->_gameBoardSide[2]._arr1[3]._card.setVisage(1332); + scene->_gameBoardSide[2]._arr1[3]._card.setPosition(scene->_gameBoardSide[2]._arr1[3]._stationPos, 0); + scene->_gameBoardSide[2]._arr1[3]._card.setStrip(1); + scene->_gameBoardSide[2]._arr1[3]._card.setFrame(2); + scene->_gameBoardSide[2]._arr1[3]._card.fixPriority(170); scene->_item2._card.hide(); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._arr1[3]); + scene->setAnimationInfo(&scene->_gameBoardSide[2]._arr1[3]); R2_GLOBALS._sceneObjects->draw(); @@ -2574,29 +2574,29 @@ void Scene1337::Action1::signal() { scene->actionDisplay(1331, 11, 159, 10, 1, 200, 0, 7, 0, 154, 154); scene->actionDisplay(1331, 12, 159, 10, 1, 200, 0, 7, 0, 154, 154); - scene->_arrunkObj1337[2]._outpostStation[1]._cardId = 1; - scene->_arrunkObj1337[2]._outpostStation[1]._card.postInit(); - scene->_arrunkObj1337[2]._outpostStation[1]._card.setVisage(1332); - scene->_arrunkObj1337[2]._outpostStation[1]._card.setPosition(scene->_arrunkObj1337[2]._outpostStation[1]._field36, 0); - scene->_arrunkObj1337[2]._outpostStation[1]._card.hide(); + scene->_gameBoardSide[2]._outpostStation[1]._cardId = 1; + scene->_gameBoardSide[2]._outpostStation[1]._card.postInit(); + scene->_gameBoardSide[2]._outpostStation[1]._card.setVisage(1332); + scene->_gameBoardSide[2]._outpostStation[1]._card.setPosition(scene->_gameBoardSide[2]._outpostStation[1]._stationPos, 0); + scene->_gameBoardSide[2]._outpostStation[1]._card.hide(); - scene->_item2._card.setStrip(scene->_arrunkObj1337[2]._arr1[2]._card._strip); - scene->_item2._card.setFrame(scene->_arrunkObj1337[2]._arr1[2]._card._frame); + scene->_item2._card.setStrip(scene->_gameBoardSide[2]._arr1[2]._card._strip); + scene->_item2._card.setFrame(scene->_gameBoardSide[2]._arr1[2]._card._frame); scene->_item2._card.animate(ANIM_MODE_NONE, NULL); - scene->_arrunkObj1337[2]._arr1[2]._cardId = 0; - scene->_arrunkObj1337[2]._arr1[2]._card.remove(); + scene->_gameBoardSide[2]._arr1[2]._cardId = 0; + scene->_gameBoardSide[2]._arr1[2]._card.remove(); - scene->_item2._card.setPosition(scene->_arrunkObj1337[2]._arr1[2]._field36, 0); + scene->_item2._card.setPosition(scene->_gameBoardSide[2]._arr1[2]._stationPos, 0); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_arrunkObj1337[2]._outpostStation[1]._field36, this); + scene->_item2._card.addMover(mover, &scene->_gameBoardSide[2]._outpostStation[1]._stationPos, this); } break; case 3: { scene->_item2._card.hide(); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._outpostStation[1]); + scene->setAnimationInfo(&scene->_gameBoardSide[2]._outpostStation[1]); scene->_aSound1.play(59); R2_GLOBALS._sceneObjects->draw(); @@ -2604,24 +2604,24 @@ void Scene1337::Action1::signal() { waitFrames(60); scene->actionDisplay(1331, 13, 159, 10, 1, 200, 0, 7, 0, 154, 154); - scene->_arrunkObj1337[2]._outpostStation[1]._cardId = scene->_arrunkObj1337[2]._arr1[3]._cardId; + scene->_gameBoardSide[2]._outpostStation[1]._cardId = scene->_gameBoardSide[2]._arr1[3]._cardId; - scene->_item2._card.setStrip(scene->_arrunkObj1337[2]._arr1[3]._card._strip); - scene->_item2._card.setFrame(scene->_arrunkObj1337[2]._arr1[3]._card._frame); + scene->_item2._card.setStrip(scene->_gameBoardSide[2]._arr1[3]._card._strip); + scene->_item2._card.setFrame(scene->_gameBoardSide[2]._arr1[3]._card._frame); - scene->_arrunkObj1337[2]._arr1[3]._cardId = 0; - scene->_arrunkObj1337[2]._arr1[3]._card.remove(); + scene->_gameBoardSide[2]._arr1[3]._cardId = 0; + scene->_gameBoardSide[2]._arr1[3]._card.remove(); - scene->_item2._card.setPosition(scene->_arrunkObj1337[2]._arr1[3]._field36, 0); + scene->_item2._card.setPosition(scene->_gameBoardSide[2]._arr1[3]._stationPos, 0); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_arrunkObj1337[2]._outpostStation[1]._field36, this); + scene->_item2._card.addMover(mover, &scene->_gameBoardSide[2]._outpostStation[1]._stationPos, this); } break; case 4: { scene->_item2._card.hide(); - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._outpostStation[1]); + scene->setAnimationInfo(&scene->_gameBoardSide[2]._outpostStation[1]); scene->_aSound1.play(59); scene->_item7._cardId = 1; @@ -2630,11 +2630,11 @@ void Scene1337::Action1::signal() { scene->_item2._card.setStrip(5); scene->_item2._card.setFrame(1); scene->_item2._card.animate(ANIM_MODE_2, NULL); - scene->_item2._card.setPosition(scene->_arrunkObj1337[2]._outpostStation[1]._field36, 0); + scene->_item2._card.setPosition(scene->_gameBoardSide[2]._outpostStation[1]._stationPos, 0); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_item7._field36, this); + scene->_item2._card.addMover(mover, &scene->_item7._stationPos, this); } break; case 5: { @@ -2642,7 +2642,7 @@ void Scene1337::Action1::signal() { scene->_item7._card.postInit(); scene->_item7._card.setVisage(1332); - scene->_item7._card.setPosition(scene->_item7._field36, 0); + scene->_item7._card.setPosition(scene->_item7._stationPos, 0); scene->setAnimationInfo(&scene->_item7); scene->_aSound2.play(61); @@ -2651,25 +2651,25 @@ void Scene1337::Action1::signal() { waitFrames(60); scene->actionDisplay(1331, 14, 159, 10, 1, 200, 0, 7, 0, 154, 154); - scene->_arrunkObj1337[2]._arr3[0]._card.postInit(); - scene->_arrunkObj1337[2]._arr3[0]._card.setVisage(1332); - scene->_arrunkObj1337[2]._arr3[0]._card.setPosition(scene->_arrunkObj1337[2]._arr3[0]._field36, 0); - scene->_arrunkObj1337[2]._arr3[0]._card.hide(); + scene->_gameBoardSide[2]._arr3[0]._card.postInit(); + scene->_gameBoardSide[2]._arr3[0]._card.setVisage(1332); + scene->_gameBoardSide[2]._arr3[0]._card.setPosition(scene->_gameBoardSide[2]._arr3[0]._stationPos, 0); + scene->_gameBoardSide[2]._arr3[0]._card.hide(); - scene->_arrunkObj1337[3]._arr1[2]._cardId = 0; - scene->_arrunkObj1337[3]._arr1[2].remove(); + scene->_gameBoardSide[3]._arr1[2]._cardId = 0; + scene->_gameBoardSide[3]._arr1[2].remove(); - scene->_item2._card.setPosition(scene->_arrunkObj1337[3]._arr1[2]._field36, 0); + scene->_item2._card.setPosition(scene->_gameBoardSide[3]._arr1[2]._stationPos, 0); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_arrunkObj1337[2]._arr3[0]._field36, this); + scene->_item2._card.addMover(mover, &scene->_gameBoardSide[2]._arr3[0]._stationPos, this); } break; case 6: { scene->_item2._card.hide(); - scene->_arrunkObj1337[2]._arr3[0]._cardId = 21; - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._arr3[0]); + scene->_gameBoardSide[2]._arr3[0]._cardId = 21; + scene->setAnimationInfo(&scene->_gameBoardSide[2]._arr3[0]); scene->_aSound1.play(57); R2_GLOBALS._sceneObjects->draw(); @@ -2728,16 +2728,16 @@ void Scene1337::Action1::signal() { scene->_arrObject2[6].remove(); scene->_arrObject2[7].remove(); - scene->_item7._cardId = scene->_arrunkObj1337[2]._arr3[0]._cardId; + scene->_item7._cardId = scene->_gameBoardSide[2]._arr3[0]._cardId; - scene->_arrunkObj1337[2]._arr3[0]._cardId = 0; - scene->_arrunkObj1337[2]._arr3[0]._card.remove(); + scene->_gameBoardSide[2]._arr3[0]._cardId = 0; + scene->_gameBoardSide[2]._arr3[0]._card.remove(); - scene->_item2._card.setPosition(scene->_arrunkObj1337[2]._arr3[0]._field36, 0); + scene->_item2._card.setPosition(scene->_gameBoardSide[2]._arr3[0]._stationPos, 0); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_item7._field36, this); + scene->_item2._card.addMover(mover, &scene->_item7._stationPos, this); } break; case 7: { @@ -2747,25 +2747,25 @@ void Scene1337::Action1::signal() { R2_GLOBALS._sceneObjects->draw(); - scene->_arrunkObj1337[2]._arr3[0]._card.postInit(); - scene->_arrunkObj1337[2]._arr3[0]._card.setVisage(1332); - scene->_arrunkObj1337[2]._arr3[0]._card.setPosition(scene->_arrunkObj1337[2]._arr3[0]._field36, 0); - scene->_arrunkObj1337[2]._arr3[0]._card.hide(); + scene->_gameBoardSide[2]._arr3[0]._card.postInit(); + scene->_gameBoardSide[2]._arr3[0]._card.setVisage(1332); + scene->_gameBoardSide[2]._arr3[0]._card.setPosition(scene->_gameBoardSide[2]._arr3[0]._stationPos, 0); + scene->_gameBoardSide[2]._arr3[0]._card.hide(); - scene->_arrunkObj1337[3]._arr1[1]._cardId = 0; - scene->_arrunkObj1337[3]._arr1[1].remove(); + scene->_gameBoardSide[3]._arr1[1]._cardId = 0; + scene->_gameBoardSide[3]._arr1[1].remove(); - scene->_item2._card.setPosition(scene->_arrunkObj1337[3]._arr1[1]._field36, 0); + scene->_item2._card.setPosition(scene->_gameBoardSide[3]._arr1[1]._stationPos, 0); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_arrunkObj1337[2]._arr3[0]._field36, this); + scene->_item2._card.addMover(mover, &scene->_gameBoardSide[2]._arr3[0]._stationPos, this); } break; case 8: { scene->_item2._card.hide(); - scene->_arrunkObj1337[2]._arr3[0]._cardId = 14; - scene->setAnimationInfo(&scene->_arrunkObj1337[2]._arr3[0]); + scene->_gameBoardSide[2]._arr3[0]._cardId = 14; + scene->setAnimationInfo(&scene->_gameBoardSide[2]._arr3[0]); scene->_aSound1.play(57); R2_GLOBALS._sceneObjects->draw(); @@ -2845,34 +2845,34 @@ void Scene1337::Action1::signal() { scene->_arrObject2[6].remove(); scene->_arrObject2[7].remove(); - scene->_item7._cardId = scene->_arrunkObj1337[2]._arr1[0]._cardId; + scene->_item7._cardId = scene->_gameBoardSide[2]._arr1[0]._cardId; - scene->_item2._card.setStrip(scene->_arrunkObj1337[2]._arr1[0]._card._strip); - scene->_item2._card.setFrame(scene->_arrunkObj1337[2]._arr1[0]._card._frame); + scene->_item2._card.setStrip(scene->_gameBoardSide[2]._arr1[0]._card._strip); + scene->_item2._card.setFrame(scene->_gameBoardSide[2]._arr1[0]._card._frame); scene->_item2._card.animate(ANIM_MODE_NONE, NULL); - scene->_arrunkObj1337[2]._arr1[0]._cardId = 0; - scene->_arrunkObj1337[2]._arr1[0]._card.remove(); + scene->_gameBoardSide[2]._arr1[0]._cardId = 0; + scene->_gameBoardSide[2]._arr1[0]._card.remove(); - scene->_item2._card.setPosition(scene->_arrunkObj1337[2]._arr1[0]._field36, 0); + scene->_item2._card.setPosition(scene->_gameBoardSide[2]._arr1[0]._stationPos, 0); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_arrunkObj1337[2]._arr3[0]._field36, this); + scene->_item2._card.addMover(mover, &scene->_gameBoardSide[2]._arr3[0]._stationPos, this); } break; case 9: { scene->_aSound1.play(58); - scene->_arrunkObj1337[2]._arr3[0]._cardId = 0; - scene->_arrunkObj1337[2]._arr3[0].remove(); + scene->_gameBoardSide[2]._arr3[0]._cardId = 0; + scene->_gameBoardSide[2]._arr3[0].remove(); scene->_item2._card.setStrip(5); scene->_item2._card.setFrame(1); scene->_item2._card.animate(ANIM_MODE_2, NULL); - scene->_item2._card.setPosition(scene->_arrunkObj1337[2]._arr3[0]._field36, 0); + scene->_item2._card.setPosition(scene->_gameBoardSide[2]._arr3[0]._stationPos, 0); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_item7._field36, this); + scene->_item2._card.addMover(mover, &scene->_item7._stationPos, this); } break; case 10: { @@ -2966,20 +2966,20 @@ void Scene1337::Action1::signal() { scene->actionDisplay(1331, 20, 159, 10, 1, 220, 0, 7, 0, 154, 154); scene->actionDisplay(1331, 21, 159, 10, 1, 220, 0, 7, 0, 154, 154); - scene->_item7._cardId = scene->_arrunkObj1337[2]._arr1[1]._cardId; + scene->_item7._cardId = scene->_gameBoardSide[2]._arr1[1]._cardId; - scene->_item2._card.setStrip(scene->_arrunkObj1337[2]._arr1[1]._card._strip); - scene->_item2._card.setFrame(scene->_arrunkObj1337[2]._arr1[1]._card._frame); + scene->_item2._card.setStrip(scene->_gameBoardSide[2]._arr1[1]._card._strip); + scene->_item2._card.setFrame(scene->_gameBoardSide[2]._arr1[1]._card._frame); scene->_item2._card.animate(ANIM_MODE_NONE, NULL); - scene->_arrunkObj1337[2]._arr1[1]._cardId = 0; - scene->_arrunkObj1337[2]._arr1[1]._card.remove(); + scene->_gameBoardSide[2]._arr1[1]._cardId = 0; + scene->_gameBoardSide[2]._arr1[1]._card.remove(); - scene->_item2._card.setPosition(scene->_arrunkObj1337[2]._arr1[1]._field36, 0); + scene->_item2._card.setPosition(scene->_gameBoardSide[2]._arr1[1]._stationPos, 0); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_item7._field36, this); + scene->_item2._card.addMover(mover, &scene->_item7._stationPos, this); } break; case 11: { @@ -2996,35 +2996,35 @@ void Scene1337::Action1::signal() { int i = -1; for (i = 0; i <= 3; i ++) { - scene->_arrunkObj1337[3]._arr1[i]._cardId = 0; - scene->_arrunkObj1337[3]._arr1[i]._card.remove(); + scene->_gameBoardSide[3]._arr1[i]._cardId = 0; + scene->_gameBoardSide[3]._arr1[i]._card.remove(); - scene->_arrunkObj1337[2]._arr1[i]._cardId = 0; - scene->_arrunkObj1337[2]._arr1[i]._card.remove(); + scene->_gameBoardSide[2]._arr1[i]._cardId = 0; + scene->_gameBoardSide[2]._arr1[i]._card.remove(); - scene->_arrunkObj1337[0]._arr1[i]._cardId = 0; - scene->_arrunkObj1337[0]._arr1[i]._card.remove(); + scene->_gameBoardSide[0]._arr1[i]._cardId = 0; + scene->_gameBoardSide[0]._arr1[i]._card.remove(); - scene->_arrunkObj1337[1]._arr1[i]._cardId = 0; - scene->_arrunkObj1337[1]._arr1[i]._card.remove(); + scene->_gameBoardSide[1]._arr1[i]._cardId = 0; + scene->_gameBoardSide[1]._arr1[i]._card.remove(); } for (i = 0; i <= 7; i++) { - scene->_arrunkObj1337[3]._outpostStation[i]._cardId = 0; - scene->_arrunkObj1337[3]._outpostStation[i]._card.remove(); + scene->_gameBoardSide[3]._outpostStation[i]._cardId = 0; + scene->_gameBoardSide[3]._outpostStation[i]._card.remove(); - scene->_arrunkObj1337[2]._outpostStation[i]._cardId = 0; - scene->_arrunkObj1337[2]._outpostStation[i]._card.remove(); + scene->_gameBoardSide[2]._outpostStation[i]._cardId = 0; + scene->_gameBoardSide[2]._outpostStation[i]._card.remove(); - scene->_arrunkObj1337[0]._outpostStation[i]._cardId = 0; - scene->_arrunkObj1337[0]._outpostStation[i]._card.remove(); + scene->_gameBoardSide[0]._outpostStation[i]._cardId = 0; + scene->_gameBoardSide[0]._outpostStation[i]._card.remove(); - scene->_arrunkObj1337[1]._outpostStation[i]._cardId = 0; - scene->_arrunkObj1337[1]._outpostStation[i]._card.remove(); + scene->_gameBoardSide[1]._outpostStation[i]._cardId = 0; + scene->_gameBoardSide[1]._outpostStation[i]._card.remove(); } - scene->_arrunkObj1337[2]._arr3[0]._cardId = 0; - scene->_arrunkObj1337[2]._arr3[0]._card.remove(); + scene->_gameBoardSide[2]._arr3[0]._cardId = 0; + scene->_gameBoardSide[2]._arr3[0]._card.remove(); scene->_item7._cardId = 0; scene->_item7._card.remove(); @@ -3105,43 +3105,43 @@ void Scene1337::Action3::signal() { scene->_item2._card.addMover(mover, &pt, this); scene->_item2._card.show(); - scene->_arrunkObj1337[1]._arr1[0]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[1]._arr1[0]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 1: { - scene->_arrunkObj1337[1]._arr1[0]._card.postInit(); - scene->_arrunkObj1337[1]._arr1[0]._card._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[1]._arr1[0]._card.setVisage(1332); - scene->_arrunkObj1337[1]._arr1[0]._card.setPosition(scene->_arrunkObj1337[1]._arr1[0]._field36, 0); - scene->_arrunkObj1337[1]._arr1[0]._card.setStrip(1); - scene->_arrunkObj1337[1]._arr1[0]._card.setFrame(4); - scene->_arrunkObj1337[1]._arr1[0]._card.fixPriority(170); + scene->_gameBoardSide[1]._arr1[0]._card.postInit(); + scene->_gameBoardSide[1]._arr1[0]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[1]._arr1[0]._card.setVisage(1332); + scene->_gameBoardSide[1]._arr1[0]._card.setPosition(scene->_gameBoardSide[1]._arr1[0]._stationPos, 0); + scene->_gameBoardSide[1]._arr1[0]._card.setStrip(1); + scene->_gameBoardSide[1]._arr1[0]._card.setFrame(4); + scene->_gameBoardSide[1]._arr1[0]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(10, 174); NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &pt, this); - scene->_arrunkObj1337[2]._arr1[0]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[2]._arr1[0]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 2: { - scene->_arrunkObj1337[2]._arr1[0]._card.postInit(); - scene->_arrunkObj1337[2]._arr1[0]._card._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[2]._arr1[0]._card.setVisage(1332); - scene->_arrunkObj1337[2]._arr1[0]._card.setPosition(scene->_arrunkObj1337[2]._arr1[0]._field36, 0); - scene->_arrunkObj1337[2]._arr1[0]._card.fixPriority(170); - if (scene->_arrunkObj1337[2]._arr1[0]._cardId > 9) { - if (scene->_arrunkObj1337[2]._arr1[0]._cardId > 25) { - scene->_arrunkObj1337[2]._arr1[0]._card.setStrip(4); - scene->_arrunkObj1337[2]._arr1[0]._card.setFrame(scene->_arrunkObj1337[2]._arr1[0]._cardId - 25); + scene->_gameBoardSide[2]._arr1[0]._card.postInit(); + scene->_gameBoardSide[2]._arr1[0]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[2]._arr1[0]._card.setVisage(1332); + scene->_gameBoardSide[2]._arr1[0]._card.setPosition(scene->_gameBoardSide[2]._arr1[0]._stationPos, 0); + scene->_gameBoardSide[2]._arr1[0]._card.fixPriority(170); + if (scene->_gameBoardSide[2]._arr1[0]._cardId > 9) { + if (scene->_gameBoardSide[2]._arr1[0]._cardId > 25) { + scene->_gameBoardSide[2]._arr1[0]._card.setStrip(4); + scene->_gameBoardSide[2]._arr1[0]._card.setFrame(scene->_gameBoardSide[2]._arr1[0]._cardId - 25); } else { - scene->_arrunkObj1337[2]._arr1[0]._card.setStrip(3); - scene->_arrunkObj1337[2]._arr1[0]._card.setFrame(scene->_arrunkObj1337[2]._arr1[0]._cardId - 9); + scene->_gameBoardSide[2]._arr1[0]._card.setStrip(3); + scene->_gameBoardSide[2]._arr1[0]._card.setFrame(scene->_gameBoardSide[2]._arr1[0]._cardId - 9); } } else { - scene->_arrunkObj1337[2]._arr1[0]._card.setStrip(2); - scene->_arrunkObj1337[2]._arr1[0]._card.setFrame(scene->_arrunkObj1337[2]._arr1[0]._cardId); + scene->_gameBoardSide[2]._arr1[0]._card.setStrip(2); + scene->_gameBoardSide[2]._arr1[0]._card.setFrame(scene->_gameBoardSide[2]._arr1[0]._cardId); } scene->_aSound2.play(61); @@ -3149,78 +3149,78 @@ void Scene1337::Action3::signal() { NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &pt, this); - scene->_arrunkObj1337[3]._arr1[0]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[3]._arr1[0]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 3: { - scene->_arrunkObj1337[3]._arr1[0]._card.postInit(); - scene->_arrunkObj1337[3]._arr1[0]._card._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[3]._arr1[0]._card.setVisage(1332); - scene->_arrunkObj1337[3]._arr1[0]._card.setPosition(scene->_arrunkObj1337[3]._arr1[0]._field36, 0); - scene->_arrunkObj1337[3]._arr1[0]._card.setStrip(1); - scene->_arrunkObj1337[3]._arr1[0]._card.setFrame(3); - scene->_arrunkObj1337[3]._arr1[0]._card.fixPriority(170); + scene->_gameBoardSide[3]._arr1[0]._card.postInit(); + scene->_gameBoardSide[3]._arr1[0]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[3]._arr1[0]._card.setVisage(1332); + scene->_gameBoardSide[3]._arr1[0]._card.setPosition(scene->_gameBoardSide[3]._arr1[0]._stationPos, 0); + scene->_gameBoardSide[3]._arr1[0]._card.setStrip(1); + scene->_gameBoardSide[3]._arr1[0]._card.setFrame(3); + scene->_gameBoardSide[3]._arr1[0]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(280, 5); NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &pt, this); - scene->_arrunkObj1337[0]._arr1[0]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[0]._arr1[0]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 4: { - scene->_arrunkObj1337[0]._arr1[0]._card.postInit(); - scene->_arrunkObj1337[0]._arr1[0]._card._moveDiff = Common::Point(30,30); - scene->_arrunkObj1337[0]._arr1[0]._card.setVisage(1332); - scene->_arrunkObj1337[0]._arr1[0]._card.setPosition(scene->_arrunkObj1337[0]._arr1[0]._field36, 0); - scene->_arrunkObj1337[0]._arr1[0]._card.setStrip(5); - scene->_arrunkObj1337[0]._arr1[0]._card.setFrame(1); - scene->_arrunkObj1337[0]._arr1[0]._card.fixPriority(170); + scene->_gameBoardSide[0]._arr1[0]._card.postInit(); + scene->_gameBoardSide[0]._arr1[0]._card._moveDiff = Common::Point(30,30); + scene->_gameBoardSide[0]._arr1[0]._card.setVisage(1332); + scene->_gameBoardSide[0]._arr1[0]._card.setPosition(scene->_gameBoardSide[0]._arr1[0]._stationPos, 0); + scene->_gameBoardSide[0]._arr1[0]._card.setStrip(5); + scene->_gameBoardSide[0]._arr1[0]._card.setFrame(1); + scene->_gameBoardSide[0]._arr1[0]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(283, 124); NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &pt, this); - scene->_arrunkObj1337[1]._arr1[1]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[1]._arr1[1]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 5: { - scene->_arrunkObj1337[1]._arr1[1]._card.postInit(); - scene->_arrunkObj1337[1]._arr1[1]._card._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[1]._arr1[1]._card.setVisage(1332); - scene->_arrunkObj1337[1]._arr1[1]._card.setPosition(scene->_arrunkObj1337[1]._arr1[1]._field36, 0); - scene->_arrunkObj1337[1]._arr1[1]._card.setStrip(1); - scene->_arrunkObj1337[1]._arr1[1]._card.setFrame(4); - scene->_arrunkObj1337[1]._arr1[1]._card.fixPriority(170); + scene->_gameBoardSide[1]._arr1[1]._card.postInit(); + scene->_gameBoardSide[1]._arr1[1]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[1]._arr1[1]._card.setVisage(1332); + scene->_gameBoardSide[1]._arr1[1]._card.setPosition(scene->_gameBoardSide[1]._arr1[1]._stationPos, 0); + scene->_gameBoardSide[1]._arr1[1]._card.setStrip(1); + scene->_gameBoardSide[1]._arr1[1]._card.setFrame(4); + scene->_gameBoardSide[1]._arr1[1]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(37, 174); NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &pt, this); - scene->_arrunkObj1337[2]._arr1[1]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[2]._arr1[1]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 6: { - scene->_arrunkObj1337[2]._arr1[1]._card.postInit(); - scene->_arrunkObj1337[2]._arr1[1]._card._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[2]._arr1[1]._card.setVisage(1332); - scene->_arrunkObj1337[2]._arr1[1]._card.setPosition(scene->_arrunkObj1337[2]._arr1[1]._field36, 0); - scene->_arrunkObj1337[2]._arr1[1]._card.fixPriority(170); - - if (scene->_arrunkObj1337[2]._arr1[1]._cardId > 9) { - if (scene->_arrunkObj1337[2]._arr1[1]._cardId > 25) { - scene->_arrunkObj1337[2]._arr1[1]._card.setStrip(4); - scene->_arrunkObj1337[2]._arr1[1]._card.setFrame(scene->_arrunkObj1337[2]._arr1[1]._cardId - 25); + scene->_gameBoardSide[2]._arr1[1]._card.postInit(); + scene->_gameBoardSide[2]._arr1[1]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[2]._arr1[1]._card.setVisage(1332); + scene->_gameBoardSide[2]._arr1[1]._card.setPosition(scene->_gameBoardSide[2]._arr1[1]._stationPos, 0); + scene->_gameBoardSide[2]._arr1[1]._card.fixPriority(170); + + if (scene->_gameBoardSide[2]._arr1[1]._cardId > 9) { + if (scene->_gameBoardSide[2]._arr1[1]._cardId > 25) { + scene->_gameBoardSide[2]._arr1[1]._card.setStrip(4); + scene->_gameBoardSide[2]._arr1[1]._card.setFrame(scene->_gameBoardSide[2]._arr1[1]._cardId - 25); } else { - scene->_arrunkObj1337[2]._arr1[1]._card.setStrip(3); - scene->_arrunkObj1337[2]._arr1[1]._card.setFrame(scene->_arrunkObj1337[2]._arr1[1]._cardId - 9); + scene->_gameBoardSide[2]._arr1[1]._card.setStrip(3); + scene->_gameBoardSide[2]._arr1[1]._card.setFrame(scene->_gameBoardSide[2]._arr1[1]._cardId - 9); } } else { - scene->_arrunkObj1337[2]._arr1[1]._card.setStrip(2); - scene->_arrunkObj1337[2]._arr1[1]._card.setFrame(scene->_arrunkObj1337[2]._arr1[1]._cardId); + scene->_gameBoardSide[2]._arr1[1]._card.setStrip(2); + scene->_gameBoardSide[2]._arr1[1]._card.setFrame(scene->_gameBoardSide[2]._arr1[1]._cardId); } scene->_aSound2.play(61); @@ -3229,78 +3229,78 @@ void Scene1337::Action3::signal() { NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &pt, this); - scene->_arrunkObj1337[3]._arr1[1]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[3]._arr1[1]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 7: { - scene->_arrunkObj1337[3]._arr1[1]._card.postInit(); - scene->_arrunkObj1337[3]._arr1[1]._card._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[3]._arr1[1]._card.setVisage(1332); - scene->_arrunkObj1337[3]._arr1[1]._card.setPosition(scene->_arrunkObj1337[3]._arr1[1]._field36); - scene->_arrunkObj1337[3]._arr1[1]._card.setStrip(1); - scene->_arrunkObj1337[3]._arr1[1]._card.setFrame(3); - scene->_arrunkObj1337[3]._arr1[1]._card.fixPriority(170); + scene->_gameBoardSide[3]._arr1[1]._card.postInit(); + scene->_gameBoardSide[3]._arr1[1]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[3]._arr1[1]._card.setVisage(1332); + scene->_gameBoardSide[3]._arr1[1]._card.setPosition(scene->_gameBoardSide[3]._arr1[1]._stationPos); + scene->_gameBoardSide[3]._arr1[1]._card.setStrip(1); + scene->_gameBoardSide[3]._arr1[1]._card.setFrame(3); + scene->_gameBoardSide[3]._arr1[1]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(253, 5); NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &pt, this); - scene->_arrunkObj1337[0]._arr1[1]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[0]._arr1[1]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 8: { - scene->_arrunkObj1337[0]._arr1[1]._card.postInit(); - scene->_arrunkObj1337[0]._arr1[1]._card._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[0]._arr1[1]._card.setVisage(1332); - scene->_arrunkObj1337[0]._arr1[1]._card.setPosition(scene->_arrunkObj1337[0]._arr1[1]._field36, 0); - scene->_arrunkObj1337[0]._arr1[1]._card.setStrip(5); - scene->_arrunkObj1337[0]._arr1[1]._card.setFrame(1); - scene->_arrunkObj1337[0]._arr1[1]._card.fixPriority(170); + scene->_gameBoardSide[0]._arr1[1]._card.postInit(); + scene->_gameBoardSide[0]._arr1[1]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[0]._arr1[1]._card.setVisage(1332); + scene->_gameBoardSide[0]._arr1[1]._card.setPosition(scene->_gameBoardSide[0]._arr1[1]._stationPos, 0); + scene->_gameBoardSide[0]._arr1[1]._card.setStrip(5); + scene->_gameBoardSide[0]._arr1[1]._card.setFrame(1); + scene->_gameBoardSide[0]._arr1[1]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(283, 102); NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &pt, this); - scene->_arrunkObj1337[1]._arr1[2]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[1]._arr1[2]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 9: { - scene->_arrunkObj1337[1]._arr1[2]._card.postInit(); - scene->_arrunkObj1337[1]._arr1[2]._card._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[1]._arr1[2]._card.setVisage(1332); - scene->_arrunkObj1337[1]._arr1[2]._card.setPosition(scene->_arrunkObj1337[1]._arr1[2]._field36, 0); - scene->_arrunkObj1337[1]._arr1[2]._card.setStrip(1); - scene->_arrunkObj1337[1]._arr1[2]._card.setFrame(4); - scene->_arrunkObj1337[1]._arr1[2]._card.fixPriority(170); + scene->_gameBoardSide[1]._arr1[2]._card.postInit(); + scene->_gameBoardSide[1]._arr1[2]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[1]._arr1[2]._card.setVisage(1332); + scene->_gameBoardSide[1]._arr1[2]._card.setPosition(scene->_gameBoardSide[1]._arr1[2]._stationPos, 0); + scene->_gameBoardSide[1]._arr1[2]._card.setStrip(1); + scene->_gameBoardSide[1]._arr1[2]._card.setFrame(4); + scene->_gameBoardSide[1]._arr1[2]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(64, 174); NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &pt, this); - scene->_arrunkObj1337[2]._arr1[2]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[2]._arr1[2]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 10: { - scene->_arrunkObj1337[2]._arr1[2]._card.postInit(); - scene->_arrunkObj1337[2]._arr1[2]._card._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[2]._arr1[2]._card.setVisage(1332); - scene->_arrunkObj1337[2]._arr1[2]._card.setPosition(scene->_arrunkObj1337[2]._arr1[2]._field36, 0); - scene->_arrunkObj1337[2]._arr1[2]._card.fixPriority(170); - - if (scene->_arrunkObj1337[2]._arr1[2]._cardId > 9) { - if (scene->_arrunkObj1337[2]._arr1[2]._cardId > 25) { - scene->_arrunkObj1337[2]._arr1[2]._card.setStrip(4); - scene->_arrunkObj1337[2]._arr1[2]._card.setFrame(scene->_arrunkObj1337[2]._arr1[2]._cardId - 25); + scene->_gameBoardSide[2]._arr1[2]._card.postInit(); + scene->_gameBoardSide[2]._arr1[2]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[2]._arr1[2]._card.setVisage(1332); + scene->_gameBoardSide[2]._arr1[2]._card.setPosition(scene->_gameBoardSide[2]._arr1[2]._stationPos, 0); + scene->_gameBoardSide[2]._arr1[2]._card.fixPriority(170); + + if (scene->_gameBoardSide[2]._arr1[2]._cardId > 9) { + if (scene->_gameBoardSide[2]._arr1[2]._cardId > 25) { + scene->_gameBoardSide[2]._arr1[2]._card.setStrip(4); + scene->_gameBoardSide[2]._arr1[2]._card.setFrame(scene->_gameBoardSide[2]._arr1[2]._cardId - 25); } else { - scene->_arrunkObj1337[2]._arr1[2]._card.setStrip(3); - scene->_arrunkObj1337[2]._arr1[2]._card.setFrame(scene->_arrunkObj1337[2]._arr1[2]._cardId - 9); + scene->_gameBoardSide[2]._arr1[2]._card.setStrip(3); + scene->_gameBoardSide[2]._arr1[2]._card.setFrame(scene->_gameBoardSide[2]._arr1[2]._cardId - 9); } } else { - scene->_arrunkObj1337[2]._arr1[2]._card.setStrip(2); - scene->_arrunkObj1337[2]._arr1[2]._card.setFrame(scene->_arrunkObj1337[2]._arr1[2]._cardId); + scene->_gameBoardSide[2]._arr1[2]._card.setStrip(2); + scene->_gameBoardSide[2]._arr1[2]._card.setFrame(scene->_gameBoardSide[2]._arr1[2]._cardId); } scene->_aSound2.play(61); @@ -3309,35 +3309,35 @@ void Scene1337::Action3::signal() { NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &pt, this); - scene->_arrunkObj1337[3]._arr1[2]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[3]._arr1[2]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 11: { - scene->_arrunkObj1337[3]._arr1[2]._card.postInit(); - scene->_arrunkObj1337[3]._arr1[2]._card._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[3]._arr1[2]._card.setVisage(1332); - scene->_arrunkObj1337[3]._arr1[2]._card.setPosition(scene->_arrunkObj1337[3]._arr1[2]._field36, 0); - scene->_arrunkObj1337[3]._arr1[2]._card.setStrip(1); - scene->_arrunkObj1337[3]._arr1[2]._card.setFrame(3); - scene->_arrunkObj1337[3]._arr1[2]._card.fixPriority(170); + scene->_gameBoardSide[3]._arr1[2]._card.postInit(); + scene->_gameBoardSide[3]._arr1[2]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[3]._arr1[2]._card.setVisage(1332); + scene->_gameBoardSide[3]._arr1[2]._card.setPosition(scene->_gameBoardSide[3]._arr1[2]._stationPos, 0); + scene->_gameBoardSide[3]._arr1[2]._card.setStrip(1); + scene->_gameBoardSide[3]._arr1[2]._card.setFrame(3); + scene->_gameBoardSide[3]._arr1[2]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(226, 5); NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &pt, this); - scene->_arrunkObj1337[0]._arr1[2]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[0]._arr1[2]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 12: - scene->_arrunkObj1337[0]._arr1[2]._card.postInit(); - scene->_arrunkObj1337[0]._arr1[2]._card._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[0]._arr1[2]._card.setVisage(1332); - scene->_arrunkObj1337[0]._arr1[2]._card.setPosition(scene->_arrunkObj1337[0]._arr1[2]._field36, 0); - scene->_arrunkObj1337[0]._arr1[2]._card.setStrip(5); - scene->_arrunkObj1337[0]._arr1[2]._card.setFrame(1); - scene->_arrunkObj1337[0]._arr1[2]._card.fixPriority(170); - scene->_arrunkObj1337[0]._arr1[2]._card.hide(); + scene->_gameBoardSide[0]._arr1[2]._card.postInit(); + scene->_gameBoardSide[0]._arr1[2]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[0]._arr1[2]._card.setVisage(1332); + scene->_gameBoardSide[0]._arr1[2]._card.setPosition(scene->_gameBoardSide[0]._arr1[2]._stationPos, 0); + scene->_gameBoardSide[0]._arr1[2]._card.setStrip(5); + scene->_gameBoardSide[0]._arr1[2]._card.setFrame(1); + scene->_gameBoardSide[0]._arr1[2]._card.fixPriority(170); + scene->_gameBoardSide[0]._arr1[2]._card.hide(); default: break; } @@ -3358,17 +3358,17 @@ void Scene1337::Action4::signal() { switch (_actionIndex++) { case 0: - if ((scene->_arrunkObj1337[scene->_field423E]._arr1[0]._cardId == 0) && (scene->subC264B(scene->_arrunkObj1337[scene->_field423E]._arr3[0]._cardId))) { + if ((scene->_gameBoardSide[scene->_field423E]._arr1[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._arr3[0]._cardId))) { if (scene->_field3E24 < 0) - scene->subC264B(scene->_arrunkObj1337[scene->_field423E]._arr3[0]._cardId); + scene->subC264B(scene->_gameBoardSide[scene->_field423E]._arr3[0]._cardId); scene->_item2._card.setPosition(Common::Point(162, 95), 0); scene->_item2._card.show(); scene->_aSound2.play(61); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_arrunkObj1337[scene->_field423E]._fieldB94, this); + scene->_item2._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldB94, this); - scene->_arrunkObj1337[scene->_field423E]._arr1[0]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[scene->_field423E]._arr1[0]._cardId = scene->_field3E28[scene->_field3E24]; scene->_field3E28[scene->_field3E24] = 0; scene->_field3E24--; @@ -3380,22 +3380,22 @@ void Scene1337::Action4::signal() { } break; case 1: - if ( ( scene->_item2._card._position.x == scene->_arrunkObj1337[scene->_field423E]._fieldB94.x) - && ( scene->_item2._card._position.y == scene->_arrunkObj1337[scene->_field423E]._fieldB94.y) ) { - scene->_arrunkObj1337[scene->_field423E]._arr1[0]._card.postInit(); - scene->_arrunkObj1337[scene->_field423E]._arr1[0]._card._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[scene->_field423E]._arr1[0]._card.setVisage(1332); - scene->_arrunkObj1337[scene->_field423E]._arr1[0]._card.setPosition(scene->_arrunkObj1337[scene->_field423E]._arr1[0]._field36, 0); - scene->_arrunkObj1337[scene->_field423E]._arr1[0]._card.setStrip(1); - scene->_arrunkObj1337[scene->_field423E]._arr1[0]._card.setFrame(scene->_arrunkObj1337[scene->_field423E]._fieldBA4); - scene->_arrunkObj1337[scene->_field423E]._arr1[0]._card.fixPriority(170); + if ( ( scene->_item2._card._position.x == scene->_gameBoardSide[scene->_field423E]._fieldB94.x) + && ( scene->_item2._card._position.y == scene->_gameBoardSide[scene->_field423E]._fieldB94.y) ) { + scene->_gameBoardSide[scene->_field423E]._arr1[0]._card.postInit(); + scene->_gameBoardSide[scene->_field423E]._arr1[0]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[scene->_field423E]._arr1[0]._card.setVisage(1332); + scene->_gameBoardSide[scene->_field423E]._arr1[0]._card.setPosition(scene->_gameBoardSide[scene->_field423E]._arr1[0]._stationPos, 0); + scene->_gameBoardSide[scene->_field423E]._arr1[0]._card.setStrip(1); + scene->_gameBoardSide[scene->_field423E]._arr1[0]._card.setFrame(scene->_gameBoardSide[scene->_field423E]._fieldBA4); + scene->_gameBoardSide[scene->_field423E]._arr1[0]._card.fixPriority(170); } if ((scene->_field4248 == 1) || (scene->_field423E == 2)) - scene->setAnimationInfo(&scene->_arrunkObj1337[scene->_field423E]._arr1[0]); + scene->setAnimationInfo(&scene->_gameBoardSide[scene->_field423E]._arr1[0]); scene->_item2._card.hide(); - if ((scene->_arrunkObj1337[scene->_field423E]._arr1[0]._cardId == 0) && (scene->subC264B(scene->_arrunkObj1337[scene->_field423E]._arr3[0]._cardId == 0))) { + if ((scene->_gameBoardSide[scene->_field423E]._arr1[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._arr3[0]._cardId == 0))) { if (scene->_field3E24 < 0) scene->shuffleCards(); scene->_item2._card.setPosition(Common::Point(162, 95)); @@ -3404,9 +3404,9 @@ void Scene1337::Action4::signal() { scene->_aSound2.play(61); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_arrunkObj1337[scene->_field423E]._fieldB98, this); + scene->_item2._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldB98, this); - scene->_arrunkObj1337[scene->_field423E]._arr1[1]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[scene->_field423E]._arr1[1]._cardId = scene->_field3E28[scene->_field3E24]; scene->_field3E28[scene->_field3E24] = 0; scene->_field3E24--; if (scene->_field3E24 < 0) @@ -3415,22 +3415,22 @@ void Scene1337::Action4::signal() { signal(); break; case 2: - if ( ( scene->_item2._card._position.x == scene->_arrunkObj1337[scene->_field423E]._fieldB98.x) - && ( scene->_item2._card._position.y == scene->_arrunkObj1337[scene->_field423E]._fieldB98.y) ) { - scene->_arrunkObj1337[scene->_field423E]._arr1[1]._card.postInit(); - scene->_arrunkObj1337[scene->_field423E]._arr1[1]._card._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[scene->_field423E]._arr1[1]._card.setVisage(1332); - scene->_arrunkObj1337[scene->_field423E]._arr1[1]._card.setPosition(scene->_arrunkObj1337[scene->_field423E]._arr1[1]._field36, 0); - scene->_arrunkObj1337[scene->_field423E]._arr1[1]._card.setStrip(1); - scene->_arrunkObj1337[scene->_field423E]._arr1[1]._card.setFrame(scene->_arrunkObj1337[scene->_field423E]._fieldBA4); - scene->_arrunkObj1337[scene->_field423E]._arr1[1]._card.fixPriority(170); + if ( ( scene->_item2._card._position.x == scene->_gameBoardSide[scene->_field423E]._fieldB98.x) + && ( scene->_item2._card._position.y == scene->_gameBoardSide[scene->_field423E]._fieldB98.y) ) { + scene->_gameBoardSide[scene->_field423E]._arr1[1]._card.postInit(); + scene->_gameBoardSide[scene->_field423E]._arr1[1]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[scene->_field423E]._arr1[1]._card.setVisage(1332); + scene->_gameBoardSide[scene->_field423E]._arr1[1]._card.setPosition(scene->_gameBoardSide[scene->_field423E]._arr1[1]._stationPos, 0); + scene->_gameBoardSide[scene->_field423E]._arr1[1]._card.setStrip(1); + scene->_gameBoardSide[scene->_field423E]._arr1[1]._card.setFrame(scene->_gameBoardSide[scene->_field423E]._fieldBA4); + scene->_gameBoardSide[scene->_field423E]._arr1[1]._card.fixPriority(170); } if ((scene->_field4248 == 1) || (scene->_field423E == 2)) - scene->setAnimationInfo(&scene->_arrunkObj1337[scene->_field423E]._arr1[1]); + scene->setAnimationInfo(&scene->_gameBoardSide[scene->_field423E]._arr1[1]); scene->_item2._card.hide(); - if ((scene->_arrunkObj1337[scene->_field423E]._arr1[2]._cardId == 0) && (scene->subC264B(scene->_arrunkObj1337[scene->_field423E]._arr3[0]._cardId == 0))) { + if ((scene->_gameBoardSide[scene->_field423E]._arr1[2]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._arr3[0]._cardId == 0))) { if (scene->_field3E24 < 0) scene->shuffleCards(); scene->_item2._card.setPosition(Common::Point(162, 95)); @@ -3439,9 +3439,9 @@ void Scene1337::Action4::signal() { scene->_aSound2.play(61); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_arrunkObj1337[scene->_field423E]._fieldB9C, this); + scene->_item2._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldB9C, this); - scene->_arrunkObj1337[scene->_field423E]._arr1[2]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[scene->_field423E]._arr1[2]._cardId = scene->_field3E28[scene->_field3E24]; scene->_field3E28[scene->_field3E24] = 0; scene->_field3E24--; if (scene->_field3E24 < 0) @@ -3450,22 +3450,22 @@ void Scene1337::Action4::signal() { signal(); break; case 3: - if ( ( scene->_item2._card._position.x == scene->_arrunkObj1337[scene->_field423E]._fieldB9C.x) - && ( scene->_item2._card._position.y == scene->_arrunkObj1337[scene->_field423E]._fieldB9C.y) ) { - scene->_arrunkObj1337[scene->_field423E]._arr1[2]._card.postInit(); - scene->_arrunkObj1337[scene->_field423E]._arr1[2]._card._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[scene->_field423E]._arr1[2]._card.setVisage(1332); - scene->_arrunkObj1337[scene->_field423E]._arr1[2]._card.setPosition(scene->_arrunkObj1337[scene->_field423E]._arr1[2]._field36, 0); - scene->_arrunkObj1337[scene->_field423E]._arr1[2]._card.setStrip(1); - scene->_arrunkObj1337[scene->_field423E]._arr1[2]._card.setFrame(scene->_arrunkObj1337[scene->_field423E]._fieldBA4); - scene->_arrunkObj1337[scene->_field423E]._arr1[2]._card.fixPriority(170); + if ( ( scene->_item2._card._position.x == scene->_gameBoardSide[scene->_field423E]._fieldB9C.x) + && ( scene->_item2._card._position.y == scene->_gameBoardSide[scene->_field423E]._fieldB9C.y) ) { + scene->_gameBoardSide[scene->_field423E]._arr1[2]._card.postInit(); + scene->_gameBoardSide[scene->_field423E]._arr1[2]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[scene->_field423E]._arr1[2]._card.setVisage(1332); + scene->_gameBoardSide[scene->_field423E]._arr1[2]._card.setPosition(scene->_gameBoardSide[scene->_field423E]._arr1[2]._stationPos, 0); + scene->_gameBoardSide[scene->_field423E]._arr1[2]._card.setStrip(1); + scene->_gameBoardSide[scene->_field423E]._arr1[2]._card.setFrame(scene->_gameBoardSide[scene->_field423E]._fieldBA4); + scene->_gameBoardSide[scene->_field423E]._arr1[2]._card.fixPriority(170); } if ((scene->_field4248 == 1) || (scene->_field423E == 2)) - scene->setAnimationInfo(&scene->_arrunkObj1337[scene->_field423E]._arr1[2]); + scene->setAnimationInfo(&scene->_gameBoardSide[scene->_field423E]._arr1[2]); scene->_item2._card.hide(); - if ((scene->_arrunkObj1337[scene->_field423E]._arr1[3]._cardId == 0) && (scene->subC264B(scene->_arrunkObj1337[scene->_field423E]._arr3[0]._cardId == 0))) { + if ((scene->_gameBoardSide[scene->_field423E]._arr1[3]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._arr3[0]._cardId == 0))) { if (scene->_field3E24 < 0) scene->shuffleCards(); scene->_item2._card.setPosition(Common::Point(162, 95)); @@ -3474,9 +3474,9 @@ void Scene1337::Action4::signal() { scene->_aSound2.play(61); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_arrunkObj1337[scene->_field423E]._fieldBA0, this); + scene->_item2._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldBA0, this); - scene->_arrunkObj1337[scene->_field423E]._arr1[3]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[scene->_field423E]._arr1[3]._cardId = scene->_field3E28[scene->_field3E24]; scene->_field3E28[scene->_field3E24] = 0; scene->_field3E24--; if (scene->_field3E24 < 0) @@ -3485,19 +3485,19 @@ void Scene1337::Action4::signal() { signal(); break; case 4: - if ( ( scene->_item2._card._position.x == scene->_arrunkObj1337[scene->_field423E]._fieldBA0.x) - && ( scene->_item2._card._position.y == scene->_arrunkObj1337[scene->_field423E]._fieldBA0.y) ) { - scene->_arrunkObj1337[scene->_field423E]._arr1[3]._card.postInit(); - scene->_arrunkObj1337[scene->_field423E]._arr1[3]._card._moveDiff = Common::Point(30, 30); - scene->_arrunkObj1337[scene->_field423E]._arr1[3]._card.setVisage(1332); - scene->_arrunkObj1337[scene->_field423E]._arr1[3]._card.setPosition(scene->_arrunkObj1337[scene->_field423E]._arr1[3]._field36, 0); - scene->_arrunkObj1337[scene->_field423E]._arr1[3]._card.setStrip(1); - scene->_arrunkObj1337[scene->_field423E]._arr1[3]._card.setFrame(scene->_arrunkObj1337[scene->_field423E]._fieldBA4); - scene->_arrunkObj1337[scene->_field423E]._arr1[3]._card.fixPriority(170); + if ( ( scene->_item2._card._position.x == scene->_gameBoardSide[scene->_field423E]._fieldBA0.x) + && ( scene->_item2._card._position.y == scene->_gameBoardSide[scene->_field423E]._fieldBA0.y) ) { + scene->_gameBoardSide[scene->_field423E]._arr1[3]._card.postInit(); + scene->_gameBoardSide[scene->_field423E]._arr1[3]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[scene->_field423E]._arr1[3]._card.setVisage(1332); + scene->_gameBoardSide[scene->_field423E]._arr1[3]._card.setPosition(scene->_gameBoardSide[scene->_field423E]._arr1[3]._stationPos, 0); + scene->_gameBoardSide[scene->_field423E]._arr1[3]._card.setStrip(1); + scene->_gameBoardSide[scene->_field423E]._arr1[3]._card.setFrame(scene->_gameBoardSide[scene->_field423E]._fieldBA4); + scene->_gameBoardSide[scene->_field423E]._arr1[3]._card.fixPriority(170); } if ((scene->_field4248 == 1) || (scene->_field423E == 2)) - scene->setAnimationInfo(&scene->_arrunkObj1337[scene->_field423E]._arr1[3]); + scene->setAnimationInfo(&scene->_gameBoardSide[scene->_field423E]._arr1[3]); scene->_item2._card.hide(); switch (scene->_field423E) { @@ -3533,7 +3533,7 @@ void Scene1337::Action5::signal() { scene->_item7._card.postInit(); scene->_item7._card.hide(); scene->_item7._card.setVisage(1332); - scene->_item7._card.setPosition(scene->_item7._field36, 0); + scene->_item7._card.setPosition(scene->_item7._stationPos, 0); scene->_item7._card.fixPriority(170); } @@ -3545,7 +3545,7 @@ void Scene1337::Action5::signal() { scene->setCursorData(5, 1, 4); scene->subC4CEC(); } - scene->_item2._card.setPosition(scene->_field3EF0->_field36, 0); + scene->_item2._card.setPosition(scene->_field3EF0->_stationPos, 0); scene->_item2._card.show(); Common::Point pt(128, 95); NpcMover *mover = new NpcMover(); @@ -3572,17 +3572,17 @@ void Scene1337::Action6::signal() { scene->_field3EF4->_card.postInit(); scene->_field3EF4->_card.hide(); scene->_field3EF4->_card.setVisage(1332); - scene->_field3EF4->_card.setPosition(scene->_field3EF4->_field36); + scene->_field3EF4->_card.setPosition(scene->_field3EF4->_stationPos); scene->_field3EF4->_card.fixPriority(170); scene->_field3EF0->_cardId = 0; scene->_field3EF0->_card.remove(); - scene->_item2._card.setPosition(scene->_field3EF0->_field36); + scene->_item2._card.setPosition(scene->_field3EF0->_stationPos); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_field3EF4->_field36, this); + scene->_item2._card.addMover(mover, &scene->_field3EF4->_stationPos, this); } break; case 1: @@ -3610,10 +3610,10 @@ void Scene1337::Action7::signal() { scene->_field3EF0->_cardId = 0; scene->_field3EF0->_card.remove(); - scene->_item2._card.setPosition(scene->_field3EF0->_field36, 0); + scene->_item2._card.setPosition(scene->_field3EF0->_stationPos, 0); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_field3EF4->_field36, this); + scene->_item2._card.addMover(mover, &scene->_field3EF4->_stationPos, this); } break; case 1: @@ -3624,8 +3624,8 @@ void Scene1337::Action7::signal() { scene->setAnimationInfo(scene->_field3EF4); scene->_aSound1.play(59); scene->_item5._cardId = 1; - scene->_item5._field36.x = scene->_field3EF4->_field36.x; - scene->_item5._field36.y = scene->_field3EF4->_field36.y; + scene->_item5._stationPos.x = scene->_field3EF4->_stationPos.x; + scene->_item5._stationPos.y = scene->_field3EF4->_stationPos.y; scene->_item5._card.postInit(); scene->_item5._card.hide(); scene->_item5._card._flags = 0x200; @@ -3648,11 +3648,11 @@ void Scene1337::Action8::signal() { scene->_field3EF4->_cardId = scene->_field3EF0->_cardId; scene->_field3EF0->_card.remove(); - scene->_item2._card.setPosition(scene->_field3EF0->_field36, 0); + scene->_item2._card.setPosition(scene->_field3EF0->_stationPos, 0); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_field3EF4->_field36, this); + scene->_item2._card.addMover(mover, &scene->_field3EF4->_stationPos, this); } break; case 1: @@ -3680,17 +3680,17 @@ void Scene1337::Action9::signal() { scene->_field3EF4->_card.postInit(); scene->_field3EF4->_card.hide(); scene->_field3EF4->_card.setVisage(1332); - scene->_field3EF4->_card.setPosition(scene->_field3EF4->_field36, 0); + scene->_field3EF4->_card.setPosition(scene->_field3EF4->_stationPos, 0); scene->_field3EF4->_card.fixPriority(170); scene->_field3EF0->_cardId = 0; scene->_field3EF0->_card.remove(); - scene->_item2._card.setPosition(scene->_field3EF0->_field36, 0); + scene->_item2._card.setPosition(scene->_field3EF0->_stationPos, 0); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_field3EF4->_field36, this); + scene->_item2._card.addMover(mover, &scene->_field3EF4->_stationPos, this); } break; case 1: @@ -3718,7 +3718,7 @@ void Scene1337::Action10::signal() { scene->_field3EF8->_card.postInit(); scene->_field3EF8->_card.hide(); scene->_field3EF8->_card.setVisage(1332); - scene->_field3EF8->_card.setPosition(scene->_field3EF8->_field36, 0); + scene->_field3EF8->_card.setPosition(scene->_field3EF8->_stationPos, 0); scene->_field3EF8->_card.fixPriority(170); scene->_field3EF8->_cardId = scene->_field3EF0->_cardId; @@ -3730,10 +3730,10 @@ void Scene1337::Action10::signal() { scene->subC4CEC(); } - scene->_item2._card.setPosition(scene->_field3EF0->_field36, 0); + scene->_item2._card.setPosition(scene->_field3EF0->_stationPos, 0); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_field3EF8->_field36, this); + scene->_item2._card.addMover(mover, &scene->_field3EF8->_stationPos, this); } break; case 1: { @@ -3747,7 +3747,7 @@ void Scene1337::Action10::signal() { switch (scene->_field4240) { case 0: for (indexFound = 0; indexFound < 3; indexFound++) { - if (scene->_arrunkObj1337[0]._arr1[indexFound]._cardId == 29) { + if (scene->_gameBoardSide[0]._arr1[indexFound]._cardId == 29) { found = true; break; } @@ -3755,7 +3755,7 @@ void Scene1337::Action10::signal() { break; case 1: for (indexFound = 0; indexFound < 3; indexFound++) { - if (scene->_arrunkObj1337[1]._arr1[indexFound]._cardId == 29) { + if (scene->_gameBoardSide[1]._arr1[indexFound]._cardId == 29) { found = true; break; } @@ -3763,7 +3763,7 @@ void Scene1337::Action10::signal() { break; case 2: for (indexFound = 0; indexFound < 3; indexFound++) { - if (scene->_arrunkObj1337[2]._arr1[indexFound]._cardId == 29) { + if (scene->_gameBoardSide[2]._arr1[indexFound]._cardId == 29) { found = true; break; } @@ -3771,7 +3771,7 @@ void Scene1337::Action10::signal() { break; case 3: for (indexFound = 0; indexFound < 3; indexFound++) { - if (scene->_arrunkObj1337[3]._arr1[indexFound]._cardId == 29) { + if (scene->_gameBoardSide[3]._arr1[indexFound]._cardId == 29) { found = true; break; } @@ -3786,11 +3786,11 @@ void Scene1337::Action10::signal() { if (found) { switch (scene->_field4240) { case 0: - scene->subC51A0(&scene->_arrunkObj1337[0]._arr1[indexFound], scene->_field3EF8); + scene->subC51A0(&scene->_gameBoardSide[0]._arr1[indexFound], scene->_field3EF8); found2 = true; break; case 1: - scene->subC51A0(&scene->_arrunkObj1337[1]._arr1[indexFound], scene->_field3EF8); + scene->subC51A0(&scene->_gameBoardSide[1]._arr1[indexFound], scene->_field3EF8); found2 = true; break; case 2: @@ -3798,12 +3798,12 @@ void Scene1337::Action10::signal() { if (MessageDialog::show(USE_INTERCEPTOR, NO_MSG, YES_MSG) == 0) scene->subC4CEC(); else { - scene->subC51A0(&scene->_arrunkObj1337[2]._arr1[indexFound], scene->_field3EF8); + scene->subC51A0(&scene->_gameBoardSide[2]._arr1[indexFound], scene->_field3EF8); found2 = true; } break; case 3: - scene->subC51A0(&scene->_arrunkObj1337[3]._arr1[indexFound], scene->_field3EF8); + scene->subC51A0(&scene->_gameBoardSide[3]._arr1[indexFound], scene->_field3EF8); found2 = true; break; default: @@ -3817,14 +3817,14 @@ void Scene1337::Action10::signal() { if (scene->_field4240 == 2) { int j = 0; for (int i = 0; i <= 7; i++) { - if (scene->_arrunkObj1337[2]._outpostStation[i]._cardId != 0) + if (scene->_gameBoardSide[2]._outpostStation[i]._cardId != 0) ++j; } if (j <= 1) { for (int i = 0; i <= 7; i++) { - if (scene->_arrunkObj1337[2]._outpostStation[i]._cardId != 0) { - scene->_field3EF4 = &scene->_arrunkObj1337[2]._outpostStation[i]; + if (scene->_gameBoardSide[2]._outpostStation[i]._cardId != 0) { + scene->_field3EF4 = &scene->_gameBoardSide[2]._outpostStation[i]; break; } } @@ -3843,11 +3843,11 @@ void Scene1337::Action10::signal() { g_globals->_events.delay(g_globals->_sceneHandler->_delayTicks); } - scene->_item6._field36 = event.mousePos; + scene->_item6._stationPos = event.mousePos; for (int i = 0; i <= 7; i++) { - if ((scene->subC2BF8(&scene->_arrunkObj1337[2]._outpostStation[i], scene->_item6._field36) != 0) && (scene->_arrunkObj1337[2]._outpostStation[i]._cardId != 0)) { - scene->_field3EF4 = &scene->_arrunkObj1337[2]._outpostStation[0]; + if ((scene->subC2BF8(&scene->_gameBoardSide[2]._outpostStation[i], scene->_item6._stationPos) != 0) && (scene->_gameBoardSide[2]._outpostStation[i]._cardId != 0)) { + scene->_field3EF4 = &scene->_gameBoardSide[2]._outpostStation[0]; found2 = true; break; } @@ -3862,11 +3862,11 @@ void Scene1337::Action10::signal() { scene->_field3EF4->_cardId = 0; scene->_field3EF4->_card.remove(); - scene->_item2._card.setPosition(scene->_field3EF4->_field36, 0); + scene->_item2._card.setPosition(scene->_field3EF4->_stationPos, 0); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_field3EF8->_field36, this); + scene->_item2._card.addMover(mover, &scene->_field3EF8->_stationPos, this); } break; case 2: @@ -3888,22 +3888,22 @@ void Scene1337::Action11::signal() { scene->_field3EF4->_card.postInit(); scene->_field3EF4->_card.hide(); scene->_field3EF4->_card.setVisage(1332); - scene->_field3EF4->_card.setPosition(scene->_field3EF4->_field36, 0); + scene->_field3EF4->_card.setPosition(scene->_field3EF4->_stationPos, 0); scene->_field3EF4->_card.fixPriority(170); scene->_field3EF4->_cardId = 25; if (scene->_field4240 == 2) { - scene->_item2._card.setPosition(scene->_field3EF4->_field36, 0); + scene->_item2._card.setPosition(scene->_field3EF4->_stationPos, 0); scene->setCursorData(5, 1, 4); } else { scene->_field3EF0->_cardId = 0; scene->_field3EF0->_card.remove(); - scene->_item2._card.setPosition(scene->_field3EF0->_field36, 0); + scene->_item2._card.setPosition(scene->_field3EF0->_stationPos, 0); } scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_field3EF4->_field36, this); + scene->_item2._card.addMover(mover, &scene->_field3EF4->_stationPos, this); } break; case 1: { @@ -3917,18 +3917,18 @@ void Scene1337::Action11::signal() { switch (scene->_field4242) { case 0: for (i = 0; i <= 3; i++) { - if (scene->_arrunkObj1337[0]._arr1[i]._cardId == 27) { + if (scene->_gameBoardSide[0]._arr1[i]._cardId == 27) { found = true; break; } } if ((found) && (scene->subC3E92(scene->_field4240) != -1)) { - scene->_field3EF0 = &scene->_arrunkObj1337[0]._arr1[i]; - scene->_field3EF4 = &scene->_arrunkObj1337[0]._arr4[0]; + scene->_field3EF0 = &scene->_gameBoardSide[0]._arr1[i]; + scene->_field3EF4 = &scene->_gameBoardSide[0]._arr4[0]; if (scene->_field4240 != 0) { int tmpVal = scene->subC3E92(scene->_field4240); - scene->_field3EF8 = &scene->_arrunkObj1337[scene->_field4240]._arr1[tmpVal]; + scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4240]._arr1[tmpVal]; } scene->_item1.setAction(&scene->_action12); noAction = false; @@ -3936,18 +3936,18 @@ void Scene1337::Action11::signal() { break; case 1: for (i = 0; i <= 3; i++) { - if (scene->_arrunkObj1337[1]._arr1[i]._cardId == 27) { + if (scene->_gameBoardSide[1]._arr1[i]._cardId == 27) { found = true; break; } } if ((found) && (scene->subC3E92(scene->_field4240) != -1)) { - scene->_field3EF0 = &scene->_arrunkObj1337[1]._arr1[i]; - scene->_field3EF4 = &scene->_arrunkObj1337[1]._arr4[0]; + scene->_field3EF0 = &scene->_gameBoardSide[1]._arr1[i]; + scene->_field3EF4 = &scene->_gameBoardSide[1]._arr4[0]; if (scene->_field4240 != 1) { int tmpVal = scene->subC3E92(scene->_field4240); - scene->_field3EF8 = &scene->_arrunkObj1337[scene->_field4240]._arr1[tmpVal]; + scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4240]._arr1[tmpVal]; } scene->_item1.setAction(&scene->_action12); noAction = false; @@ -3955,7 +3955,7 @@ void Scene1337::Action11::signal() { break; case 2: for (i = 0; i <= 3; i++) { - if (scene->_arrunkObj1337[2]._arr1[i]._cardId == 27) { + if (scene->_gameBoardSide[2]._arr1[i]._cardId == 27) { found = true; break; } @@ -3967,11 +3967,11 @@ void Scene1337::Action11::signal() { scene->subC4CEC(); else { scene->subC4CEC(); - scene->_field3EF0 = &scene->_arrunkObj1337[2]._arr1[i]; - scene->_field3EF4 = &scene->_arrunkObj1337[2]._arr4[0]; + scene->_field3EF0 = &scene->_gameBoardSide[2]._arr1[i]; + scene->_field3EF4 = &scene->_gameBoardSide[2]._arr4[0]; if (scene->_field4240 != 2) { int tmpVal = scene->subC3E92(scene->_field4240); - scene->_field3EF8 = &scene->_arrunkObj1337[scene->_field4240]._arr1[tmpVal]; + scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4240]._arr1[tmpVal]; } scene->_item1.setAction(&scene->_action12); noAction = false; @@ -3980,18 +3980,18 @@ void Scene1337::Action11::signal() { break; case 3: for (i = 0; i <= 3; i++) { - if (scene->_arrunkObj1337[3]._arr1[i]._cardId == 27) { + if (scene->_gameBoardSide[3]._arr1[i]._cardId == 27) { found = true; break; } } if ((found) && (scene->subC3E92(scene->_field4240) != -1)) { - scene->_field3EF0 = &scene->_arrunkObj1337[3]._arr1[i]; - scene->_field3EF4 = &scene->_arrunkObj1337[3]._arr4[0]; + scene->_field3EF0 = &scene->_gameBoardSide[3]._arr1[i]; + scene->_field3EF4 = &scene->_gameBoardSide[3]._arr4[0]; if (scene->_field4240 != 3) { int tmpVal = scene->subC3E92(scene->_field4240); - scene->_field3EF8 = &scene->_arrunkObj1337[scene->_field4240]._arr1[tmpVal]; + scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4240]._arr1[tmpVal]; } scene->_item1.setAction(&scene->_action12); noAction = false; @@ -4008,7 +4008,7 @@ void Scene1337::Action11::signal() { int count = 0; if (scene->_field4242 != 2) { for (i = 0; i <= 3; i++) { - if (scene->_arrunkObj1337[scene->_field4242]._arr1[i]._cardId == 0) + if (scene->_gameBoardSide[scene->_field4242]._arr1[i]._cardId == 0) ++count; } } @@ -4039,14 +4039,14 @@ void Scene1337::Action11::signal() { g_globals->_events.delay(g_globals->_sceneHandler->_delayTicks); } - scene->_item6._field36 = event.mousePos; + scene->_item6._stationPos = event.mousePos; found = false; if (scene->_field4242 != 2) { for (i = 0; i <= 3; i++) { - if ((scene->subC2BF8(&scene->_arrunkObj1337[scene->_field4242]._arr1[i], scene->_item6._field36) != 0) && (scene->_arrunkObj1337[scene->_field4242]._arr1[i]._cardId != 0)) { - scene->_field3EF8 = &scene->_arrunkObj1337[scene->_field4242]._arr1[i]; + if ((scene->subC2BF8(&scene->_gameBoardSide[scene->_field4242]._arr1[i], scene->_item6._stationPos) != 0) && (scene->_gameBoardSide[scene->_field4242]._arr1[i]._cardId != 0)) { + scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4242]._arr1[i]; found = true; break; } @@ -4058,7 +4058,7 @@ void Scene1337::Action11::signal() { } else { if (scene->_field4242 != 2) { int tmpVal = scene->subC3E92(scene->_field4242); - scene->_field3EF8 = &scene->_arrunkObj1337[scene->_field4242]._arr1[tmpVal]; + scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4242]._arr1[tmpVal]; } } } @@ -4066,7 +4066,7 @@ void Scene1337::Action11::signal() { scene->_field3EF0->_card.postInit(); scene->_field3EF0->_card.hide(); scene->_field3EF0->_card.setVisage(1332); - scene->_field3EF0->_card.setPosition(scene->_field3EF0->_field36, 0); + scene->_field3EF0->_card.setPosition(scene->_field3EF0->_stationPos, 0); scene->_field3EF0->_card.fixPriority(170); scene->_field3EF0->_card.setStrip2(1); scene->_field3EF0->_cardId = scene->_field3EF8->_cardId; @@ -4074,11 +4074,11 @@ void Scene1337::Action11::signal() { scene->_field3EF8->_cardId = 0; scene->_field3EF8->_card.remove(); - scene->_item2._card.setPosition(scene->_field3EF8->_field36, 0); + scene->_item2._card.setPosition(scene->_field3EF8->_stationPos, 0); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_field3EF0->_field36, this); + scene->_item2._card.addMover(mover, &scene->_field3EF0->_stationPos, this); } break; case 2: @@ -4126,11 +4126,11 @@ void Scene1337::Action12::signal() { scene->_field3EF4->_cardId = scene->_field3EF0->_cardId; scene->_field3EF0->_cardId = 0; scene->_field3EF0->_card.remove(); - scene->_item2._card.setPosition(scene->_field3EF0->_field36, 0); + scene->_item2._card.setPosition(scene->_field3EF0->_stationPos, 0); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_field3EF4->_field36, this); + scene->_item2._card.addMover(mover, &scene->_field3EF4->_stationPos, this); } break; case 2: @@ -4143,19 +4143,19 @@ void Scene1337::Action12::signal() { switch (scene->_field4240) { case 0: for (i = 0; i <= 3; i++) { - if (scene->_arrunkObj1337[0]._arr1[i]._cardId != 0) + if (scene->_gameBoardSide[0]._arr1[i]._cardId != 0) ++count; } break; case 1: for (i = 0; i <= 3; i++) { - if (scene->_arrunkObj1337[3]._arr1[i]._cardId != 0) + if (scene->_gameBoardSide[3]._arr1[i]._cardId != 0) ++count; } break; case 3: for (i = 0; i <= 3; i++) { - if (scene->_arrunkObj1337[3]._arr1[i]._cardId != 0) + if (scene->_gameBoardSide[3]._arr1[i]._cardId != 0) ++count; } break; @@ -4190,13 +4190,13 @@ void Scene1337::Action12::signal() { g_globals->_events.delay(g_globals->_sceneHandler->_delayTicks); } - scene->_item6._field36 = event.mousePos; + scene->_item6._stationPos = event.mousePos; if (scene->_field4240 == 0) { for (i = 0; i <= 3; i++) { - if ((scene->subC2BF8(&scene->_arrunkObj1337[0]._arr1[i], scene->_item6._field36) != 0) && (scene->_arrunkObj1337[0]._arr1[i]._cardId != 0)) { + if ((scene->subC2BF8(&scene->_gameBoardSide[0]._arr1[i], scene->_item6._stationPos) != 0) && (scene->_gameBoardSide[0]._arr1[i]._cardId != 0)) { found = true; - scene->_field3EF8 = &scene->_arrunkObj1337[0]._arr1[i]; + scene->_field3EF8 = &scene->_gameBoardSide[0]._arr1[i]; break; } } @@ -4204,9 +4204,9 @@ void Scene1337::Action12::signal() { if (scene->_field4240 == 3) { for (i = 0; i <= 3; i++) { - if ((scene->subC2BF8(&scene->_arrunkObj1337[3]._arr1[i], scene->_item6._field36) != 0) && (scene->_arrunkObj1337[3]._arr1[i]._cardId != 0)) { + if ((scene->subC2BF8(&scene->_gameBoardSide[3]._arr1[i], scene->_item6._stationPos) != 0) && (scene->_gameBoardSide[3]._arr1[i]._cardId != 0)) { found = true; - scene->_field3EF8 = &scene->_arrunkObj1337[3]._arr1[i]; + scene->_field3EF8 = &scene->_gameBoardSide[3]._arr1[i]; break; } } @@ -4214,9 +4214,9 @@ void Scene1337::Action12::signal() { if (scene->_field4240 == 1) { for (i = 0; i <= 3; i++) { - if ((scene->subC2BF8(&scene->_arrunkObj1337[1]._arr1[i], scene->_item6._field36) != 0) && (scene->_arrunkObj1337[1]._arr1[i]._cardId != 0)) { + if ((scene->subC2BF8(&scene->_gameBoardSide[1]._arr1[i], scene->_item6._stationPos) != 0) && (scene->_gameBoardSide[1]._arr1[i]._cardId != 0)) { found = true; - scene->_field3EF8 = &scene->_arrunkObj1337[1]._arr1[i]; + scene->_field3EF8 = &scene->_gameBoardSide[1]._arr1[i]; break; } } @@ -4227,23 +4227,23 @@ void Scene1337::Action12::signal() { if (scene->_field4240 != 1) { switch (scene->_field4240) { case 0: - scene->_field3EF8 = &scene->_arrunkObj1337[0]._arr1[scene->subC3E92(0)]; + scene->_field3EF8 = &scene->_gameBoardSide[0]._arr1[scene->subC3E92(0)]; break; case 3: - scene->_field3EF8 = &scene->_arrunkObj1337[3]._arr1[scene->subC3E92(3)]; + scene->_field3EF8 = &scene->_gameBoardSide[3]._arr1[scene->subC3E92(3)]; break; default: break; } } else { - scene->_field3EF8 = &scene->_arrunkObj1337[1]._arr1[scene->subC3E92(1)]; + scene->_field3EF8 = &scene->_gameBoardSide[1]._arr1[scene->subC3E92(1)]; } } scene->_field3EF0->_card.postInit(); scene->_field3EF0->_card.hide(); scene->_field3EF0->_card.setVisage(1332); - scene->_field3EF0->_card.setPosition(scene->_field3EF0->_field36); + scene->_field3EF0->_card.setPosition(scene->_field3EF0->_stationPos); scene->_field3EF0->_card.fixPriority(170); scene->_field3EF0->_card.setStrip2(1); scene->_field3EF0->_cardId = scene->_field3EF8->_cardId; @@ -4251,12 +4251,12 @@ void Scene1337::Action12::signal() { scene->_field3EF8->_cardId = 0; scene->_field3EF8->_card.remove(); - scene->_item2._card.setPosition(scene->_field3EF8->_field36); + scene->_item2._card.setPosition(scene->_field3EF8->_stationPos); scene->_item2._card.show(); scene->_aSound1.play(57); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_field3EF0->_field36, this); + scene->_item2._card.addMover(mover, &scene->_field3EF0->_stationPos, this); } break; case 3: @@ -4298,11 +4298,11 @@ void Scene1337::Action13::signal() { scene->_field3EF0->_cardId = 0; scene->_field3EF0->_card.remove(); - scene->_item2._card.setPosition(scene->_field3EF0->_field36, 0); + scene->_item2._card.setPosition(scene->_field3EF0->_stationPos, 0); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_field3EF4->_field36, this); + scene->_item2._card.addMover(mover, &scene->_field3EF4->_stationPos, this); } break; case 1: @@ -4339,101 +4339,101 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _field3EF4 = NULL; _field3EF8 = NULL; - _arrunkObj1337[2]._arr1[0]._field36 = Common::Point(10, 174); - _arrunkObj1337[2]._arr1[1]._field36 = Common::Point(37, 174); - _arrunkObj1337[2]._arr1[2]._field36 = Common::Point(64, 174); - _arrunkObj1337[2]._arr1[3]._field36 = Common::Point(91, 174); - - _arrunkObj1337[2]._outpostStation[0]._field36 = Common::Point(119, 174); - _arrunkObj1337[2]._outpostStation[1]._field36 = Common::Point(119, 148); - _arrunkObj1337[2]._outpostStation[2]._field36 = Common::Point(119, 122); - _arrunkObj1337[2]._outpostStation[3]._field36 = Common::Point(145, 122); - _arrunkObj1337[2]._outpostStation[4]._field36 = Common::Point(171, 122); - _arrunkObj1337[2]._outpostStation[5]._field36 = Common::Point(171, 148); - _arrunkObj1337[2]._outpostStation[6]._field36 = Common::Point(171, 174); - _arrunkObj1337[2]._outpostStation[7]._field36 = Common::Point(145, 174); - - _arrunkObj1337[2]._arr3[0]._field36 = Common::Point(199, 174); - - _arrunkObj1337[2]._arr4[0]._field36 = Common::Point(145, 148); - - _arrunkObj1337[2]._fieldB94 = Common::Point(10, 174); - _arrunkObj1337[2]._fieldB98 = Common::Point(37, 174); - _arrunkObj1337[2]._fieldB9C = Common::Point(64, 174); - _arrunkObj1337[2]._fieldBA0 = Common::Point(91, 174); - _arrunkObj1337[2]._fieldBA4 = 2; - - _arrunkObj1337[3]._arr1[0]._field36 = Common::Point(14, 14); - _arrunkObj1337[3]._arr1[1]._field36 = Common::Point(14, 36); - _arrunkObj1337[3]._arr1[2]._field36 = Common::Point(14, 58); - _arrunkObj1337[3]._arr1[3]._field36 = Common::Point(14, 80); - - _arrunkObj1337[3]._outpostStation[0]._field36 = Common::Point(37, 66); - _arrunkObj1337[3]._outpostStation[1]._field36 = Common::Point(63, 66); - _arrunkObj1337[3]._outpostStation[2]._field36 = Common::Point(89, 66); - _arrunkObj1337[3]._outpostStation[3]._field36 = Common::Point(89, 92); - _arrunkObj1337[3]._outpostStation[4]._field36 = Common::Point(89, 118); - _arrunkObj1337[3]._outpostStation[5]._field36 = Common::Point(63, 118); - _arrunkObj1337[3]._outpostStation[6]._field36 = Common::Point(37, 118); - _arrunkObj1337[3]._outpostStation[7]._field36 = Common::Point(37, 92); - - _arrunkObj1337[3]._arr3[0]._field36 = Common::Point(37, 145); - - _arrunkObj1337[3]._arr4[0]._field36 = Common::Point(63, 92); - - _arrunkObj1337[3]._fieldB94 = Common::Point(14, 14); - _arrunkObj1337[3]._fieldB98 = Common::Point(14, 36); - _arrunkObj1337[3]._fieldB9C = Common::Point(14, 58); - _arrunkObj1337[3]._fieldBA0 = Common::Point(14, 80); - _arrunkObj1337[3]._fieldBA4 = 3; - - _arrunkObj1337[0]._arr1[0]._field36 = Common::Point(280, 5); - _arrunkObj1337[0]._arr1[1]._field36 = Common::Point(253, 5); - _arrunkObj1337[0]._arr1[2]._field36 = Common::Point(226, 5); - _arrunkObj1337[0]._arr1[3]._field36 = Common::Point(199, 5); - - _arrunkObj1337[0]._outpostStation[0]._field36 = Common::Point(171, 16); - _arrunkObj1337[0]._outpostStation[1]._field36 = Common::Point(171, 42); - _arrunkObj1337[0]._outpostStation[2]._field36 = Common::Point(171, 68); - _arrunkObj1337[0]._outpostStation[3]._field36 = Common::Point(145, 68); - _arrunkObj1337[0]._outpostStation[4]._field36 = Common::Point(119, 68); - _arrunkObj1337[0]._outpostStation[5]._field36 = Common::Point(119, 42); - _arrunkObj1337[0]._outpostStation[6]._field36 = Common::Point(119, 16); - _arrunkObj1337[0]._outpostStation[7]._field36 = Common::Point(145, 16); - - _arrunkObj1337[0]._arr3[0]._field36 = Common::Point(91, 16); - - _arrunkObj1337[0]._arr4[0]._field36 = Common::Point(145, 42); - - _arrunkObj1337[0]._fieldB94 = Common::Point(280, 5); - _arrunkObj1337[0]._fieldB98 = Common::Point(253, 5); - _arrunkObj1337[0]._fieldB9C = Common::Point(226, 5); - _arrunkObj1337[0]._fieldBA0 = Common::Point(199, 5); - _arrunkObj1337[0]._fieldBA4 = 2; - - _arrunkObj1337[1]._arr1[0]._field36 = Common::Point(283, 146); - _arrunkObj1337[1]._arr1[1]._field36 = Common::Point(283, 124); - _arrunkObj1337[1]._arr1[2]._field36 = Common::Point(283, 102); - _arrunkObj1337[1]._arr1[3]._field36 = Common::Point(283, 80); - - _arrunkObj1337[1]._outpostStation[0]._field36 = Common::Point(253, 122); - _arrunkObj1337[1]._outpostStation[1]._field36 = Common::Point(227, 122); - _arrunkObj1337[1]._outpostStation[2]._field36 = Common::Point(201, 122); - _arrunkObj1337[1]._outpostStation[3]._field36 = Common::Point(201, 96); - _arrunkObj1337[1]._outpostStation[4]._field36 = Common::Point(201, 70); - _arrunkObj1337[1]._outpostStation[5]._field36 = Common::Point(227, 70); - _arrunkObj1337[1]._outpostStation[6]._field36 = Common::Point(253, 70); - _arrunkObj1337[1]._outpostStation[7]._field36 = Common::Point(253, 96); - - _arrunkObj1337[1]._arr3[0]._field36 = Common::Point(253, 43); - - _arrunkObj1337[1]._arr4[0]._field36 = Common::Point(227, 96); - - _arrunkObj1337[1]._fieldB94 = Common::Point(283, 146); - _arrunkObj1337[1]._fieldB98 = Common::Point(283, 124); - _arrunkObj1337[1]._fieldB9C = Common::Point(283, 102); - _arrunkObj1337[1]._fieldBA0 = Common::Point(283, 80); - _arrunkObj1337[1]._fieldBA4 = 4; + _gameBoardSide[2]._arr1[0]._stationPos = Common::Point(10, 174); + _gameBoardSide[2]._arr1[1]._stationPos = Common::Point(37, 174); + _gameBoardSide[2]._arr1[2]._stationPos = Common::Point(64, 174); + _gameBoardSide[2]._arr1[3]._stationPos = Common::Point(91, 174); + + _gameBoardSide[2]._outpostStation[0]._stationPos = Common::Point(119, 174); + _gameBoardSide[2]._outpostStation[1]._stationPos = Common::Point(119, 148); + _gameBoardSide[2]._outpostStation[2]._stationPos = Common::Point(119, 122); + _gameBoardSide[2]._outpostStation[3]._stationPos = Common::Point(145, 122); + _gameBoardSide[2]._outpostStation[4]._stationPos = Common::Point(171, 122); + _gameBoardSide[2]._outpostStation[5]._stationPos = Common::Point(171, 148); + _gameBoardSide[2]._outpostStation[6]._stationPos = Common::Point(171, 174); + _gameBoardSide[2]._outpostStation[7]._stationPos = Common::Point(145, 174); + + _gameBoardSide[2]._arr3[0]._stationPos = Common::Point(199, 174); + + _gameBoardSide[2]._arr4[0]._stationPos = Common::Point(145, 148); + + _gameBoardSide[2]._fieldB94 = Common::Point(10, 174); + _gameBoardSide[2]._fieldB98 = Common::Point(37, 174); + _gameBoardSide[2]._fieldB9C = Common::Point(64, 174); + _gameBoardSide[2]._fieldBA0 = Common::Point(91, 174); + _gameBoardSide[2]._fieldBA4 = 2; + + _gameBoardSide[3]._arr1[0]._stationPos = Common::Point(14, 14); + _gameBoardSide[3]._arr1[1]._stationPos = Common::Point(14, 36); + _gameBoardSide[3]._arr1[2]._stationPos = Common::Point(14, 58); + _gameBoardSide[3]._arr1[3]._stationPos = Common::Point(14, 80); + + _gameBoardSide[3]._outpostStation[0]._stationPos = Common::Point(37, 66); + _gameBoardSide[3]._outpostStation[1]._stationPos = Common::Point(63, 66); + _gameBoardSide[3]._outpostStation[2]._stationPos = Common::Point(89, 66); + _gameBoardSide[3]._outpostStation[3]._stationPos = Common::Point(89, 92); + _gameBoardSide[3]._outpostStation[4]._stationPos = Common::Point(89, 118); + _gameBoardSide[3]._outpostStation[5]._stationPos = Common::Point(63, 118); + _gameBoardSide[3]._outpostStation[6]._stationPos = Common::Point(37, 118); + _gameBoardSide[3]._outpostStation[7]._stationPos = Common::Point(37, 92); + + _gameBoardSide[3]._arr3[0]._stationPos = Common::Point(37, 145); + + _gameBoardSide[3]._arr4[0]._stationPos = Common::Point(63, 92); + + _gameBoardSide[3]._fieldB94 = Common::Point(14, 14); + _gameBoardSide[3]._fieldB98 = Common::Point(14, 36); + _gameBoardSide[3]._fieldB9C = Common::Point(14, 58); + _gameBoardSide[3]._fieldBA0 = Common::Point(14, 80); + _gameBoardSide[3]._fieldBA4 = 3; + + _gameBoardSide[0]._arr1[0]._stationPos = Common::Point(280, 5); + _gameBoardSide[0]._arr1[1]._stationPos = Common::Point(253, 5); + _gameBoardSide[0]._arr1[2]._stationPos = Common::Point(226, 5); + _gameBoardSide[0]._arr1[3]._stationPos = Common::Point(199, 5); + + _gameBoardSide[0]._outpostStation[0]._stationPos = Common::Point(171, 16); + _gameBoardSide[0]._outpostStation[1]._stationPos = Common::Point(171, 42); + _gameBoardSide[0]._outpostStation[2]._stationPos = Common::Point(171, 68); + _gameBoardSide[0]._outpostStation[3]._stationPos = Common::Point(145, 68); + _gameBoardSide[0]._outpostStation[4]._stationPos = Common::Point(119, 68); + _gameBoardSide[0]._outpostStation[5]._stationPos = Common::Point(119, 42); + _gameBoardSide[0]._outpostStation[6]._stationPos = Common::Point(119, 16); + _gameBoardSide[0]._outpostStation[7]._stationPos = Common::Point(145, 16); + + _gameBoardSide[0]._arr3[0]._stationPos = Common::Point(91, 16); + + _gameBoardSide[0]._arr4[0]._stationPos = Common::Point(145, 42); + + _gameBoardSide[0]._fieldB94 = Common::Point(280, 5); + _gameBoardSide[0]._fieldB98 = Common::Point(253, 5); + _gameBoardSide[0]._fieldB9C = Common::Point(226, 5); + _gameBoardSide[0]._fieldBA0 = Common::Point(199, 5); + _gameBoardSide[0]._fieldBA4 = 2; + + _gameBoardSide[1]._arr1[0]._stationPos = Common::Point(283, 146); + _gameBoardSide[1]._arr1[1]._stationPos = Common::Point(283, 124); + _gameBoardSide[1]._arr1[2]._stationPos = Common::Point(283, 102); + _gameBoardSide[1]._arr1[3]._stationPos = Common::Point(283, 80); + + _gameBoardSide[1]._outpostStation[0]._stationPos = Common::Point(253, 122); + _gameBoardSide[1]._outpostStation[1]._stationPos = Common::Point(227, 122); + _gameBoardSide[1]._outpostStation[2]._stationPos = Common::Point(201, 122); + _gameBoardSide[1]._outpostStation[3]._stationPos = Common::Point(201, 96); + _gameBoardSide[1]._outpostStation[4]._stationPos = Common::Point(201, 70); + _gameBoardSide[1]._outpostStation[5]._stationPos = Common::Point(227, 70); + _gameBoardSide[1]._outpostStation[6]._stationPos = Common::Point(253, 70); + _gameBoardSide[1]._outpostStation[7]._stationPos = Common::Point(253, 96); + + _gameBoardSide[1]._arr3[0]._stationPos = Common::Point(253, 43); + + _gameBoardSide[1]._arr4[0]._stationPos = Common::Point(227, 96); + + _gameBoardSide[1]._fieldB94 = Common::Point(283, 146); + _gameBoardSide[1]._fieldB98 = Common::Point(283, 124); + _gameBoardSide[1]._fieldB9C = Common::Point(283, 102); + _gameBoardSide[1]._fieldBA0 = Common::Point(283, 80); + _gameBoardSide[1]._fieldBA4 = 4; subPostInit(); } @@ -4659,7 +4659,7 @@ bool Scene1337::subC2687(int arg1) { } int Scene1337::subC26CB(int arg1, int arg2) { - if ((_arrunkObj1337[arg1]._arr1[arg2]._cardId > 1) && (_arrunkObj1337[arg1]._arr1[arg2]._cardId <= 9)) { + if ((_gameBoardSide[arg1]._arr1[arg2]._cardId > 1) && (_gameBoardSide[arg1]._arr1[arg2]._cardId <= 9)) { return arg2; } @@ -4668,7 +4668,7 @@ int Scene1337::subC26CB(int arg1, int arg2) { int Scene1337::subC2719(int arg1) { for (int i = 0; i <= 3; i++) { - if (_arrunkObj1337[arg1]._arr1[i]._cardId == 1) + if (_gameBoardSide[arg1]._arr1[i]._cardId == 1) return i; } @@ -4677,7 +4677,7 @@ int Scene1337::subC2719(int arg1) { int Scene1337::subC274D(int arg1) { for (int i = 0; i <= 3; i++) { - if (_arrunkObj1337[arg1]._arr1[i]._cardId == 13) + if (_gameBoardSide[arg1]._arr1[i]._cardId == 13) return i; } @@ -4686,7 +4686,7 @@ int Scene1337::subC274D(int arg1) { int Scene1337::subC2781(int arg1) { for (int i = 0; i <= 3; i++) { - if (_arrunkObj1337[arg1]._arr1[i]._cardId == 25) + if (_gameBoardSide[arg1]._arr1[i]._cardId == 25) return i; } @@ -4739,7 +4739,7 @@ void Scene1337::subC2835(int arg1) { switch (arg1) { case 0: for (i = 0; i <= 3; i++) { - if (subC27F9(_arrunkObj1337[arg1]._arr1[i]._cardId) != -1) { + if (subC27F9(_gameBoardSide[arg1]._arr1[i]._cardId) != -1) { found = true; break; } @@ -4749,7 +4749,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (subC27B5(_arrunkObj1337[arg1]._arr1[i]._cardId) != -1) { + if (subC27B5(_gameBoardSide[arg1]._arr1[i]._cardId) != -1) { found = true; break; } @@ -4759,7 +4759,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if ((_arrunkObj1337[arg1]._arr1[i]._cardId > 1) && (_arrunkObj1337[arg1]._arr1[i]._cardId <= 9)) { + if ((_gameBoardSide[arg1]._arr1[i]._cardId > 1) && (_gameBoardSide[arg1]._arr1[i]._cardId <= 9)) { found = true; break; } @@ -4769,7 +4769,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if ((_arrunkObj1337[arg1]._arr1[i]._cardId >= 26) && (_arrunkObj1337[arg1]._arr1[i]._cardId <= 33)) { + if ((_gameBoardSide[arg1]._arr1[i]._cardId >= 26) && (_gameBoardSide[arg1]._arr1[i]._cardId <= 33)) { found = true; break; } @@ -4779,7 +4779,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (_arrunkObj1337[arg1]._arr1[i]._cardId == 1) { + if (_gameBoardSide[arg1]._arr1[i]._cardId == 1) { found = true; break; } @@ -4789,7 +4789,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (_arrunkObj1337[arg1]._arr1[i]._cardId == 25) { + if (_gameBoardSide[arg1]._arr1[i]._cardId == 25) { found = true; break; } @@ -4799,7 +4799,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (_arrunkObj1337[arg1]._arr1[i]._cardId == 13) { + if (_gameBoardSide[arg1]._arr1[i]._cardId == 13) { found = true; break; } @@ -4807,7 +4807,7 @@ void Scene1337::subC2835(int arg1) { break; case 1: for (i = 0; i <= 3; i++) { - if ((_arrunkObj1337[arg1]._arr1[i]._cardId >= 26) && (_arrunkObj1337[arg1]._arr1[i]._cardId <= 33)) { + if ((_gameBoardSide[arg1]._arr1[i]._cardId >= 26) && (_gameBoardSide[arg1]._arr1[i]._cardId <= 33)) { found = true; break; } @@ -4817,7 +4817,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (_arrunkObj1337[arg1]._arr1[i]._cardId == 1) { + if (_gameBoardSide[arg1]._arr1[i]._cardId == 1) { found = true; break; } @@ -4827,7 +4827,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if ((_arrunkObj1337[arg1]._arr1[i]._cardId > 1) && (_arrunkObj1337[arg1]._arr1[i]._cardId <= 9)) { + if ((_gameBoardSide[arg1]._arr1[i]._cardId > 1) && (_gameBoardSide[arg1]._arr1[i]._cardId <= 9)) { found = true; break; } @@ -4837,7 +4837,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (subC27F9(_arrunkObj1337[arg1]._arr1[i]._cardId) != -1) { + if (subC27F9(_gameBoardSide[arg1]._arr1[i]._cardId) != -1) { found = true; break; } @@ -4847,7 +4847,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (subC27B5(_arrunkObj1337[arg1]._arr1[i]._cardId) != -1) { + if (subC27B5(_gameBoardSide[arg1]._arr1[i]._cardId) != -1) { found = true; break; } @@ -4857,7 +4857,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (_arrunkObj1337[arg1]._arr1[i]._cardId == 25) { + if (_gameBoardSide[arg1]._arr1[i]._cardId == 25) { found = true; break; } @@ -4867,7 +4867,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (_arrunkObj1337[arg1]._arr1[i]._cardId == 13) { + if (_gameBoardSide[arg1]._arr1[i]._cardId == 13) { found = true; break; } @@ -4878,14 +4878,14 @@ void Scene1337::subC2835(int arg1) { return; } - subC4A39(&_arrunkObj1337[arg1]._arr1[i]); + subC4A39(&_gameBoardSide[arg1]._arr1[i]); } bool Scene1337::subC2BF8(unkObj1337sub1 *subObj1, Common::Point pt) { - if ((subObj1->_field36.x > pt.x) || (subObj1->_field36.x + 24 < pt.x)) + if ((subObj1->_stationPos.x > pt.x) || (subObj1->_stationPos.x + 24 < pt.x)) return false; - if ((subObj1->_field36.y > pt.y) || (subObj1->_field36.y + 24 < pt.y)) + if ((subObj1->_stationPos.y > pt.y) || (subObj1->_stationPos.y + 24 < pt.y)) return false; return true; @@ -4894,8 +4894,8 @@ bool Scene1337::subC2BF8(unkObj1337sub1 *subObj1, Common::Point pt) { void Scene1337::subC2C2F() { bool found = true; - if (_arrunkObj1337[3]._arr3[0]._cardId != 0) { - switch (_arrunkObj1337[3]._arr3[0]._cardId) { + if (_gameBoardSide[3]._arr3[0]._cardId != 0) { + switch (_gameBoardSide[3]._arr3[0]._cardId) { case 10: // No break on purpose case 12: @@ -4911,14 +4911,14 @@ void Scene1337::subC2C2F() { case 20: // No break on purpose case 21: - subC4A39(&_arrunkObj1337[3]._arr3[0]); + subC4A39(&_gameBoardSide[3]._arr3[0]); found = false; break; default: found = false; int i; for (i = 0; i <= 3; i++) { - if (subC3386(_arrunkObj1337[3]._arr3[0]._cardId, _arrunkObj1337[3]._arr1[i]._cardId)) { + if (subC3386(_gameBoardSide[3]._arr3[0]._cardId, _gameBoardSide[3]._arr1[i]._cardId)) { found = true; break; } @@ -4926,7 +4926,7 @@ void Scene1337::subC2C2F() { if (found) { found = false; - subC34A1(&_arrunkObj1337[3]._arr1[i], &_arrunkObj1337[3]._arr3[0]); + subC34A1(&_gameBoardSide[3]._arr1[i], &_gameBoardSide[3]._arr3[0]); } break; } @@ -4937,12 +4937,12 @@ void Scene1337::subC2C2F() { int randIndx = R2_GLOBALS._randomSource.getRandomNumber(3); - if (_arrunkObj1337[3]._arr1[randIndx]._cardId == 1) { + if (_gameBoardSide[3]._arr1[randIndx]._cardId == 1) { found = false; for (int i = 0; i <= 7; i++) { - if ((_arrunkObj1337[3]._outpostStation[i]._cardId == 0) && (!subC2687(_arrunkObj1337[3]._arr3[0]._cardId))) { - subC340B(&_arrunkObj1337[3]._arr1[randIndx], &_arrunkObj1337[3]._outpostStation[i]); + if ((_gameBoardSide[3]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[3]._arr3[0]._cardId))) { + subC340B(&_gameBoardSide[3]._arr1[randIndx], &_gameBoardSide[3]._outpostStation[i]); found = true; break; } @@ -4951,11 +4951,11 @@ void Scene1337::subC2C2F() { if (found) { return; } - } else if (_arrunkObj1337[3]._arr1[randIndx]._cardId <= 9) { + } else if (_gameBoardSide[3]._arr1[randIndx]._cardId <= 9) { found = false; for (int i = 0; i <= 7; i++) { - if (_arrunkObj1337[3]._outpostStation[i]._cardId == _arrunkObj1337[3]._arr1[randIndx]._cardId) { + if (_gameBoardSide[3]._outpostStation[i]._cardId == _gameBoardSide[3]._arr1[randIndx]._cardId) { found = true; break; } @@ -4963,18 +4963,18 @@ void Scene1337::subC2C2F() { if (!found) { for (int i = 0; i <= 7; i++) { - if ((_arrunkObj1337[3]._outpostStation[i]._cardId == 1) && (!subC2687(_arrunkObj1337[3]._arr3[0]._cardId))) { + if ((_gameBoardSide[3]._outpostStation[i]._cardId == 1) && (!subC2687(_gameBoardSide[3]._arr3[0]._cardId))) { int tmpVal = 0; for (int j = 0; j <= 7; j++) { - if ((_arrunkObj1337[3]._outpostStation[j]._cardId > 1) && (_arrunkObj1337[3]._outpostStation[j]._cardId <= 9)) + if ((_gameBoardSide[3]._outpostStation[j]._cardId > 1) && (_gameBoardSide[3]._outpostStation[j]._cardId <= 9)) ++tmpVal; } if (tmpVal == 7) _field424A = 3; - subC33C0(&_arrunkObj1337[3]._arr1[randIndx], &_arrunkObj1337[3]._outpostStation[i]); + subC33C0(&_gameBoardSide[3]._arr1[randIndx], &_gameBoardSide[3]._outpostStation[i]); found = true; break; } @@ -4982,24 +4982,24 @@ void Scene1337::subC2C2F() { if (found) return; } - } else if (_arrunkObj1337[3]._arr1[randIndx]._cardId == 13) { + } else if (_gameBoardSide[3]._arr1[randIndx]._cardId == 13) { int tmpVal = subC331B(3); if (tmpVal != -1) { - subC358E(&_arrunkObj1337[3]._arr1[randIndx], tmpVal); + subC358E(&_gameBoardSide[3]._arr1[randIndx], tmpVal); return; } - } else if (_arrunkObj1337[3]._arr1[randIndx]._cardId == 25) { + } else if (_gameBoardSide[3]._arr1[randIndx]._cardId == 25) { int tmpVal = -1; found = false; int tmpRandIndx = R2_GLOBALS._randomSource.getRandomNumber(3); for (int i = 0; i <= 3; i++) { if ( (tmpRandIndx != 3) - && ( (_arrunkObj1337[tmpRandIndx]._arr1[0]._cardId != 0) - || (_arrunkObj1337[tmpRandIndx]._arr1[1]._cardId != 0) - || (_arrunkObj1337[tmpRandIndx]._arr1[2]._cardId != 0) - || (_arrunkObj1337[tmpRandIndx]._arr1[3]._cardId != 0) )) { + && ( (_gameBoardSide[tmpRandIndx]._arr1[0]._cardId != 0) + || (_gameBoardSide[tmpRandIndx]._arr1[1]._cardId != 0) + || (_gameBoardSide[tmpRandIndx]._arr1[2]._cardId != 0) + || (_gameBoardSide[tmpRandIndx]._arr1[3]._cardId != 0) )) { tmpVal = tmpRandIndx; break; } @@ -5010,11 +5010,11 @@ void Scene1337::subC2C2F() { } if (tmpVal != -1) { - subC318B(3, &_arrunkObj1337[3]._arr1[randIndx], tmpVal); + subC318B(3, &_gameBoardSide[3]._arr1[randIndx], tmpVal); return; } } else { - switch (_arrunkObj1337[3]._arr1[randIndx]._cardId) { + switch (_gameBoardSide[3]._arr1[randIndx]._cardId) { case 10: // No break on purpose case 11: @@ -5047,7 +5047,7 @@ void Scene1337::subC2C2F() { // It's understandable for 'i', which helps making sure that tmpVal is used properly, // but it's suspect for j for (int j = 0; j <= 7; j++) { - if ((_arrunkObj1337[tmpRandIndx]._arr3[0]._cardId == 0) && (subC32B1(tmpRandIndx, _arrunkObj1337[3]._arr1[randIndx]._cardId))) { + if ((_gameBoardSide[tmpRandIndx]._arr3[0]._cardId == 0) && (subC32B1(tmpRandIndx, _gameBoardSide[3]._arr1[randIndx]._cardId))) { tmpVal = j; } } @@ -5063,7 +5063,7 @@ void Scene1337::subC2C2F() { if (tmpVal != -1) { // Useless second identical check skipped - subC3456(&_arrunkObj1337[3]._arr1[randIndx], &_arrunkObj1337[tmpVal]._arr3[0]); + subC3456(&_gameBoardSide[3]._arr1[randIndx], &_gameBoardSide[tmpVal]._arr3[0]); return; } } @@ -5072,7 +5072,7 @@ void Scene1337::subC2C2F() { } } - subC4A39(&_arrunkObj1337[3]._arr1[randIndx]); + subC4A39(&_gameBoardSide[3]._arr1[randIndx]); } void Scene1337::subC318B(int arg1, unkObj1337sub1 *subObj1, int arg3) { @@ -5083,13 +5083,13 @@ void Scene1337::subC318B(int arg1, unkObj1337sub1 *subObj1, int arg3) { for (;;) { randIndx = R2_GLOBALS._randomSource.getRandomNumber(3); - if (_arrunkObj1337[arg3]._arr1[randIndx]._cardId != 0) + if (_gameBoardSide[arg3]._arr1[randIndx]._cardId != 0) break; } _field3EF0 = subObj1; - _field3EF4 = &_arrunkObj1337[arg3]._arr4[0]; - _field3EF8 = &_arrunkObj1337[arg3]._arr1[randIndx]; + _field3EF4 = &_gameBoardSide[arg3]._arr4[0]; + _field3EF8 = &_gameBoardSide[arg3]._arr1[randIndx]; _item1.setAction(&_action11); } @@ -5131,9 +5131,9 @@ int Scene1337::subC3257(int arg1) { bool Scene1337::subC32B1(int arg1, int arg2) { for (int i = 0; i <= 7; i++) { - if (_arrunkObj1337[arg1]._outpostStation[i]._cardId != 0) { + if (_gameBoardSide[arg1]._outpostStation[i]._cardId != 0) { int tmpVal = subC3257(arg2); - if (tmpVal == _arrunkObj1337[arg1]._outpostStation[i]._cardId) + if (tmpVal == _gameBoardSide[arg1]._outpostStation[i]._cardId) return false; } } @@ -5146,7 +5146,7 @@ int Scene1337::subC331B(int arg1) { for (int i = 0; i <= 3; i++) { if (randIndx != arg1) { for (int j = 0; j <= 7; j++) { - if (_arrunkObj1337[randIndx]._outpostStation[j]._cardId != 0) + if (_gameBoardSide[randIndx]._outpostStation[j]._cardId != 0) return randIndx; } } @@ -5188,16 +5188,16 @@ void Scene1337::subC33C0(unkObj1337sub1 *subObj1, unkObj1337sub1 *subObj2) { } int Scene1337::subC3E92(int arg1) { - if ( (_arrunkObj1337[arg1]._arr1[0]._cardId == 0) - && (_arrunkObj1337[arg1]._arr1[1]._cardId == 0) - && (_arrunkObj1337[arg1]._arr1[2]._cardId == 0) - && (_arrunkObj1337[arg1]._arr1[3]._cardId == 0)) + if ( (_gameBoardSide[arg1]._arr1[0]._cardId == 0) + && (_gameBoardSide[arg1]._arr1[1]._cardId == 0) + && (_gameBoardSide[arg1]._arr1[2]._cardId == 0) + && (_gameBoardSide[arg1]._arr1[3]._cardId == 0)) return -1; int randIndx; for (;;) { randIndx = R2_GLOBALS._randomSource.getRandomNumber(3); - if (_arrunkObj1337[arg1]._arr1[randIndx]._cardId == 0) + if (_gameBoardSide[arg1]._arr1[randIndx]._cardId == 0) break; } @@ -5227,14 +5227,14 @@ void Scene1337::subC34A1(unkObj1337sub1 *subObj1, unkObj1337sub1 *subObj2) { Scene1337::unkObj1337sub1 *Scene1337::subC34EC(int arg1) { for (int i = 0; i <= 7; i++) { - if (_arrunkObj1337[arg1]._outpostStation[i]._cardId == 1) { - return &_arrunkObj1337[arg1]._outpostStation[i]; + if (_gameBoardSide[arg1]._outpostStation[i]._cardId == 1) { + return &_gameBoardSide[arg1]._outpostStation[i]; } } for (int i = 0; i <= 7; i++) { - if ((_arrunkObj1337[arg1]._outpostStation[i]._cardId != 0) && (_arrunkObj1337[arg1]._outpostStation[i]._cardId < 10)) { - return &_arrunkObj1337[arg1]._outpostStation[i]; + if ((_gameBoardSide[arg1]._outpostStation[i]._cardId != 0) && (_gameBoardSide[arg1]._outpostStation[i]._cardId < 10)) { + return &_gameBoardSide[arg1]._outpostStation[i]; } } @@ -5244,7 +5244,7 @@ Scene1337::unkObj1337sub1 *Scene1337::subC34EC(int arg1) { void Scene1337::subC358E(unkObj1337sub1 *subObj1, int arg2) { _field3EF0 = subObj1; _field3EF4 = subC34EC(arg2); - _field3EF8 = &_arrunkObj1337[arg2]._arr4[0]; + _field3EF8 = &_gameBoardSide[arg2]._arr4[0]; _field4240 = arg2; _item1.setAction(&_action10); } @@ -5492,10 +5492,10 @@ void Scene1337::subPostInit() { _field3E26 = 98; _item7._cardId = 0; - _item7._field36 = Common::Point(128, 95); + _item7._stationPos = Common::Point(128, 95); _item8._cardId = 0; - _item8._field36 = Common::Point(162, 95); + _item8._stationPos = Common::Point(162, 95); _item6._cardId = 0; @@ -5615,10 +5615,10 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { if (arg1 == 3) { int i; for (i = 0; i <= 7; i++) { - if ( (subC2BF8(&_arrunkObj1337[2]._outpostStation[i], pt)) - || (subC2BF8(&_arrunkObj1337[0]._outpostStation[i], pt)) - || (subC2BF8(&_arrunkObj1337[1]._outpostStation[i], pt)) - || (subC2BF8(&_arrunkObj1337[3]._outpostStation[i], pt)) ) { + if ( (subC2BF8(&_gameBoardSide[2]._outpostStation[i], pt)) + || (subC2BF8(&_gameBoardSide[0]._outpostStation[i], pt)) + || (subC2BF8(&_gameBoardSide[1]._outpostStation[i], pt)) + || (subC2BF8(&_gameBoardSide[3]._outpostStation[i], pt)) ) { found = true; break; } @@ -5627,26 +5627,26 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { if (found) { switch (curReg) { case 5: - if (_arrunkObj1337[2]._outpostStation[i]._cardId != 0) - displayDialog(_arrunkObj1337[2]._outpostStation[i]._cardId); + if (_gameBoardSide[2]._outpostStation[i]._cardId != 0) + displayDialog(_gameBoardSide[2]._outpostStation[i]._cardId); else actionDisplay(1330, 20, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; case 10: - if (_arrunkObj1337[3]._outpostStation[i]._cardId != 0) - displayDialog(_arrunkObj1337[3]._outpostStation[i]._cardId); + if (_gameBoardSide[3]._outpostStation[i]._cardId != 0) + displayDialog(_gameBoardSide[3]._outpostStation[i]._cardId); else actionDisplay(1330, 22, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; case 15: - if (_arrunkObj1337[0]._outpostStation[i]._cardId != 0) - displayDialog(_arrunkObj1337[0]._outpostStation[i]._cardId); + if (_gameBoardSide[0]._outpostStation[i]._cardId != 0) + displayDialog(_gameBoardSide[0]._outpostStation[i]._cardId); else actionDisplay(1330, 21, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; case 20: - if (_arrunkObj1337[1]._outpostStation[i]._cardId != 0) - displayDialog(_arrunkObj1337[1]._outpostStation[i]._cardId); + if (_gameBoardSide[1]._outpostStation[i]._cardId != 0) + displayDialog(_gameBoardSide[1]._outpostStation[i]._cardId); else actionDisplay(1330, 23, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; @@ -5654,36 +5654,36 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { break; } } else { - if ( (subC2BF8(&_arrunkObj1337[2]._arr3[0], pt)) - || (subC2BF8(&_arrunkObj1337[0]._arr3[0], pt)) - || (subC2BF8(&_arrunkObj1337[1]._arr3[0], pt)) - || (subC2BF8(&_arrunkObj1337[3]._arr3[0], pt)) ) { + if ( (subC2BF8(&_gameBoardSide[2]._arr3[0], pt)) + || (subC2BF8(&_gameBoardSide[0]._arr3[0], pt)) + || (subC2BF8(&_gameBoardSide[1]._arr3[0], pt)) + || (subC2BF8(&_gameBoardSide[3]._arr3[0], pt)) ) { found = true; } if (found) { switch (curReg) { case 5: - if (_arrunkObj1337[2]._arr3[0]._cardId != 0) - displayDialog(_arrunkObj1337[2]._arr3[0]._cardId); + if (_gameBoardSide[2]._arr3[0]._cardId != 0) + displayDialog(_gameBoardSide[2]._arr3[0]._cardId); else actionDisplay(1330, 10, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; case 10: - if (_arrunkObj1337[3]._arr3[0]._cardId != 0) - displayDialog(_arrunkObj1337[3]._arr3[0]._cardId); + if (_gameBoardSide[3]._arr3[0]._cardId != 0) + displayDialog(_gameBoardSide[3]._arr3[0]._cardId); else actionDisplay(1330, 16, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; case 15: - if (_arrunkObj1337[0]._arr3[0]._cardId != 0) - displayDialog(_arrunkObj1337[3]._arr3[0]._cardId); + if (_gameBoardSide[0]._arr3[0]._cardId != 0) + displayDialog(_gameBoardSide[3]._arr3[0]._cardId); else actionDisplay(1330, 13, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; case 20: - if (_arrunkObj1337[1]._arr3[0]._cardId != 0) - displayDialog(_arrunkObj1337[1]._arr3[0]._cardId); + if (_gameBoardSide[1]._arr3[0]._cardId != 0) + displayDialog(_gameBoardSide[1]._arr3[0]._cardId); else actionDisplay(1330, 18, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; @@ -5700,20 +5700,20 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { actionDisplay(1330, 43, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else if (subC2BF8(&_item8, pt)) { actionDisplay(1330, 4, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if ( (subC2BF8(&_arrunkObj1337[2]._arr4[0], pt)) - || (subC2BF8(&_arrunkObj1337[3]._arr4[0], pt)) - || (subC2BF8(&_arrunkObj1337[0]._arr4[0], pt)) - || (subC2BF8(&_arrunkObj1337[1]._arr4[0], pt)) ) { + } else if ( (subC2BF8(&_gameBoardSide[2]._arr4[0], pt)) + || (subC2BF8(&_gameBoardSide[3]._arr4[0], pt)) + || (subC2BF8(&_gameBoardSide[0]._arr4[0], pt)) + || (subC2BF8(&_gameBoardSide[1]._arr4[0], pt)) ) { actionDisplay(1330, 32, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { - if (subC2BF8(&_arrunkObj1337[2]._arr1[0], pt)) - displayDialog(_arrunkObj1337[2]._arr1[0]._cardId); - else if (subC2BF8(&_arrunkObj1337[2]._arr1[1], pt)) - displayDialog(_arrunkObj1337[2]._arr1[1]._cardId); - else if (subC2BF8(&_arrunkObj1337[2]._arr1[2], pt)) - displayDialog(_arrunkObj1337[2]._arr1[2]._cardId); - else if (subC2BF8(&_arrunkObj1337[2]._arr1[3], pt)) - displayDialog(_arrunkObj1337[2]._arr1[3]._cardId); + if (subC2BF8(&_gameBoardSide[2]._arr1[0], pt)) + displayDialog(_gameBoardSide[2]._arr1[0]._cardId); + else if (subC2BF8(&_gameBoardSide[2]._arr1[1], pt)) + displayDialog(_gameBoardSide[2]._arr1[1]._cardId); + else if (subC2BF8(&_gameBoardSide[2]._arr1[2], pt)) + displayDialog(_gameBoardSide[2]._arr1[2]._cardId); + else if (subC2BF8(&_gameBoardSide[2]._arr1[3], pt)) + displayDialog(_gameBoardSide[2]._arr1[3]._cardId); else if ((curReg >= 6) && (curReg <= 9)) actionDisplay(1330, 29, 159, 10, 1, 200, 0, 7, 0, 154, 154); else if ((curReg >= 11) && (curReg <= 14)) @@ -5753,8 +5753,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { return; for (int i = 0; i <= 7; i++) { - if (subC2BF8(&_arrunkObj1337[2]._outpostStation[i], pt)) { - switch (_arrunkObj1337[2]._outpostStation[i]._cardId) { + if (subC2BF8(&_gameBoardSide[2]._outpostStation[i], pt)) { + switch (_gameBoardSide[2]._outpostStation[i]._cardId) { case 0: actionDisplay(1330, 11, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; @@ -5767,8 +5767,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { } found = true; break; - } else if (subC2BF8(&_arrunkObj1337[0]._outpostStation[i], pt)) { - switch (_arrunkObj1337[0]._outpostStation[i]._cardId) { + } else if (subC2BF8(&_gameBoardSide[0]._outpostStation[i], pt)) { + switch (_gameBoardSide[0]._outpostStation[i]._cardId) { case 0: actionDisplay(1330, 11, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; @@ -5778,8 +5778,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { } found = true; break; - } else if (subC2BF8(&_arrunkObj1337[1]._outpostStation[i], pt)) { - switch (_arrunkObj1337[1]._outpostStation[i]._cardId) { + } else if (subC2BF8(&_gameBoardSide[1]._outpostStation[i], pt)) { + switch (_gameBoardSide[1]._outpostStation[i]._cardId) { case 0: actionDisplay(1330, 146, 300, 99, 1, 136, 0, 7, 0, 117, 117); break; @@ -5789,8 +5789,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { } found = true; break; - } else if (subC2BF8(&_arrunkObj1337[3]._outpostStation[i], pt)) { - switch (_arrunkObj1337[3]._outpostStation[i]._cardId) { + } else if (subC2BF8(&_gameBoardSide[3]._outpostStation[i], pt)) { + switch (_gameBoardSide[3]._outpostStation[i]._cardId) { case 0: actionDisplay(1330, 147, 20, 99, 1, 136, 0, 7, 0, 172, 172); break; @@ -5803,8 +5803,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { } } - if (subC2BF8(&_arrunkObj1337[2]._arr3[0], pt)) { - if (_arrunkObj1337[0]._arr3[0]._cardId != 0) { + if (subC2BF8(&_gameBoardSide[2]._arr3[0], pt)) { + if (_gameBoardSide[0]._arr3[0]._cardId != 0) { actionDisplay(1330, 39, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { actionDisplay(1330, 11, 159, 10, 1, 200, 0, 7, 0, 154, 154); @@ -5812,8 +5812,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { found = true; } - if (subC2BF8(&_arrunkObj1337[3]._arr3[0], pt)) { - if (_arrunkObj1337[3]._arr3[0]._cardId != 0) { + if (subC2BF8(&_gameBoardSide[3]._arr3[0], pt)) { + if (_gameBoardSide[3]._arr3[0]._cardId != 0) { actionDisplay(1330, 145, 20, 99, 1, 136, 0, 7, 0, 172, 172); } else { actionDisplay(1330, 147, 20, 99, 1, 136, 0, 7, 0, 172, 172); @@ -5821,8 +5821,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { found = true; } - if (subC2BF8(&_arrunkObj1337[1]._arr3[0], pt)) { - if (_arrunkObj1337[1]._arr3[0]._cardId != 0) { + if (subC2BF8(&_gameBoardSide[1]._arr3[0], pt)) { + if (_gameBoardSide[1]._arr3[0]._cardId != 0) { actionDisplay(1330, 144, 300, 99, 1, 136, 0, 7, 0, 117, 117); } else { actionDisplay(1330, 146, 300, 99, 1, 136, 0, 7, 0, 117, 117); @@ -5830,8 +5830,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { found = true; } - if (subC2BF8(&_arrunkObj1337[0]._arr3[0], pt)) { - if (_arrunkObj1337[0]._arr3[0]._cardId != 0) { + if (subC2BF8(&_gameBoardSide[0]._arr3[0], pt)) { + if (_gameBoardSide[0]._arr3[0]._cardId != 0) { actionDisplay(1330, 1, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { actionDisplay(1330, 11, 159, 10, 1, 200, 0, 7, 0, 154, 154); @@ -5839,17 +5839,17 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { found = true; } - if (subC2BF8(&_arrunkObj1337[3]._arr4[0], pt)) { + if (subC2BF8(&_gameBoardSide[3]._arr4[0], pt)) { actionDisplay(1330, 147, 20, 99, 1, 136, 0, 7, 0, 172, 172); found = true; } - if (subC2BF8(&_arrunkObj1337[1]._arr4[0], pt)) { + if (subC2BF8(&_gameBoardSide[1]._arr4[0], pt)) { actionDisplay(1330, 146, 300, 99, 1, 136, 0, 7, 0, 117, 117); found = true; } - if (subC2BF8(&_arrunkObj1337[0]._arr4[0], pt)) { + if (subC2BF8(&_gameBoardSide[0]._arr4[0], pt)) { actionDisplay(1330, 11, 159, 10, 1, 200, 0, 7, 0, 154, 154); found = true; } @@ -5916,8 +5916,8 @@ void Scene1337::subCF31D() { bool found; int count; - if (this->_arrunkObj1337[1]._arr3[0]._cardId != 0) { - switch (_arrunkObj1337[1]._arr3[0]._cardId) { + if (this->_gameBoardSide[1]._arr3[0]._cardId != 0) { + switch (_gameBoardSide[1]._arr3[0]._cardId) { case 10: // No break on purpose case 12: @@ -5934,13 +5934,13 @@ void Scene1337::subCF31D() { // No break on purpose case 21: tmpVal = 0; - subC4A39(&_arrunkObj1337[1]._arr3[0]); + subC4A39(&_gameBoardSide[1]._arr3[0]); break; default: found = false; int i; for (i = 0; i <= 3; i++) { - if (subC3386(_arrunkObj1337[1]._arr3[0]._cardId, _arrunkObj1337[1]._arr1[i]._cardId)) { + if (subC3386(_gameBoardSide[1]._arr3[0]._cardId, _gameBoardSide[1]._arr1[i]._cardId)) { found = true; break; } @@ -5948,7 +5948,7 @@ void Scene1337::subCF31D() { if (found) { tmpVal = 0; - subC34A1(&_arrunkObj1337[1]._arr1[i], &_arrunkObj1337[1]._arr3[0]); + subC34A1(&_gameBoardSide[1]._arr1[i], &_gameBoardSide[1]._arr3[0]); } } } @@ -5964,7 +5964,7 @@ void Scene1337::subCF31D() { tmpVal = 0; for (int j = 0; j <= 7; j++) { - if (_arrunkObj1337[1]._outpostStation[j]._cardId == _arrunkObj1337[1]._arr1[tmpIndx]._cardId) { + if (_gameBoardSide[1]._outpostStation[j]._cardId == _gameBoardSide[1]._arr1[tmpIndx]._cardId) { tmpVal = 1; break; } @@ -5974,18 +5974,18 @@ void Scene1337::subCF31D() { break; for (int j = 0; j <= 7; j++) { - if (_arrunkObj1337[1]._outpostStation[j]._cardId == 1) { - if (!subC2687(_arrunkObj1337[1]._arr3[0]._cardId)) { + if (_gameBoardSide[1]._outpostStation[j]._cardId == 1) { + if (!subC2687(_gameBoardSide[1]._arr3[0]._cardId)) { count = 0; for (int k = 0; k <= 7; k++) { - if ((_arrunkObj1337[1]._outpostStation[k]._cardId > 1) && (_arrunkObj1337[1]._outpostStation[k]._cardId <= 9)) + if ((_gameBoardSide[1]._outpostStation[k]._cardId > 1) && (_gameBoardSide[1]._outpostStation[k]._cardId <= 9)) ++count; } if (count == 7) _field424A = 1; - subC33C0(&_arrunkObj1337[1]._arr1[tmpIndx], &_arrunkObj1337[1]._outpostStation[j]); + subC33C0(&_gameBoardSide[1]._arr1[tmpIndx], &_gameBoardSide[1]._outpostStation[j]); found = true; break; } @@ -5999,8 +5999,8 @@ void Scene1337::subCF31D() { tmpVal = subC2719(1); if (tmpVal != -1) { for (int i = 0; i <= 7; i++) { - if ((_arrunkObj1337[1]._outpostStation[i]._cardId == 0) && (!subC2687(_arrunkObj1337[1]._arr3[0]._cardId))) { - subC340B(&_arrunkObj1337[1]._arr1[tmpVal], &_arrunkObj1337[1]._outpostStation[i]); + if ((_gameBoardSide[1]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[1]._arr3[0]._cardId))) { + subC340B(&_gameBoardSide[1]._arr1[tmpVal], &_gameBoardSide[1]._outpostStation[i]); found = true; break; } @@ -6014,7 +6014,7 @@ void Scene1337::subCF31D() { int tmpVal2 = subC331B(1); if ((tmpVal != -1) && ( tmpVal2 != -1)) { - subC358E(&_arrunkObj1337[1]._arr1[tmpVal], tmpVal2); + subC358E(&_gameBoardSide[1]._arr1[tmpVal], tmpVal2); found = true; } @@ -6027,10 +6027,10 @@ void Scene1337::subCF31D() { int rndVal = R2_GLOBALS._randomSource.getRandomNumber(3); for (int i = 0; i <= 3; i++) { if (rndVal != 1) { - if ( (_arrunkObj1337[rndVal]._arr1[0]._cardId != 0) - || (_arrunkObj1337[rndVal]._arr1[1]._cardId != 0) - || (_arrunkObj1337[rndVal]._arr1[2]._cardId != 0) - || (_arrunkObj1337[rndVal]._arr1[3]._cardId == 0)) { + if ( (_gameBoardSide[rndVal]._arr1[0]._cardId != 0) + || (_gameBoardSide[rndVal]._arr1[1]._cardId != 0) + || (_gameBoardSide[rndVal]._arr1[2]._cardId != 0) + || (_gameBoardSide[rndVal]._arr1[3]._cardId == 0)) { count = rndVal; break; } @@ -6042,7 +6042,7 @@ void Scene1337::subCF31D() { } if (count != -1) { - subC318B(1, &_arrunkObj1337[1]._arr1[tmpVal], count); + subC318B(1, &_gameBoardSide[1]._arr1[tmpVal], count); found = true; } } @@ -6053,7 +6053,7 @@ void Scene1337::subCF31D() { count = -1; int i; for (i = 0; i <= 3; i++) { - tmpVal = subC27B5(_arrunkObj1337[1]._arr1[i]._cardId); + tmpVal = subC27B5(_gameBoardSide[1]._arr1[i]._cardId); if (tmpVal != -1) { int rndVal = R2_GLOBALS._randomSource.getRandomNumber(3); @@ -6063,7 +6063,7 @@ void Scene1337::subCF31D() { for (int k = 0; k <= 7; k++) { // CHECKME: 'k' is not used in that loop. // It looks suspicious. - if ((_arrunkObj1337[tmpVal]._arr3[0]._cardId == 0) && (subC32B1(tmpVal, _arrunkObj1337[1]._arr1[i]._cardId))) { + if ((_gameBoardSide[tmpVal]._arr3[0]._cardId == 0) && (subC32B1(tmpVal, _gameBoardSide[1]._arr1[i]._cardId))) { count = tmpVal; break; } @@ -6086,18 +6086,18 @@ void Scene1337::subCF31D() { } if (found) - subC3456(&_arrunkObj1337[1]._arr1[i], &_arrunkObj1337[count]._arr3[0]); + subC3456(&_gameBoardSide[1]._arr1[i], &_gameBoardSide[count]._arr3[0]); else { int j; for (j = 0; j <= 3; j++) { - if (subC27F9(_arrunkObj1337[1]._arr1[j]._cardId) != -1) { + if (subC27F9(_gameBoardSide[1]._arr1[j]._cardId) != -1) { count = -1; int rndVal = R2_GLOBALS._randomSource.getRandomNumber(3); for (int l = 0; l <= 3; l++) { if (rndVal != 1) { for (int m = 0; m <= 7; m++) { // 'm' is not used in that loop. It looks suspicious. - if ((_arrunkObj1337[rndVal]._arr3[0]._cardId == 0) && (_arrunkObj1337[1]._arr1[j]._cardId == 1)) { + if ((_gameBoardSide[rndVal]._arr3[0]._cardId == 0) && (_gameBoardSide[1]._arr1[j]._cardId == 1)) { count = rndVal; break; } @@ -6118,7 +6118,7 @@ void Scene1337::subCF31D() { } if (found) - subC3456(&_arrunkObj1337[1]._arr1[j], &_arrunkObj1337[count]._arr3[0]); + subC3456(&_gameBoardSide[1]._arr1[j], &_gameBoardSide[count]._arr3[0]); else subC2835(1); } @@ -6128,8 +6128,8 @@ void Scene1337::subCF31D() { void Scene1337::subCF979() { bool found = true; - if (_arrunkObj1337[0]._arr3[0]._cardId != 0) { - switch (_arrunkObj1337[0]._arr3[0]._cardId) { + if (_gameBoardSide[0]._arr3[0]._cardId != 0) { + switch (_gameBoardSide[0]._arr3[0]._cardId) { case 10: //No break on purpose case 12: @@ -6145,7 +6145,7 @@ void Scene1337::subCF979() { case 20: //No break on purpose case 21: - subC4A39(&_arrunkObj1337[0]._arr3[0]); + subC4A39(&_gameBoardSide[0]._arr3[0]); found = false; break; default: @@ -6153,7 +6153,7 @@ void Scene1337::subCF979() { found = false; for (i = 0; i <= 3; i++) { - if (subC3386(_arrunkObj1337[0]._arr3[0]._cardId, _arrunkObj1337[0]._arr1[i]._cardId)) { + if (subC3386(_gameBoardSide[0]._arr3[0]._cardId, _gameBoardSide[0]._arr1[i]._cardId)) { found = true; break; } @@ -6161,7 +6161,7 @@ void Scene1337::subCF979() { if (found) { found = false; - subC34A1(&_arrunkObj1337[0]._arr1[i], &_arrunkObj1337[0]._arr3[0]); + subC34A1(&_gameBoardSide[0]._arr1[i], &_gameBoardSide[0]._arr3[0]); } break; } @@ -6178,7 +6178,7 @@ void Scene1337::subCF979() { if (tmpVal != -1) { bool flag = false; for (int j = 0; j <= 7; j++) { - if (_arrunkObj1337[0]._outpostStation[j]._cardId == _arrunkObj1337[0]._arr1[tmpVal]._cardId) { + if (_gameBoardSide[0]._outpostStation[j]._cardId == _gameBoardSide[0]._arr1[tmpVal]._cardId) { flag = true; break; } @@ -6186,10 +6186,10 @@ void Scene1337::subCF979() { if (!flag) { for (int j = 0; j <= 7; j++) { - if ((_arrunkObj1337[0]._outpostStation[j]._cardId == 1) && (!subC2687(_arrunkObj1337[0]._arr3[0]._cardId))) { + if ((_gameBoardSide[0]._outpostStation[j]._cardId == 1) && (!subC2687(_gameBoardSide[0]._arr3[0]._cardId))) { int count = 0; for (int k = 0; k <= 7; k++) { - if ((_arrunkObj1337[0]._outpostStation[k]._cardId > 1) && (_arrunkObj1337[0]._outpostStation[k]._cardId <= 9)) { + if ((_gameBoardSide[0]._outpostStation[k]._cardId > 1) && (_gameBoardSide[0]._outpostStation[k]._cardId <= 9)) { ++count; } } @@ -6197,7 +6197,7 @@ void Scene1337::subCF979() { if (count == 7) _field424A = 0; - subC33C0(&_arrunkObj1337[0]._arr1[tmpVal], &_arrunkObj1337[0]._outpostStation[j]); + subC33C0(&_gameBoardSide[0]._arr1[tmpVal], &_gameBoardSide[0]._outpostStation[j]); found = true; } } @@ -6216,8 +6216,8 @@ void Scene1337::subCF979() { if (tmpVal != -1) { for (int i = 0; i <= 7; i++) { - if ((_arrunkObj1337[0]._outpostStation[i]._cardId == 0) && (!subC2687(_arrunkObj1337[0]._arr3[0]._cardId))) { - subC340B(&_arrunkObj1337[0]._arr1[tmpVal], &_arrunkObj1337[0]._outpostStation[i]); + if ((_gameBoardSide[0]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[0]._arr3[0]._cardId))) { + subC340B(&_gameBoardSide[0]._arr1[tmpVal], &_gameBoardSide[0]._outpostStation[i]); found = true; break; } @@ -6230,8 +6230,8 @@ void Scene1337::subCF979() { tmpVal = subC274D(0); if (tmpVal != -1) { for (int i = 0; i <= 7; i++) { - if (_arrunkObj1337[2]._outpostStation[i]._cardId != 0) { - subC358E(&_arrunkObj1337[0]._arr1[tmpVal], 2); + if (_gameBoardSide[2]._outpostStation[i]._cardId != 0) { + subC358E(&_gameBoardSide[0]._arr1[tmpVal], 2); found = true; break; } @@ -6243,11 +6243,11 @@ void Scene1337::subCF979() { tmpVal = subC2781(0); if (tmpVal != -1) { - if ( (_arrunkObj1337[2]._arr1[0]._cardId != 0) - || (_arrunkObj1337[2]._arr1[1]._cardId != 0) - || (_arrunkObj1337[2]._arr1[2]._cardId != 0) - || (_arrunkObj1337[2]._arr1[3]._cardId != 0) ) { - subC318B(0, &_arrunkObj1337[0]._arr1[tmpVal], 2); + if ( (_gameBoardSide[2]._arr1[0]._cardId != 0) + || (_gameBoardSide[2]._arr1[1]._cardId != 0) + || (_gameBoardSide[2]._arr1[2]._cardId != 0) + || (_gameBoardSide[2]._arr1[3]._cardId != 0) ) { + subC318B(0, &_gameBoardSide[0]._arr1[tmpVal], 2); found = true; } } @@ -6256,11 +6256,11 @@ void Scene1337::subCF979() { return; for (int i = 0; i <= 3; i++) { - if (subC27B5(_arrunkObj1337[0]._arr1[i]._cardId) != -1) { + if (subC27B5(_gameBoardSide[0]._arr1[i]._cardId) != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect for (int j = 0; j <= 7; j++) { - if ((_arrunkObj1337[2]._arr3[0]._cardId == 0) && (subC32B1(2, _arrunkObj1337[0]._arr1[i]._cardId))) { - subC3456(&_arrunkObj1337[0]._arr1[i], &_arrunkObj1337[2]._arr3[0]); + if ((_gameBoardSide[2]._arr3[0]._cardId == 0) && (subC32B1(2, _gameBoardSide[0]._arr1[i]._cardId))) { + subC3456(&_gameBoardSide[0]._arr1[i], &_gameBoardSide[2]._arr3[0]); found = true; break; } @@ -6275,11 +6275,11 @@ void Scene1337::subCF979() { return; for (int i = 0; i <= 3; i++) { - if (subC27F9(_arrunkObj1337[0]._arr1[i]._cardId) != -1) { + if (subC27F9(_gameBoardSide[0]._arr1[i]._cardId) != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect for (int j = 0; j <= 7; j++) { - if ((_arrunkObj1337[2]._arr3[0]._cardId == 0) && (subC32B1(2, _arrunkObj1337[0]._arr1[i]._cardId))) { - subC3456(&_arrunkObj1337[0]._arr1[i], &_arrunkObj1337[2]._arr3[0]); + if ((_gameBoardSide[2]._arr3[0]._cardId == 0) && (subC32B1(2, _gameBoardSide[0]._arr1[i]._cardId))) { + subC3456(&_gameBoardSide[0]._arr1[i], &_gameBoardSide[2]._arr3[0]); found = true; } } @@ -6296,7 +6296,7 @@ void Scene1337::subCF979() { int tmpVal2 = subC331B(0); if ((tmpVal != -1) && (tmpVal2 != -1)) { - subC358E(&_arrunkObj1337[0]._arr1[tmpVal], tmpVal2); + subC358E(&_gameBoardSide[0]._arr1[tmpVal], tmpVal2); found = true; } @@ -6305,11 +6305,11 @@ void Scene1337::subCF979() { tmpVal = subC2781(0); if (tmpVal != -1) { - if ( (_arrunkObj1337[1]._arr1[0]._cardId != 0) - || (_arrunkObj1337[1]._arr1[1]._cardId != 0) - || (_arrunkObj1337[1]._arr1[2]._cardId != 0) - || (_arrunkObj1337[1]._arr1[3]._cardId != 0) ) { - subC318B(0, &_arrunkObj1337[0]._arr1[tmpVal], 1); + if ( (_gameBoardSide[1]._arr1[0]._cardId != 0) + || (_gameBoardSide[1]._arr1[1]._cardId != 0) + || (_gameBoardSide[1]._arr1[2]._cardId != 0) + || (_gameBoardSide[1]._arr1[3]._cardId != 0) ) { + subC318B(0, &_gameBoardSide[0]._arr1[tmpVal], 1); found = true; } } @@ -6318,12 +6318,12 @@ void Scene1337::subCF979() { return; for (int i = 0; i <= 3; i++) { - tmpVal = subC27F9(_arrunkObj1337[0]._arr1[i]._cardId); + tmpVal = subC27F9(_gameBoardSide[0]._arr1[i]._cardId); if (tmpVal != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_arrunkObj1337[1]._arr3[0]._cardId == 0) && (subC32B1(1, _arrunkObj1337[0]._arr1[i]._cardId))) { - subC3456(&_arrunkObj1337[0]._arr1[i], &_arrunkObj1337[1]._arr3[0]); + if ((_gameBoardSide[1]._arr3[0]._cardId == 0) && (subC32B1(1, _gameBoardSide[0]._arr1[i]._cardId))) { + subC3456(&_gameBoardSide[0]._arr1[i], &_gameBoardSide[1]._arr3[0]); found = true; } } @@ -6331,8 +6331,8 @@ void Scene1337::subCF979() { if (!found) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_arrunkObj1337[3]._arr3[0]._cardId == 0) && (subC32B1(3, _arrunkObj1337[0]._arr1[i]._cardId))) { - subC3456(&_arrunkObj1337[0]._arr1[i], &_arrunkObj1337[3]._arr3[0]); + if ((_gameBoardSide[3]._arr3[0]._cardId == 0) && (subC32B1(3, _gameBoardSide[0]._arr1[i]._cardId))) { + subC3456(&_gameBoardSide[0]._arr1[i], &_gameBoardSide[3]._arr3[0]); found = true; } } @@ -6347,12 +6347,12 @@ void Scene1337::subCF979() { return; for (int i = 0; i <= 3; i++) { - tmpVal = subC27B5(_arrunkObj1337[0]._arr1[i]._cardId); + tmpVal = subC27B5(_gameBoardSide[0]._arr1[i]._cardId); if (tmpVal != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_arrunkObj1337[1]._arr3[0]._cardId == 0) && (subC32B1(1, _arrunkObj1337[0]._arr1[i]._cardId))) { - subC3456(&_arrunkObj1337[0]._arr1[i], &_arrunkObj1337[1]._arr3[0]); + if ((_gameBoardSide[1]._arr3[0]._cardId == 0) && (subC32B1(1, _gameBoardSide[0]._arr1[i]._cardId))) { + subC3456(&_gameBoardSide[0]._arr1[i], &_gameBoardSide[1]._arr3[0]); found = true; } } @@ -6360,8 +6360,8 @@ void Scene1337::subCF979() { if (!found) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_arrunkObj1337[3]._arr3[0]._cardId == 0) && (subC32B1(3, _arrunkObj1337[0]._arr1[i]._cardId))) { - subC3456(&_arrunkObj1337[0]._arr1[i], &_arrunkObj1337[3]._arr3[0]); + if ((_gameBoardSide[3]._arr3[0]._cardId == 0) && (subC32B1(3, _gameBoardSide[0]._arr1[i]._cardId))) { + subC3456(&_gameBoardSide[0]._arr1[i], &_gameBoardSide[3]._arr3[0]); found = true; } } @@ -6383,83 +6383,83 @@ void Scene1337::subD026D() { } void Scene1337::subD0281() { - if (subC27F9(this->_arrunkObj1337[2]._arr3[0]._cardId) == -1) + if (subC27F9(this->_gameBoardSide[2]._arr3[0]._cardId) == -1) _unkFctPtr412 = &Scene1337::subD026D; else - subC4A39(&_arrunkObj1337[2]._arr3[0]); + subC4A39(&_gameBoardSide[2]._arr3[0]); } void Scene1337::subD02CA() { - _item6._field36 = g_globals->_events._mousePos; + _item6._stationPos = g_globals->_events._mousePos; if (R2_GLOBALS._v57810 == 200) { int di; for (di = 0; di < 4; di++) { - if ((subC2BF8(&_arrunkObj1337[2]._arr1[di], _item6._field36) != 0) && (_arrunkObj1337[2]._arr1[di]._cardId != 0)) { - _item6._cardId = _arrunkObj1337[2]._arr1[di]._cardId; - _item6._field36 = _arrunkObj1337[2]._arr1[di]._field36; + if ((subC2BF8(&_gameBoardSide[2]._arr1[di], _item6._stationPos) != 0) && (_gameBoardSide[2]._arr1[di]._cardId != 0)) { + _item6._cardId = _gameBoardSide[2]._arr1[di]._cardId; + _item6._stationPos = _gameBoardSide[2]._arr1[di]._stationPos; // _item6._actorName = _arrunkObj1337[2]._arr1[di]._actorName; - _item6._fieldE = _arrunkObj1337[2]._arr1[di]._fieldE; - _item6._field10 = _arrunkObj1337[2]._arr1[di]._field10; + _item6._fieldE = _gameBoardSide[2]._arr1[di]._fieldE; + _item6._field10 = _gameBoardSide[2]._arr1[di]._field10; warning("_item6._field12 = _arrunkObj1337[2]._arr1[di]._field12;"); warning("_item6._field14 = _arrunkObj1337[2]._arr1[di]._field14;"); warning("_item6._field16 = _arrunkObj1337[2]._arr1[di]._field16;"); - _item6._sceneRegionId = _arrunkObj1337[2]._arr1[di]._sceneRegionId; - _item6._position = _arrunkObj1337[2]._arr1[di]._position; - _item6._yDiff = _arrunkObj1337[2]._arr1[di]._yDiff; - _item6._bounds = _arrunkObj1337[2]._arr1[di]._bounds; - _item6._resNum = _arrunkObj1337[2]._arr1[di]._resNum; - _item6._lookLineNum = _arrunkObj1337[2]._arr1[di]._lookLineNum; - _item6._talkLineNum = _arrunkObj1337[2]._arr1[di]._talkLineNum; - _item6._useLineNum = _arrunkObj1337[2]._arr1[di]._useLineNum; - _item6._action = _arrunkObj1337[2]._arr1[di]._action; + _item6._sceneRegionId = _gameBoardSide[2]._arr1[di]._sceneRegionId; + _item6._position = _gameBoardSide[2]._arr1[di]._position; + _item6._yDiff = _gameBoardSide[2]._arr1[di]._yDiff; + _item6._bounds = _gameBoardSide[2]._arr1[di]._bounds; + _item6._resNum = _gameBoardSide[2]._arr1[di]._resNum; + _item6._lookLineNum = _gameBoardSide[2]._arr1[di]._lookLineNum; + _item6._talkLineNum = _gameBoardSide[2]._arr1[di]._talkLineNum; + _item6._useLineNum = _gameBoardSide[2]._arr1[di]._useLineNum; + _item6._action = _gameBoardSide[2]._arr1[di]._action; warning("_item6._field0 = _arrunkObj1337[2]._arr1[di]._field0;"); - _item6._card._updateStartFrame = _arrunkObj1337[2]._arr1[di]._card._updateStartFrame; - _item6._card._walkStartFrame = _arrunkObj1337[2]._arr1[di]._card._walkStartFrame; + _item6._card._updateStartFrame = _gameBoardSide[2]._arr1[di]._card._updateStartFrame; + _item6._card._walkStartFrame = _gameBoardSide[2]._arr1[di]._card._walkStartFrame; // _field2E is named _field3C in R2R - _item6._card._field2E = _arrunkObj1337[2]._arr1[di]._card._field2E; - _item6._card._percent = _arrunkObj1337[2]._arr1[di]._card._percent; - _item6._card._priority = _arrunkObj1337[2]._arr1[di]._card._priority; - _item6._card._angle = _arrunkObj1337[2]._arr1[di]._card._angle; - _item6._card._flags = _arrunkObj1337[2]._arr1[di]._card._flags; - _item6._card._xe = _arrunkObj1337[2]._arr1[di]._card._xe; - _item6._card._xs = _arrunkObj1337[2]._arr1[di]._card._xs; - _item6._card._paneRects[0] = _arrunkObj1337[2]._arr1[di]._card._paneRects[0]; - _item6._card._paneRects[1] = _arrunkObj1337[2]._arr1[di]._card._paneRects[1]; - _item6._card._visage = _arrunkObj1337[2]._arr1[di]._card._visage; - _item6._card._objectWrapper = _arrunkObj1337[2]._arr1[di]._card._objectWrapper; - _item6._card._strip = _arrunkObj1337[2]._arr1[di]._card._strip; - _item6._card._animateMode = _arrunkObj1337[2]._arr1[di]._card._animateMode; - _item6._card._frame = _arrunkObj1337[2]._arr1[di]._card._frame; - _item6._card._endFrame = _arrunkObj1337[2]._arr1[di]._card._endFrame; + _item6._card._field2E = _gameBoardSide[2]._arr1[di]._card._field2E; + _item6._card._percent = _gameBoardSide[2]._arr1[di]._card._percent; + _item6._card._priority = _gameBoardSide[2]._arr1[di]._card._priority; + _item6._card._angle = _gameBoardSide[2]._arr1[di]._card._angle; + _item6._card._flags = _gameBoardSide[2]._arr1[di]._card._flags; + _item6._card._xe = _gameBoardSide[2]._arr1[di]._card._xe; + _item6._card._xs = _gameBoardSide[2]._arr1[di]._card._xs; + _item6._card._paneRects[0] = _gameBoardSide[2]._arr1[di]._card._paneRects[0]; + _item6._card._paneRects[1] = _gameBoardSide[2]._arr1[di]._card._paneRects[1]; + _item6._card._visage = _gameBoardSide[2]._arr1[di]._card._visage; + _item6._card._objectWrapper = _gameBoardSide[2]._arr1[di]._card._objectWrapper; + _item6._card._strip = _gameBoardSide[2]._arr1[di]._card._strip; + _item6._card._animateMode = _gameBoardSide[2]._arr1[di]._card._animateMode; + _item6._card._frame = _gameBoardSide[2]._arr1[di]._card._frame; + _item6._card._endFrame = _gameBoardSide[2]._arr1[di]._card._endFrame; // _field68 is named _field76 in R2R - _item6._card._field68 = _arrunkObj1337[2]._arr1[di]._card._field68; - _item6._card._frameChange = _arrunkObj1337[2]._arr1[di]._card._frameChange; - _item6._card._numFrames = _arrunkObj1337[2]._arr1[di]._card._numFrames; - _item6._card._regionIndex = _arrunkObj1337[2]._arr1[di]._card._regionIndex; - _item6._card._mover = _arrunkObj1337[2]._arr1[di]._card._mover; - _item6._card._moveDiff = _arrunkObj1337[2]._arr1[di]._card._moveDiff; - _item6._card._moveRate = _arrunkObj1337[2]._arr1[di]._card._moveRate; - _item6._card._actorDestPos = _arrunkObj1337[2]._arr1[di]._card._actorDestPos; - _item6._card._endAction = _arrunkObj1337[2]._arr1[di]._card._endAction; - _item6._card._regionBitList = _arrunkObj1337[2]._arr1[di]._card._regionBitList; + _item6._card._field68 = _gameBoardSide[2]._arr1[di]._card._field68; + _item6._card._frameChange = _gameBoardSide[2]._arr1[di]._card._frameChange; + _item6._card._numFrames = _gameBoardSide[2]._arr1[di]._card._numFrames; + _item6._card._regionIndex = _gameBoardSide[2]._arr1[di]._card._regionIndex; + _item6._card._mover = _gameBoardSide[2]._arr1[di]._card._mover; + _item6._card._moveDiff = _gameBoardSide[2]._arr1[di]._card._moveDiff; + _item6._card._moveRate = _gameBoardSide[2]._arr1[di]._card._moveRate; + _item6._card._actorDestPos = _gameBoardSide[2]._arr1[di]._card._actorDestPos; + _item6._card._endAction = _gameBoardSide[2]._arr1[di]._card._endAction; + _item6._card._regionBitList = _gameBoardSide[2]._arr1[di]._card._regionBitList; // _item6._object1._actorName = _arrunkObj1337[2]._arr1[di]._object1._actorName; - _item6._card._fieldE = _arrunkObj1337[2]._arr1[di]._card._fieldE; - _item6._card._field10 = _arrunkObj1337[2]._arr1[di]._card._field10; + _item6._card._fieldE = _gameBoardSide[2]._arr1[di]._card._fieldE; + _item6._card._field10 = _gameBoardSide[2]._arr1[di]._card._field10; warning("_item6._object1._field12 = _arrunkObj1337[2]._arr1[di]._object1._field12;"); warning("_item6._object1._field14 = _arrunkObj1337[2]._arr1[di]._object1._field14;"); warning("_item6._object1._field16 = _arrunkObj1337[2]._arr1[di]._object1._field16;"); - _item6._card = _arrunkObj1337[2]._arr1[di]._card; + _item6._card = _gameBoardSide[2]._arr1[di]._card; } } if (di == 4) { - subCDB90(1, _item6._field36); + subCDB90(1, _item6._stationPos); subD0281(); return; } } else if (R2_GLOBALS._v57810 == 300) { - subCDB90(3, _item6._field36); + subCDB90(3, _item6._stationPos); subD0281(); return; } else { @@ -6477,19 +6477,19 @@ void Scene1337::subD02CA() { for (;;) { if ( ((g_globals->_events.getEvent(event, EVENT_BUTTON_DOWN)) && (event.btnState == BTNSHIFT_RIGHT)) || (g_globals->_events.getEvent(event, EVENT_KEYPRESS)) ){ - _item6._field36 = g_globals->_events._mousePos; + _item6._stationPos = g_globals->_events._mousePos; found_di = false; for (int i = 0; i <= 3; i ++) { - if (subC2BF8(&_arrunkObj1337[2]._arr1[i], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { - if (_arrunkObj1337[2]._arr1[i]._cardId == 0) { - _arrunkObj1337[2]._arr1[i]._cardId = _item6._cardId; - _arrunkObj1337[2]._arr1[i]._card.postInit(); - _arrunkObj1337[2]._arr1[i]._card.hide(); - _arrunkObj1337[2]._arr1[i]._card.setVisage(1332); - _arrunkObj1337[2]._arr1[i]._card.setPosition(_arrunkObj1337[2]._arr1[i]._field36, 0); - _arrunkObj1337[2]._arr1[i]._card.fixPriority(170); - setAnimationInfo(&_arrunkObj1337[2]._arr1[i]); + if (subC2BF8(&_gameBoardSide[2]._arr1[i], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (_gameBoardSide[2]._arr1[i]._cardId == 0) { + _gameBoardSide[2]._arr1[i]._cardId = _item6._cardId; + _gameBoardSide[2]._arr1[i]._card.postInit(); + _gameBoardSide[2]._arr1[i]._card.hide(); + _gameBoardSide[2]._arr1[i]._card.setVisage(1332); + _gameBoardSide[2]._arr1[i]._card.setPosition(_gameBoardSide[2]._arr1[i]._stationPos, 0); + _gameBoardSide[2]._arr1[i]._card.fixPriority(170); + setAnimationInfo(&_gameBoardSide[2]._arr1[i]); setCursorData(5, 1, 4); found = true; _field423E--; @@ -6504,7 +6504,7 @@ void Scene1337::subD02CA() { } if ((!found) && (!found_di)) { - if (subC2BF8(&_item7, Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { + if (subC2BF8(&_item7, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { subC4A39(&_item6); } else if (!found) { bool foundVar4; @@ -6512,17 +6512,17 @@ void Scene1337::subD02CA() { if (_item6._cardId == 1) { foundVar4 = false; for (i = 0; i <= 7; i++) { - if (subC2BF8(&_arrunkObj1337[2]._outpostStation[i], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { + if (subC2BF8(&_gameBoardSide[2]._outpostStation[i], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { foundVar4 = true; break; } } - if ((foundVar4) && (_arrunkObj1337[2]._outpostStation[i]._cardId == 0)) { - if (subC27B5(_arrunkObj1337[2]._arr3[0]._cardId) != -1) { + if ((foundVar4) && (_gameBoardSide[2]._outpostStation[i]._cardId == 0)) { + if (subC27B5(_gameBoardSide[2]._arr3[0]._cardId) != -1) { actionDisplay(1330, 55, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { - subC340B(&_item6, &_arrunkObj1337[2]._outpostStation[i]); + subC340B(&_item6, &_gameBoardSide[2]._outpostStation[i]); return; } } else { @@ -6531,29 +6531,29 @@ void Scene1337::subD02CA() { } else if (_item6._cardId <= 9) { foundVar4 = false; for (i = 0; i <= 7; i++) { - if (subC2BF8(&_arrunkObj1337[2]._outpostStation[i], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { + if (subC2BF8(&_gameBoardSide[2]._outpostStation[i], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { foundVar4 = true; break; } } - if ((foundVar4) && (_arrunkObj1337[2]._outpostStation[i]._cardId == 1)) { + if ((foundVar4) && (_gameBoardSide[2]._outpostStation[i]._cardId == 1)) { foundVar4 = false; int j; for (j = 0; j <= 7; j++) { - if (_item6._cardId == _arrunkObj1337[2]._outpostStation[j]._cardId) { + if (_item6._cardId == _gameBoardSide[2]._outpostStation[j]._cardId) { foundVar4 = true; break; } } if (foundVar4) { actionDisplay(1330, 34, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if (subC27B5(_arrunkObj1337[2]._arr3[0]._cardId) != -1) { + } else if (subC27B5(_gameBoardSide[2]._arr3[0]._cardId) != -1) { actionDisplay(1330, 35, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { if (j == 7) _field424A = 2; - subC33C0(&_item6, &_arrunkObj1337[2]._outpostStation[i]); + subC33C0(&_item6, &_gameBoardSide[2]._outpostStation[i]); return; } } else { @@ -6561,11 +6561,11 @@ void Scene1337::subD02CA() { } } else { if ((_item6._cardId == 26) || (_item6._cardId == 30) ||(_item6._cardId == 32) || (_item6._cardId == 28)) { - if (subC2BF8(&_arrunkObj1337[2]._arr3[0], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { + if (subC2BF8(&_gameBoardSide[2]._arr3[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { actionDisplay(1330, 42, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if (!subC3386(_arrunkObj1337[2]._arr3[0]._cardId, _item6._cardId)) { - if (_arrunkObj1337[2]._arr3[0]._cardId != 0) { - switch (_arrunkObj1337[2]._arr3[0]._cardId) { + } else if (!subC3386(_gameBoardSide[2]._arr3[0]._cardId, _item6._cardId)) { + if (_gameBoardSide[2]._arr3[0]._cardId != 0) { + switch (_gameBoardSide[2]._arr3[0]._cardId) { case 11: actionDisplay(1330, 68, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; @@ -6585,15 +6585,15 @@ void Scene1337::subD02CA() { actionDisplay(1330, 41, 159, 10, 1, 200, 0, 7, 0, 154, 154); } } else { - subC34A1(&_item6, &_arrunkObj1337[2]._arr3[0]); + subC34A1(&_item6, &_gameBoardSide[2]._arr3[0]); return; } } else { if ((subC27F9(_item6._cardId) == -1) && (subC27B5(_item6._cardId) == -1)) { if (_item6._cardId == 13) { - if (subC2BF8(&_arrunkObj1337[0]._arr4[0], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { + if (subC2BF8(&_gameBoardSide[0]._arr4[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { for (int k = 0; k <= 7; k++) { - if (_arrunkObj1337[0]._outpostStation[k]._cardId != 0) { + if (_gameBoardSide[0]._outpostStation[k]._cardId != 0) { found = true; subC358E(&_item6, 0); } @@ -6601,18 +6601,18 @@ void Scene1337::subD02CA() { if (!found) actionDisplay(1330, 74, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if (subC2BF8(&_arrunkObj1337[3]._arr4[0], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { + } else if (subC2BF8(&_gameBoardSide[3]._arr4[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { for (int k = 0; k <= 7; k++) { - if (_arrunkObj1337[3]._outpostStation[k]._cardId != 0) { + if (_gameBoardSide[3]._outpostStation[k]._cardId != 0) { found = true; subC358E(&_item6, 3); } } if (!found) actionDisplay(1330, 74, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if (subC2BF8(&_arrunkObj1337[1]._arr4[0], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { + } else if (subC2BF8(&_gameBoardSide[1]._arr4[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { for (int k = 0; k <= 7; k++) { - if (_arrunkObj1337[1]._outpostStation[k]._cardId == 0) { + if (_gameBoardSide[1]._outpostStation[k]._cardId == 0) { found = true; subC358E(&_item6, 1); } @@ -6624,46 +6624,46 @@ void Scene1337::subD02CA() { } } else if (_item6._cardId == 25) { int k; - if (subC2BF8(&_arrunkObj1337[0]._arr4[0], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { - if ( (_arrunkObj1337[0]._arr1[0]._cardId != 0) - || (_arrunkObj1337[0]._arr1[1]._cardId != 0) - || (_arrunkObj1337[0]._arr1[2]._cardId != 0) - || (_arrunkObj1337[0]._arr1[3]._cardId != 0) ) { + if (subC2BF8(&_gameBoardSide[0]._arr4[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if ( (_gameBoardSide[0]._arr1[0]._cardId != 0) + || (_gameBoardSide[0]._arr1[1]._cardId != 0) + || (_gameBoardSide[0]._arr1[2]._cardId != 0) + || (_gameBoardSide[0]._arr1[3]._cardId != 0) ) { for (k = 0; k <= 3; k++){ - if (_arrunkObj1337[2]._arr1[k]._cardId == 0) + if (_gameBoardSide[2]._arr1[k]._cardId == 0) break; } - subC318B(2, &_arrunkObj1337[2]._arr1[k], 0); + subC318B(2, &_gameBoardSide[2]._arr1[k], 0); return; } else { actionDisplay(1330, 99, 159, 10, 1, 200, 0, 7, 0, 154, 154); } - } else if (subC2BF8(&_arrunkObj1337[1]._arr4[0], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { - if ( (_arrunkObj1337[1]._arr1[0]._cardId != 0) - || (_arrunkObj1337[1]._arr1[1]._cardId != 0) - || (_arrunkObj1337[1]._arr1[2]._cardId != 0) - || (_arrunkObj1337[1]._arr1[3]._cardId != 0) ) { + } else if (subC2BF8(&_gameBoardSide[1]._arr4[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if ( (_gameBoardSide[1]._arr1[0]._cardId != 0) + || (_gameBoardSide[1]._arr1[1]._cardId != 0) + || (_gameBoardSide[1]._arr1[2]._cardId != 0) + || (_gameBoardSide[1]._arr1[3]._cardId != 0) ) { for (k = 0; k <= 3; k++){ - if (_arrunkObj1337[2]._arr1[k]._cardId == 0) + if (_gameBoardSide[2]._arr1[k]._cardId == 0) break; } - subC318B(2, &_arrunkObj1337[2]._arr1[k], 1); + subC318B(2, &_gameBoardSide[2]._arr1[k], 1); return; } else { actionDisplay(1330, 99, 159, 10, 1, 200, 0, 7, 0, 154, 154); } } - if (subC2BF8(&_arrunkObj1337[3]._arr4[0], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { - if ( (_arrunkObj1337[3]._arr1[0]._cardId != 0) - || (_arrunkObj1337[3]._arr1[1]._cardId != 0) - || (_arrunkObj1337[3]._arr1[2]._cardId != 0) - || (_arrunkObj1337[3]._arr1[3]._cardId != 0) ) { + if (subC2BF8(&_gameBoardSide[3]._arr4[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if ( (_gameBoardSide[3]._arr1[0]._cardId != 0) + || (_gameBoardSide[3]._arr1[1]._cardId != 0) + || (_gameBoardSide[3]._arr1[2]._cardId != 0) + || (_gameBoardSide[3]._arr1[3]._cardId != 0) ) { for (k = 0; k <= 3; k++){ - if (_arrunkObj1337[2]._arr1[k]._cardId == 0) + if (_gameBoardSide[2]._arr1[k]._cardId == 0) break; } - subC318B(2, &_arrunkObj1337[2]._arr1[k], 3); + subC318B(2, &_gameBoardSide[2]._arr1[k], 3); return; } else { actionDisplay(1330, 99, 159, 10, 1, 200, 0, 7, 0, 154, 154); @@ -6677,8 +6677,8 @@ void Scene1337::subD02CA() { actionDisplay(1330, 137, 159, 10, 1, 200, 0, 7, 0, 154, 154); } } else { - if (subC2BF8(&_arrunkObj1337[0]._arr3[0], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { - if (_arrunkObj1337[0]._arr3[0]._cardId != 0) { + if (subC2BF8(&_gameBoardSide[0]._arr3[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (_gameBoardSide[0]._arr3[0]._cardId != 0) { actionDisplay(1330, 15, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else if (!subC32B1(0, _item6._cardId)) { switch (_item6._cardId) { @@ -6710,11 +6710,11 @@ void Scene1337::subD02CA() { break; } } else { - subC3456(&_item6, &_arrunkObj1337[0]._arr3[0]); + subC3456(&_item6, &_gameBoardSide[0]._arr3[0]); found = true; } - } else if (subC2BF8(&_arrunkObj1337[3]._arr3[0], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { - if (_arrunkObj1337[3]._arr3[0]._cardId != 0) { + } else if (subC2BF8(&_gameBoardSide[3]._arr3[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (_gameBoardSide[3]._arr3[0]._cardId != 0) { actionDisplay(1330, 17, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else if (!subC32B1(3, _item6._cardId)) { switch (_item6._cardId) { @@ -6746,11 +6746,11 @@ void Scene1337::subD02CA() { break; } } else { - subC3456(&_item6, &_arrunkObj1337[3]._arr3[0]); + subC3456(&_item6, &_gameBoardSide[3]._arr3[0]); found = true; } - } else if (subC2BF8(&_arrunkObj1337[1]._arr3[0], Common::Point(_item6._field36.x + 12, _item6._field36.y + 12)) != 0) { - if (_arrunkObj1337[1]._arr3[0]._cardId != 0) { + } else if (subC2BF8(&_gameBoardSide[1]._arr3[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (_gameBoardSide[1]._arr3[0]._cardId != 0) { actionDisplay(1330, 19, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else if (!subC32B1(1, _item6._cardId)) { switch (_item6._cardId) { @@ -6782,7 +6782,7 @@ void Scene1337::subD02CA() { break; } } else { - subC3456(&_item6, &_arrunkObj1337[1]._arr3[0]); + subC3456(&_item6, &_gameBoardSide[1]._arr3[0]); found = true; } } else { diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h index 3246b3f856..6db03b46c9 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.h +++ b/engines/tsage/ringworld2/ringworld2_scenes1.h @@ -188,7 +188,7 @@ class Scene1337 : public SceneExt { SceneObject _card; int _cardId; - Common::Point _field36; + Common::Point _stationPos; unkObj1337sub1(); void synchronize(Serializer &s); @@ -276,7 +276,7 @@ public: ASound _aSound2; BackgroundSceneObject _background1; bool _autoplay; - unkObj1337_1 _arrunkObj1337[4]; + unkObj1337_1 _gameBoardSide[4]; SceneItem _item1; SceneObject _object1; Action1 _action1; -- cgit v1.2.3 From c1f25ca47636a647620e4e4d16526493ad4f071a Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 30 Nov 2013 00:36:55 +0100 Subject: TSAGE: R2R - More renaming in scene 1337 --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 1034 +++++++++++------------ engines/tsage/ringworld2/ringworld2_scenes1.h | 2 +- 2 files changed, 518 insertions(+), 518 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index 243fa50287..880df47f0b 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -2454,95 +2454,95 @@ void Scene1337::Action1::signal() { scene->_background2.setup2(1332, 5, 1, 165, 95, 110, 1); - scene->_gameBoardSide[1]._arr1[0]._card.postInit(); - scene->_gameBoardSide[1]._arr1[0]._card.setVisage(1332); - scene->_gameBoardSide[1]._arr1[0]._card.setPosition(scene->_gameBoardSide[1]._arr1[0]._stationPos, 0); - scene->_gameBoardSide[1]._arr1[0]._card.setStrip(1); - scene->_gameBoardSide[1]._arr1[0]._card.setFrame(4); - scene->_gameBoardSide[1]._arr1[0]._card.fixPriority(170); - - scene->_gameBoardSide[1]._arr1[1]._card.postInit(); - scene->_gameBoardSide[1]._arr1[1]._card.setVisage(1332); - scene->_gameBoardSide[1]._arr1[1]._card.setPosition(scene->_gameBoardSide[1]._arr1[1]._stationPos, 0); - scene->_gameBoardSide[1]._arr1[1]._card.setStrip(1); - scene->_gameBoardSide[1]._arr1[1]._card.setFrame(4); - scene->_gameBoardSide[1]._arr1[1]._card.fixPriority(170); - - scene->_gameBoardSide[1]._arr1[2]._card.postInit(); - scene->_gameBoardSide[1]._arr1[2]._card.setVisage(1332); - scene->_gameBoardSide[1]._arr1[2]._card.setPosition(scene->_gameBoardSide[1]._arr1[2]._stationPos, 0); - scene->_gameBoardSide[1]._arr1[2]._card.setStrip(1); - scene->_gameBoardSide[1]._arr1[2]._card.setFrame(4); - scene->_gameBoardSide[1]._arr1[2]._card.fixPriority(170); - - scene->_gameBoardSide[2]._arr1[0]._cardId = 30; - scene->_gameBoardSide[2]._arr1[0]._card.postInit(); - scene->_gameBoardSide[2]._arr1[0]._card.setVisage(1332); - scene->_gameBoardSide[2]._arr1[0]._card.setPosition(scene->_gameBoardSide[2]._arr1[0]._stationPos, 0); - scene->_gameBoardSide[2]._arr1[0]._card.setStrip(1); - scene->_gameBoardSide[2]._arr1[0]._card.setFrame(2); - scene->_gameBoardSide[2]._arr1[0]._card.fixPriority(170); - scene->setAnimationInfo(&scene->_gameBoardSide[2]._arr1[0]); - - scene->_gameBoardSide[2]._arr1[1]._cardId = 16; - scene->_gameBoardSide[2]._arr1[1]._card.postInit(); - scene->_gameBoardSide[2]._arr1[1]._card.setVisage(1332); - scene->_gameBoardSide[2]._arr1[1]._card.setPosition(scene->_gameBoardSide[2]._arr1[1]._stationPos, 0); - scene->_gameBoardSide[2]._arr1[1]._card.setStrip(1); - scene->_gameBoardSide[2]._arr1[1]._card.setFrame(2); - scene->_gameBoardSide[2]._arr1[1]._card.fixPriority(170); - scene->setAnimationInfo(&scene->_gameBoardSide[2]._arr1[1]); - - scene->_gameBoardSide[2]._arr1[2]._cardId = 1; - scene->_gameBoardSide[2]._arr1[2]._card.postInit(); - scene->_gameBoardSide[2]._arr1[2]._card.setVisage(1332); - scene->_gameBoardSide[2]._arr1[2]._card.setPosition(scene->_gameBoardSide[2]._arr1[2]._stationPos, 0); - scene->_gameBoardSide[2]._arr1[2]._card.setStrip(1); - scene->_gameBoardSide[2]._arr1[2]._card.setFrame(2); - scene->_gameBoardSide[2]._arr1[2]._card.fixPriority(170); - scene->setAnimationInfo(&scene->_gameBoardSide[2]._arr1[2]); - - scene->_gameBoardSide[3]._arr1[0]._card.postInit(); - scene->_gameBoardSide[3]._arr1[0]._card.setVisage(1332); - scene->_gameBoardSide[3]._arr1[0]._card.setPosition(scene->_gameBoardSide[3]._arr1[0]._stationPos, 0); - scene->_gameBoardSide[3]._arr1[0]._card.setStrip(1); - scene->_gameBoardSide[3]._arr1[0]._card.setFrame(3); - scene->_gameBoardSide[3]._arr1[0]._card.fixPriority(170); - - scene->_gameBoardSide[3]._arr1[1]._card.postInit(); - scene->_gameBoardSide[3]._arr1[1]._card.setVisage(1332); - scene->_gameBoardSide[3]._arr1[1]._card.setPosition(scene->_gameBoardSide[3]._arr1[1]._stationPos, 0); - scene->_gameBoardSide[3]._arr1[1]._card.setStrip(1); - scene->_gameBoardSide[3]._arr1[1]._card.setFrame(3); - scene->_gameBoardSide[3]._arr1[1]._card.fixPriority(170); - - scene->_gameBoardSide[3]._arr1[2]._card.postInit(); - scene->_gameBoardSide[3]._arr1[2]._card.setVisage(1332); - scene->_gameBoardSide[3]._arr1[2]._card.setPosition(scene->_gameBoardSide[3]._arr1[2]._stationPos, 0); - scene->_gameBoardSide[3]._arr1[2]._card.setStrip(1); - scene->_gameBoardSide[3]._arr1[2]._card.setFrame(3); - scene->_gameBoardSide[3]._arr1[2]._card.fixPriority(170); - - scene->_gameBoardSide[0]._arr1[0]._card.postInit(); - scene->_gameBoardSide[0]._arr1[0]._card.setVisage(1332); - scene->_gameBoardSide[0]._arr1[0]._card.setPosition(scene->_gameBoardSide[0]._arr1[0]._stationPos, 0); - scene->_gameBoardSide[0]._arr1[0]._card.setStrip(1); - scene->_gameBoardSide[0]._arr1[0]._card.setFrame(2); - scene->_gameBoardSide[0]._arr1[0]._card.fixPriority(170); - - scene->_gameBoardSide[0]._arr1[1]._card.postInit(); - scene->_gameBoardSide[0]._arr1[1]._card.setVisage(1332); - scene->_gameBoardSide[0]._arr1[1]._card.setPosition(scene->_gameBoardSide[0]._arr1[1]._stationPos, 0); - scene->_gameBoardSide[0]._arr1[1]._card.setStrip(1); - scene->_gameBoardSide[0]._arr1[1]._card.setFrame(2); - scene->_gameBoardSide[0]._arr1[1]._card.fixPriority(170); - - scene->_gameBoardSide[0]._arr1[2]._card.postInit(); - scene->_gameBoardSide[0]._arr1[2]._card.setVisage(1332); - scene->_gameBoardSide[0]._arr1[2]._card.setPosition(scene->_gameBoardSide[0]._arr1[2]._stationPos, 0); - scene->_gameBoardSide[0]._arr1[2]._card.setStrip(1); - scene->_gameBoardSide[0]._arr1[2]._card.setFrame(2); - scene->_gameBoardSide[0]._arr1[2]._card.fixPriority(170); + scene->_gameBoardSide[1]._handCard[0]._card.postInit(); + scene->_gameBoardSide[1]._handCard[0]._card.setVisage(1332); + scene->_gameBoardSide[1]._handCard[0]._card.setPosition(scene->_gameBoardSide[1]._handCard[0]._stationPos, 0); + scene->_gameBoardSide[1]._handCard[0]._card.setStrip(1); + scene->_gameBoardSide[1]._handCard[0]._card.setFrame(4); + scene->_gameBoardSide[1]._handCard[0]._card.fixPriority(170); + + scene->_gameBoardSide[1]._handCard[1]._card.postInit(); + scene->_gameBoardSide[1]._handCard[1]._card.setVisage(1332); + scene->_gameBoardSide[1]._handCard[1]._card.setPosition(scene->_gameBoardSide[1]._handCard[1]._stationPos, 0); + scene->_gameBoardSide[1]._handCard[1]._card.setStrip(1); + scene->_gameBoardSide[1]._handCard[1]._card.setFrame(4); + scene->_gameBoardSide[1]._handCard[1]._card.fixPriority(170); + + scene->_gameBoardSide[1]._handCard[2]._card.postInit(); + scene->_gameBoardSide[1]._handCard[2]._card.setVisage(1332); + scene->_gameBoardSide[1]._handCard[2]._card.setPosition(scene->_gameBoardSide[1]._handCard[2]._stationPos, 0); + scene->_gameBoardSide[1]._handCard[2]._card.setStrip(1); + scene->_gameBoardSide[1]._handCard[2]._card.setFrame(4); + scene->_gameBoardSide[1]._handCard[2]._card.fixPriority(170); + + scene->_gameBoardSide[2]._handCard[0]._cardId = 30; + scene->_gameBoardSide[2]._handCard[0]._card.postInit(); + scene->_gameBoardSide[2]._handCard[0]._card.setVisage(1332); + scene->_gameBoardSide[2]._handCard[0]._card.setPosition(scene->_gameBoardSide[2]._handCard[0]._stationPos, 0); + scene->_gameBoardSide[2]._handCard[0]._card.setStrip(1); + scene->_gameBoardSide[2]._handCard[0]._card.setFrame(2); + scene->_gameBoardSide[2]._handCard[0]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_gameBoardSide[2]._handCard[0]); + + scene->_gameBoardSide[2]._handCard[1]._cardId = 16; + scene->_gameBoardSide[2]._handCard[1]._card.postInit(); + scene->_gameBoardSide[2]._handCard[1]._card.setVisage(1332); + scene->_gameBoardSide[2]._handCard[1]._card.setPosition(scene->_gameBoardSide[2]._handCard[1]._stationPos, 0); + scene->_gameBoardSide[2]._handCard[1]._card.setStrip(1); + scene->_gameBoardSide[2]._handCard[1]._card.setFrame(2); + scene->_gameBoardSide[2]._handCard[1]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_gameBoardSide[2]._handCard[1]); + + scene->_gameBoardSide[2]._handCard[2]._cardId = 1; + scene->_gameBoardSide[2]._handCard[2]._card.postInit(); + scene->_gameBoardSide[2]._handCard[2]._card.setVisage(1332); + scene->_gameBoardSide[2]._handCard[2]._card.setPosition(scene->_gameBoardSide[2]._handCard[2]._stationPos, 0); + scene->_gameBoardSide[2]._handCard[2]._card.setStrip(1); + scene->_gameBoardSide[2]._handCard[2]._card.setFrame(2); + scene->_gameBoardSide[2]._handCard[2]._card.fixPriority(170); + scene->setAnimationInfo(&scene->_gameBoardSide[2]._handCard[2]); + + scene->_gameBoardSide[3]._handCard[0]._card.postInit(); + scene->_gameBoardSide[3]._handCard[0]._card.setVisage(1332); + scene->_gameBoardSide[3]._handCard[0]._card.setPosition(scene->_gameBoardSide[3]._handCard[0]._stationPos, 0); + scene->_gameBoardSide[3]._handCard[0]._card.setStrip(1); + scene->_gameBoardSide[3]._handCard[0]._card.setFrame(3); + scene->_gameBoardSide[3]._handCard[0]._card.fixPriority(170); + + scene->_gameBoardSide[3]._handCard[1]._card.postInit(); + scene->_gameBoardSide[3]._handCard[1]._card.setVisage(1332); + scene->_gameBoardSide[3]._handCard[1]._card.setPosition(scene->_gameBoardSide[3]._handCard[1]._stationPos, 0); + scene->_gameBoardSide[3]._handCard[1]._card.setStrip(1); + scene->_gameBoardSide[3]._handCard[1]._card.setFrame(3); + scene->_gameBoardSide[3]._handCard[1]._card.fixPriority(170); + + scene->_gameBoardSide[3]._handCard[2]._card.postInit(); + scene->_gameBoardSide[3]._handCard[2]._card.setVisage(1332); + scene->_gameBoardSide[3]._handCard[2]._card.setPosition(scene->_gameBoardSide[3]._handCard[2]._stationPos, 0); + scene->_gameBoardSide[3]._handCard[2]._card.setStrip(1); + scene->_gameBoardSide[3]._handCard[2]._card.setFrame(3); + scene->_gameBoardSide[3]._handCard[2]._card.fixPriority(170); + + scene->_gameBoardSide[0]._handCard[0]._card.postInit(); + scene->_gameBoardSide[0]._handCard[0]._card.setVisage(1332); + scene->_gameBoardSide[0]._handCard[0]._card.setPosition(scene->_gameBoardSide[0]._handCard[0]._stationPos, 0); + scene->_gameBoardSide[0]._handCard[0]._card.setStrip(1); + scene->_gameBoardSide[0]._handCard[0]._card.setFrame(2); + scene->_gameBoardSide[0]._handCard[0]._card.fixPriority(170); + + scene->_gameBoardSide[0]._handCard[1]._card.postInit(); + scene->_gameBoardSide[0]._handCard[1]._card.setVisage(1332); + scene->_gameBoardSide[0]._handCard[1]._card.setPosition(scene->_gameBoardSide[0]._handCard[1]._stationPos, 0); + scene->_gameBoardSide[0]._handCard[1]._card.setStrip(1); + scene->_gameBoardSide[0]._handCard[1]._card.setFrame(2); + scene->_gameBoardSide[0]._handCard[1]._card.fixPriority(170); + + scene->_gameBoardSide[0]._handCard[2]._card.postInit(); + scene->_gameBoardSide[0]._handCard[2]._card.setVisage(1332); + scene->_gameBoardSide[0]._handCard[2]._card.setPosition(scene->_gameBoardSide[0]._handCard[2]._stationPos, 0); + scene->_gameBoardSide[0]._handCard[2]._card.setStrip(1); + scene->_gameBoardSide[0]._handCard[2]._card.setFrame(2); + scene->_gameBoardSide[0]._handCard[2]._card.fixPriority(170); R2_GLOBALS._sceneObjects->draw(); @@ -2557,16 +2557,16 @@ void Scene1337::Action1::signal() { } break; case 2: { - scene->_gameBoardSide[2]._arr1[3]._cardId = 2; - scene->_gameBoardSide[2]._arr1[3]._card.postInit(); - scene->_gameBoardSide[2]._arr1[3]._card.setVisage(1332); - scene->_gameBoardSide[2]._arr1[3]._card.setPosition(scene->_gameBoardSide[2]._arr1[3]._stationPos, 0); - scene->_gameBoardSide[2]._arr1[3]._card.setStrip(1); - scene->_gameBoardSide[2]._arr1[3]._card.setFrame(2); - scene->_gameBoardSide[2]._arr1[3]._card.fixPriority(170); + scene->_gameBoardSide[2]._handCard[3]._cardId = 2; + scene->_gameBoardSide[2]._handCard[3]._card.postInit(); + scene->_gameBoardSide[2]._handCard[3]._card.setVisage(1332); + scene->_gameBoardSide[2]._handCard[3]._card.setPosition(scene->_gameBoardSide[2]._handCard[3]._stationPos, 0); + scene->_gameBoardSide[2]._handCard[3]._card.setStrip(1); + scene->_gameBoardSide[2]._handCard[3]._card.setFrame(2); + scene->_gameBoardSide[2]._handCard[3]._card.fixPriority(170); scene->_item2._card.hide(); - scene->setAnimationInfo(&scene->_gameBoardSide[2]._arr1[3]); + scene->setAnimationInfo(&scene->_gameBoardSide[2]._handCard[3]); R2_GLOBALS._sceneObjects->draw(); @@ -2580,14 +2580,14 @@ void Scene1337::Action1::signal() { scene->_gameBoardSide[2]._outpostStation[1]._card.setPosition(scene->_gameBoardSide[2]._outpostStation[1]._stationPos, 0); scene->_gameBoardSide[2]._outpostStation[1]._card.hide(); - scene->_item2._card.setStrip(scene->_gameBoardSide[2]._arr1[2]._card._strip); - scene->_item2._card.setFrame(scene->_gameBoardSide[2]._arr1[2]._card._frame); + scene->_item2._card.setStrip(scene->_gameBoardSide[2]._handCard[2]._card._strip); + scene->_item2._card.setFrame(scene->_gameBoardSide[2]._handCard[2]._card._frame); scene->_item2._card.animate(ANIM_MODE_NONE, NULL); - scene->_gameBoardSide[2]._arr1[2]._cardId = 0; - scene->_gameBoardSide[2]._arr1[2]._card.remove(); + scene->_gameBoardSide[2]._handCard[2]._cardId = 0; + scene->_gameBoardSide[2]._handCard[2]._card.remove(); - scene->_item2._card.setPosition(scene->_gameBoardSide[2]._arr1[2]._stationPos, 0); + scene->_item2._card.setPosition(scene->_gameBoardSide[2]._handCard[2]._stationPos, 0); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); @@ -2604,15 +2604,15 @@ void Scene1337::Action1::signal() { waitFrames(60); scene->actionDisplay(1331, 13, 159, 10, 1, 200, 0, 7, 0, 154, 154); - scene->_gameBoardSide[2]._outpostStation[1]._cardId = scene->_gameBoardSide[2]._arr1[3]._cardId; + scene->_gameBoardSide[2]._outpostStation[1]._cardId = scene->_gameBoardSide[2]._handCard[3]._cardId; - scene->_item2._card.setStrip(scene->_gameBoardSide[2]._arr1[3]._card._strip); - scene->_item2._card.setFrame(scene->_gameBoardSide[2]._arr1[3]._card._frame); + scene->_item2._card.setStrip(scene->_gameBoardSide[2]._handCard[3]._card._strip); + scene->_item2._card.setFrame(scene->_gameBoardSide[2]._handCard[3]._card._frame); - scene->_gameBoardSide[2]._arr1[3]._cardId = 0; - scene->_gameBoardSide[2]._arr1[3]._card.remove(); + scene->_gameBoardSide[2]._handCard[3]._cardId = 0; + scene->_gameBoardSide[2]._handCard[3]._card.remove(); - scene->_item2._card.setPosition(scene->_gameBoardSide[2]._arr1[3]._stationPos, 0); + scene->_item2._card.setPosition(scene->_gameBoardSide[2]._handCard[3]._stationPos, 0); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); @@ -2656,10 +2656,10 @@ void Scene1337::Action1::signal() { scene->_gameBoardSide[2]._arr3[0]._card.setPosition(scene->_gameBoardSide[2]._arr3[0]._stationPos, 0); scene->_gameBoardSide[2]._arr3[0]._card.hide(); - scene->_gameBoardSide[3]._arr1[2]._cardId = 0; - scene->_gameBoardSide[3]._arr1[2].remove(); + scene->_gameBoardSide[3]._handCard[2]._cardId = 0; + scene->_gameBoardSide[3]._handCard[2].remove(); - scene->_item2._card.setPosition(scene->_gameBoardSide[3]._arr1[2]._stationPos, 0); + scene->_item2._card.setPosition(scene->_gameBoardSide[3]._handCard[2]._stationPos, 0); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); @@ -2752,10 +2752,10 @@ void Scene1337::Action1::signal() { scene->_gameBoardSide[2]._arr3[0]._card.setPosition(scene->_gameBoardSide[2]._arr3[0]._stationPos, 0); scene->_gameBoardSide[2]._arr3[0]._card.hide(); - scene->_gameBoardSide[3]._arr1[1]._cardId = 0; - scene->_gameBoardSide[3]._arr1[1].remove(); + scene->_gameBoardSide[3]._handCard[1]._cardId = 0; + scene->_gameBoardSide[3]._handCard[1].remove(); - scene->_item2._card.setPosition(scene->_gameBoardSide[3]._arr1[1]._stationPos, 0); + scene->_item2._card.setPosition(scene->_gameBoardSide[3]._handCard[1]._stationPos, 0); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); @@ -2845,16 +2845,16 @@ void Scene1337::Action1::signal() { scene->_arrObject2[6].remove(); scene->_arrObject2[7].remove(); - scene->_item7._cardId = scene->_gameBoardSide[2]._arr1[0]._cardId; + scene->_item7._cardId = scene->_gameBoardSide[2]._handCard[0]._cardId; - scene->_item2._card.setStrip(scene->_gameBoardSide[2]._arr1[0]._card._strip); - scene->_item2._card.setFrame(scene->_gameBoardSide[2]._arr1[0]._card._frame); + scene->_item2._card.setStrip(scene->_gameBoardSide[2]._handCard[0]._card._strip); + scene->_item2._card.setFrame(scene->_gameBoardSide[2]._handCard[0]._card._frame); scene->_item2._card.animate(ANIM_MODE_NONE, NULL); - scene->_gameBoardSide[2]._arr1[0]._cardId = 0; - scene->_gameBoardSide[2]._arr1[0]._card.remove(); + scene->_gameBoardSide[2]._handCard[0]._cardId = 0; + scene->_gameBoardSide[2]._handCard[0]._card.remove(); - scene->_item2._card.setPosition(scene->_gameBoardSide[2]._arr1[0]._stationPos, 0); + scene->_item2._card.setPosition(scene->_gameBoardSide[2]._handCard[0]._stationPos, 0); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); @@ -2966,16 +2966,16 @@ void Scene1337::Action1::signal() { scene->actionDisplay(1331, 20, 159, 10, 1, 220, 0, 7, 0, 154, 154); scene->actionDisplay(1331, 21, 159, 10, 1, 220, 0, 7, 0, 154, 154); - scene->_item7._cardId = scene->_gameBoardSide[2]._arr1[1]._cardId; + scene->_item7._cardId = scene->_gameBoardSide[2]._handCard[1]._cardId; - scene->_item2._card.setStrip(scene->_gameBoardSide[2]._arr1[1]._card._strip); - scene->_item2._card.setFrame(scene->_gameBoardSide[2]._arr1[1]._card._frame); + scene->_item2._card.setStrip(scene->_gameBoardSide[2]._handCard[1]._card._strip); + scene->_item2._card.setFrame(scene->_gameBoardSide[2]._handCard[1]._card._frame); scene->_item2._card.animate(ANIM_MODE_NONE, NULL); - scene->_gameBoardSide[2]._arr1[1]._cardId = 0; - scene->_gameBoardSide[2]._arr1[1]._card.remove(); + scene->_gameBoardSide[2]._handCard[1]._cardId = 0; + scene->_gameBoardSide[2]._handCard[1]._card.remove(); - scene->_item2._card.setPosition(scene->_gameBoardSide[2]._arr1[1]._stationPos, 0); + scene->_item2._card.setPosition(scene->_gameBoardSide[2]._handCard[1]._stationPos, 0); scene->_item2._card.show(); NpcMover *mover = new NpcMover(); @@ -2996,17 +2996,17 @@ void Scene1337::Action1::signal() { int i = -1; for (i = 0; i <= 3; i ++) { - scene->_gameBoardSide[3]._arr1[i]._cardId = 0; - scene->_gameBoardSide[3]._arr1[i]._card.remove(); + scene->_gameBoardSide[3]._handCard[i]._cardId = 0; + scene->_gameBoardSide[3]._handCard[i]._card.remove(); - scene->_gameBoardSide[2]._arr1[i]._cardId = 0; - scene->_gameBoardSide[2]._arr1[i]._card.remove(); + scene->_gameBoardSide[2]._handCard[i]._cardId = 0; + scene->_gameBoardSide[2]._handCard[i]._card.remove(); - scene->_gameBoardSide[0]._arr1[i]._cardId = 0; - scene->_gameBoardSide[0]._arr1[i]._card.remove(); + scene->_gameBoardSide[0]._handCard[i]._cardId = 0; + scene->_gameBoardSide[0]._handCard[i]._card.remove(); - scene->_gameBoardSide[1]._arr1[i]._cardId = 0; - scene->_gameBoardSide[1]._arr1[i]._card.remove(); + scene->_gameBoardSide[1]._handCard[i]._cardId = 0; + scene->_gameBoardSide[1]._handCard[i]._card.remove(); } for (i = 0; i <= 7; i++) { @@ -3105,43 +3105,43 @@ void Scene1337::Action3::signal() { scene->_item2._card.addMover(mover, &pt, this); scene->_item2._card.show(); - scene->_gameBoardSide[1]._arr1[0]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[1]._handCard[0]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 1: { - scene->_gameBoardSide[1]._arr1[0]._card.postInit(); - scene->_gameBoardSide[1]._arr1[0]._card._moveDiff = Common::Point(30, 30); - scene->_gameBoardSide[1]._arr1[0]._card.setVisage(1332); - scene->_gameBoardSide[1]._arr1[0]._card.setPosition(scene->_gameBoardSide[1]._arr1[0]._stationPos, 0); - scene->_gameBoardSide[1]._arr1[0]._card.setStrip(1); - scene->_gameBoardSide[1]._arr1[0]._card.setFrame(4); - scene->_gameBoardSide[1]._arr1[0]._card.fixPriority(170); + scene->_gameBoardSide[1]._handCard[0]._card.postInit(); + scene->_gameBoardSide[1]._handCard[0]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[1]._handCard[0]._card.setVisage(1332); + scene->_gameBoardSide[1]._handCard[0]._card.setPosition(scene->_gameBoardSide[1]._handCard[0]._stationPos, 0); + scene->_gameBoardSide[1]._handCard[0]._card.setStrip(1); + scene->_gameBoardSide[1]._handCard[0]._card.setFrame(4); + scene->_gameBoardSide[1]._handCard[0]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(10, 174); NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &pt, this); - scene->_gameBoardSide[2]._arr1[0]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[2]._handCard[0]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 2: { - scene->_gameBoardSide[2]._arr1[0]._card.postInit(); - scene->_gameBoardSide[2]._arr1[0]._card._moveDiff = Common::Point(30, 30); - scene->_gameBoardSide[2]._arr1[0]._card.setVisage(1332); - scene->_gameBoardSide[2]._arr1[0]._card.setPosition(scene->_gameBoardSide[2]._arr1[0]._stationPos, 0); - scene->_gameBoardSide[2]._arr1[0]._card.fixPriority(170); - if (scene->_gameBoardSide[2]._arr1[0]._cardId > 9) { - if (scene->_gameBoardSide[2]._arr1[0]._cardId > 25) { - scene->_gameBoardSide[2]._arr1[0]._card.setStrip(4); - scene->_gameBoardSide[2]._arr1[0]._card.setFrame(scene->_gameBoardSide[2]._arr1[0]._cardId - 25); + scene->_gameBoardSide[2]._handCard[0]._card.postInit(); + scene->_gameBoardSide[2]._handCard[0]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[2]._handCard[0]._card.setVisage(1332); + scene->_gameBoardSide[2]._handCard[0]._card.setPosition(scene->_gameBoardSide[2]._handCard[0]._stationPos, 0); + scene->_gameBoardSide[2]._handCard[0]._card.fixPriority(170); + if (scene->_gameBoardSide[2]._handCard[0]._cardId > 9) { + if (scene->_gameBoardSide[2]._handCard[0]._cardId > 25) { + scene->_gameBoardSide[2]._handCard[0]._card.setStrip(4); + scene->_gameBoardSide[2]._handCard[0]._card.setFrame(scene->_gameBoardSide[2]._handCard[0]._cardId - 25); } else { - scene->_gameBoardSide[2]._arr1[0]._card.setStrip(3); - scene->_gameBoardSide[2]._arr1[0]._card.setFrame(scene->_gameBoardSide[2]._arr1[0]._cardId - 9); + scene->_gameBoardSide[2]._handCard[0]._card.setStrip(3); + scene->_gameBoardSide[2]._handCard[0]._card.setFrame(scene->_gameBoardSide[2]._handCard[0]._cardId - 9); } } else { - scene->_gameBoardSide[2]._arr1[0]._card.setStrip(2); - scene->_gameBoardSide[2]._arr1[0]._card.setFrame(scene->_gameBoardSide[2]._arr1[0]._cardId); + scene->_gameBoardSide[2]._handCard[0]._card.setStrip(2); + scene->_gameBoardSide[2]._handCard[0]._card.setFrame(scene->_gameBoardSide[2]._handCard[0]._cardId); } scene->_aSound2.play(61); @@ -3149,78 +3149,78 @@ void Scene1337::Action3::signal() { NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &pt, this); - scene->_gameBoardSide[3]._arr1[0]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[3]._handCard[0]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 3: { - scene->_gameBoardSide[3]._arr1[0]._card.postInit(); - scene->_gameBoardSide[3]._arr1[0]._card._moveDiff = Common::Point(30, 30); - scene->_gameBoardSide[3]._arr1[0]._card.setVisage(1332); - scene->_gameBoardSide[3]._arr1[0]._card.setPosition(scene->_gameBoardSide[3]._arr1[0]._stationPos, 0); - scene->_gameBoardSide[3]._arr1[0]._card.setStrip(1); - scene->_gameBoardSide[3]._arr1[0]._card.setFrame(3); - scene->_gameBoardSide[3]._arr1[0]._card.fixPriority(170); + scene->_gameBoardSide[3]._handCard[0]._card.postInit(); + scene->_gameBoardSide[3]._handCard[0]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[3]._handCard[0]._card.setVisage(1332); + scene->_gameBoardSide[3]._handCard[0]._card.setPosition(scene->_gameBoardSide[3]._handCard[0]._stationPos, 0); + scene->_gameBoardSide[3]._handCard[0]._card.setStrip(1); + scene->_gameBoardSide[3]._handCard[0]._card.setFrame(3); + scene->_gameBoardSide[3]._handCard[0]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(280, 5); NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &pt, this); - scene->_gameBoardSide[0]._arr1[0]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[0]._handCard[0]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 4: { - scene->_gameBoardSide[0]._arr1[0]._card.postInit(); - scene->_gameBoardSide[0]._arr1[0]._card._moveDiff = Common::Point(30,30); - scene->_gameBoardSide[0]._arr1[0]._card.setVisage(1332); - scene->_gameBoardSide[0]._arr1[0]._card.setPosition(scene->_gameBoardSide[0]._arr1[0]._stationPos, 0); - scene->_gameBoardSide[0]._arr1[0]._card.setStrip(5); - scene->_gameBoardSide[0]._arr1[0]._card.setFrame(1); - scene->_gameBoardSide[0]._arr1[0]._card.fixPriority(170); + scene->_gameBoardSide[0]._handCard[0]._card.postInit(); + scene->_gameBoardSide[0]._handCard[0]._card._moveDiff = Common::Point(30,30); + scene->_gameBoardSide[0]._handCard[0]._card.setVisage(1332); + scene->_gameBoardSide[0]._handCard[0]._card.setPosition(scene->_gameBoardSide[0]._handCard[0]._stationPos, 0); + scene->_gameBoardSide[0]._handCard[0]._card.setStrip(5); + scene->_gameBoardSide[0]._handCard[0]._card.setFrame(1); + scene->_gameBoardSide[0]._handCard[0]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(283, 124); NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &pt, this); - scene->_gameBoardSide[1]._arr1[1]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[1]._handCard[1]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 5: { - scene->_gameBoardSide[1]._arr1[1]._card.postInit(); - scene->_gameBoardSide[1]._arr1[1]._card._moveDiff = Common::Point(30, 30); - scene->_gameBoardSide[1]._arr1[1]._card.setVisage(1332); - scene->_gameBoardSide[1]._arr1[1]._card.setPosition(scene->_gameBoardSide[1]._arr1[1]._stationPos, 0); - scene->_gameBoardSide[1]._arr1[1]._card.setStrip(1); - scene->_gameBoardSide[1]._arr1[1]._card.setFrame(4); - scene->_gameBoardSide[1]._arr1[1]._card.fixPriority(170); + scene->_gameBoardSide[1]._handCard[1]._card.postInit(); + scene->_gameBoardSide[1]._handCard[1]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[1]._handCard[1]._card.setVisage(1332); + scene->_gameBoardSide[1]._handCard[1]._card.setPosition(scene->_gameBoardSide[1]._handCard[1]._stationPos, 0); + scene->_gameBoardSide[1]._handCard[1]._card.setStrip(1); + scene->_gameBoardSide[1]._handCard[1]._card.setFrame(4); + scene->_gameBoardSide[1]._handCard[1]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(37, 174); NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &pt, this); - scene->_gameBoardSide[2]._arr1[1]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[2]._handCard[1]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 6: { - scene->_gameBoardSide[2]._arr1[1]._card.postInit(); - scene->_gameBoardSide[2]._arr1[1]._card._moveDiff = Common::Point(30, 30); - scene->_gameBoardSide[2]._arr1[1]._card.setVisage(1332); - scene->_gameBoardSide[2]._arr1[1]._card.setPosition(scene->_gameBoardSide[2]._arr1[1]._stationPos, 0); - scene->_gameBoardSide[2]._arr1[1]._card.fixPriority(170); - - if (scene->_gameBoardSide[2]._arr1[1]._cardId > 9) { - if (scene->_gameBoardSide[2]._arr1[1]._cardId > 25) { - scene->_gameBoardSide[2]._arr1[1]._card.setStrip(4); - scene->_gameBoardSide[2]._arr1[1]._card.setFrame(scene->_gameBoardSide[2]._arr1[1]._cardId - 25); + scene->_gameBoardSide[2]._handCard[1]._card.postInit(); + scene->_gameBoardSide[2]._handCard[1]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[2]._handCard[1]._card.setVisage(1332); + scene->_gameBoardSide[2]._handCard[1]._card.setPosition(scene->_gameBoardSide[2]._handCard[1]._stationPos, 0); + scene->_gameBoardSide[2]._handCard[1]._card.fixPriority(170); + + if (scene->_gameBoardSide[2]._handCard[1]._cardId > 9) { + if (scene->_gameBoardSide[2]._handCard[1]._cardId > 25) { + scene->_gameBoardSide[2]._handCard[1]._card.setStrip(4); + scene->_gameBoardSide[2]._handCard[1]._card.setFrame(scene->_gameBoardSide[2]._handCard[1]._cardId - 25); } else { - scene->_gameBoardSide[2]._arr1[1]._card.setStrip(3); - scene->_gameBoardSide[2]._arr1[1]._card.setFrame(scene->_gameBoardSide[2]._arr1[1]._cardId - 9); + scene->_gameBoardSide[2]._handCard[1]._card.setStrip(3); + scene->_gameBoardSide[2]._handCard[1]._card.setFrame(scene->_gameBoardSide[2]._handCard[1]._cardId - 9); } } else { - scene->_gameBoardSide[2]._arr1[1]._card.setStrip(2); - scene->_gameBoardSide[2]._arr1[1]._card.setFrame(scene->_gameBoardSide[2]._arr1[1]._cardId); + scene->_gameBoardSide[2]._handCard[1]._card.setStrip(2); + scene->_gameBoardSide[2]._handCard[1]._card.setFrame(scene->_gameBoardSide[2]._handCard[1]._cardId); } scene->_aSound2.play(61); @@ -3229,78 +3229,78 @@ void Scene1337::Action3::signal() { NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &pt, this); - scene->_gameBoardSide[3]._arr1[1]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[3]._handCard[1]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 7: { - scene->_gameBoardSide[3]._arr1[1]._card.postInit(); - scene->_gameBoardSide[3]._arr1[1]._card._moveDiff = Common::Point(30, 30); - scene->_gameBoardSide[3]._arr1[1]._card.setVisage(1332); - scene->_gameBoardSide[3]._arr1[1]._card.setPosition(scene->_gameBoardSide[3]._arr1[1]._stationPos); - scene->_gameBoardSide[3]._arr1[1]._card.setStrip(1); - scene->_gameBoardSide[3]._arr1[1]._card.setFrame(3); - scene->_gameBoardSide[3]._arr1[1]._card.fixPriority(170); + scene->_gameBoardSide[3]._handCard[1]._card.postInit(); + scene->_gameBoardSide[3]._handCard[1]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[3]._handCard[1]._card.setVisage(1332); + scene->_gameBoardSide[3]._handCard[1]._card.setPosition(scene->_gameBoardSide[3]._handCard[1]._stationPos); + scene->_gameBoardSide[3]._handCard[1]._card.setStrip(1); + scene->_gameBoardSide[3]._handCard[1]._card.setFrame(3); + scene->_gameBoardSide[3]._handCard[1]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(253, 5); NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &pt, this); - scene->_gameBoardSide[0]._arr1[1]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[0]._handCard[1]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 8: { - scene->_gameBoardSide[0]._arr1[1]._card.postInit(); - scene->_gameBoardSide[0]._arr1[1]._card._moveDiff = Common::Point(30, 30); - scene->_gameBoardSide[0]._arr1[1]._card.setVisage(1332); - scene->_gameBoardSide[0]._arr1[1]._card.setPosition(scene->_gameBoardSide[0]._arr1[1]._stationPos, 0); - scene->_gameBoardSide[0]._arr1[1]._card.setStrip(5); - scene->_gameBoardSide[0]._arr1[1]._card.setFrame(1); - scene->_gameBoardSide[0]._arr1[1]._card.fixPriority(170); + scene->_gameBoardSide[0]._handCard[1]._card.postInit(); + scene->_gameBoardSide[0]._handCard[1]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[0]._handCard[1]._card.setVisage(1332); + scene->_gameBoardSide[0]._handCard[1]._card.setPosition(scene->_gameBoardSide[0]._handCard[1]._stationPos, 0); + scene->_gameBoardSide[0]._handCard[1]._card.setStrip(5); + scene->_gameBoardSide[0]._handCard[1]._card.setFrame(1); + scene->_gameBoardSide[0]._handCard[1]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(283, 102); NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &pt, this); - scene->_gameBoardSide[1]._arr1[2]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[1]._handCard[2]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 9: { - scene->_gameBoardSide[1]._arr1[2]._card.postInit(); - scene->_gameBoardSide[1]._arr1[2]._card._moveDiff = Common::Point(30, 30); - scene->_gameBoardSide[1]._arr1[2]._card.setVisage(1332); - scene->_gameBoardSide[1]._arr1[2]._card.setPosition(scene->_gameBoardSide[1]._arr1[2]._stationPos, 0); - scene->_gameBoardSide[1]._arr1[2]._card.setStrip(1); - scene->_gameBoardSide[1]._arr1[2]._card.setFrame(4); - scene->_gameBoardSide[1]._arr1[2]._card.fixPriority(170); + scene->_gameBoardSide[1]._handCard[2]._card.postInit(); + scene->_gameBoardSide[1]._handCard[2]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[1]._handCard[2]._card.setVisage(1332); + scene->_gameBoardSide[1]._handCard[2]._card.setPosition(scene->_gameBoardSide[1]._handCard[2]._stationPos, 0); + scene->_gameBoardSide[1]._handCard[2]._card.setStrip(1); + scene->_gameBoardSide[1]._handCard[2]._card.setFrame(4); + scene->_gameBoardSide[1]._handCard[2]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(64, 174); NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &pt, this); - scene->_gameBoardSide[2]._arr1[2]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[2]._handCard[2]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 10: { - scene->_gameBoardSide[2]._arr1[2]._card.postInit(); - scene->_gameBoardSide[2]._arr1[2]._card._moveDiff = Common::Point(30, 30); - scene->_gameBoardSide[2]._arr1[2]._card.setVisage(1332); - scene->_gameBoardSide[2]._arr1[2]._card.setPosition(scene->_gameBoardSide[2]._arr1[2]._stationPos, 0); - scene->_gameBoardSide[2]._arr1[2]._card.fixPriority(170); - - if (scene->_gameBoardSide[2]._arr1[2]._cardId > 9) { - if (scene->_gameBoardSide[2]._arr1[2]._cardId > 25) { - scene->_gameBoardSide[2]._arr1[2]._card.setStrip(4); - scene->_gameBoardSide[2]._arr1[2]._card.setFrame(scene->_gameBoardSide[2]._arr1[2]._cardId - 25); + scene->_gameBoardSide[2]._handCard[2]._card.postInit(); + scene->_gameBoardSide[2]._handCard[2]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[2]._handCard[2]._card.setVisage(1332); + scene->_gameBoardSide[2]._handCard[2]._card.setPosition(scene->_gameBoardSide[2]._handCard[2]._stationPos, 0); + scene->_gameBoardSide[2]._handCard[2]._card.fixPriority(170); + + if (scene->_gameBoardSide[2]._handCard[2]._cardId > 9) { + if (scene->_gameBoardSide[2]._handCard[2]._cardId > 25) { + scene->_gameBoardSide[2]._handCard[2]._card.setStrip(4); + scene->_gameBoardSide[2]._handCard[2]._card.setFrame(scene->_gameBoardSide[2]._handCard[2]._cardId - 25); } else { - scene->_gameBoardSide[2]._arr1[2]._card.setStrip(3); - scene->_gameBoardSide[2]._arr1[2]._card.setFrame(scene->_gameBoardSide[2]._arr1[2]._cardId - 9); + scene->_gameBoardSide[2]._handCard[2]._card.setStrip(3); + scene->_gameBoardSide[2]._handCard[2]._card.setFrame(scene->_gameBoardSide[2]._handCard[2]._cardId - 9); } } else { - scene->_gameBoardSide[2]._arr1[2]._card.setStrip(2); - scene->_gameBoardSide[2]._arr1[2]._card.setFrame(scene->_gameBoardSide[2]._arr1[2]._cardId); + scene->_gameBoardSide[2]._handCard[2]._card.setStrip(2); + scene->_gameBoardSide[2]._handCard[2]._card.setFrame(scene->_gameBoardSide[2]._handCard[2]._cardId); } scene->_aSound2.play(61); @@ -3309,35 +3309,35 @@ void Scene1337::Action3::signal() { NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &pt, this); - scene->_gameBoardSide[3]._arr1[2]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[3]._handCard[2]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 11: { - scene->_gameBoardSide[3]._arr1[2]._card.postInit(); - scene->_gameBoardSide[3]._arr1[2]._card._moveDiff = Common::Point(30, 30); - scene->_gameBoardSide[3]._arr1[2]._card.setVisage(1332); - scene->_gameBoardSide[3]._arr1[2]._card.setPosition(scene->_gameBoardSide[3]._arr1[2]._stationPos, 0); - scene->_gameBoardSide[3]._arr1[2]._card.setStrip(1); - scene->_gameBoardSide[3]._arr1[2]._card.setFrame(3); - scene->_gameBoardSide[3]._arr1[2]._card.fixPriority(170); + scene->_gameBoardSide[3]._handCard[2]._card.postInit(); + scene->_gameBoardSide[3]._handCard[2]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[3]._handCard[2]._card.setVisage(1332); + scene->_gameBoardSide[3]._handCard[2]._card.setPosition(scene->_gameBoardSide[3]._handCard[2]._stationPos, 0); + scene->_gameBoardSide[3]._handCard[2]._card.setStrip(1); + scene->_gameBoardSide[3]._handCard[2]._card.setFrame(3); + scene->_gameBoardSide[3]._handCard[2]._card.fixPriority(170); scene->_aSound2.play(61); Common::Point pt(226, 5); NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &pt, this); - scene->_gameBoardSide[0]._arr1[2]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[0]._handCard[2]._cardId = scene->_field3E28[scene->_field3E24]; } break; case 12: - scene->_gameBoardSide[0]._arr1[2]._card.postInit(); - scene->_gameBoardSide[0]._arr1[2]._card._moveDiff = Common::Point(30, 30); - scene->_gameBoardSide[0]._arr1[2]._card.setVisage(1332); - scene->_gameBoardSide[0]._arr1[2]._card.setPosition(scene->_gameBoardSide[0]._arr1[2]._stationPos, 0); - scene->_gameBoardSide[0]._arr1[2]._card.setStrip(5); - scene->_gameBoardSide[0]._arr1[2]._card.setFrame(1); - scene->_gameBoardSide[0]._arr1[2]._card.fixPriority(170); - scene->_gameBoardSide[0]._arr1[2]._card.hide(); + scene->_gameBoardSide[0]._handCard[2]._card.postInit(); + scene->_gameBoardSide[0]._handCard[2]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[0]._handCard[2]._card.setVisage(1332); + scene->_gameBoardSide[0]._handCard[2]._card.setPosition(scene->_gameBoardSide[0]._handCard[2]._stationPos, 0); + scene->_gameBoardSide[0]._handCard[2]._card.setStrip(5); + scene->_gameBoardSide[0]._handCard[2]._card.setFrame(1); + scene->_gameBoardSide[0]._handCard[2]._card.fixPriority(170); + scene->_gameBoardSide[0]._handCard[2]._card.hide(); default: break; } @@ -3358,7 +3358,7 @@ void Scene1337::Action4::signal() { switch (_actionIndex++) { case 0: - if ((scene->_gameBoardSide[scene->_field423E]._arr1[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._arr3[0]._cardId))) { + if ((scene->_gameBoardSide[scene->_field423E]._handCard[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._arr3[0]._cardId))) { if (scene->_field3E24 < 0) scene->subC264B(scene->_gameBoardSide[scene->_field423E]._arr3[0]._cardId); scene->_item2._card.setPosition(Common::Point(162, 95), 0); @@ -3368,7 +3368,7 @@ void Scene1337::Action4::signal() { NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldB94, this); - scene->_gameBoardSide[scene->_field423E]._arr1[0]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[scene->_field423E]._handCard[0]._cardId = scene->_field3E28[scene->_field3E24]; scene->_field3E28[scene->_field3E24] = 0; scene->_field3E24--; @@ -3382,20 +3382,20 @@ void Scene1337::Action4::signal() { case 1: if ( ( scene->_item2._card._position.x == scene->_gameBoardSide[scene->_field423E]._fieldB94.x) && ( scene->_item2._card._position.y == scene->_gameBoardSide[scene->_field423E]._fieldB94.y) ) { - scene->_gameBoardSide[scene->_field423E]._arr1[0]._card.postInit(); - scene->_gameBoardSide[scene->_field423E]._arr1[0]._card._moveDiff = Common::Point(30, 30); - scene->_gameBoardSide[scene->_field423E]._arr1[0]._card.setVisage(1332); - scene->_gameBoardSide[scene->_field423E]._arr1[0]._card.setPosition(scene->_gameBoardSide[scene->_field423E]._arr1[0]._stationPos, 0); - scene->_gameBoardSide[scene->_field423E]._arr1[0]._card.setStrip(1); - scene->_gameBoardSide[scene->_field423E]._arr1[0]._card.setFrame(scene->_gameBoardSide[scene->_field423E]._fieldBA4); - scene->_gameBoardSide[scene->_field423E]._arr1[0]._card.fixPriority(170); + scene->_gameBoardSide[scene->_field423E]._handCard[0]._card.postInit(); + scene->_gameBoardSide[scene->_field423E]._handCard[0]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[scene->_field423E]._handCard[0]._card.setVisage(1332); + scene->_gameBoardSide[scene->_field423E]._handCard[0]._card.setPosition(scene->_gameBoardSide[scene->_field423E]._handCard[0]._stationPos, 0); + scene->_gameBoardSide[scene->_field423E]._handCard[0]._card.setStrip(1); + scene->_gameBoardSide[scene->_field423E]._handCard[0]._card.setFrame(scene->_gameBoardSide[scene->_field423E]._fieldBA4); + scene->_gameBoardSide[scene->_field423E]._handCard[0]._card.fixPriority(170); } if ((scene->_field4248 == 1) || (scene->_field423E == 2)) - scene->setAnimationInfo(&scene->_gameBoardSide[scene->_field423E]._arr1[0]); + scene->setAnimationInfo(&scene->_gameBoardSide[scene->_field423E]._handCard[0]); scene->_item2._card.hide(); - if ((scene->_gameBoardSide[scene->_field423E]._arr1[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._arr3[0]._cardId == 0))) { + if ((scene->_gameBoardSide[scene->_field423E]._handCard[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._arr3[0]._cardId == 0))) { if (scene->_field3E24 < 0) scene->shuffleCards(); scene->_item2._card.setPosition(Common::Point(162, 95)); @@ -3406,7 +3406,7 @@ void Scene1337::Action4::signal() { NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldB98, this); - scene->_gameBoardSide[scene->_field423E]._arr1[1]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[scene->_field423E]._handCard[1]._cardId = scene->_field3E28[scene->_field3E24]; scene->_field3E28[scene->_field3E24] = 0; scene->_field3E24--; if (scene->_field3E24 < 0) @@ -3417,20 +3417,20 @@ void Scene1337::Action4::signal() { case 2: if ( ( scene->_item2._card._position.x == scene->_gameBoardSide[scene->_field423E]._fieldB98.x) && ( scene->_item2._card._position.y == scene->_gameBoardSide[scene->_field423E]._fieldB98.y) ) { - scene->_gameBoardSide[scene->_field423E]._arr1[1]._card.postInit(); - scene->_gameBoardSide[scene->_field423E]._arr1[1]._card._moveDiff = Common::Point(30, 30); - scene->_gameBoardSide[scene->_field423E]._arr1[1]._card.setVisage(1332); - scene->_gameBoardSide[scene->_field423E]._arr1[1]._card.setPosition(scene->_gameBoardSide[scene->_field423E]._arr1[1]._stationPos, 0); - scene->_gameBoardSide[scene->_field423E]._arr1[1]._card.setStrip(1); - scene->_gameBoardSide[scene->_field423E]._arr1[1]._card.setFrame(scene->_gameBoardSide[scene->_field423E]._fieldBA4); - scene->_gameBoardSide[scene->_field423E]._arr1[1]._card.fixPriority(170); + scene->_gameBoardSide[scene->_field423E]._handCard[1]._card.postInit(); + scene->_gameBoardSide[scene->_field423E]._handCard[1]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[scene->_field423E]._handCard[1]._card.setVisage(1332); + scene->_gameBoardSide[scene->_field423E]._handCard[1]._card.setPosition(scene->_gameBoardSide[scene->_field423E]._handCard[1]._stationPos, 0); + scene->_gameBoardSide[scene->_field423E]._handCard[1]._card.setStrip(1); + scene->_gameBoardSide[scene->_field423E]._handCard[1]._card.setFrame(scene->_gameBoardSide[scene->_field423E]._fieldBA4); + scene->_gameBoardSide[scene->_field423E]._handCard[1]._card.fixPriority(170); } if ((scene->_field4248 == 1) || (scene->_field423E == 2)) - scene->setAnimationInfo(&scene->_gameBoardSide[scene->_field423E]._arr1[1]); + scene->setAnimationInfo(&scene->_gameBoardSide[scene->_field423E]._handCard[1]); scene->_item2._card.hide(); - if ((scene->_gameBoardSide[scene->_field423E]._arr1[2]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._arr3[0]._cardId == 0))) { + if ((scene->_gameBoardSide[scene->_field423E]._handCard[2]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._arr3[0]._cardId == 0))) { if (scene->_field3E24 < 0) scene->shuffleCards(); scene->_item2._card.setPosition(Common::Point(162, 95)); @@ -3441,7 +3441,7 @@ void Scene1337::Action4::signal() { NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldB9C, this); - scene->_gameBoardSide[scene->_field423E]._arr1[2]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[scene->_field423E]._handCard[2]._cardId = scene->_field3E28[scene->_field3E24]; scene->_field3E28[scene->_field3E24] = 0; scene->_field3E24--; if (scene->_field3E24 < 0) @@ -3452,20 +3452,20 @@ void Scene1337::Action4::signal() { case 3: if ( ( scene->_item2._card._position.x == scene->_gameBoardSide[scene->_field423E]._fieldB9C.x) && ( scene->_item2._card._position.y == scene->_gameBoardSide[scene->_field423E]._fieldB9C.y) ) { - scene->_gameBoardSide[scene->_field423E]._arr1[2]._card.postInit(); - scene->_gameBoardSide[scene->_field423E]._arr1[2]._card._moveDiff = Common::Point(30, 30); - scene->_gameBoardSide[scene->_field423E]._arr1[2]._card.setVisage(1332); - scene->_gameBoardSide[scene->_field423E]._arr1[2]._card.setPosition(scene->_gameBoardSide[scene->_field423E]._arr1[2]._stationPos, 0); - scene->_gameBoardSide[scene->_field423E]._arr1[2]._card.setStrip(1); - scene->_gameBoardSide[scene->_field423E]._arr1[2]._card.setFrame(scene->_gameBoardSide[scene->_field423E]._fieldBA4); - scene->_gameBoardSide[scene->_field423E]._arr1[2]._card.fixPriority(170); + scene->_gameBoardSide[scene->_field423E]._handCard[2]._card.postInit(); + scene->_gameBoardSide[scene->_field423E]._handCard[2]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[scene->_field423E]._handCard[2]._card.setVisage(1332); + scene->_gameBoardSide[scene->_field423E]._handCard[2]._card.setPosition(scene->_gameBoardSide[scene->_field423E]._handCard[2]._stationPos, 0); + scene->_gameBoardSide[scene->_field423E]._handCard[2]._card.setStrip(1); + scene->_gameBoardSide[scene->_field423E]._handCard[2]._card.setFrame(scene->_gameBoardSide[scene->_field423E]._fieldBA4); + scene->_gameBoardSide[scene->_field423E]._handCard[2]._card.fixPriority(170); } if ((scene->_field4248 == 1) || (scene->_field423E == 2)) - scene->setAnimationInfo(&scene->_gameBoardSide[scene->_field423E]._arr1[2]); + scene->setAnimationInfo(&scene->_gameBoardSide[scene->_field423E]._handCard[2]); scene->_item2._card.hide(); - if ((scene->_gameBoardSide[scene->_field423E]._arr1[3]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._arr3[0]._cardId == 0))) { + if ((scene->_gameBoardSide[scene->_field423E]._handCard[3]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._arr3[0]._cardId == 0))) { if (scene->_field3E24 < 0) scene->shuffleCards(); scene->_item2._card.setPosition(Common::Point(162, 95)); @@ -3476,7 +3476,7 @@ void Scene1337::Action4::signal() { NpcMover *mover = new NpcMover(); scene->_item2._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldBA0, this); - scene->_gameBoardSide[scene->_field423E]._arr1[3]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[scene->_field423E]._handCard[3]._cardId = scene->_field3E28[scene->_field3E24]; scene->_field3E28[scene->_field3E24] = 0; scene->_field3E24--; if (scene->_field3E24 < 0) @@ -3487,17 +3487,17 @@ void Scene1337::Action4::signal() { case 4: if ( ( scene->_item2._card._position.x == scene->_gameBoardSide[scene->_field423E]._fieldBA0.x) && ( scene->_item2._card._position.y == scene->_gameBoardSide[scene->_field423E]._fieldBA0.y) ) { - scene->_gameBoardSide[scene->_field423E]._arr1[3]._card.postInit(); - scene->_gameBoardSide[scene->_field423E]._arr1[3]._card._moveDiff = Common::Point(30, 30); - scene->_gameBoardSide[scene->_field423E]._arr1[3]._card.setVisage(1332); - scene->_gameBoardSide[scene->_field423E]._arr1[3]._card.setPosition(scene->_gameBoardSide[scene->_field423E]._arr1[3]._stationPos, 0); - scene->_gameBoardSide[scene->_field423E]._arr1[3]._card.setStrip(1); - scene->_gameBoardSide[scene->_field423E]._arr1[3]._card.setFrame(scene->_gameBoardSide[scene->_field423E]._fieldBA4); - scene->_gameBoardSide[scene->_field423E]._arr1[3]._card.fixPriority(170); + scene->_gameBoardSide[scene->_field423E]._handCard[3]._card.postInit(); + scene->_gameBoardSide[scene->_field423E]._handCard[3]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[scene->_field423E]._handCard[3]._card.setVisage(1332); + scene->_gameBoardSide[scene->_field423E]._handCard[3]._card.setPosition(scene->_gameBoardSide[scene->_field423E]._handCard[3]._stationPos, 0); + scene->_gameBoardSide[scene->_field423E]._handCard[3]._card.setStrip(1); + scene->_gameBoardSide[scene->_field423E]._handCard[3]._card.setFrame(scene->_gameBoardSide[scene->_field423E]._fieldBA4); + scene->_gameBoardSide[scene->_field423E]._handCard[3]._card.fixPriority(170); } if ((scene->_field4248 == 1) || (scene->_field423E == 2)) - scene->setAnimationInfo(&scene->_gameBoardSide[scene->_field423E]._arr1[3]); + scene->setAnimationInfo(&scene->_gameBoardSide[scene->_field423E]._handCard[3]); scene->_item2._card.hide(); switch (scene->_field423E) { @@ -3747,7 +3747,7 @@ void Scene1337::Action10::signal() { switch (scene->_field4240) { case 0: for (indexFound = 0; indexFound < 3; indexFound++) { - if (scene->_gameBoardSide[0]._arr1[indexFound]._cardId == 29) { + if (scene->_gameBoardSide[0]._handCard[indexFound]._cardId == 29) { found = true; break; } @@ -3755,7 +3755,7 @@ void Scene1337::Action10::signal() { break; case 1: for (indexFound = 0; indexFound < 3; indexFound++) { - if (scene->_gameBoardSide[1]._arr1[indexFound]._cardId == 29) { + if (scene->_gameBoardSide[1]._handCard[indexFound]._cardId == 29) { found = true; break; } @@ -3763,7 +3763,7 @@ void Scene1337::Action10::signal() { break; case 2: for (indexFound = 0; indexFound < 3; indexFound++) { - if (scene->_gameBoardSide[2]._arr1[indexFound]._cardId == 29) { + if (scene->_gameBoardSide[2]._handCard[indexFound]._cardId == 29) { found = true; break; } @@ -3771,7 +3771,7 @@ void Scene1337::Action10::signal() { break; case 3: for (indexFound = 0; indexFound < 3; indexFound++) { - if (scene->_gameBoardSide[3]._arr1[indexFound]._cardId == 29) { + if (scene->_gameBoardSide[3]._handCard[indexFound]._cardId == 29) { found = true; break; } @@ -3786,11 +3786,11 @@ void Scene1337::Action10::signal() { if (found) { switch (scene->_field4240) { case 0: - scene->subC51A0(&scene->_gameBoardSide[0]._arr1[indexFound], scene->_field3EF8); + scene->subC51A0(&scene->_gameBoardSide[0]._handCard[indexFound], scene->_field3EF8); found2 = true; break; case 1: - scene->subC51A0(&scene->_gameBoardSide[1]._arr1[indexFound], scene->_field3EF8); + scene->subC51A0(&scene->_gameBoardSide[1]._handCard[indexFound], scene->_field3EF8); found2 = true; break; case 2: @@ -3798,12 +3798,12 @@ void Scene1337::Action10::signal() { if (MessageDialog::show(USE_INTERCEPTOR, NO_MSG, YES_MSG) == 0) scene->subC4CEC(); else { - scene->subC51A0(&scene->_gameBoardSide[2]._arr1[indexFound], scene->_field3EF8); + scene->subC51A0(&scene->_gameBoardSide[2]._handCard[indexFound], scene->_field3EF8); found2 = true; } break; case 3: - scene->subC51A0(&scene->_gameBoardSide[3]._arr1[indexFound], scene->_field3EF8); + scene->subC51A0(&scene->_gameBoardSide[3]._handCard[indexFound], scene->_field3EF8); found2 = true; break; default: @@ -3917,18 +3917,18 @@ void Scene1337::Action11::signal() { switch (scene->_field4242) { case 0: for (i = 0; i <= 3; i++) { - if (scene->_gameBoardSide[0]._arr1[i]._cardId == 27) { + if (scene->_gameBoardSide[0]._handCard[i]._cardId == 27) { found = true; break; } } if ((found) && (scene->subC3E92(scene->_field4240) != -1)) { - scene->_field3EF0 = &scene->_gameBoardSide[0]._arr1[i]; + scene->_field3EF0 = &scene->_gameBoardSide[0]._handCard[i]; scene->_field3EF4 = &scene->_gameBoardSide[0]._arr4[0]; if (scene->_field4240 != 0) { int tmpVal = scene->subC3E92(scene->_field4240); - scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4240]._arr1[tmpVal]; + scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4240]._handCard[tmpVal]; } scene->_item1.setAction(&scene->_action12); noAction = false; @@ -3936,18 +3936,18 @@ void Scene1337::Action11::signal() { break; case 1: for (i = 0; i <= 3; i++) { - if (scene->_gameBoardSide[1]._arr1[i]._cardId == 27) { + if (scene->_gameBoardSide[1]._handCard[i]._cardId == 27) { found = true; break; } } if ((found) && (scene->subC3E92(scene->_field4240) != -1)) { - scene->_field3EF0 = &scene->_gameBoardSide[1]._arr1[i]; + scene->_field3EF0 = &scene->_gameBoardSide[1]._handCard[i]; scene->_field3EF4 = &scene->_gameBoardSide[1]._arr4[0]; if (scene->_field4240 != 1) { int tmpVal = scene->subC3E92(scene->_field4240); - scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4240]._arr1[tmpVal]; + scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4240]._handCard[tmpVal]; } scene->_item1.setAction(&scene->_action12); noAction = false; @@ -3955,7 +3955,7 @@ void Scene1337::Action11::signal() { break; case 2: for (i = 0; i <= 3; i++) { - if (scene->_gameBoardSide[2]._arr1[i]._cardId == 27) { + if (scene->_gameBoardSide[2]._handCard[i]._cardId == 27) { found = true; break; } @@ -3967,11 +3967,11 @@ void Scene1337::Action11::signal() { scene->subC4CEC(); else { scene->subC4CEC(); - scene->_field3EF0 = &scene->_gameBoardSide[2]._arr1[i]; + scene->_field3EF0 = &scene->_gameBoardSide[2]._handCard[i]; scene->_field3EF4 = &scene->_gameBoardSide[2]._arr4[0]; if (scene->_field4240 != 2) { int tmpVal = scene->subC3E92(scene->_field4240); - scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4240]._arr1[tmpVal]; + scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4240]._handCard[tmpVal]; } scene->_item1.setAction(&scene->_action12); noAction = false; @@ -3980,18 +3980,18 @@ void Scene1337::Action11::signal() { break; case 3: for (i = 0; i <= 3; i++) { - if (scene->_gameBoardSide[3]._arr1[i]._cardId == 27) { + if (scene->_gameBoardSide[3]._handCard[i]._cardId == 27) { found = true; break; } } if ((found) && (scene->subC3E92(scene->_field4240) != -1)) { - scene->_field3EF0 = &scene->_gameBoardSide[3]._arr1[i]; + scene->_field3EF0 = &scene->_gameBoardSide[3]._handCard[i]; scene->_field3EF4 = &scene->_gameBoardSide[3]._arr4[0]; if (scene->_field4240 != 3) { int tmpVal = scene->subC3E92(scene->_field4240); - scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4240]._arr1[tmpVal]; + scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4240]._handCard[tmpVal]; } scene->_item1.setAction(&scene->_action12); noAction = false; @@ -4008,7 +4008,7 @@ void Scene1337::Action11::signal() { int count = 0; if (scene->_field4242 != 2) { for (i = 0; i <= 3; i++) { - if (scene->_gameBoardSide[scene->_field4242]._arr1[i]._cardId == 0) + if (scene->_gameBoardSide[scene->_field4242]._handCard[i]._cardId == 0) ++count; } } @@ -4045,8 +4045,8 @@ void Scene1337::Action11::signal() { if (scene->_field4242 != 2) { for (i = 0; i <= 3; i++) { - if ((scene->subC2BF8(&scene->_gameBoardSide[scene->_field4242]._arr1[i], scene->_item6._stationPos) != 0) && (scene->_gameBoardSide[scene->_field4242]._arr1[i]._cardId != 0)) { - scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4242]._arr1[i]; + if ((scene->subC2BF8(&scene->_gameBoardSide[scene->_field4242]._handCard[i], scene->_item6._stationPos) != 0) && (scene->_gameBoardSide[scene->_field4242]._handCard[i]._cardId != 0)) { + scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4242]._handCard[i]; found = true; break; } @@ -4058,7 +4058,7 @@ void Scene1337::Action11::signal() { } else { if (scene->_field4242 != 2) { int tmpVal = scene->subC3E92(scene->_field4242); - scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4242]._arr1[tmpVal]; + scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4242]._handCard[tmpVal]; } } } @@ -4143,19 +4143,19 @@ void Scene1337::Action12::signal() { switch (scene->_field4240) { case 0: for (i = 0; i <= 3; i++) { - if (scene->_gameBoardSide[0]._arr1[i]._cardId != 0) + if (scene->_gameBoardSide[0]._handCard[i]._cardId != 0) ++count; } break; case 1: for (i = 0; i <= 3; i++) { - if (scene->_gameBoardSide[3]._arr1[i]._cardId != 0) + if (scene->_gameBoardSide[3]._handCard[i]._cardId != 0) ++count; } break; case 3: for (i = 0; i <= 3; i++) { - if (scene->_gameBoardSide[3]._arr1[i]._cardId != 0) + if (scene->_gameBoardSide[3]._handCard[i]._cardId != 0) ++count; } break; @@ -4194,9 +4194,9 @@ void Scene1337::Action12::signal() { if (scene->_field4240 == 0) { for (i = 0; i <= 3; i++) { - if ((scene->subC2BF8(&scene->_gameBoardSide[0]._arr1[i], scene->_item6._stationPos) != 0) && (scene->_gameBoardSide[0]._arr1[i]._cardId != 0)) { + if ((scene->subC2BF8(&scene->_gameBoardSide[0]._handCard[i], scene->_item6._stationPos) != 0) && (scene->_gameBoardSide[0]._handCard[i]._cardId != 0)) { found = true; - scene->_field3EF8 = &scene->_gameBoardSide[0]._arr1[i]; + scene->_field3EF8 = &scene->_gameBoardSide[0]._handCard[i]; break; } } @@ -4204,9 +4204,9 @@ void Scene1337::Action12::signal() { if (scene->_field4240 == 3) { for (i = 0; i <= 3; i++) { - if ((scene->subC2BF8(&scene->_gameBoardSide[3]._arr1[i], scene->_item6._stationPos) != 0) && (scene->_gameBoardSide[3]._arr1[i]._cardId != 0)) { + if ((scene->subC2BF8(&scene->_gameBoardSide[3]._handCard[i], scene->_item6._stationPos) != 0) && (scene->_gameBoardSide[3]._handCard[i]._cardId != 0)) { found = true; - scene->_field3EF8 = &scene->_gameBoardSide[3]._arr1[i]; + scene->_field3EF8 = &scene->_gameBoardSide[3]._handCard[i]; break; } } @@ -4214,9 +4214,9 @@ void Scene1337::Action12::signal() { if (scene->_field4240 == 1) { for (i = 0; i <= 3; i++) { - if ((scene->subC2BF8(&scene->_gameBoardSide[1]._arr1[i], scene->_item6._stationPos) != 0) && (scene->_gameBoardSide[1]._arr1[i]._cardId != 0)) { + if ((scene->subC2BF8(&scene->_gameBoardSide[1]._handCard[i], scene->_item6._stationPos) != 0) && (scene->_gameBoardSide[1]._handCard[i]._cardId != 0)) { found = true; - scene->_field3EF8 = &scene->_gameBoardSide[1]._arr1[i]; + scene->_field3EF8 = &scene->_gameBoardSide[1]._handCard[i]; break; } } @@ -4227,16 +4227,16 @@ void Scene1337::Action12::signal() { if (scene->_field4240 != 1) { switch (scene->_field4240) { case 0: - scene->_field3EF8 = &scene->_gameBoardSide[0]._arr1[scene->subC3E92(0)]; + scene->_field3EF8 = &scene->_gameBoardSide[0]._handCard[scene->subC3E92(0)]; break; case 3: - scene->_field3EF8 = &scene->_gameBoardSide[3]._arr1[scene->subC3E92(3)]; + scene->_field3EF8 = &scene->_gameBoardSide[3]._handCard[scene->subC3E92(3)]; break; default: break; } } else { - scene->_field3EF8 = &scene->_gameBoardSide[1]._arr1[scene->subC3E92(1)]; + scene->_field3EF8 = &scene->_gameBoardSide[1]._handCard[scene->subC3E92(1)]; } } @@ -4339,10 +4339,10 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _field3EF4 = NULL; _field3EF8 = NULL; - _gameBoardSide[2]._arr1[0]._stationPos = Common::Point(10, 174); - _gameBoardSide[2]._arr1[1]._stationPos = Common::Point(37, 174); - _gameBoardSide[2]._arr1[2]._stationPos = Common::Point(64, 174); - _gameBoardSide[2]._arr1[3]._stationPos = Common::Point(91, 174); + _gameBoardSide[2]._handCard[0]._stationPos = Common::Point(10, 174); + _gameBoardSide[2]._handCard[1]._stationPos = Common::Point(37, 174); + _gameBoardSide[2]._handCard[2]._stationPos = Common::Point(64, 174); + _gameBoardSide[2]._handCard[3]._stationPos = Common::Point(91, 174); _gameBoardSide[2]._outpostStation[0]._stationPos = Common::Point(119, 174); _gameBoardSide[2]._outpostStation[1]._stationPos = Common::Point(119, 148); @@ -4363,10 +4363,10 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _gameBoardSide[2]._fieldBA0 = Common::Point(91, 174); _gameBoardSide[2]._fieldBA4 = 2; - _gameBoardSide[3]._arr1[0]._stationPos = Common::Point(14, 14); - _gameBoardSide[3]._arr1[1]._stationPos = Common::Point(14, 36); - _gameBoardSide[3]._arr1[2]._stationPos = Common::Point(14, 58); - _gameBoardSide[3]._arr1[3]._stationPos = Common::Point(14, 80); + _gameBoardSide[3]._handCard[0]._stationPos = Common::Point(14, 14); + _gameBoardSide[3]._handCard[1]._stationPos = Common::Point(14, 36); + _gameBoardSide[3]._handCard[2]._stationPos = Common::Point(14, 58); + _gameBoardSide[3]._handCard[3]._stationPos = Common::Point(14, 80); _gameBoardSide[3]._outpostStation[0]._stationPos = Common::Point(37, 66); _gameBoardSide[3]._outpostStation[1]._stationPos = Common::Point(63, 66); @@ -4387,10 +4387,10 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _gameBoardSide[3]._fieldBA0 = Common::Point(14, 80); _gameBoardSide[3]._fieldBA4 = 3; - _gameBoardSide[0]._arr1[0]._stationPos = Common::Point(280, 5); - _gameBoardSide[0]._arr1[1]._stationPos = Common::Point(253, 5); - _gameBoardSide[0]._arr1[2]._stationPos = Common::Point(226, 5); - _gameBoardSide[0]._arr1[3]._stationPos = Common::Point(199, 5); + _gameBoardSide[0]._handCard[0]._stationPos = Common::Point(280, 5); + _gameBoardSide[0]._handCard[1]._stationPos = Common::Point(253, 5); + _gameBoardSide[0]._handCard[2]._stationPos = Common::Point(226, 5); + _gameBoardSide[0]._handCard[3]._stationPos = Common::Point(199, 5); _gameBoardSide[0]._outpostStation[0]._stationPos = Common::Point(171, 16); _gameBoardSide[0]._outpostStation[1]._stationPos = Common::Point(171, 42); @@ -4411,10 +4411,10 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _gameBoardSide[0]._fieldBA0 = Common::Point(199, 5); _gameBoardSide[0]._fieldBA4 = 2; - _gameBoardSide[1]._arr1[0]._stationPos = Common::Point(283, 146); - _gameBoardSide[1]._arr1[1]._stationPos = Common::Point(283, 124); - _gameBoardSide[1]._arr1[2]._stationPos = Common::Point(283, 102); - _gameBoardSide[1]._arr1[3]._stationPos = Common::Point(283, 80); + _gameBoardSide[1]._handCard[0]._stationPos = Common::Point(283, 146); + _gameBoardSide[1]._handCard[1]._stationPos = Common::Point(283, 124); + _gameBoardSide[1]._handCard[2]._stationPos = Common::Point(283, 102); + _gameBoardSide[1]._handCard[3]._stationPos = Common::Point(283, 80); _gameBoardSide[1]._outpostStation[0]._stationPos = Common::Point(253, 122); _gameBoardSide[1]._outpostStation[1]._stationPos = Common::Point(227, 122); @@ -4659,7 +4659,7 @@ bool Scene1337::subC2687(int arg1) { } int Scene1337::subC26CB(int arg1, int arg2) { - if ((_gameBoardSide[arg1]._arr1[arg2]._cardId > 1) && (_gameBoardSide[arg1]._arr1[arg2]._cardId <= 9)) { + if ((_gameBoardSide[arg1]._handCard[arg2]._cardId > 1) && (_gameBoardSide[arg1]._handCard[arg2]._cardId <= 9)) { return arg2; } @@ -4668,7 +4668,7 @@ int Scene1337::subC26CB(int arg1, int arg2) { int Scene1337::subC2719(int arg1) { for (int i = 0; i <= 3; i++) { - if (_gameBoardSide[arg1]._arr1[i]._cardId == 1) + if (_gameBoardSide[arg1]._handCard[i]._cardId == 1) return i; } @@ -4677,7 +4677,7 @@ int Scene1337::subC2719(int arg1) { int Scene1337::subC274D(int arg1) { for (int i = 0; i <= 3; i++) { - if (_gameBoardSide[arg1]._arr1[i]._cardId == 13) + if (_gameBoardSide[arg1]._handCard[i]._cardId == 13) return i; } @@ -4686,7 +4686,7 @@ int Scene1337::subC274D(int arg1) { int Scene1337::subC2781(int arg1) { for (int i = 0; i <= 3; i++) { - if (_gameBoardSide[arg1]._arr1[i]._cardId == 25) + if (_gameBoardSide[arg1]._handCard[i]._cardId == 25) return i; } @@ -4739,7 +4739,7 @@ void Scene1337::subC2835(int arg1) { switch (arg1) { case 0: for (i = 0; i <= 3; i++) { - if (subC27F9(_gameBoardSide[arg1]._arr1[i]._cardId) != -1) { + if (subC27F9(_gameBoardSide[arg1]._handCard[i]._cardId) != -1) { found = true; break; } @@ -4749,7 +4749,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (subC27B5(_gameBoardSide[arg1]._arr1[i]._cardId) != -1) { + if (subC27B5(_gameBoardSide[arg1]._handCard[i]._cardId) != -1) { found = true; break; } @@ -4759,7 +4759,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if ((_gameBoardSide[arg1]._arr1[i]._cardId > 1) && (_gameBoardSide[arg1]._arr1[i]._cardId <= 9)) { + if ((_gameBoardSide[arg1]._handCard[i]._cardId > 1) && (_gameBoardSide[arg1]._handCard[i]._cardId <= 9)) { found = true; break; } @@ -4769,7 +4769,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if ((_gameBoardSide[arg1]._arr1[i]._cardId >= 26) && (_gameBoardSide[arg1]._arr1[i]._cardId <= 33)) { + if ((_gameBoardSide[arg1]._handCard[i]._cardId >= 26) && (_gameBoardSide[arg1]._handCard[i]._cardId <= 33)) { found = true; break; } @@ -4779,7 +4779,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (_gameBoardSide[arg1]._arr1[i]._cardId == 1) { + if (_gameBoardSide[arg1]._handCard[i]._cardId == 1) { found = true; break; } @@ -4789,7 +4789,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (_gameBoardSide[arg1]._arr1[i]._cardId == 25) { + if (_gameBoardSide[arg1]._handCard[i]._cardId == 25) { found = true; break; } @@ -4799,7 +4799,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (_gameBoardSide[arg1]._arr1[i]._cardId == 13) { + if (_gameBoardSide[arg1]._handCard[i]._cardId == 13) { found = true; break; } @@ -4807,7 +4807,7 @@ void Scene1337::subC2835(int arg1) { break; case 1: for (i = 0; i <= 3; i++) { - if ((_gameBoardSide[arg1]._arr1[i]._cardId >= 26) && (_gameBoardSide[arg1]._arr1[i]._cardId <= 33)) { + if ((_gameBoardSide[arg1]._handCard[i]._cardId >= 26) && (_gameBoardSide[arg1]._handCard[i]._cardId <= 33)) { found = true; break; } @@ -4817,7 +4817,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (_gameBoardSide[arg1]._arr1[i]._cardId == 1) { + if (_gameBoardSide[arg1]._handCard[i]._cardId == 1) { found = true; break; } @@ -4827,7 +4827,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if ((_gameBoardSide[arg1]._arr1[i]._cardId > 1) && (_gameBoardSide[arg1]._arr1[i]._cardId <= 9)) { + if ((_gameBoardSide[arg1]._handCard[i]._cardId > 1) && (_gameBoardSide[arg1]._handCard[i]._cardId <= 9)) { found = true; break; } @@ -4837,7 +4837,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (subC27F9(_gameBoardSide[arg1]._arr1[i]._cardId) != -1) { + if (subC27F9(_gameBoardSide[arg1]._handCard[i]._cardId) != -1) { found = true; break; } @@ -4847,7 +4847,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (subC27B5(_gameBoardSide[arg1]._arr1[i]._cardId) != -1) { + if (subC27B5(_gameBoardSide[arg1]._handCard[i]._cardId) != -1) { found = true; break; } @@ -4857,7 +4857,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (_gameBoardSide[arg1]._arr1[i]._cardId == 25) { + if (_gameBoardSide[arg1]._handCard[i]._cardId == 25) { found = true; break; } @@ -4867,7 +4867,7 @@ void Scene1337::subC2835(int arg1) { break; for (i = 0; i <= 3; i++) { - if (_gameBoardSide[arg1]._arr1[i]._cardId == 13) { + if (_gameBoardSide[arg1]._handCard[i]._cardId == 13) { found = true; break; } @@ -4878,7 +4878,7 @@ void Scene1337::subC2835(int arg1) { return; } - subC4A39(&_gameBoardSide[arg1]._arr1[i]); + subC4A39(&_gameBoardSide[arg1]._handCard[i]); } bool Scene1337::subC2BF8(unkObj1337sub1 *subObj1, Common::Point pt) { @@ -4918,7 +4918,7 @@ void Scene1337::subC2C2F() { found = false; int i; for (i = 0; i <= 3; i++) { - if (subC3386(_gameBoardSide[3]._arr3[0]._cardId, _gameBoardSide[3]._arr1[i]._cardId)) { + if (subC3386(_gameBoardSide[3]._arr3[0]._cardId, _gameBoardSide[3]._handCard[i]._cardId)) { found = true; break; } @@ -4926,7 +4926,7 @@ void Scene1337::subC2C2F() { if (found) { found = false; - subC34A1(&_gameBoardSide[3]._arr1[i], &_gameBoardSide[3]._arr3[0]); + subC34A1(&_gameBoardSide[3]._handCard[i], &_gameBoardSide[3]._arr3[0]); } break; } @@ -4937,12 +4937,12 @@ void Scene1337::subC2C2F() { int randIndx = R2_GLOBALS._randomSource.getRandomNumber(3); - if (_gameBoardSide[3]._arr1[randIndx]._cardId == 1) { + if (_gameBoardSide[3]._handCard[randIndx]._cardId == 1) { found = false; for (int i = 0; i <= 7; i++) { if ((_gameBoardSide[3]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[3]._arr3[0]._cardId))) { - subC340B(&_gameBoardSide[3]._arr1[randIndx], &_gameBoardSide[3]._outpostStation[i]); + subC340B(&_gameBoardSide[3]._handCard[randIndx], &_gameBoardSide[3]._outpostStation[i]); found = true; break; } @@ -4951,11 +4951,11 @@ void Scene1337::subC2C2F() { if (found) { return; } - } else if (_gameBoardSide[3]._arr1[randIndx]._cardId <= 9) { + } else if (_gameBoardSide[3]._handCard[randIndx]._cardId <= 9) { found = false; for (int i = 0; i <= 7; i++) { - if (_gameBoardSide[3]._outpostStation[i]._cardId == _gameBoardSide[3]._arr1[randIndx]._cardId) { + if (_gameBoardSide[3]._outpostStation[i]._cardId == _gameBoardSide[3]._handCard[randIndx]._cardId) { found = true; break; } @@ -4974,7 +4974,7 @@ void Scene1337::subC2C2F() { if (tmpVal == 7) _field424A = 3; - subC33C0(&_gameBoardSide[3]._arr1[randIndx], &_gameBoardSide[3]._outpostStation[i]); + subC33C0(&_gameBoardSide[3]._handCard[randIndx], &_gameBoardSide[3]._outpostStation[i]); found = true; break; } @@ -4982,24 +4982,24 @@ void Scene1337::subC2C2F() { if (found) return; } - } else if (_gameBoardSide[3]._arr1[randIndx]._cardId == 13) { + } else if (_gameBoardSide[3]._handCard[randIndx]._cardId == 13) { int tmpVal = subC331B(3); if (tmpVal != -1) { - subC358E(&_gameBoardSide[3]._arr1[randIndx], tmpVal); + subC358E(&_gameBoardSide[3]._handCard[randIndx], tmpVal); return; } - } else if (_gameBoardSide[3]._arr1[randIndx]._cardId == 25) { + } else if (_gameBoardSide[3]._handCard[randIndx]._cardId == 25) { int tmpVal = -1; found = false; int tmpRandIndx = R2_GLOBALS._randomSource.getRandomNumber(3); for (int i = 0; i <= 3; i++) { if ( (tmpRandIndx != 3) - && ( (_gameBoardSide[tmpRandIndx]._arr1[0]._cardId != 0) - || (_gameBoardSide[tmpRandIndx]._arr1[1]._cardId != 0) - || (_gameBoardSide[tmpRandIndx]._arr1[2]._cardId != 0) - || (_gameBoardSide[tmpRandIndx]._arr1[3]._cardId != 0) )) { + && ( (_gameBoardSide[tmpRandIndx]._handCard[0]._cardId != 0) + || (_gameBoardSide[tmpRandIndx]._handCard[1]._cardId != 0) + || (_gameBoardSide[tmpRandIndx]._handCard[2]._cardId != 0) + || (_gameBoardSide[tmpRandIndx]._handCard[3]._cardId != 0) )) { tmpVal = tmpRandIndx; break; } @@ -5010,11 +5010,11 @@ void Scene1337::subC2C2F() { } if (tmpVal != -1) { - subC318B(3, &_gameBoardSide[3]._arr1[randIndx], tmpVal); + subC318B(3, &_gameBoardSide[3]._handCard[randIndx], tmpVal); return; } } else { - switch (_gameBoardSide[3]._arr1[randIndx]._cardId) { + switch (_gameBoardSide[3]._handCard[randIndx]._cardId) { case 10: // No break on purpose case 11: @@ -5047,7 +5047,7 @@ void Scene1337::subC2C2F() { // It's understandable for 'i', which helps making sure that tmpVal is used properly, // but it's suspect for j for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[tmpRandIndx]._arr3[0]._cardId == 0) && (subC32B1(tmpRandIndx, _gameBoardSide[3]._arr1[randIndx]._cardId))) { + if ((_gameBoardSide[tmpRandIndx]._arr3[0]._cardId == 0) && (subC32B1(tmpRandIndx, _gameBoardSide[3]._handCard[randIndx]._cardId))) { tmpVal = j; } } @@ -5063,7 +5063,7 @@ void Scene1337::subC2C2F() { if (tmpVal != -1) { // Useless second identical check skipped - subC3456(&_gameBoardSide[3]._arr1[randIndx], &_gameBoardSide[tmpVal]._arr3[0]); + subC3456(&_gameBoardSide[3]._handCard[randIndx], &_gameBoardSide[tmpVal]._arr3[0]); return; } } @@ -5072,7 +5072,7 @@ void Scene1337::subC2C2F() { } } - subC4A39(&_gameBoardSide[3]._arr1[randIndx]); + subC4A39(&_gameBoardSide[3]._handCard[randIndx]); } void Scene1337::subC318B(int arg1, unkObj1337sub1 *subObj1, int arg3) { @@ -5083,13 +5083,13 @@ void Scene1337::subC318B(int arg1, unkObj1337sub1 *subObj1, int arg3) { for (;;) { randIndx = R2_GLOBALS._randomSource.getRandomNumber(3); - if (_gameBoardSide[arg3]._arr1[randIndx]._cardId != 0) + if (_gameBoardSide[arg3]._handCard[randIndx]._cardId != 0) break; } _field3EF0 = subObj1; _field3EF4 = &_gameBoardSide[arg3]._arr4[0]; - _field3EF8 = &_gameBoardSide[arg3]._arr1[randIndx]; + _field3EF8 = &_gameBoardSide[arg3]._handCard[randIndx]; _item1.setAction(&_action11); } @@ -5188,16 +5188,16 @@ void Scene1337::subC33C0(unkObj1337sub1 *subObj1, unkObj1337sub1 *subObj2) { } int Scene1337::subC3E92(int arg1) { - if ( (_gameBoardSide[arg1]._arr1[0]._cardId == 0) - && (_gameBoardSide[arg1]._arr1[1]._cardId == 0) - && (_gameBoardSide[arg1]._arr1[2]._cardId == 0) - && (_gameBoardSide[arg1]._arr1[3]._cardId == 0)) + if ( (_gameBoardSide[arg1]._handCard[0]._cardId == 0) + && (_gameBoardSide[arg1]._handCard[1]._cardId == 0) + && (_gameBoardSide[arg1]._handCard[2]._cardId == 0) + && (_gameBoardSide[arg1]._handCard[3]._cardId == 0)) return -1; int randIndx; for (;;) { randIndx = R2_GLOBALS._randomSource.getRandomNumber(3); - if (_gameBoardSide[arg1]._arr1[randIndx]._cardId == 0) + if (_gameBoardSide[arg1]._handCard[randIndx]._cardId == 0) break; } @@ -5706,14 +5706,14 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { || (subC2BF8(&_gameBoardSide[1]._arr4[0], pt)) ) { actionDisplay(1330, 32, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { - if (subC2BF8(&_gameBoardSide[2]._arr1[0], pt)) - displayDialog(_gameBoardSide[2]._arr1[0]._cardId); - else if (subC2BF8(&_gameBoardSide[2]._arr1[1], pt)) - displayDialog(_gameBoardSide[2]._arr1[1]._cardId); - else if (subC2BF8(&_gameBoardSide[2]._arr1[2], pt)) - displayDialog(_gameBoardSide[2]._arr1[2]._cardId); - else if (subC2BF8(&_gameBoardSide[2]._arr1[3], pt)) - displayDialog(_gameBoardSide[2]._arr1[3]._cardId); + if (subC2BF8(&_gameBoardSide[2]._handCard[0], pt)) + displayDialog(_gameBoardSide[2]._handCard[0]._cardId); + else if (subC2BF8(&_gameBoardSide[2]._handCard[1], pt)) + displayDialog(_gameBoardSide[2]._handCard[1]._cardId); + else if (subC2BF8(&_gameBoardSide[2]._handCard[2], pt)) + displayDialog(_gameBoardSide[2]._handCard[2]._cardId); + else if (subC2BF8(&_gameBoardSide[2]._handCard[3], pt)) + displayDialog(_gameBoardSide[2]._handCard[3]._cardId); else if ((curReg >= 6) && (curReg <= 9)) actionDisplay(1330, 29, 159, 10, 1, 200, 0, 7, 0, 154, 154); else if ((curReg >= 11) && (curReg <= 14)) @@ -5940,7 +5940,7 @@ void Scene1337::subCF31D() { found = false; int i; for (i = 0; i <= 3; i++) { - if (subC3386(_gameBoardSide[1]._arr3[0]._cardId, _gameBoardSide[1]._arr1[i]._cardId)) { + if (subC3386(_gameBoardSide[1]._arr3[0]._cardId, _gameBoardSide[1]._handCard[i]._cardId)) { found = true; break; } @@ -5948,7 +5948,7 @@ void Scene1337::subCF31D() { if (found) { tmpVal = 0; - subC34A1(&_gameBoardSide[1]._arr1[i], &_gameBoardSide[1]._arr3[0]); + subC34A1(&_gameBoardSide[1]._handCard[i], &_gameBoardSide[1]._arr3[0]); } } } @@ -5964,7 +5964,7 @@ void Scene1337::subCF31D() { tmpVal = 0; for (int j = 0; j <= 7; j++) { - if (_gameBoardSide[1]._outpostStation[j]._cardId == _gameBoardSide[1]._arr1[tmpIndx]._cardId) { + if (_gameBoardSide[1]._outpostStation[j]._cardId == _gameBoardSide[1]._handCard[tmpIndx]._cardId) { tmpVal = 1; break; } @@ -5985,7 +5985,7 @@ void Scene1337::subCF31D() { if (count == 7) _field424A = 1; - subC33C0(&_gameBoardSide[1]._arr1[tmpIndx], &_gameBoardSide[1]._outpostStation[j]); + subC33C0(&_gameBoardSide[1]._handCard[tmpIndx], &_gameBoardSide[1]._outpostStation[j]); found = true; break; } @@ -6000,7 +6000,7 @@ void Scene1337::subCF31D() { if (tmpVal != -1) { for (int i = 0; i <= 7; i++) { if ((_gameBoardSide[1]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[1]._arr3[0]._cardId))) { - subC340B(&_gameBoardSide[1]._arr1[tmpVal], &_gameBoardSide[1]._outpostStation[i]); + subC340B(&_gameBoardSide[1]._handCard[tmpVal], &_gameBoardSide[1]._outpostStation[i]); found = true; break; } @@ -6014,7 +6014,7 @@ void Scene1337::subCF31D() { int tmpVal2 = subC331B(1); if ((tmpVal != -1) && ( tmpVal2 != -1)) { - subC358E(&_gameBoardSide[1]._arr1[tmpVal], tmpVal2); + subC358E(&_gameBoardSide[1]._handCard[tmpVal], tmpVal2); found = true; } @@ -6027,10 +6027,10 @@ void Scene1337::subCF31D() { int rndVal = R2_GLOBALS._randomSource.getRandomNumber(3); for (int i = 0; i <= 3; i++) { if (rndVal != 1) { - if ( (_gameBoardSide[rndVal]._arr1[0]._cardId != 0) - || (_gameBoardSide[rndVal]._arr1[1]._cardId != 0) - || (_gameBoardSide[rndVal]._arr1[2]._cardId != 0) - || (_gameBoardSide[rndVal]._arr1[3]._cardId == 0)) { + if ( (_gameBoardSide[rndVal]._handCard[0]._cardId != 0) + || (_gameBoardSide[rndVal]._handCard[1]._cardId != 0) + || (_gameBoardSide[rndVal]._handCard[2]._cardId != 0) + || (_gameBoardSide[rndVal]._handCard[3]._cardId == 0)) { count = rndVal; break; } @@ -6042,7 +6042,7 @@ void Scene1337::subCF31D() { } if (count != -1) { - subC318B(1, &_gameBoardSide[1]._arr1[tmpVal], count); + subC318B(1, &_gameBoardSide[1]._handCard[tmpVal], count); found = true; } } @@ -6053,7 +6053,7 @@ void Scene1337::subCF31D() { count = -1; int i; for (i = 0; i <= 3; i++) { - tmpVal = subC27B5(_gameBoardSide[1]._arr1[i]._cardId); + tmpVal = subC27B5(_gameBoardSide[1]._handCard[i]._cardId); if (tmpVal != -1) { int rndVal = R2_GLOBALS._randomSource.getRandomNumber(3); @@ -6063,7 +6063,7 @@ void Scene1337::subCF31D() { for (int k = 0; k <= 7; k++) { // CHECKME: 'k' is not used in that loop. // It looks suspicious. - if ((_gameBoardSide[tmpVal]._arr3[0]._cardId == 0) && (subC32B1(tmpVal, _gameBoardSide[1]._arr1[i]._cardId))) { + if ((_gameBoardSide[tmpVal]._arr3[0]._cardId == 0) && (subC32B1(tmpVal, _gameBoardSide[1]._handCard[i]._cardId))) { count = tmpVal; break; } @@ -6086,18 +6086,18 @@ void Scene1337::subCF31D() { } if (found) - subC3456(&_gameBoardSide[1]._arr1[i], &_gameBoardSide[count]._arr3[0]); + subC3456(&_gameBoardSide[1]._handCard[i], &_gameBoardSide[count]._arr3[0]); else { int j; for (j = 0; j <= 3; j++) { - if (subC27F9(_gameBoardSide[1]._arr1[j]._cardId) != -1) { + if (subC27F9(_gameBoardSide[1]._handCard[j]._cardId) != -1) { count = -1; int rndVal = R2_GLOBALS._randomSource.getRandomNumber(3); for (int l = 0; l <= 3; l++) { if (rndVal != 1) { for (int m = 0; m <= 7; m++) { // 'm' is not used in that loop. It looks suspicious. - if ((_gameBoardSide[rndVal]._arr3[0]._cardId == 0) && (_gameBoardSide[1]._arr1[j]._cardId == 1)) { + if ((_gameBoardSide[rndVal]._arr3[0]._cardId == 0) && (_gameBoardSide[1]._handCard[j]._cardId == 1)) { count = rndVal; break; } @@ -6118,7 +6118,7 @@ void Scene1337::subCF31D() { } if (found) - subC3456(&_gameBoardSide[1]._arr1[j], &_gameBoardSide[count]._arr3[0]); + subC3456(&_gameBoardSide[1]._handCard[j], &_gameBoardSide[count]._arr3[0]); else subC2835(1); } @@ -6153,7 +6153,7 @@ void Scene1337::subCF979() { found = false; for (i = 0; i <= 3; i++) { - if (subC3386(_gameBoardSide[0]._arr3[0]._cardId, _gameBoardSide[0]._arr1[i]._cardId)) { + if (subC3386(_gameBoardSide[0]._arr3[0]._cardId, _gameBoardSide[0]._handCard[i]._cardId)) { found = true; break; } @@ -6161,7 +6161,7 @@ void Scene1337::subCF979() { if (found) { found = false; - subC34A1(&_gameBoardSide[0]._arr1[i], &_gameBoardSide[0]._arr3[0]); + subC34A1(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[0]._arr3[0]); } break; } @@ -6178,7 +6178,7 @@ void Scene1337::subCF979() { if (tmpVal != -1) { bool flag = false; for (int j = 0; j <= 7; j++) { - if (_gameBoardSide[0]._outpostStation[j]._cardId == _gameBoardSide[0]._arr1[tmpVal]._cardId) { + if (_gameBoardSide[0]._outpostStation[j]._cardId == _gameBoardSide[0]._handCard[tmpVal]._cardId) { flag = true; break; } @@ -6197,7 +6197,7 @@ void Scene1337::subCF979() { if (count == 7) _field424A = 0; - subC33C0(&_gameBoardSide[0]._arr1[tmpVal], &_gameBoardSide[0]._outpostStation[j]); + subC33C0(&_gameBoardSide[0]._handCard[tmpVal], &_gameBoardSide[0]._outpostStation[j]); found = true; } } @@ -6217,7 +6217,7 @@ void Scene1337::subCF979() { if (tmpVal != -1) { for (int i = 0; i <= 7; i++) { if ((_gameBoardSide[0]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[0]._arr3[0]._cardId))) { - subC340B(&_gameBoardSide[0]._arr1[tmpVal], &_gameBoardSide[0]._outpostStation[i]); + subC340B(&_gameBoardSide[0]._handCard[tmpVal], &_gameBoardSide[0]._outpostStation[i]); found = true; break; } @@ -6231,7 +6231,7 @@ void Scene1337::subCF979() { if (tmpVal != -1) { for (int i = 0; i <= 7; i++) { if (_gameBoardSide[2]._outpostStation[i]._cardId != 0) { - subC358E(&_gameBoardSide[0]._arr1[tmpVal], 2); + subC358E(&_gameBoardSide[0]._handCard[tmpVal], 2); found = true; break; } @@ -6243,11 +6243,11 @@ void Scene1337::subCF979() { tmpVal = subC2781(0); if (tmpVal != -1) { - if ( (_gameBoardSide[2]._arr1[0]._cardId != 0) - || (_gameBoardSide[2]._arr1[1]._cardId != 0) - || (_gameBoardSide[2]._arr1[2]._cardId != 0) - || (_gameBoardSide[2]._arr1[3]._cardId != 0) ) { - subC318B(0, &_gameBoardSide[0]._arr1[tmpVal], 2); + if ( (_gameBoardSide[2]._handCard[0]._cardId != 0) + || (_gameBoardSide[2]._handCard[1]._cardId != 0) + || (_gameBoardSide[2]._handCard[2]._cardId != 0) + || (_gameBoardSide[2]._handCard[3]._cardId != 0) ) { + subC318B(0, &_gameBoardSide[0]._handCard[tmpVal], 2); found = true; } } @@ -6256,11 +6256,11 @@ void Scene1337::subCF979() { return; for (int i = 0; i <= 3; i++) { - if (subC27B5(_gameBoardSide[0]._arr1[i]._cardId) != -1) { + if (subC27B5(_gameBoardSide[0]._handCard[i]._cardId) != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[2]._arr3[0]._cardId == 0) && (subC32B1(2, _gameBoardSide[0]._arr1[i]._cardId))) { - subC3456(&_gameBoardSide[0]._arr1[i], &_gameBoardSide[2]._arr3[0]); + if ((_gameBoardSide[2]._arr3[0]._cardId == 0) && (subC32B1(2, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[2]._arr3[0]); found = true; break; } @@ -6275,11 +6275,11 @@ void Scene1337::subCF979() { return; for (int i = 0; i <= 3; i++) { - if (subC27F9(_gameBoardSide[0]._arr1[i]._cardId) != -1) { + if (subC27F9(_gameBoardSide[0]._handCard[i]._cardId) != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[2]._arr3[0]._cardId == 0) && (subC32B1(2, _gameBoardSide[0]._arr1[i]._cardId))) { - subC3456(&_gameBoardSide[0]._arr1[i], &_gameBoardSide[2]._arr3[0]); + if ((_gameBoardSide[2]._arr3[0]._cardId == 0) && (subC32B1(2, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[2]._arr3[0]); found = true; } } @@ -6296,7 +6296,7 @@ void Scene1337::subCF979() { int tmpVal2 = subC331B(0); if ((tmpVal != -1) && (tmpVal2 != -1)) { - subC358E(&_gameBoardSide[0]._arr1[tmpVal], tmpVal2); + subC358E(&_gameBoardSide[0]._handCard[tmpVal], tmpVal2); found = true; } @@ -6305,11 +6305,11 @@ void Scene1337::subCF979() { tmpVal = subC2781(0); if (tmpVal != -1) { - if ( (_gameBoardSide[1]._arr1[0]._cardId != 0) - || (_gameBoardSide[1]._arr1[1]._cardId != 0) - || (_gameBoardSide[1]._arr1[2]._cardId != 0) - || (_gameBoardSide[1]._arr1[3]._cardId != 0) ) { - subC318B(0, &_gameBoardSide[0]._arr1[tmpVal], 1); + if ( (_gameBoardSide[1]._handCard[0]._cardId != 0) + || (_gameBoardSide[1]._handCard[1]._cardId != 0) + || (_gameBoardSide[1]._handCard[2]._cardId != 0) + || (_gameBoardSide[1]._handCard[3]._cardId != 0) ) { + subC318B(0, &_gameBoardSide[0]._handCard[tmpVal], 1); found = true; } } @@ -6318,12 +6318,12 @@ void Scene1337::subCF979() { return; for (int i = 0; i <= 3; i++) { - tmpVal = subC27F9(_gameBoardSide[0]._arr1[i]._cardId); + tmpVal = subC27F9(_gameBoardSide[0]._handCard[i]._cardId); if (tmpVal != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[1]._arr3[0]._cardId == 0) && (subC32B1(1, _gameBoardSide[0]._arr1[i]._cardId))) { - subC3456(&_gameBoardSide[0]._arr1[i], &_gameBoardSide[1]._arr3[0]); + if ((_gameBoardSide[1]._arr3[0]._cardId == 0) && (subC32B1(1, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[1]._arr3[0]); found = true; } } @@ -6331,8 +6331,8 @@ void Scene1337::subCF979() { if (!found) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[3]._arr3[0]._cardId == 0) && (subC32B1(3, _gameBoardSide[0]._arr1[i]._cardId))) { - subC3456(&_gameBoardSide[0]._arr1[i], &_gameBoardSide[3]._arr3[0]); + if ((_gameBoardSide[3]._arr3[0]._cardId == 0) && (subC32B1(3, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[3]._arr3[0]); found = true; } } @@ -6347,12 +6347,12 @@ void Scene1337::subCF979() { return; for (int i = 0; i <= 3; i++) { - tmpVal = subC27B5(_gameBoardSide[0]._arr1[i]._cardId); + tmpVal = subC27B5(_gameBoardSide[0]._handCard[i]._cardId); if (tmpVal != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[1]._arr3[0]._cardId == 0) && (subC32B1(1, _gameBoardSide[0]._arr1[i]._cardId))) { - subC3456(&_gameBoardSide[0]._arr1[i], &_gameBoardSide[1]._arr3[0]); + if ((_gameBoardSide[1]._arr3[0]._cardId == 0) && (subC32B1(1, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[1]._arr3[0]); found = true; } } @@ -6360,8 +6360,8 @@ void Scene1337::subCF979() { if (!found) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[3]._arr3[0]._cardId == 0) && (subC32B1(3, _gameBoardSide[0]._arr1[i]._cardId))) { - subC3456(&_gameBoardSide[0]._arr1[i], &_gameBoardSide[3]._arr3[0]); + if ((_gameBoardSide[3]._arr3[0]._cardId == 0) && (subC32B1(3, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[3]._arr3[0]); found = true; } } @@ -6395,61 +6395,61 @@ void Scene1337::subD02CA() { if (R2_GLOBALS._v57810 == 200) { int di; for (di = 0; di < 4; di++) { - if ((subC2BF8(&_gameBoardSide[2]._arr1[di], _item6._stationPos) != 0) && (_gameBoardSide[2]._arr1[di]._cardId != 0)) { - _item6._cardId = _gameBoardSide[2]._arr1[di]._cardId; - _item6._stationPos = _gameBoardSide[2]._arr1[di]._stationPos; + if ((subC2BF8(&_gameBoardSide[2]._handCard[di], _item6._stationPos) != 0) && (_gameBoardSide[2]._handCard[di]._cardId != 0)) { + _item6._cardId = _gameBoardSide[2]._handCard[di]._cardId; + _item6._stationPos = _gameBoardSide[2]._handCard[di]._stationPos; // _item6._actorName = _arrunkObj1337[2]._arr1[di]._actorName; - _item6._fieldE = _gameBoardSide[2]._arr1[di]._fieldE; - _item6._field10 = _gameBoardSide[2]._arr1[di]._field10; + _item6._fieldE = _gameBoardSide[2]._handCard[di]._fieldE; + _item6._field10 = _gameBoardSide[2]._handCard[di]._field10; warning("_item6._field12 = _arrunkObj1337[2]._arr1[di]._field12;"); warning("_item6._field14 = _arrunkObj1337[2]._arr1[di]._field14;"); warning("_item6._field16 = _arrunkObj1337[2]._arr1[di]._field16;"); - _item6._sceneRegionId = _gameBoardSide[2]._arr1[di]._sceneRegionId; - _item6._position = _gameBoardSide[2]._arr1[di]._position; - _item6._yDiff = _gameBoardSide[2]._arr1[di]._yDiff; - _item6._bounds = _gameBoardSide[2]._arr1[di]._bounds; - _item6._resNum = _gameBoardSide[2]._arr1[di]._resNum; - _item6._lookLineNum = _gameBoardSide[2]._arr1[di]._lookLineNum; - _item6._talkLineNum = _gameBoardSide[2]._arr1[di]._talkLineNum; - _item6._useLineNum = _gameBoardSide[2]._arr1[di]._useLineNum; - _item6._action = _gameBoardSide[2]._arr1[di]._action; + _item6._sceneRegionId = _gameBoardSide[2]._handCard[di]._sceneRegionId; + _item6._position = _gameBoardSide[2]._handCard[di]._position; + _item6._yDiff = _gameBoardSide[2]._handCard[di]._yDiff; + _item6._bounds = _gameBoardSide[2]._handCard[di]._bounds; + _item6._resNum = _gameBoardSide[2]._handCard[di]._resNum; + _item6._lookLineNum = _gameBoardSide[2]._handCard[di]._lookLineNum; + _item6._talkLineNum = _gameBoardSide[2]._handCard[di]._talkLineNum; + _item6._useLineNum = _gameBoardSide[2]._handCard[di]._useLineNum; + _item6._action = _gameBoardSide[2]._handCard[di]._action; warning("_item6._field0 = _arrunkObj1337[2]._arr1[di]._field0;"); - _item6._card._updateStartFrame = _gameBoardSide[2]._arr1[di]._card._updateStartFrame; - _item6._card._walkStartFrame = _gameBoardSide[2]._arr1[di]._card._walkStartFrame; + _item6._card._updateStartFrame = _gameBoardSide[2]._handCard[di]._card._updateStartFrame; + _item6._card._walkStartFrame = _gameBoardSide[2]._handCard[di]._card._walkStartFrame; // _field2E is named _field3C in R2R - _item6._card._field2E = _gameBoardSide[2]._arr1[di]._card._field2E; - _item6._card._percent = _gameBoardSide[2]._arr1[di]._card._percent; - _item6._card._priority = _gameBoardSide[2]._arr1[di]._card._priority; - _item6._card._angle = _gameBoardSide[2]._arr1[di]._card._angle; - _item6._card._flags = _gameBoardSide[2]._arr1[di]._card._flags; - _item6._card._xe = _gameBoardSide[2]._arr1[di]._card._xe; - _item6._card._xs = _gameBoardSide[2]._arr1[di]._card._xs; - _item6._card._paneRects[0] = _gameBoardSide[2]._arr1[di]._card._paneRects[0]; - _item6._card._paneRects[1] = _gameBoardSide[2]._arr1[di]._card._paneRects[1]; - _item6._card._visage = _gameBoardSide[2]._arr1[di]._card._visage; - _item6._card._objectWrapper = _gameBoardSide[2]._arr1[di]._card._objectWrapper; - _item6._card._strip = _gameBoardSide[2]._arr1[di]._card._strip; - _item6._card._animateMode = _gameBoardSide[2]._arr1[di]._card._animateMode; - _item6._card._frame = _gameBoardSide[2]._arr1[di]._card._frame; - _item6._card._endFrame = _gameBoardSide[2]._arr1[di]._card._endFrame; + _item6._card._field2E = _gameBoardSide[2]._handCard[di]._card._field2E; + _item6._card._percent = _gameBoardSide[2]._handCard[di]._card._percent; + _item6._card._priority = _gameBoardSide[2]._handCard[di]._card._priority; + _item6._card._angle = _gameBoardSide[2]._handCard[di]._card._angle; + _item6._card._flags = _gameBoardSide[2]._handCard[di]._card._flags; + _item6._card._xe = _gameBoardSide[2]._handCard[di]._card._xe; + _item6._card._xs = _gameBoardSide[2]._handCard[di]._card._xs; + _item6._card._paneRects[0] = _gameBoardSide[2]._handCard[di]._card._paneRects[0]; + _item6._card._paneRects[1] = _gameBoardSide[2]._handCard[di]._card._paneRects[1]; + _item6._card._visage = _gameBoardSide[2]._handCard[di]._card._visage; + _item6._card._objectWrapper = _gameBoardSide[2]._handCard[di]._card._objectWrapper; + _item6._card._strip = _gameBoardSide[2]._handCard[di]._card._strip; + _item6._card._animateMode = _gameBoardSide[2]._handCard[di]._card._animateMode; + _item6._card._frame = _gameBoardSide[2]._handCard[di]._card._frame; + _item6._card._endFrame = _gameBoardSide[2]._handCard[di]._card._endFrame; // _field68 is named _field76 in R2R - _item6._card._field68 = _gameBoardSide[2]._arr1[di]._card._field68; - _item6._card._frameChange = _gameBoardSide[2]._arr1[di]._card._frameChange; - _item6._card._numFrames = _gameBoardSide[2]._arr1[di]._card._numFrames; - _item6._card._regionIndex = _gameBoardSide[2]._arr1[di]._card._regionIndex; - _item6._card._mover = _gameBoardSide[2]._arr1[di]._card._mover; - _item6._card._moveDiff = _gameBoardSide[2]._arr1[di]._card._moveDiff; - _item6._card._moveRate = _gameBoardSide[2]._arr1[di]._card._moveRate; - _item6._card._actorDestPos = _gameBoardSide[2]._arr1[di]._card._actorDestPos; - _item6._card._endAction = _gameBoardSide[2]._arr1[di]._card._endAction; - _item6._card._regionBitList = _gameBoardSide[2]._arr1[di]._card._regionBitList; + _item6._card._field68 = _gameBoardSide[2]._handCard[di]._card._field68; + _item6._card._frameChange = _gameBoardSide[2]._handCard[di]._card._frameChange; + _item6._card._numFrames = _gameBoardSide[2]._handCard[di]._card._numFrames; + _item6._card._regionIndex = _gameBoardSide[2]._handCard[di]._card._regionIndex; + _item6._card._mover = _gameBoardSide[2]._handCard[di]._card._mover; + _item6._card._moveDiff = _gameBoardSide[2]._handCard[di]._card._moveDiff; + _item6._card._moveRate = _gameBoardSide[2]._handCard[di]._card._moveRate; + _item6._card._actorDestPos = _gameBoardSide[2]._handCard[di]._card._actorDestPos; + _item6._card._endAction = _gameBoardSide[2]._handCard[di]._card._endAction; + _item6._card._regionBitList = _gameBoardSide[2]._handCard[di]._card._regionBitList; // _item6._object1._actorName = _arrunkObj1337[2]._arr1[di]._object1._actorName; - _item6._card._fieldE = _gameBoardSide[2]._arr1[di]._card._fieldE; - _item6._card._field10 = _gameBoardSide[2]._arr1[di]._card._field10; + _item6._card._fieldE = _gameBoardSide[2]._handCard[di]._card._fieldE; + _item6._card._field10 = _gameBoardSide[2]._handCard[di]._card._field10; warning("_item6._object1._field12 = _arrunkObj1337[2]._arr1[di]._object1._field12;"); warning("_item6._object1._field14 = _arrunkObj1337[2]._arr1[di]._object1._field14;"); warning("_item6._object1._field16 = _arrunkObj1337[2]._arr1[di]._object1._field16;"); - _item6._card = _gameBoardSide[2]._arr1[di]._card; + _item6._card = _gameBoardSide[2]._handCard[di]._card; } } @@ -6481,15 +6481,15 @@ void Scene1337::subD02CA() { found_di = false; for (int i = 0; i <= 3; i ++) { - if (subC2BF8(&_gameBoardSide[2]._arr1[i], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { - if (_gameBoardSide[2]._arr1[i]._cardId == 0) { - _gameBoardSide[2]._arr1[i]._cardId = _item6._cardId; - _gameBoardSide[2]._arr1[i]._card.postInit(); - _gameBoardSide[2]._arr1[i]._card.hide(); - _gameBoardSide[2]._arr1[i]._card.setVisage(1332); - _gameBoardSide[2]._arr1[i]._card.setPosition(_gameBoardSide[2]._arr1[i]._stationPos, 0); - _gameBoardSide[2]._arr1[i]._card.fixPriority(170); - setAnimationInfo(&_gameBoardSide[2]._arr1[i]); + if (subC2BF8(&_gameBoardSide[2]._handCard[i], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (_gameBoardSide[2]._handCard[i]._cardId == 0) { + _gameBoardSide[2]._handCard[i]._cardId = _item6._cardId; + _gameBoardSide[2]._handCard[i]._card.postInit(); + _gameBoardSide[2]._handCard[i]._card.hide(); + _gameBoardSide[2]._handCard[i]._card.setVisage(1332); + _gameBoardSide[2]._handCard[i]._card.setPosition(_gameBoardSide[2]._handCard[i]._stationPos, 0); + _gameBoardSide[2]._handCard[i]._card.fixPriority(170); + setAnimationInfo(&_gameBoardSide[2]._handCard[i]); setCursorData(5, 1, 4); found = true; _field423E--; @@ -6625,29 +6625,29 @@ void Scene1337::subD02CA() { } else if (_item6._cardId == 25) { int k; if (subC2BF8(&_gameBoardSide[0]._arr4[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { - if ( (_gameBoardSide[0]._arr1[0]._cardId != 0) - || (_gameBoardSide[0]._arr1[1]._cardId != 0) - || (_gameBoardSide[0]._arr1[2]._cardId != 0) - || (_gameBoardSide[0]._arr1[3]._cardId != 0) ) { + if ( (_gameBoardSide[0]._handCard[0]._cardId != 0) + || (_gameBoardSide[0]._handCard[1]._cardId != 0) + || (_gameBoardSide[0]._handCard[2]._cardId != 0) + || (_gameBoardSide[0]._handCard[3]._cardId != 0) ) { for (k = 0; k <= 3; k++){ - if (_gameBoardSide[2]._arr1[k]._cardId == 0) + if (_gameBoardSide[2]._handCard[k]._cardId == 0) break; } - subC318B(2, &_gameBoardSide[2]._arr1[k], 0); + subC318B(2, &_gameBoardSide[2]._handCard[k], 0); return; } else { actionDisplay(1330, 99, 159, 10, 1, 200, 0, 7, 0, 154, 154); } } else if (subC2BF8(&_gameBoardSide[1]._arr4[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { - if ( (_gameBoardSide[1]._arr1[0]._cardId != 0) - || (_gameBoardSide[1]._arr1[1]._cardId != 0) - || (_gameBoardSide[1]._arr1[2]._cardId != 0) - || (_gameBoardSide[1]._arr1[3]._cardId != 0) ) { + if ( (_gameBoardSide[1]._handCard[0]._cardId != 0) + || (_gameBoardSide[1]._handCard[1]._cardId != 0) + || (_gameBoardSide[1]._handCard[2]._cardId != 0) + || (_gameBoardSide[1]._handCard[3]._cardId != 0) ) { for (k = 0; k <= 3; k++){ - if (_gameBoardSide[2]._arr1[k]._cardId == 0) + if (_gameBoardSide[2]._handCard[k]._cardId == 0) break; } - subC318B(2, &_gameBoardSide[2]._arr1[k], 1); + subC318B(2, &_gameBoardSide[2]._handCard[k], 1); return; } else { actionDisplay(1330, 99, 159, 10, 1, 200, 0, 7, 0, 154, 154); @@ -6655,15 +6655,15 @@ void Scene1337::subD02CA() { } if (subC2BF8(&_gameBoardSide[3]._arr4[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { - if ( (_gameBoardSide[3]._arr1[0]._cardId != 0) - || (_gameBoardSide[3]._arr1[1]._cardId != 0) - || (_gameBoardSide[3]._arr1[2]._cardId != 0) - || (_gameBoardSide[3]._arr1[3]._cardId != 0) ) { + if ( (_gameBoardSide[3]._handCard[0]._cardId != 0) + || (_gameBoardSide[3]._handCard[1]._cardId != 0) + || (_gameBoardSide[3]._handCard[2]._cardId != 0) + || (_gameBoardSide[3]._handCard[3]._cardId != 0) ) { for (k = 0; k <= 3; k++){ - if (_gameBoardSide[2]._arr1[k]._cardId == 0) + if (_gameBoardSide[2]._handCard[k]._cardId == 0) break; } - subC318B(2, &_gameBoardSide[2]._arr1[k], 3); + subC318B(2, &_gameBoardSide[2]._handCard[k], 3); return; } else { actionDisplay(1330, 99, 159, 10, 1, 200, 0, 7, 0, 154, 154); diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h index 6db03b46c9..7c1a043577 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.h +++ b/engines/tsage/ringworld2/ringworld2_scenes1.h @@ -196,7 +196,7 @@ class Scene1337 : public SceneExt { class unkObj1337_1: public SceneHotspot { public: - unkObj1337sub1 _arr1[4]; + unkObj1337sub1 _handCard[4]; unkObj1337sub1 _outpostStation[8]; unkObj1337sub1 _arr3[1]; unkObj1337sub1 _arr4[1]; -- cgit v1.2.3 From 43372da1a14de6714d2240e42107e9de0ee1ff79 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 30 Nov 2013 01:24:43 +0100 Subject: TSAGE: R2R - More renaming in scene 1337 --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 894 ++++++++++++------------ engines/tsage/ringworld2/ringworld2_scenes1.h | 10 +- 2 files changed, 452 insertions(+), 452 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index 880df47f0b..0800e28ede 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -2547,13 +2547,13 @@ void Scene1337::Action1::signal() { R2_GLOBALS._sceneObjects->draw(); scene->actionDisplay(1331, 10, 159, 10, 1, 200, 0, 7, 0, 154, 154); - scene->_item2._card.setPosition(Common::Point(162, 95), 0); - scene->_item2._card.show(); + scene->_animatedCard._card.setPosition(Common::Point(162, 95), 0); + scene->_animatedCard._card.show(); scene->_aSound2.play(61); Common::Point pt(91, 174); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &pt, this); + scene->_animatedCard._card.addMover(mover, &pt, this); } break; case 2: { @@ -2565,7 +2565,7 @@ void Scene1337::Action1::signal() { scene->_gameBoardSide[2]._handCard[3]._card.setFrame(2); scene->_gameBoardSide[2]._handCard[3]._card.fixPriority(170); - scene->_item2._card.hide(); + scene->_animatedCard._card.hide(); scene->setAnimationInfo(&scene->_gameBoardSide[2]._handCard[3]); R2_GLOBALS._sceneObjects->draw(); @@ -2580,22 +2580,22 @@ void Scene1337::Action1::signal() { scene->_gameBoardSide[2]._outpostStation[1]._card.setPosition(scene->_gameBoardSide[2]._outpostStation[1]._stationPos, 0); scene->_gameBoardSide[2]._outpostStation[1]._card.hide(); - scene->_item2._card.setStrip(scene->_gameBoardSide[2]._handCard[2]._card._strip); - scene->_item2._card.setFrame(scene->_gameBoardSide[2]._handCard[2]._card._frame); - scene->_item2._card.animate(ANIM_MODE_NONE, NULL); + scene->_animatedCard._card.setStrip(scene->_gameBoardSide[2]._handCard[2]._card._strip); + scene->_animatedCard._card.setFrame(scene->_gameBoardSide[2]._handCard[2]._card._frame); + scene->_animatedCard._card.animate(ANIM_MODE_NONE, NULL); scene->_gameBoardSide[2]._handCard[2]._cardId = 0; scene->_gameBoardSide[2]._handCard[2]._card.remove(); - scene->_item2._card.setPosition(scene->_gameBoardSide[2]._handCard[2]._stationPos, 0); - scene->_item2._card.show(); + scene->_animatedCard._card.setPosition(scene->_gameBoardSide[2]._handCard[2]._stationPos, 0); + scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_gameBoardSide[2]._outpostStation[1]._stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[2]._outpostStation[1]._stationPos, this); } break; case 3: { - scene->_item2._card.hide(); + scene->_animatedCard._card.hide(); scene->setAnimationInfo(&scene->_gameBoardSide[2]._outpostStation[1]); scene->_aSound1.play(59); @@ -2606,44 +2606,44 @@ void Scene1337::Action1::signal() { scene->_gameBoardSide[2]._outpostStation[1]._cardId = scene->_gameBoardSide[2]._handCard[3]._cardId; - scene->_item2._card.setStrip(scene->_gameBoardSide[2]._handCard[3]._card._strip); - scene->_item2._card.setFrame(scene->_gameBoardSide[2]._handCard[3]._card._frame); + scene->_animatedCard._card.setStrip(scene->_gameBoardSide[2]._handCard[3]._card._strip); + scene->_animatedCard._card.setFrame(scene->_gameBoardSide[2]._handCard[3]._card._frame); scene->_gameBoardSide[2]._handCard[3]._cardId = 0; scene->_gameBoardSide[2]._handCard[3]._card.remove(); - scene->_item2._card.setPosition(scene->_gameBoardSide[2]._handCard[3]._stationPos, 0); - scene->_item2._card.show(); + scene->_animatedCard._card.setPosition(scene->_gameBoardSide[2]._handCard[3]._stationPos, 0); + scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_gameBoardSide[2]._outpostStation[1]._stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[2]._outpostStation[1]._stationPos, this); } break; case 4: { - scene->_item2._card.hide(); + scene->_animatedCard._card.hide(); scene->setAnimationInfo(&scene->_gameBoardSide[2]._outpostStation[1]); scene->_aSound1.play(59); - scene->_item7._cardId = 1; - scene->_item7._card.hide(); + scene->_discardPile._cardId = 1; + scene->_discardPile._card.hide(); - scene->_item2._card.setStrip(5); - scene->_item2._card.setFrame(1); - scene->_item2._card.animate(ANIM_MODE_2, NULL); - scene->_item2._card.setPosition(scene->_gameBoardSide[2]._outpostStation[1]._stationPos, 0); - scene->_item2._card.show(); + scene->_animatedCard._card.setStrip(5); + scene->_animatedCard._card.setFrame(1); + scene->_animatedCard._card.animate(ANIM_MODE_2, NULL); + scene->_animatedCard._card.setPosition(scene->_gameBoardSide[2]._outpostStation[1]._stationPos, 0); + scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_item7._stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_discardPile._stationPos, this); } break; case 5: { - scene->_item2._card.hide(); + scene->_animatedCard._card.hide(); - scene->_item7._card.postInit(); - scene->_item7._card.setVisage(1332); - scene->_item7._card.setPosition(scene->_item7._stationPos, 0); - scene->setAnimationInfo(&scene->_item7); + scene->_discardPile._card.postInit(); + scene->_discardPile._card.setVisage(1332); + scene->_discardPile._card.setPosition(scene->_discardPile._stationPos, 0); + scene->setAnimationInfo(&scene->_discardPile); scene->_aSound2.play(61); R2_GLOBALS._sceneObjects->draw(); @@ -2651,25 +2651,25 @@ void Scene1337::Action1::signal() { waitFrames(60); scene->actionDisplay(1331, 14, 159, 10, 1, 200, 0, 7, 0, 154, 154); - scene->_gameBoardSide[2]._arr3[0]._card.postInit(); - scene->_gameBoardSide[2]._arr3[0]._card.setVisage(1332); - scene->_gameBoardSide[2]._arr3[0]._card.setPosition(scene->_gameBoardSide[2]._arr3[0]._stationPos, 0); - scene->_gameBoardSide[2]._arr3[0]._card.hide(); + scene->_gameBoardSide[2]._delayPile[0]._card.postInit(); + scene->_gameBoardSide[2]._delayPile[0]._card.setVisage(1332); + scene->_gameBoardSide[2]._delayPile[0]._card.setPosition(scene->_gameBoardSide[2]._delayPile[0]._stationPos, 0); + scene->_gameBoardSide[2]._delayPile[0]._card.hide(); scene->_gameBoardSide[3]._handCard[2]._cardId = 0; scene->_gameBoardSide[3]._handCard[2].remove(); - scene->_item2._card.setPosition(scene->_gameBoardSide[3]._handCard[2]._stationPos, 0); - scene->_item2._card.show(); + scene->_animatedCard._card.setPosition(scene->_gameBoardSide[3]._handCard[2]._stationPos, 0); + scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_gameBoardSide[2]._arr3[0]._stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[2]._delayPile[0]._stationPos, this); } break; case 6: { - scene->_item2._card.hide(); - scene->_gameBoardSide[2]._arr3[0]._cardId = 21; - scene->setAnimationInfo(&scene->_gameBoardSide[2]._arr3[0]); + scene->_animatedCard._card.hide(); + scene->_gameBoardSide[2]._delayPile[0]._cardId = 21; + scene->setAnimationInfo(&scene->_gameBoardSide[2]._delayPile[0]); scene->_aSound1.play(57); R2_GLOBALS._sceneObjects->draw(); @@ -2683,89 +2683,89 @@ void Scene1337::Action1::signal() { for (i = 0; i <= 7; i++) { tmpVal += 29; - scene->_arrObject1[i].postInit(); - scene->_arrObject1[i].setVisage(1332); - scene->_arrObject1[i].setPosition(Common::Point(tmpVal, 90), 0); - scene->_arrObject1[i].setStrip(3); - scene->_arrObject1[i].fixPriority(190); - - scene->_arrObject2[i].postInit(); - scene->_arrObject2[i].setVisage(1332); - scene->_arrObject2[i].setPosition(Common::Point(tmpVal, 90), 0); - scene->_arrObject2[i].setStrip(7); - scene->_arrObject2[i].setFrame(1); - scene->_arrObject2[i].fixPriority(180); - } - - scene->_arrObject1[0].setFrame(1); - scene->_arrObject1[1].setFrame(3); - scene->_arrObject1[2].setFrame(6); - scene->_arrObject1[3].setFrame(8); - scene->_arrObject1[4].setFrame(9); - scene->_arrObject1[5].setFrame(10); - scene->_arrObject1[6].setFrame(11); - scene->_arrObject1[7].setFrame(12); + scene->_upperDisplayCard[i].postInit(); + scene->_upperDisplayCard[i].setVisage(1332); + scene->_upperDisplayCard[i].setPosition(Common::Point(tmpVal, 90), 0); + scene->_upperDisplayCard[i].setStrip(3); + scene->_upperDisplayCard[i].fixPriority(190); + + scene->_lowerDisplayCard[i].postInit(); + scene->_lowerDisplayCard[i].setVisage(1332); + scene->_lowerDisplayCard[i].setPosition(Common::Point(tmpVal, 90), 0); + scene->_lowerDisplayCard[i].setStrip(7); + scene->_lowerDisplayCard[i].setFrame(1); + scene->_lowerDisplayCard[i].fixPriority(180); + } + + scene->_upperDisplayCard[0].setFrame(1); + scene->_upperDisplayCard[1].setFrame(3); + scene->_upperDisplayCard[2].setFrame(6); + scene->_upperDisplayCard[3].setFrame(8); + scene->_upperDisplayCard[4].setFrame(9); + scene->_upperDisplayCard[5].setFrame(10); + scene->_upperDisplayCard[6].setFrame(11); + scene->_upperDisplayCard[7].setFrame(12); R2_GLOBALS._sceneObjects->draw(); waitFrames(240); - scene->_arrObject1[0].remove(); - scene->_arrObject1[1].remove(); - scene->_arrObject1[2].remove(); - scene->_arrObject1[3].remove(); - scene->_arrObject1[4].remove(); - scene->_arrObject1[5].remove(); - scene->_arrObject1[6].remove(); - scene->_arrObject1[7].remove(); + scene->_upperDisplayCard[0].remove(); + scene->_upperDisplayCard[1].remove(); + scene->_upperDisplayCard[2].remove(); + scene->_upperDisplayCard[3].remove(); + scene->_upperDisplayCard[4].remove(); + scene->_upperDisplayCard[5].remove(); + scene->_upperDisplayCard[6].remove(); + scene->_upperDisplayCard[7].remove(); - scene->_arrObject2[0].remove(); - scene->_arrObject2[1].remove(); - scene->_arrObject2[2].remove(); - scene->_arrObject2[3].remove(); - scene->_arrObject2[4].remove(); - scene->_arrObject2[5].remove(); - scene->_arrObject2[6].remove(); - scene->_arrObject2[7].remove(); + scene->_lowerDisplayCard[0].remove(); + scene->_lowerDisplayCard[1].remove(); + scene->_lowerDisplayCard[2].remove(); + scene->_lowerDisplayCard[3].remove(); + scene->_lowerDisplayCard[4].remove(); + scene->_lowerDisplayCard[5].remove(); + scene->_lowerDisplayCard[6].remove(); + scene->_lowerDisplayCard[7].remove(); - scene->_item7._cardId = scene->_gameBoardSide[2]._arr3[0]._cardId; + scene->_discardPile._cardId = scene->_gameBoardSide[2]._delayPile[0]._cardId; - scene->_gameBoardSide[2]._arr3[0]._cardId = 0; - scene->_gameBoardSide[2]._arr3[0]._card.remove(); + scene->_gameBoardSide[2]._delayPile[0]._cardId = 0; + scene->_gameBoardSide[2]._delayPile[0]._card.remove(); - scene->_item2._card.setPosition(scene->_gameBoardSide[2]._arr3[0]._stationPos, 0); - scene->_item2._card.show(); + scene->_animatedCard._card.setPosition(scene->_gameBoardSide[2]._delayPile[0]._stationPos, 0); + scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_item7._stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_discardPile._stationPos, this); } break; case 7: { - scene->_item2._card.hide(); - scene->setAnimationInfo(&scene->_item7); + scene->_animatedCard._card.hide(); + scene->setAnimationInfo(&scene->_discardPile); scene->_aSound2.play(61); R2_GLOBALS._sceneObjects->draw(); - scene->_gameBoardSide[2]._arr3[0]._card.postInit(); - scene->_gameBoardSide[2]._arr3[0]._card.setVisage(1332); - scene->_gameBoardSide[2]._arr3[0]._card.setPosition(scene->_gameBoardSide[2]._arr3[0]._stationPos, 0); - scene->_gameBoardSide[2]._arr3[0]._card.hide(); + scene->_gameBoardSide[2]._delayPile[0]._card.postInit(); + scene->_gameBoardSide[2]._delayPile[0]._card.setVisage(1332); + scene->_gameBoardSide[2]._delayPile[0]._card.setPosition(scene->_gameBoardSide[2]._delayPile[0]._stationPos, 0); + scene->_gameBoardSide[2]._delayPile[0]._card.hide(); scene->_gameBoardSide[3]._handCard[1]._cardId = 0; scene->_gameBoardSide[3]._handCard[1].remove(); - scene->_item2._card.setPosition(scene->_gameBoardSide[3]._handCard[1]._stationPos, 0); - scene->_item2._card.show(); + scene->_animatedCard._card.setPosition(scene->_gameBoardSide[3]._handCard[1]._stationPos, 0); + scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_gameBoardSide[2]._arr3[0]._stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[2]._delayPile[0]._stationPos, this); } break; case 8: { - scene->_item2._card.hide(); - scene->_gameBoardSide[2]._arr3[0]._cardId = 14; - scene->setAnimationInfo(&scene->_gameBoardSide[2]._arr3[0]); + scene->_animatedCard._card.hide(); + scene->_gameBoardSide[2]._delayPile[0]._cardId = 14; + scene->setAnimationInfo(&scene->_gameBoardSide[2]._delayPile[0]); scene->_aSound1.play(57); R2_GLOBALS._sceneObjects->draw(); @@ -2776,24 +2776,24 @@ void Scene1337::Action1::signal() { for (i = 0; i <= 3; i++) { tmpVal += 29; - scene->_arrObject1[i].postInit(); - scene->_arrObject1[i].setVisage(1332); - scene->_arrObject1[i].setPosition(Common::Point(tmpVal, 71), 0); - scene->_arrObject1[i].setStrip(3); - scene->_arrObject1[i].fixPriority(190); + scene->_upperDisplayCard[i].postInit(); + scene->_upperDisplayCard[i].setVisage(1332); + scene->_upperDisplayCard[i].setPosition(Common::Point(tmpVal, 71), 0); + scene->_upperDisplayCard[i].setStrip(3); + scene->_upperDisplayCard[i].fixPriority(190); - scene->_arrObject2[i].postInit(); - scene->_arrObject2[i].setVisage(1332); - scene->_arrObject2[i].setPosition(Common::Point(tmpVal, 71), 0); - scene->_arrObject2[i].setStrip(7); - scene->_arrObject2[i].setFrame(1); - scene->_arrObject2[i].fixPriority(180); + scene->_lowerDisplayCard[i].postInit(); + scene->_lowerDisplayCard[i].setVisage(1332); + scene->_lowerDisplayCard[i].setPosition(Common::Point(tmpVal, 71), 0); + scene->_lowerDisplayCard[i].setStrip(7); + scene->_lowerDisplayCard[i].setFrame(1); + scene->_lowerDisplayCard[i].fixPriority(180); } - scene->_arrObject1[0].setFrame(2); - scene->_arrObject1[1].setFrame(5); - scene->_arrObject1[2].setFrame(7); - scene->_arrObject1[3].setFrame(15); + scene->_upperDisplayCard[0].setFrame(2); + scene->_upperDisplayCard[1].setFrame(5); + scene->_upperDisplayCard[2].setFrame(7); + scene->_upperDisplayCard[3].setFrame(15); R2_GLOBALS._sceneObjects->draw(); @@ -2804,154 +2804,154 @@ void Scene1337::Action1::signal() { for (i = 4; i <= 7; i++) { tmpVal += 29; - scene->_arrObject1[i].postInit(); - scene->_arrObject1[i].setVisage(1332); - scene->_arrObject1[i].setPosition(Common::Point(tmpVal, 100), 0); - scene->_arrObject1[i].setStrip(4); - scene->_arrObject1[i].fixPriority(190); + scene->_upperDisplayCard[i].postInit(); + scene->_upperDisplayCard[i].setVisage(1332); + scene->_upperDisplayCard[i].setPosition(Common::Point(tmpVal, 100), 0); + scene->_upperDisplayCard[i].setStrip(4); + scene->_upperDisplayCard[i].fixPriority(190); - scene->_arrObject2[i].postInit(); - scene->_arrObject2[i].setVisage(1332); - scene->_arrObject2[i].setPosition(Common::Point(tmpVal, 100), 0); - scene->_arrObject2[i].setStrip(7); - scene->_arrObject2[i].setFrame(1); - scene->_arrObject2[i].fixPriority(180); + scene->_lowerDisplayCard[i].postInit(); + scene->_lowerDisplayCard[i].setVisage(1332); + scene->_lowerDisplayCard[i].setPosition(Common::Point(tmpVal, 100), 0); + scene->_lowerDisplayCard[i].setStrip(7); + scene->_lowerDisplayCard[i].setFrame(1); + scene->_lowerDisplayCard[i].fixPriority(180); } - scene->_arrObject1[4].setFrame(1); - scene->_arrObject1[5].setFrame(5); - scene->_arrObject1[6].setFrame(7); - scene->_arrObject1[7].setFrame(3); + scene->_upperDisplayCard[4].setFrame(1); + scene->_upperDisplayCard[5].setFrame(5); + scene->_upperDisplayCard[6].setFrame(7); + scene->_upperDisplayCard[7].setFrame(3); R2_GLOBALS._sceneObjects->draw(); waitFrames(240); - scene->_arrObject1[0].remove(); - scene->_arrObject1[1].remove(); - scene->_arrObject1[2].remove(); - scene->_arrObject1[3].remove(); - scene->_arrObject1[4].remove(); - scene->_arrObject1[5].remove(); - scene->_arrObject1[6].remove(); - scene->_arrObject1[7].remove(); - - scene->_arrObject2[0].remove(); - scene->_arrObject2[1].remove(); - scene->_arrObject2[2].remove(); - scene->_arrObject2[3].remove(); - scene->_arrObject2[4].remove(); - scene->_arrObject2[5].remove(); - scene->_arrObject2[6].remove(); - scene->_arrObject2[7].remove(); - - scene->_item7._cardId = scene->_gameBoardSide[2]._handCard[0]._cardId; - - scene->_item2._card.setStrip(scene->_gameBoardSide[2]._handCard[0]._card._strip); - scene->_item2._card.setFrame(scene->_gameBoardSide[2]._handCard[0]._card._frame); - scene->_item2._card.animate(ANIM_MODE_NONE, NULL); + scene->_upperDisplayCard[0].remove(); + scene->_upperDisplayCard[1].remove(); + scene->_upperDisplayCard[2].remove(); + scene->_upperDisplayCard[3].remove(); + scene->_upperDisplayCard[4].remove(); + scene->_upperDisplayCard[5].remove(); + scene->_upperDisplayCard[6].remove(); + scene->_upperDisplayCard[7].remove(); + + scene->_lowerDisplayCard[0].remove(); + scene->_lowerDisplayCard[1].remove(); + scene->_lowerDisplayCard[2].remove(); + scene->_lowerDisplayCard[3].remove(); + scene->_lowerDisplayCard[4].remove(); + scene->_lowerDisplayCard[5].remove(); + scene->_lowerDisplayCard[6].remove(); + scene->_lowerDisplayCard[7].remove(); + + scene->_discardPile._cardId = scene->_gameBoardSide[2]._handCard[0]._cardId; + + scene->_animatedCard._card.setStrip(scene->_gameBoardSide[2]._handCard[0]._card._strip); + scene->_animatedCard._card.setFrame(scene->_gameBoardSide[2]._handCard[0]._card._frame); + scene->_animatedCard._card.animate(ANIM_MODE_NONE, NULL); scene->_gameBoardSide[2]._handCard[0]._cardId = 0; scene->_gameBoardSide[2]._handCard[0]._card.remove(); - scene->_item2._card.setPosition(scene->_gameBoardSide[2]._handCard[0]._stationPos, 0); - scene->_item2._card.show(); + scene->_animatedCard._card.setPosition(scene->_gameBoardSide[2]._handCard[0]._stationPos, 0); + scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_gameBoardSide[2]._arr3[0]._stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[2]._delayPile[0]._stationPos, this); } break; case 9: { scene->_aSound1.play(58); - scene->_gameBoardSide[2]._arr3[0]._cardId = 0; - scene->_gameBoardSide[2]._arr3[0].remove(); - scene->_item2._card.setStrip(5); - scene->_item2._card.setFrame(1); - scene->_item2._card.animate(ANIM_MODE_2, NULL); - scene->_item2._card.setPosition(scene->_gameBoardSide[2]._arr3[0]._stationPos, 0); - scene->_item2._card.show(); + scene->_gameBoardSide[2]._delayPile[0]._cardId = 0; + scene->_gameBoardSide[2]._delayPile[0].remove(); + scene->_animatedCard._card.setStrip(5); + scene->_animatedCard._card.setFrame(1); + scene->_animatedCard._card.animate(ANIM_MODE_2, NULL); + scene->_animatedCard._card.setPosition(scene->_gameBoardSide[2]._delayPile[0]._stationPos, 0); + scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_item7._stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_discardPile._stationPos, this); } break; case 10: { - scene->_item2._card.hide(); - scene->setAnimationInfo(&scene->_item7); + scene->_animatedCard._card.hide(); + scene->setAnimationInfo(&scene->_discardPile); scene->_aSound2.play(61); R2_GLOBALS._sceneObjects->draw(); scene->actionDisplay(1331, 18, 159, 10, 1, 200, 0, 7, 0, 154, 154); - scene->_arrObject1[0].postInit(); - scene->_arrObject1[0].setVisage(1332); - scene->_arrObject1[0].setPosition(Common::Point(131, 71), 0); - scene->_arrObject1[0].fixPriority(190); - scene->_arrObject1[0].setStrip(3); - scene->_arrObject1[0].setFrame(4); - - scene->_arrObject2[0].postInit(); - scene->_arrObject2[0].setVisage(1332); - scene->_arrObject2[0].setPosition(Common::Point(131, 71), 0); - scene->_arrObject2[0].setStrip(7); - scene->_arrObject2[0].setFrame(1); - scene->_arrObject2[0].fixPriority(180); - - scene->_arrObject1[1].postInit(); - scene->_arrObject1[1].setVisage(1332); - scene->_arrObject1[1].setPosition(Common::Point(160, 71), 0); - scene->_arrObject1[1].fixPriority(190); - scene->_arrObject1[1].setStrip(3); - scene->_arrObject1[1].setFrame(16); - - scene->_arrObject2[1].postInit(); - scene->_arrObject2[1].setVisage(1332); - scene->_arrObject2[1].setPosition(Common::Point(160, 71), 0); - scene->_arrObject2[1].setStrip(7); - scene->_arrObject2[1].setFrame(1); - scene->_arrObject2[1].fixPriority(180); - - scene->_arrObject1[2].postInit(); - scene->_arrObject1[2].setVisage(1332); - scene->_arrObject1[2].setPosition(Common::Point(131, 100), 0); - scene->_arrObject1[2].fixPriority(190); - scene->_arrObject1[2].setStrip(4); - scene->_arrObject1[2].setFrame(4); - - scene->_arrObject2[2].postInit(); - scene->_arrObject2[2].setVisage(1332); - scene->_arrObject2[2].setPosition(Common::Point(131, 100), 0); - scene->_arrObject2[2].setStrip(7); - scene->_arrObject2[2].setFrame(1); - scene->_arrObject2[2].fixPriority(180); - - scene->_arrObject1[3].postInit(); - scene->_arrObject1[3].setVisage(1332); - scene->_arrObject1[3].setPosition(Common::Point(160, 100), 0); - scene->_arrObject1[3].fixPriority(190); - scene->_arrObject1[3].setStrip(4); - scene->_arrObject1[3].setFrame(2); - - scene->_arrObject2[3].postInit(); - scene->_arrObject2[3].setVisage(1332); - scene->_arrObject2[3].setPosition(Common::Point(160, 100), 0); - scene->_arrObject2[3].setStrip(7); - scene->_arrObject2[3].setFrame(1); - scene->_arrObject2[3].fixPriority(180); + scene->_upperDisplayCard[0].postInit(); + scene->_upperDisplayCard[0].setVisage(1332); + scene->_upperDisplayCard[0].setPosition(Common::Point(131, 71), 0); + scene->_upperDisplayCard[0].fixPriority(190); + scene->_upperDisplayCard[0].setStrip(3); + scene->_upperDisplayCard[0].setFrame(4); + + scene->_lowerDisplayCard[0].postInit(); + scene->_lowerDisplayCard[0].setVisage(1332); + scene->_lowerDisplayCard[0].setPosition(Common::Point(131, 71), 0); + scene->_lowerDisplayCard[0].setStrip(7); + scene->_lowerDisplayCard[0].setFrame(1); + scene->_lowerDisplayCard[0].fixPriority(180); + + scene->_upperDisplayCard[1].postInit(); + scene->_upperDisplayCard[1].setVisage(1332); + scene->_upperDisplayCard[1].setPosition(Common::Point(160, 71), 0); + scene->_upperDisplayCard[1].fixPriority(190); + scene->_upperDisplayCard[1].setStrip(3); + scene->_upperDisplayCard[1].setFrame(16); + + scene->_lowerDisplayCard[1].postInit(); + scene->_lowerDisplayCard[1].setVisage(1332); + scene->_lowerDisplayCard[1].setPosition(Common::Point(160, 71), 0); + scene->_lowerDisplayCard[1].setStrip(7); + scene->_lowerDisplayCard[1].setFrame(1); + scene->_lowerDisplayCard[1].fixPriority(180); + + scene->_upperDisplayCard[2].postInit(); + scene->_upperDisplayCard[2].setVisage(1332); + scene->_upperDisplayCard[2].setPosition(Common::Point(131, 100), 0); + scene->_upperDisplayCard[2].fixPriority(190); + scene->_upperDisplayCard[2].setStrip(4); + scene->_upperDisplayCard[2].setFrame(4); + + scene->_lowerDisplayCard[2].postInit(); + scene->_lowerDisplayCard[2].setVisage(1332); + scene->_lowerDisplayCard[2].setPosition(Common::Point(131, 100), 0); + scene->_lowerDisplayCard[2].setStrip(7); + scene->_lowerDisplayCard[2].setFrame(1); + scene->_lowerDisplayCard[2].fixPriority(180); + + scene->_upperDisplayCard[3].postInit(); + scene->_upperDisplayCard[3].setVisage(1332); + scene->_upperDisplayCard[3].setPosition(Common::Point(160, 100), 0); + scene->_upperDisplayCard[3].fixPriority(190); + scene->_upperDisplayCard[3].setStrip(4); + scene->_upperDisplayCard[3].setFrame(2); + + scene->_lowerDisplayCard[3].postInit(); + scene->_lowerDisplayCard[3].setVisage(1332); + scene->_lowerDisplayCard[3].setPosition(Common::Point(160, 100), 0); + scene->_lowerDisplayCard[3].setStrip(7); + scene->_lowerDisplayCard[3].setFrame(1); + scene->_lowerDisplayCard[3].fixPriority(180); R2_GLOBALS._sceneObjects->draw(); waitFrames(240); - scene->_arrObject1[0].remove(); - scene->_arrObject1[1].remove(); - scene->_arrObject1[2].remove(); - scene->_arrObject1[3].remove(); + scene->_upperDisplayCard[0].remove(); + scene->_upperDisplayCard[1].remove(); + scene->_upperDisplayCard[2].remove(); + scene->_upperDisplayCard[3].remove(); - scene->_arrObject2[0].remove(); - scene->_arrObject2[1].remove(); - scene->_arrObject2[2].remove(); - scene->_arrObject2[3].remove(); + scene->_lowerDisplayCard[0].remove(); + scene->_lowerDisplayCard[1].remove(); + scene->_lowerDisplayCard[2].remove(); + scene->_lowerDisplayCard[3].remove(); scene->_object1.setFrame(1); scene->_object1.show(); @@ -2966,29 +2966,29 @@ void Scene1337::Action1::signal() { scene->actionDisplay(1331, 20, 159, 10, 1, 220, 0, 7, 0, 154, 154); scene->actionDisplay(1331, 21, 159, 10, 1, 220, 0, 7, 0, 154, 154); - scene->_item7._cardId = scene->_gameBoardSide[2]._handCard[1]._cardId; + scene->_discardPile._cardId = scene->_gameBoardSide[2]._handCard[1]._cardId; - scene->_item2._card.setStrip(scene->_gameBoardSide[2]._handCard[1]._card._strip); - scene->_item2._card.setFrame(scene->_gameBoardSide[2]._handCard[1]._card._frame); - scene->_item2._card.animate(ANIM_MODE_NONE, NULL); + scene->_animatedCard._card.setStrip(scene->_gameBoardSide[2]._handCard[1]._card._strip); + scene->_animatedCard._card.setFrame(scene->_gameBoardSide[2]._handCard[1]._card._frame); + scene->_animatedCard._card.animate(ANIM_MODE_NONE, NULL); scene->_gameBoardSide[2]._handCard[1]._cardId = 0; scene->_gameBoardSide[2]._handCard[1]._card.remove(); - scene->_item2._card.setPosition(scene->_gameBoardSide[2]._handCard[1]._stationPos, 0); - scene->_item2._card.show(); + scene->_animatedCard._card.setPosition(scene->_gameBoardSide[2]._handCard[1]._stationPos, 0); + scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_item7._stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_discardPile._stationPos, this); } break; case 11: { - scene->_item2._card.hide(); - scene->setAnimationInfo(&scene->_item7); + scene->_animatedCard._card.hide(); + scene->setAnimationInfo(&scene->_discardPile); scene->_aSound2.play(61); - scene->_item2._card.setStrip(5); - scene->_item2._card.setFrame(1); - scene->_item2._card.animate(ANIM_MODE_2, NULL); + scene->_animatedCard._card.setStrip(5); + scene->_animatedCard._card.setFrame(1); + scene->_animatedCard._card.animate(ANIM_MODE_2, NULL); R2_GLOBALS._sceneObjects->draw(); @@ -3023,11 +3023,11 @@ void Scene1337::Action1::signal() { scene->_gameBoardSide[1]._outpostStation[i]._card.remove(); } - scene->_gameBoardSide[2]._arr3[0]._cardId = 0; - scene->_gameBoardSide[2]._arr3[0]._card.remove(); + scene->_gameBoardSide[2]._delayPile[0]._cardId = 0; + scene->_gameBoardSide[2]._delayPile[0]._card.remove(); - scene->_item7._cardId = 0; - scene->_item7._card.remove(); + scene->_discardPile._cardId = 0; + scene->_discardPile._card.remove(); scene->_background2.remove(); } @@ -3057,8 +3057,8 @@ void Scene1337::Action2::signal() { scene->_item3._card.fixPriority(300); scene->_item3._card.setPosition(Common::Point(156, 108)); - scene->_item7._card.remove(); - scene->_item7._cardId = 0; + scene->_discardPile._card.remove(); + scene->_discardPile._cardId = 0; scene->_aSound1.play(60); scene->_item3._card.animate(ANIM_MODE_5, this); @@ -3088,23 +3088,23 @@ void Scene1337::Action2::signal() { void Scene1337::Action3::signal() { Scene1337 *scene = (Scene1337 *)R2_GLOBALS._sceneManager._scene; - scene->_item2._card.setPosition(Common::Point(162, 95), 0); + scene->_animatedCard._card.setPosition(Common::Point(162, 95), 0); switch (_actionIndex++) { case 0: { - scene->_item2._card._moveDiff = Common::Point(30, 30); - scene->_item2._card.setVisage(1332); - scene->_item2._card.setStrip(5); - scene->_item2._card.setFrame(1); - scene->_item2._card.fixPriority(400); - scene->_item2._card.animate(ANIM_MODE_2, NULL); + scene->_animatedCard._card._moveDiff = Common::Point(30, 30); + scene->_animatedCard._card.setVisage(1332); + scene->_animatedCard._card.setStrip(5); + scene->_animatedCard._card.setFrame(1); + scene->_animatedCard._card.fixPriority(400); + scene->_animatedCard._card.animate(ANIM_MODE_2, NULL); scene->_aSound2.play(61); Common::Point pt(283, 146); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &pt, this); + scene->_animatedCard._card.addMover(mover, &pt, this); - scene->_item2._card.show(); + scene->_animatedCard._card.show(); scene->_gameBoardSide[1]._handCard[0]._cardId = scene->_field3E28[scene->_field3E24]; } break; @@ -3120,7 +3120,7 @@ void Scene1337::Action3::signal() { Common::Point pt(10, 174); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &pt, this); + scene->_animatedCard._card.addMover(mover, &pt, this); scene->_gameBoardSide[2]._handCard[0]._cardId = scene->_field3E28[scene->_field3E24]; } @@ -3147,7 +3147,7 @@ void Scene1337::Action3::signal() { Common::Point pt(14, 14); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &pt, this); + scene->_animatedCard._card.addMover(mover, &pt, this); scene->_gameBoardSide[3]._handCard[0]._cardId = scene->_field3E28[scene->_field3E24]; } @@ -3164,7 +3164,7 @@ void Scene1337::Action3::signal() { Common::Point pt(280, 5); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &pt, this); + scene->_animatedCard._card.addMover(mover, &pt, this); scene->_gameBoardSide[0]._handCard[0]._cardId = scene->_field3E28[scene->_field3E24]; } @@ -3181,7 +3181,7 @@ void Scene1337::Action3::signal() { Common::Point pt(283, 124); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &pt, this); + scene->_animatedCard._card.addMover(mover, &pt, this); scene->_gameBoardSide[1]._handCard[1]._cardId = scene->_field3E28[scene->_field3E24]; } @@ -3198,7 +3198,7 @@ void Scene1337::Action3::signal() { Common::Point pt(37, 174); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &pt, this); + scene->_animatedCard._card.addMover(mover, &pt, this); scene->_gameBoardSide[2]._handCard[1]._cardId = scene->_field3E28[scene->_field3E24]; } @@ -3227,7 +3227,7 @@ void Scene1337::Action3::signal() { Common::Point pt(14, 36); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &pt, this); + scene->_animatedCard._card.addMover(mover, &pt, this); scene->_gameBoardSide[3]._handCard[1]._cardId = scene->_field3E28[scene->_field3E24]; } @@ -3244,7 +3244,7 @@ void Scene1337::Action3::signal() { Common::Point pt(253, 5); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &pt, this); + scene->_animatedCard._card.addMover(mover, &pt, this); scene->_gameBoardSide[0]._handCard[1]._cardId = scene->_field3E28[scene->_field3E24]; } @@ -3261,7 +3261,7 @@ void Scene1337::Action3::signal() { Common::Point pt(283, 102); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &pt, this); + scene->_animatedCard._card.addMover(mover, &pt, this); scene->_gameBoardSide[1]._handCard[2]._cardId = scene->_field3E28[scene->_field3E24]; } @@ -3278,7 +3278,7 @@ void Scene1337::Action3::signal() { Common::Point pt(64, 174); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &pt, this); + scene->_animatedCard._card.addMover(mover, &pt, this); scene->_gameBoardSide[2]._handCard[2]._cardId = scene->_field3E28[scene->_field3E24]; } @@ -3307,7 +3307,7 @@ void Scene1337::Action3::signal() { Common::Point pt(14, 58); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &pt, this); + scene->_animatedCard._card.addMover(mover, &pt, this); scene->_gameBoardSide[3]._handCard[2]._cardId = scene->_field3E28[scene->_field3E24]; } @@ -3324,7 +3324,7 @@ void Scene1337::Action3::signal() { Common::Point pt(226, 5); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &pt, this); + scene->_animatedCard._card.addMover(mover, &pt, this); scene->_gameBoardSide[0]._handCard[2]._cardId = scene->_field3E28[scene->_field3E24]; } @@ -3358,15 +3358,15 @@ void Scene1337::Action4::signal() { switch (_actionIndex++) { case 0: - if ((scene->_gameBoardSide[scene->_field423E]._handCard[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._arr3[0]._cardId))) { + if ((scene->_gameBoardSide[scene->_field423E]._handCard[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._delayPile[0]._cardId))) { if (scene->_field3E24 < 0) - scene->subC264B(scene->_gameBoardSide[scene->_field423E]._arr3[0]._cardId); - scene->_item2._card.setPosition(Common::Point(162, 95), 0); - scene->_item2._card.show(); + scene->subC264B(scene->_gameBoardSide[scene->_field423E]._delayPile[0]._cardId); + scene->_animatedCard._card.setPosition(Common::Point(162, 95), 0); + scene->_animatedCard._card.show(); scene->_aSound2.play(61); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldB94, this); + scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldB94, this); scene->_gameBoardSide[scene->_field423E]._handCard[0]._cardId = scene->_field3E28[scene->_field3E24]; scene->_field3E28[scene->_field3E24] = 0; @@ -3380,8 +3380,8 @@ void Scene1337::Action4::signal() { } break; case 1: - if ( ( scene->_item2._card._position.x == scene->_gameBoardSide[scene->_field423E]._fieldB94.x) - && ( scene->_item2._card._position.y == scene->_gameBoardSide[scene->_field423E]._fieldB94.y) ) { + if ( ( scene->_animatedCard._card._position.x == scene->_gameBoardSide[scene->_field423E]._fieldB94.x) + && ( scene->_animatedCard._card._position.y == scene->_gameBoardSide[scene->_field423E]._fieldB94.y) ) { scene->_gameBoardSide[scene->_field423E]._handCard[0]._card.postInit(); scene->_gameBoardSide[scene->_field423E]._handCard[0]._card._moveDiff = Common::Point(30, 30); scene->_gameBoardSide[scene->_field423E]._handCard[0]._card.setVisage(1332); @@ -3394,17 +3394,17 @@ void Scene1337::Action4::signal() { if ((scene->_field4248 == 1) || (scene->_field423E == 2)) scene->setAnimationInfo(&scene->_gameBoardSide[scene->_field423E]._handCard[0]); - scene->_item2._card.hide(); - if ((scene->_gameBoardSide[scene->_field423E]._handCard[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._arr3[0]._cardId == 0))) { + scene->_animatedCard._card.hide(); + if ((scene->_gameBoardSide[scene->_field423E]._handCard[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._delayPile[0]._cardId == 0))) { if (scene->_field3E24 < 0) scene->shuffleCards(); - scene->_item2._card.setPosition(Common::Point(162, 95)); - scene->_item2._card.show(); + scene->_animatedCard._card.setPosition(Common::Point(162, 95)); + scene->_animatedCard._card.show(); scene->_aSound2.play(61); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldB98, this); + scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldB98, this); scene->_gameBoardSide[scene->_field423E]._handCard[1]._cardId = scene->_field3E28[scene->_field3E24]; scene->_field3E28[scene->_field3E24] = 0; @@ -3415,8 +3415,8 @@ void Scene1337::Action4::signal() { signal(); break; case 2: - if ( ( scene->_item2._card._position.x == scene->_gameBoardSide[scene->_field423E]._fieldB98.x) - && ( scene->_item2._card._position.y == scene->_gameBoardSide[scene->_field423E]._fieldB98.y) ) { + if ( ( scene->_animatedCard._card._position.x == scene->_gameBoardSide[scene->_field423E]._fieldB98.x) + && ( scene->_animatedCard._card._position.y == scene->_gameBoardSide[scene->_field423E]._fieldB98.y) ) { scene->_gameBoardSide[scene->_field423E]._handCard[1]._card.postInit(); scene->_gameBoardSide[scene->_field423E]._handCard[1]._card._moveDiff = Common::Point(30, 30); scene->_gameBoardSide[scene->_field423E]._handCard[1]._card.setVisage(1332); @@ -3429,17 +3429,17 @@ void Scene1337::Action4::signal() { if ((scene->_field4248 == 1) || (scene->_field423E == 2)) scene->setAnimationInfo(&scene->_gameBoardSide[scene->_field423E]._handCard[1]); - scene->_item2._card.hide(); - if ((scene->_gameBoardSide[scene->_field423E]._handCard[2]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._arr3[0]._cardId == 0))) { + scene->_animatedCard._card.hide(); + if ((scene->_gameBoardSide[scene->_field423E]._handCard[2]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._delayPile[0]._cardId == 0))) { if (scene->_field3E24 < 0) scene->shuffleCards(); - scene->_item2._card.setPosition(Common::Point(162, 95)); - scene->_item2._card.show(); + scene->_animatedCard._card.setPosition(Common::Point(162, 95)); + scene->_animatedCard._card.show(); scene->_aSound2.play(61); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldB9C, this); + scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldB9C, this); scene->_gameBoardSide[scene->_field423E]._handCard[2]._cardId = scene->_field3E28[scene->_field3E24]; scene->_field3E28[scene->_field3E24] = 0; @@ -3450,8 +3450,8 @@ void Scene1337::Action4::signal() { signal(); break; case 3: - if ( ( scene->_item2._card._position.x == scene->_gameBoardSide[scene->_field423E]._fieldB9C.x) - && ( scene->_item2._card._position.y == scene->_gameBoardSide[scene->_field423E]._fieldB9C.y) ) { + if ( ( scene->_animatedCard._card._position.x == scene->_gameBoardSide[scene->_field423E]._fieldB9C.x) + && ( scene->_animatedCard._card._position.y == scene->_gameBoardSide[scene->_field423E]._fieldB9C.y) ) { scene->_gameBoardSide[scene->_field423E]._handCard[2]._card.postInit(); scene->_gameBoardSide[scene->_field423E]._handCard[2]._card._moveDiff = Common::Point(30, 30); scene->_gameBoardSide[scene->_field423E]._handCard[2]._card.setVisage(1332); @@ -3464,17 +3464,17 @@ void Scene1337::Action4::signal() { if ((scene->_field4248 == 1) || (scene->_field423E == 2)) scene->setAnimationInfo(&scene->_gameBoardSide[scene->_field423E]._handCard[2]); - scene->_item2._card.hide(); - if ((scene->_gameBoardSide[scene->_field423E]._handCard[3]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._arr3[0]._cardId == 0))) { + scene->_animatedCard._card.hide(); + if ((scene->_gameBoardSide[scene->_field423E]._handCard[3]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._delayPile[0]._cardId == 0))) { if (scene->_field3E24 < 0) scene->shuffleCards(); - scene->_item2._card.setPosition(Common::Point(162, 95)); - scene->_item2._card.show(); + scene->_animatedCard._card.setPosition(Common::Point(162, 95)); + scene->_animatedCard._card.show(); scene->_aSound2.play(61); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldBA0, this); + scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldBA0, this); scene->_gameBoardSide[scene->_field423E]._handCard[3]._cardId = scene->_field3E28[scene->_field3E24]; scene->_field3E28[scene->_field3E24] = 0; @@ -3485,8 +3485,8 @@ void Scene1337::Action4::signal() { signal(); break; case 4: - if ( ( scene->_item2._card._position.x == scene->_gameBoardSide[scene->_field423E]._fieldBA0.x) - && ( scene->_item2._card._position.y == scene->_gameBoardSide[scene->_field423E]._fieldBA0.y) ) { + if ( ( scene->_animatedCard._card._position.x == scene->_gameBoardSide[scene->_field423E]._fieldBA0.x) + && ( scene->_animatedCard._card._position.y == scene->_gameBoardSide[scene->_field423E]._fieldBA0.y) ) { scene->_gameBoardSide[scene->_field423E]._handCard[3]._card.postInit(); scene->_gameBoardSide[scene->_field423E]._handCard[3]._card._moveDiff = Common::Point(30, 30); scene->_gameBoardSide[scene->_field423E]._handCard[3]._card.setVisage(1332); @@ -3499,7 +3499,7 @@ void Scene1337::Action4::signal() { if ((scene->_field4248 == 1) || (scene->_field423E == 2)) scene->setAnimationInfo(&scene->_gameBoardSide[scene->_field423E]._handCard[3]); - scene->_item2._card.hide(); + scene->_animatedCard._card.hide(); switch (scene->_field423E) { case 0: scene->subCF979(); @@ -3529,15 +3529,15 @@ void Scene1337::Action5::signal() { case 0: { scene->_field3E28[scene->_field3E26] = scene->_field3EF0->_cardId; scene->_field3E26--; - if (!g_globals->_sceneObjects->contains(&scene->_item7._card)) { - scene->_item7._card.postInit(); - scene->_item7._card.hide(); - scene->_item7._card.setVisage(1332); - scene->_item7._card.setPosition(scene->_item7._stationPos, 0); - scene->_item7._card.fixPriority(170); + if (!g_globals->_sceneObjects->contains(&scene->_discardPile._card)) { + scene->_discardPile._card.postInit(); + scene->_discardPile._card.hide(); + scene->_discardPile._card.setVisage(1332); + scene->_discardPile._card.setPosition(scene->_discardPile._stationPos, 0); + scene->_discardPile._card.fixPriority(170); } - scene->_item7._cardId = scene->_field3EF0->_cardId; + scene->_discardPile._cardId = scene->_field3EF0->_cardId; scene->_field3EF0->_cardId = 0; scene->_field3EF0->_card.remove(); @@ -3545,16 +3545,16 @@ void Scene1337::Action5::signal() { scene->setCursorData(5, 1, 4); scene->subC4CEC(); } - scene->_item2._card.setPosition(scene->_field3EF0->_stationPos, 0); - scene->_item2._card.show(); + scene->_animatedCard._card.setPosition(scene->_field3EF0->_stationPos, 0); + scene->_animatedCard._card.show(); Common::Point pt(128, 95); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &pt, this); + scene->_animatedCard._card.addMover(mover, &pt, this); } break; case 1: - scene->_item2._card.hide(); - scene->setAnimationInfo(&scene->_item7); + scene->_animatedCard._card.hide(); + scene->setAnimationInfo(&scene->_discardPile); scene->_aSound2.play(61); scene->subC20F9(); break; @@ -3578,15 +3578,15 @@ void Scene1337::Action6::signal() { scene->_field3EF0->_cardId = 0; scene->_field3EF0->_card.remove(); - scene->_item2._card.setPosition(scene->_field3EF0->_stationPos); - scene->_item2._card.show(); + scene->_animatedCard._card.setPosition(scene->_field3EF0->_stationPos); + scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_field3EF4->_stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_field3EF4->_stationPos, this); } break; case 1: - scene->_item2._card.hide(); + scene->_animatedCard._card.hide(); scene->setAnimationInfo(scene->_field3EF4); scene->_aSound1.play(59); if (scene->_field3EF0 == &scene->_item6) { @@ -3610,10 +3610,10 @@ void Scene1337::Action7::signal() { scene->_field3EF0->_cardId = 0; scene->_field3EF0->_card.remove(); - scene->_item2._card.setPosition(scene->_field3EF0->_stationPos, 0); - scene->_item2._card.show(); + scene->_animatedCard._card.setPosition(scene->_field3EF0->_stationPos, 0); + scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_field3EF4->_stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_field3EF4->_stationPos, this); } break; case 1: @@ -3648,15 +3648,15 @@ void Scene1337::Action8::signal() { scene->_field3EF4->_cardId = scene->_field3EF0->_cardId; scene->_field3EF0->_card.remove(); - scene->_item2._card.setPosition(scene->_field3EF0->_stationPos, 0); - scene->_item2._card.show(); + scene->_animatedCard._card.setPosition(scene->_field3EF0->_stationPos, 0); + scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_field3EF4->_stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_field3EF4->_stationPos, this); } break; case 1: - scene->_item2._card.hide(); + scene->_animatedCard._card.hide(); if (scene->_field3EF0 == &scene->_item6) { scene->setCursorData(5, 1, 4); @@ -3686,15 +3686,15 @@ void Scene1337::Action9::signal() { scene->_field3EF0->_cardId = 0; scene->_field3EF0->_card.remove(); - scene->_item2._card.setPosition(scene->_field3EF0->_stationPos, 0); - scene->_item2._card.show(); + scene->_animatedCard._card.setPosition(scene->_field3EF0->_stationPos, 0); + scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_field3EF4->_stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_field3EF4->_stationPos, this); } break; case 1: - scene->_item2._card.hide(); + scene->_animatedCard._card.hide(); scene->setAnimationInfo(scene->_field3EF4); scene->_aSound1.play(57); @@ -3730,14 +3730,14 @@ void Scene1337::Action10::signal() { scene->subC4CEC(); } - scene->_item2._card.setPosition(scene->_field3EF0->_stationPos, 0); - scene->_item2._card.show(); + scene->_animatedCard._card.setPosition(scene->_field3EF0->_stationPos, 0); + scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_field3EF8->_stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_field3EF8->_stationPos, this); } break; case 1: { - scene->_item2._card.hide(); + scene->_animatedCard._card.hide(); scene->setAnimationInfo(scene->_field3EF8); scene->_aSound1.play(57); @@ -3862,15 +3862,15 @@ void Scene1337::Action10::signal() { scene->_field3EF4->_cardId = 0; scene->_field3EF4->_card.remove(); - scene->_item2._card.setPosition(scene->_field3EF4->_stationPos, 0); - scene->_item2._card.show(); + scene->_animatedCard._card.setPosition(scene->_field3EF4->_stationPos, 0); + scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_field3EF8->_stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_field3EF8->_stationPos, this); } break; case 2: - scene->_item2._card.hide(); + scene->_animatedCard._card.hide(); scene->subC4A39(scene->_field3EF8); break; default: @@ -3893,21 +3893,21 @@ void Scene1337::Action11::signal() { scene->_field3EF4->_cardId = 25; if (scene->_field4240 == 2) { - scene->_item2._card.setPosition(scene->_field3EF4->_stationPos, 0); + scene->_animatedCard._card.setPosition(scene->_field3EF4->_stationPos, 0); scene->setCursorData(5, 1, 4); } else { scene->_field3EF0->_cardId = 0; scene->_field3EF0->_card.remove(); - scene->_item2._card.setPosition(scene->_field3EF0->_stationPos, 0); + scene->_animatedCard._card.setPosition(scene->_field3EF0->_stationPos, 0); } - scene->_item2._card.show(); + scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_field3EF4->_stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_field3EF4->_stationPos, this); } break; case 1: { - scene->_item2._card.hide(); + scene->_animatedCard._card.hide(); scene->setAnimationInfo(scene->_field3EF4); scene->_aSound1.play(57); @@ -4074,15 +4074,15 @@ void Scene1337::Action11::signal() { scene->_field3EF8->_cardId = 0; scene->_field3EF8->_card.remove(); - scene->_item2._card.setPosition(scene->_field3EF8->_stationPos, 0); - scene->_item2._card.show(); + scene->_animatedCard._card.setPosition(scene->_field3EF8->_stationPos, 0); + scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_field3EF0->_stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_field3EF0->_stationPos, this); } break; case 2: - scene->_item2._card.hide(); + scene->_animatedCard._card.hide(); switch (scene->_field4240) { case 0: scene->_field3EF0->_card.setFrame(2); @@ -4126,15 +4126,15 @@ void Scene1337::Action12::signal() { scene->_field3EF4->_cardId = scene->_field3EF0->_cardId; scene->_field3EF0->_cardId = 0; scene->_field3EF0->_card.remove(); - scene->_item2._card.setPosition(scene->_field3EF0->_stationPos, 0); - scene->_item2._card.show(); + scene->_animatedCard._card.setPosition(scene->_field3EF0->_stationPos, 0); + scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_field3EF4->_stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_field3EF4->_stationPos, this); } break; case 2: - scene->_item2._card.hide(); + scene->_animatedCard._card.hide(); scene->setAnimationInfo(scene->_field3EF4); scene->_aSound1.play(58); if (scene->_field4242 == 2) { @@ -4251,16 +4251,16 @@ void Scene1337::Action12::signal() { scene->_field3EF8->_cardId = 0; scene->_field3EF8->_card.remove(); - scene->_item2._card.setPosition(scene->_field3EF8->_stationPos); - scene->_item2._card.show(); + scene->_animatedCard._card.setPosition(scene->_field3EF8->_stationPos); + scene->_animatedCard._card.show(); scene->_aSound1.play(57); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_field3EF0->_stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_field3EF0->_stationPos, this); } break; case 3: - scene->_item2._card.hide(); + scene->_animatedCard._card.hide(); switch (scene->_field4242) { case 0: scene->_field3EF0->_card.setFrame2(2); @@ -4298,15 +4298,15 @@ void Scene1337::Action13::signal() { scene->_field3EF0->_cardId = 0; scene->_field3EF0->_card.remove(); - scene->_item2._card.setPosition(scene->_field3EF0->_stationPos, 0); - scene->_item2._card.show(); + scene->_animatedCard._card.setPosition(scene->_field3EF0->_stationPos, 0); + scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_item2._card.addMover(mover, &scene->_field3EF4->_stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_field3EF4->_stationPos, this); } break; case 1: - scene->_item2._card.hide(); + scene->_animatedCard._card.hide(); scene->setAnimationInfo(scene->_field3EF4); scene->_aSound1.play(58); signal(); @@ -4353,7 +4353,7 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _gameBoardSide[2]._outpostStation[6]._stationPos = Common::Point(171, 174); _gameBoardSide[2]._outpostStation[7]._stationPos = Common::Point(145, 174); - _gameBoardSide[2]._arr3[0]._stationPos = Common::Point(199, 174); + _gameBoardSide[2]._delayPile[0]._stationPos = Common::Point(199, 174); _gameBoardSide[2]._arr4[0]._stationPos = Common::Point(145, 148); @@ -4377,7 +4377,7 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _gameBoardSide[3]._outpostStation[6]._stationPos = Common::Point(37, 118); _gameBoardSide[3]._outpostStation[7]._stationPos = Common::Point(37, 92); - _gameBoardSide[3]._arr3[0]._stationPos = Common::Point(37, 145); + _gameBoardSide[3]._delayPile[0]._stationPos = Common::Point(37, 145); _gameBoardSide[3]._arr4[0]._stationPos = Common::Point(63, 92); @@ -4401,7 +4401,7 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _gameBoardSide[0]._outpostStation[6]._stationPos = Common::Point(119, 16); _gameBoardSide[0]._outpostStation[7]._stationPos = Common::Point(145, 16); - _gameBoardSide[0]._arr3[0]._stationPos = Common::Point(91, 16); + _gameBoardSide[0]._delayPile[0]._stationPos = Common::Point(91, 16); _gameBoardSide[0]._arr4[0]._stationPos = Common::Point(145, 42); @@ -4425,7 +4425,7 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _gameBoardSide[1]._outpostStation[6]._stationPos = Common::Point(253, 70); _gameBoardSide[1]._outpostStation[7]._stationPos = Common::Point(253, 96); - _gameBoardSide[1]._arr3[0]._stationPos = Common::Point(253, 43); + _gameBoardSide[1]._delayPile[0]._stationPos = Common::Point(253, 43); _gameBoardSide[1]._arr4[0]._stationPos = Common::Point(227, 96); @@ -4894,8 +4894,8 @@ bool Scene1337::subC2BF8(unkObj1337sub1 *subObj1, Common::Point pt) { void Scene1337::subC2C2F() { bool found = true; - if (_gameBoardSide[3]._arr3[0]._cardId != 0) { - switch (_gameBoardSide[3]._arr3[0]._cardId) { + if (_gameBoardSide[3]._delayPile[0]._cardId != 0) { + switch (_gameBoardSide[3]._delayPile[0]._cardId) { case 10: // No break on purpose case 12: @@ -4911,14 +4911,14 @@ void Scene1337::subC2C2F() { case 20: // No break on purpose case 21: - subC4A39(&_gameBoardSide[3]._arr3[0]); + subC4A39(&_gameBoardSide[3]._delayPile[0]); found = false; break; default: found = false; int i; for (i = 0; i <= 3; i++) { - if (subC3386(_gameBoardSide[3]._arr3[0]._cardId, _gameBoardSide[3]._handCard[i]._cardId)) { + if (subC3386(_gameBoardSide[3]._delayPile[0]._cardId, _gameBoardSide[3]._handCard[i]._cardId)) { found = true; break; } @@ -4926,7 +4926,7 @@ void Scene1337::subC2C2F() { if (found) { found = false; - subC34A1(&_gameBoardSide[3]._handCard[i], &_gameBoardSide[3]._arr3[0]); + subC34A1(&_gameBoardSide[3]._handCard[i], &_gameBoardSide[3]._delayPile[0]); } break; } @@ -4941,7 +4941,7 @@ void Scene1337::subC2C2F() { found = false; for (int i = 0; i <= 7; i++) { - if ((_gameBoardSide[3]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[3]._arr3[0]._cardId))) { + if ((_gameBoardSide[3]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[3]._delayPile[0]._cardId))) { subC340B(&_gameBoardSide[3]._handCard[randIndx], &_gameBoardSide[3]._outpostStation[i]); found = true; break; @@ -4963,7 +4963,7 @@ void Scene1337::subC2C2F() { if (!found) { for (int i = 0; i <= 7; i++) { - if ((_gameBoardSide[3]._outpostStation[i]._cardId == 1) && (!subC2687(_gameBoardSide[3]._arr3[0]._cardId))) { + if ((_gameBoardSide[3]._outpostStation[i]._cardId == 1) && (!subC2687(_gameBoardSide[3]._delayPile[0]._cardId))) { int tmpVal = 0; for (int j = 0; j <= 7; j++) { @@ -5047,7 +5047,7 @@ void Scene1337::subC2C2F() { // It's understandable for 'i', which helps making sure that tmpVal is used properly, // but it's suspect for j for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[tmpRandIndx]._arr3[0]._cardId == 0) && (subC32B1(tmpRandIndx, _gameBoardSide[3]._handCard[randIndx]._cardId))) { + if ((_gameBoardSide[tmpRandIndx]._delayPile[0]._cardId == 0) && (subC32B1(tmpRandIndx, _gameBoardSide[3]._handCard[randIndx]._cardId))) { tmpVal = j; } } @@ -5063,7 +5063,7 @@ void Scene1337::subC2C2F() { if (tmpVal != -1) { // Useless second identical check skipped - subC3456(&_gameBoardSide[3]._handCard[randIndx], &_gameBoardSide[tmpVal]._arr3[0]); + subC3456(&_gameBoardSide[3]._handCard[randIndx], &_gameBoardSide[tmpVal]._delayPile[0]); return; } } @@ -5491,23 +5491,23 @@ void Scene1337::subPostInit() { _field3E24 = 98; _field3E26 = 98; - _item7._cardId = 0; - _item7._stationPos = Common::Point(128, 95); + _discardPile._cardId = 0; + _discardPile._stationPos = Common::Point(128, 95); _item8._cardId = 0; _item8._stationPos = Common::Point(162, 95); _item6._cardId = 0; - _item2._card.postInit(); - _item2._card.setVisage(1332); - _item2._card.setStrip(5); - _item2._card.setFrame(1); - _item2._card._moveDiff = Common::Point(10, 10); - _item2._card.fixPriority(400); - _item2._card.setPosition(Common::Point(128, 95), 0); - _item2._card.animate(ANIM_MODE_2, NULL); - _item2._card.hide(); + _animatedCard._card.postInit(); + _animatedCard._card.setVisage(1332); + _animatedCard._card.setStrip(5); + _animatedCard._card.setFrame(1); + _animatedCard._card._moveDiff = Common::Point(10, 10); + _animatedCard._card.fixPriority(400); + _animatedCard._card.setPosition(Common::Point(128, 95), 0); + _animatedCard._card.animate(ANIM_MODE_2, NULL); + _animatedCard._card.hide(); _object1.postInit(); _object1.setVisage(1334); @@ -5584,7 +5584,7 @@ void Scene1337::shuffleCards() { } _field423C = 0; - _item2._card.setAction(&_action2); + _animatedCard._card.setAction(&_action2); while(_field423C == 0) { g_globals->_scenePalette.signalListeners(); @@ -5599,7 +5599,7 @@ void Scene1337::shuffleCards() { } void Scene1337::subCCF26() { - _item2._card._moveDiff = Common::Point(30, 30); + _animatedCard._card._moveDiff = Common::Point(30, 30); shuffleCards(); _item1.setAction(&_action3); } @@ -5654,36 +5654,36 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { break; } } else { - if ( (subC2BF8(&_gameBoardSide[2]._arr3[0], pt)) - || (subC2BF8(&_gameBoardSide[0]._arr3[0], pt)) - || (subC2BF8(&_gameBoardSide[1]._arr3[0], pt)) - || (subC2BF8(&_gameBoardSide[3]._arr3[0], pt)) ) { + if ( (subC2BF8(&_gameBoardSide[2]._delayPile[0], pt)) + || (subC2BF8(&_gameBoardSide[0]._delayPile[0], pt)) + || (subC2BF8(&_gameBoardSide[1]._delayPile[0], pt)) + || (subC2BF8(&_gameBoardSide[3]._delayPile[0], pt)) ) { found = true; } if (found) { switch (curReg) { case 5: - if (_gameBoardSide[2]._arr3[0]._cardId != 0) - displayDialog(_gameBoardSide[2]._arr3[0]._cardId); + if (_gameBoardSide[2]._delayPile[0]._cardId != 0) + displayDialog(_gameBoardSide[2]._delayPile[0]._cardId); else actionDisplay(1330, 10, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; case 10: - if (_gameBoardSide[3]._arr3[0]._cardId != 0) - displayDialog(_gameBoardSide[3]._arr3[0]._cardId); + if (_gameBoardSide[3]._delayPile[0]._cardId != 0) + displayDialog(_gameBoardSide[3]._delayPile[0]._cardId); else actionDisplay(1330, 16, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; case 15: - if (_gameBoardSide[0]._arr3[0]._cardId != 0) - displayDialog(_gameBoardSide[3]._arr3[0]._cardId); + if (_gameBoardSide[0]._delayPile[0]._cardId != 0) + displayDialog(_gameBoardSide[3]._delayPile[0]._cardId); else actionDisplay(1330, 13, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; case 20: - if (_gameBoardSide[1]._arr3[0]._cardId != 0) - displayDialog(_gameBoardSide[1]._arr3[0]._cardId); + if (_gameBoardSide[1]._delayPile[0]._cardId != 0) + displayDialog(_gameBoardSide[1]._delayPile[0]._cardId); else actionDisplay(1330, 18, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; @@ -5691,9 +5691,9 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { break; } } else { - if (subC2BF8(&_item7, pt)) { - if (_item7._cardId != 0) - displayDialog(_item7._cardId); + if (subC2BF8(&_discardPile, pt)) { + if (_discardPile._cardId != 0) + displayDialog(_discardPile._cardId); else actionDisplay(1330, 7, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else if (_background1._bounds.contains(pt)) { @@ -5803,8 +5803,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { } } - if (subC2BF8(&_gameBoardSide[2]._arr3[0], pt)) { - if (_gameBoardSide[0]._arr3[0]._cardId != 0) { + if (subC2BF8(&_gameBoardSide[2]._delayPile[0], pt)) { + if (_gameBoardSide[0]._delayPile[0]._cardId != 0) { actionDisplay(1330, 39, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { actionDisplay(1330, 11, 159, 10, 1, 200, 0, 7, 0, 154, 154); @@ -5812,8 +5812,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { found = true; } - if (subC2BF8(&_gameBoardSide[3]._arr3[0], pt)) { - if (_gameBoardSide[3]._arr3[0]._cardId != 0) { + if (subC2BF8(&_gameBoardSide[3]._delayPile[0], pt)) { + if (_gameBoardSide[3]._delayPile[0]._cardId != 0) { actionDisplay(1330, 145, 20, 99, 1, 136, 0, 7, 0, 172, 172); } else { actionDisplay(1330, 147, 20, 99, 1, 136, 0, 7, 0, 172, 172); @@ -5821,8 +5821,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { found = true; } - if (subC2BF8(&_gameBoardSide[1]._arr3[0], pt)) { - if (_gameBoardSide[1]._arr3[0]._cardId != 0) { + if (subC2BF8(&_gameBoardSide[1]._delayPile[0], pt)) { + if (_gameBoardSide[1]._delayPile[0]._cardId != 0) { actionDisplay(1330, 144, 300, 99, 1, 136, 0, 7, 0, 117, 117); } else { actionDisplay(1330, 146, 300, 99, 1, 136, 0, 7, 0, 117, 117); @@ -5830,8 +5830,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { found = true; } - if (subC2BF8(&_gameBoardSide[0]._arr3[0], pt)) { - if (_gameBoardSide[0]._arr3[0]._cardId != 0) { + if (subC2BF8(&_gameBoardSide[0]._delayPile[0], pt)) { + if (_gameBoardSide[0]._delayPile[0]._cardId != 0) { actionDisplay(1330, 1, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { actionDisplay(1330, 11, 159, 10, 1, 200, 0, 7, 0, 154, 154); @@ -5862,7 +5862,7 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { return; } - if (subC2BF8(&_item7, pt)) + if (subC2BF8(&_discardPile, pt)) actionDisplay(1330, 9, 159, 10, 1, 200, 0, 7, 0, 154, 154); else if (subC2BF8(&_item8, pt)) actionDisplay(1330, 5, 159, 10, 1, 200, 0, 7, 0, 154, 154); @@ -5916,8 +5916,8 @@ void Scene1337::subCF31D() { bool found; int count; - if (this->_gameBoardSide[1]._arr3[0]._cardId != 0) { - switch (_gameBoardSide[1]._arr3[0]._cardId) { + if (this->_gameBoardSide[1]._delayPile[0]._cardId != 0) { + switch (_gameBoardSide[1]._delayPile[0]._cardId) { case 10: // No break on purpose case 12: @@ -5934,13 +5934,13 @@ void Scene1337::subCF31D() { // No break on purpose case 21: tmpVal = 0; - subC4A39(&_gameBoardSide[1]._arr3[0]); + subC4A39(&_gameBoardSide[1]._delayPile[0]); break; default: found = false; int i; for (i = 0; i <= 3; i++) { - if (subC3386(_gameBoardSide[1]._arr3[0]._cardId, _gameBoardSide[1]._handCard[i]._cardId)) { + if (subC3386(_gameBoardSide[1]._delayPile[0]._cardId, _gameBoardSide[1]._handCard[i]._cardId)) { found = true; break; } @@ -5948,7 +5948,7 @@ void Scene1337::subCF31D() { if (found) { tmpVal = 0; - subC34A1(&_gameBoardSide[1]._handCard[i], &_gameBoardSide[1]._arr3[0]); + subC34A1(&_gameBoardSide[1]._handCard[i], &_gameBoardSide[1]._delayPile[0]); } } } @@ -5975,7 +5975,7 @@ void Scene1337::subCF31D() { for (int j = 0; j <= 7; j++) { if (_gameBoardSide[1]._outpostStation[j]._cardId == 1) { - if (!subC2687(_gameBoardSide[1]._arr3[0]._cardId)) { + if (!subC2687(_gameBoardSide[1]._delayPile[0]._cardId)) { count = 0; for (int k = 0; k <= 7; k++) { if ((_gameBoardSide[1]._outpostStation[k]._cardId > 1) && (_gameBoardSide[1]._outpostStation[k]._cardId <= 9)) @@ -5999,7 +5999,7 @@ void Scene1337::subCF31D() { tmpVal = subC2719(1); if (tmpVal != -1) { for (int i = 0; i <= 7; i++) { - if ((_gameBoardSide[1]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[1]._arr3[0]._cardId))) { + if ((_gameBoardSide[1]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[1]._delayPile[0]._cardId))) { subC340B(&_gameBoardSide[1]._handCard[tmpVal], &_gameBoardSide[1]._outpostStation[i]); found = true; break; @@ -6063,7 +6063,7 @@ void Scene1337::subCF31D() { for (int k = 0; k <= 7; k++) { // CHECKME: 'k' is not used in that loop. // It looks suspicious. - if ((_gameBoardSide[tmpVal]._arr3[0]._cardId == 0) && (subC32B1(tmpVal, _gameBoardSide[1]._handCard[i]._cardId))) { + if ((_gameBoardSide[tmpVal]._delayPile[0]._cardId == 0) && (subC32B1(tmpVal, _gameBoardSide[1]._handCard[i]._cardId))) { count = tmpVal; break; } @@ -6086,7 +6086,7 @@ void Scene1337::subCF31D() { } if (found) - subC3456(&_gameBoardSide[1]._handCard[i], &_gameBoardSide[count]._arr3[0]); + subC3456(&_gameBoardSide[1]._handCard[i], &_gameBoardSide[count]._delayPile[0]); else { int j; for (j = 0; j <= 3; j++) { @@ -6097,7 +6097,7 @@ void Scene1337::subCF31D() { if (rndVal != 1) { for (int m = 0; m <= 7; m++) { // 'm' is not used in that loop. It looks suspicious. - if ((_gameBoardSide[rndVal]._arr3[0]._cardId == 0) && (_gameBoardSide[1]._handCard[j]._cardId == 1)) { + if ((_gameBoardSide[rndVal]._delayPile[0]._cardId == 0) && (_gameBoardSide[1]._handCard[j]._cardId == 1)) { count = rndVal; break; } @@ -6118,7 +6118,7 @@ void Scene1337::subCF31D() { } if (found) - subC3456(&_gameBoardSide[1]._handCard[j], &_gameBoardSide[count]._arr3[0]); + subC3456(&_gameBoardSide[1]._handCard[j], &_gameBoardSide[count]._delayPile[0]); else subC2835(1); } @@ -6128,8 +6128,8 @@ void Scene1337::subCF31D() { void Scene1337::subCF979() { bool found = true; - if (_gameBoardSide[0]._arr3[0]._cardId != 0) { - switch (_gameBoardSide[0]._arr3[0]._cardId) { + if (_gameBoardSide[0]._delayPile[0]._cardId != 0) { + switch (_gameBoardSide[0]._delayPile[0]._cardId) { case 10: //No break on purpose case 12: @@ -6145,7 +6145,7 @@ void Scene1337::subCF979() { case 20: //No break on purpose case 21: - subC4A39(&_gameBoardSide[0]._arr3[0]); + subC4A39(&_gameBoardSide[0]._delayPile[0]); found = false; break; default: @@ -6153,7 +6153,7 @@ void Scene1337::subCF979() { found = false; for (i = 0; i <= 3; i++) { - if (subC3386(_gameBoardSide[0]._arr3[0]._cardId, _gameBoardSide[0]._handCard[i]._cardId)) { + if (subC3386(_gameBoardSide[0]._delayPile[0]._cardId, _gameBoardSide[0]._handCard[i]._cardId)) { found = true; break; } @@ -6161,7 +6161,7 @@ void Scene1337::subCF979() { if (found) { found = false; - subC34A1(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[0]._arr3[0]); + subC34A1(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[0]._delayPile[0]); } break; } @@ -6186,7 +6186,7 @@ void Scene1337::subCF979() { if (!flag) { for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[0]._outpostStation[j]._cardId == 1) && (!subC2687(_gameBoardSide[0]._arr3[0]._cardId))) { + if ((_gameBoardSide[0]._outpostStation[j]._cardId == 1) && (!subC2687(_gameBoardSide[0]._delayPile[0]._cardId))) { int count = 0; for (int k = 0; k <= 7; k++) { if ((_gameBoardSide[0]._outpostStation[k]._cardId > 1) && (_gameBoardSide[0]._outpostStation[k]._cardId <= 9)) { @@ -6216,7 +6216,7 @@ void Scene1337::subCF979() { if (tmpVal != -1) { for (int i = 0; i <= 7; i++) { - if ((_gameBoardSide[0]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[0]._arr3[0]._cardId))) { + if ((_gameBoardSide[0]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[0]._delayPile[0]._cardId))) { subC340B(&_gameBoardSide[0]._handCard[tmpVal], &_gameBoardSide[0]._outpostStation[i]); found = true; break; @@ -6259,8 +6259,8 @@ void Scene1337::subCF979() { if (subC27B5(_gameBoardSide[0]._handCard[i]._cardId) != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[2]._arr3[0]._cardId == 0) && (subC32B1(2, _gameBoardSide[0]._handCard[i]._cardId))) { - subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[2]._arr3[0]); + if ((_gameBoardSide[2]._delayPile[0]._cardId == 0) && (subC32B1(2, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[2]._delayPile[0]); found = true; break; } @@ -6278,8 +6278,8 @@ void Scene1337::subCF979() { if (subC27F9(_gameBoardSide[0]._handCard[i]._cardId) != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[2]._arr3[0]._cardId == 0) && (subC32B1(2, _gameBoardSide[0]._handCard[i]._cardId))) { - subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[2]._arr3[0]); + if ((_gameBoardSide[2]._delayPile[0]._cardId == 0) && (subC32B1(2, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[2]._delayPile[0]); found = true; } } @@ -6322,8 +6322,8 @@ void Scene1337::subCF979() { if (tmpVal != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[1]._arr3[0]._cardId == 0) && (subC32B1(1, _gameBoardSide[0]._handCard[i]._cardId))) { - subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[1]._arr3[0]); + if ((_gameBoardSide[1]._delayPile[0]._cardId == 0) && (subC32B1(1, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[1]._delayPile[0]); found = true; } } @@ -6331,8 +6331,8 @@ void Scene1337::subCF979() { if (!found) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[3]._arr3[0]._cardId == 0) && (subC32B1(3, _gameBoardSide[0]._handCard[i]._cardId))) { - subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[3]._arr3[0]); + if ((_gameBoardSide[3]._delayPile[0]._cardId == 0) && (subC32B1(3, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[3]._delayPile[0]); found = true; } } @@ -6351,8 +6351,8 @@ void Scene1337::subCF979() { if (tmpVal != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[1]._arr3[0]._cardId == 0) && (subC32B1(1, _gameBoardSide[0]._handCard[i]._cardId))) { - subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[1]._arr3[0]); + if ((_gameBoardSide[1]._delayPile[0]._cardId == 0) && (subC32B1(1, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[1]._delayPile[0]); found = true; } } @@ -6360,8 +6360,8 @@ void Scene1337::subCF979() { if (!found) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[3]._arr3[0]._cardId == 0) && (subC32B1(3, _gameBoardSide[0]._handCard[i]._cardId))) { - subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[3]._arr3[0]); + if ((_gameBoardSide[3]._delayPile[0]._cardId == 0) && (subC32B1(3, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[3]._delayPile[0]); found = true; } } @@ -6383,10 +6383,10 @@ void Scene1337::subD026D() { } void Scene1337::subD0281() { - if (subC27F9(this->_gameBoardSide[2]._arr3[0]._cardId) == -1) + if (subC27F9(this->_gameBoardSide[2]._delayPile[0]._cardId) == -1) _unkFctPtr412 = &Scene1337::subD026D; else - subC4A39(&_gameBoardSide[2]._arr3[0]); + subC4A39(&_gameBoardSide[2]._delayPile[0]); } void Scene1337::subD02CA() { @@ -6504,7 +6504,7 @@ void Scene1337::subD02CA() { } if ((!found) && (!found_di)) { - if (subC2BF8(&_item7, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (subC2BF8(&_discardPile, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { subC4A39(&_item6); } else if (!found) { bool foundVar4; @@ -6519,7 +6519,7 @@ void Scene1337::subD02CA() { } if ((foundVar4) && (_gameBoardSide[2]._outpostStation[i]._cardId == 0)) { - if (subC27B5(_gameBoardSide[2]._arr3[0]._cardId) != -1) { + if (subC27B5(_gameBoardSide[2]._delayPile[0]._cardId) != -1) { actionDisplay(1330, 55, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { subC340B(&_item6, &_gameBoardSide[2]._outpostStation[i]); @@ -6547,7 +6547,7 @@ void Scene1337::subD02CA() { } if (foundVar4) { actionDisplay(1330, 34, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if (subC27B5(_gameBoardSide[2]._arr3[0]._cardId) != -1) { + } else if (subC27B5(_gameBoardSide[2]._delayPile[0]._cardId) != -1) { actionDisplay(1330, 35, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { if (j == 7) @@ -6561,11 +6561,11 @@ void Scene1337::subD02CA() { } } else { if ((_item6._cardId == 26) || (_item6._cardId == 30) ||(_item6._cardId == 32) || (_item6._cardId == 28)) { - if (subC2BF8(&_gameBoardSide[2]._arr3[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (subC2BF8(&_gameBoardSide[2]._delayPile[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { actionDisplay(1330, 42, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if (!subC3386(_gameBoardSide[2]._arr3[0]._cardId, _item6._cardId)) { - if (_gameBoardSide[2]._arr3[0]._cardId != 0) { - switch (_gameBoardSide[2]._arr3[0]._cardId) { + } else if (!subC3386(_gameBoardSide[2]._delayPile[0]._cardId, _item6._cardId)) { + if (_gameBoardSide[2]._delayPile[0]._cardId != 0) { + switch (_gameBoardSide[2]._delayPile[0]._cardId) { case 11: actionDisplay(1330, 68, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; @@ -6585,7 +6585,7 @@ void Scene1337::subD02CA() { actionDisplay(1330, 41, 159, 10, 1, 200, 0, 7, 0, 154, 154); } } else { - subC34A1(&_item6, &_gameBoardSide[2]._arr3[0]); + subC34A1(&_item6, &_gameBoardSide[2]._delayPile[0]); return; } } else { @@ -6677,8 +6677,8 @@ void Scene1337::subD02CA() { actionDisplay(1330, 137, 159, 10, 1, 200, 0, 7, 0, 154, 154); } } else { - if (subC2BF8(&_gameBoardSide[0]._arr3[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { - if (_gameBoardSide[0]._arr3[0]._cardId != 0) { + if (subC2BF8(&_gameBoardSide[0]._delayPile[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (_gameBoardSide[0]._delayPile[0]._cardId != 0) { actionDisplay(1330, 15, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else if (!subC32B1(0, _item6._cardId)) { switch (_item6._cardId) { @@ -6710,11 +6710,11 @@ void Scene1337::subD02CA() { break; } } else { - subC3456(&_item6, &_gameBoardSide[0]._arr3[0]); + subC3456(&_item6, &_gameBoardSide[0]._delayPile[0]); found = true; } - } else if (subC2BF8(&_gameBoardSide[3]._arr3[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { - if (_gameBoardSide[3]._arr3[0]._cardId != 0) { + } else if (subC2BF8(&_gameBoardSide[3]._delayPile[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (_gameBoardSide[3]._delayPile[0]._cardId != 0) { actionDisplay(1330, 17, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else if (!subC32B1(3, _item6._cardId)) { switch (_item6._cardId) { @@ -6746,11 +6746,11 @@ void Scene1337::subD02CA() { break; } } else { - subC3456(&_item6, &_gameBoardSide[3]._arr3[0]); + subC3456(&_item6, &_gameBoardSide[3]._delayPile[0]); found = true; } - } else if (subC2BF8(&_gameBoardSide[1]._arr3[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { - if (_gameBoardSide[1]._arr3[0]._cardId != 0) { + } else if (subC2BF8(&_gameBoardSide[1]._delayPile[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (_gameBoardSide[1]._delayPile[0]._cardId != 0) { actionDisplay(1330, 19, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else if (!subC32B1(1, _item6._cardId)) { switch (_item6._cardId) { @@ -6782,7 +6782,7 @@ void Scene1337::subD02CA() { break; } } else { - subC3456(&_item6, &_gameBoardSide[1]._arr3[0]); + subC3456(&_item6, &_gameBoardSide[1]._delayPile[0]); found = true; } } else { diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h index 7c1a043577..33c4549f7a 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.h +++ b/engines/tsage/ringworld2/ringworld2_scenes1.h @@ -198,7 +198,7 @@ class Scene1337 : public SceneExt { public: unkObj1337sub1 _handCard[4]; unkObj1337sub1 _outpostStation[8]; - unkObj1337sub1 _arr3[1]; + unkObj1337sub1 _delayPile[1]; unkObj1337sub1 _arr4[1]; Common::Point _fieldB94; @@ -292,7 +292,7 @@ public: Action11 _action11; Action12 _action12; Action13 _action13; - unkObj1337sub1 _item2; + unkObj1337sub1 _animatedCard; unkObj1337sub1 _item3; unkObj1337sub1 _item4; BackgroundSceneObject _background2; @@ -304,7 +304,7 @@ public: unkObj1337sub1 *_field3EF8; unkObj1337sub1 _item5; unkObj1337sub1 _item6; - unkObj1337sub1 _item7; + unkObj1337sub1 _discardPile; unkObj1337sub1 _item8; int _field423C; int _field423E; @@ -317,8 +317,8 @@ public: int _field424C; int _field424E; - SceneObject _arrObject1[8]; - SceneObject _arrObject2[8]; + SceneObject _upperDisplayCard[8]; + SceneObject _lowerDisplayCard[8]; Scene1337(); virtual void synchronize(Serializer &s); -- cgit v1.2.3 From dc0285041c429dae1117d7ca208b43d88583ef51 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 30 Nov 2013 14:16:17 +0100 Subject: TSAGE: R2R - More renaming in scene 1337 --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 318 ++++++++++++------------ engines/tsage/ringworld2/ringworld2_scenes1.h | 6 +- 2 files changed, 162 insertions(+), 162 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index 0800e28ede..fb57dd0ada 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -2235,11 +2235,11 @@ void Scene1337::unkObj1337_1::synchronize(Serializer &s) { Scene1337::Scene1337() { _autoplay = false; - _field3E24 = 0; + _cardsAvailableNumb = 0; _field3E26 = 0; for (int i = 0; i < 100; i++) - _field3E28[i] = 0; + _availableCardsPile[i] = 0; _field423C = 0; _field423E = 0; @@ -3105,7 +3105,7 @@ void Scene1337::Action3::signal() { scene->_animatedCard._card.addMover(mover, &pt, this); scene->_animatedCard._card.show(); - scene->_gameBoardSide[1]._handCard[0]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[1]._handCard[0]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; } break; case 1: { @@ -3122,7 +3122,7 @@ void Scene1337::Action3::signal() { NpcMover *mover = new NpcMover(); scene->_animatedCard._card.addMover(mover, &pt, this); - scene->_gameBoardSide[2]._handCard[0]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[2]._handCard[0]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; } break; case 2: { @@ -3149,7 +3149,7 @@ void Scene1337::Action3::signal() { NpcMover *mover = new NpcMover(); scene->_animatedCard._card.addMover(mover, &pt, this); - scene->_gameBoardSide[3]._handCard[0]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[3]._handCard[0]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; } break; case 3: { @@ -3166,7 +3166,7 @@ void Scene1337::Action3::signal() { NpcMover *mover = new NpcMover(); scene->_animatedCard._card.addMover(mover, &pt, this); - scene->_gameBoardSide[0]._handCard[0]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[0]._handCard[0]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; } break; case 4: { @@ -3183,7 +3183,7 @@ void Scene1337::Action3::signal() { NpcMover *mover = new NpcMover(); scene->_animatedCard._card.addMover(mover, &pt, this); - scene->_gameBoardSide[1]._handCard[1]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[1]._handCard[1]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; } break; case 5: { @@ -3200,7 +3200,7 @@ void Scene1337::Action3::signal() { NpcMover *mover = new NpcMover(); scene->_animatedCard._card.addMover(mover, &pt, this); - scene->_gameBoardSide[2]._handCard[1]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[2]._handCard[1]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; } break; case 6: { @@ -3229,7 +3229,7 @@ void Scene1337::Action3::signal() { NpcMover *mover = new NpcMover(); scene->_animatedCard._card.addMover(mover, &pt, this); - scene->_gameBoardSide[3]._handCard[1]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[3]._handCard[1]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; } break; case 7: { @@ -3246,7 +3246,7 @@ void Scene1337::Action3::signal() { NpcMover *mover = new NpcMover(); scene->_animatedCard._card.addMover(mover, &pt, this); - scene->_gameBoardSide[0]._handCard[1]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[0]._handCard[1]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; } break; case 8: { @@ -3263,7 +3263,7 @@ void Scene1337::Action3::signal() { NpcMover *mover = new NpcMover(); scene->_animatedCard._card.addMover(mover, &pt, this); - scene->_gameBoardSide[1]._handCard[2]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[1]._handCard[2]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; } break; case 9: { @@ -3280,7 +3280,7 @@ void Scene1337::Action3::signal() { NpcMover *mover = new NpcMover(); scene->_animatedCard._card.addMover(mover, &pt, this); - scene->_gameBoardSide[2]._handCard[2]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[2]._handCard[2]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; } break; case 10: { @@ -3309,7 +3309,7 @@ void Scene1337::Action3::signal() { NpcMover *mover = new NpcMover(); scene->_animatedCard._card.addMover(mover, &pt, this); - scene->_gameBoardSide[3]._handCard[2]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[3]._handCard[2]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; } break; case 11: { @@ -3326,7 +3326,7 @@ void Scene1337::Action3::signal() { NpcMover *mover = new NpcMover(); scene->_animatedCard._card.addMover(mover, &pt, this); - scene->_gameBoardSide[0]._handCard[2]._cardId = scene->_field3E28[scene->_field3E24]; + scene->_gameBoardSide[0]._handCard[2]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; } break; case 12: @@ -3348,8 +3348,8 @@ void Scene1337::Action3::signal() { scene->actionDisplay(1330, 0, 159, 10, 1, 200, 0, 7, 0, 154, 154); scene->subC20F9(); } else if (_actionIndex >= 1) { - scene->_field3E28[scene->_field3E24] = 0; - scene->_field3E24--; + scene->_availableCardsPile[scene->_cardsAvailableNumb] = 0; + scene->_cardsAvailableNumb--; } } @@ -3359,7 +3359,7 @@ void Scene1337::Action4::signal() { switch (_actionIndex++) { case 0: if ((scene->_gameBoardSide[scene->_field423E]._handCard[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._delayPile[0]._cardId))) { - if (scene->_field3E24 < 0) + if (scene->_cardsAvailableNumb < 0) scene->subC264B(scene->_gameBoardSide[scene->_field423E]._delayPile[0]._cardId); scene->_animatedCard._card.setPosition(Common::Point(162, 95), 0); scene->_animatedCard._card.show(); @@ -3368,11 +3368,11 @@ void Scene1337::Action4::signal() { NpcMover *mover = new NpcMover(); scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldB94, this); - scene->_gameBoardSide[scene->_field423E]._handCard[0]._cardId = scene->_field3E28[scene->_field3E24]; - scene->_field3E28[scene->_field3E24] = 0; - scene->_field3E24--; + scene->_gameBoardSide[scene->_field423E]._handCard[0]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; + scene->_availableCardsPile[scene->_cardsAvailableNumb] = 0; + scene->_cardsAvailableNumb--; - if (scene->_field3E24 < 0) + if (scene->_cardsAvailableNumb < 0) scene->_background2.remove(); } else { // Self call, forcing next actionIndex @@ -3396,7 +3396,7 @@ void Scene1337::Action4::signal() { scene->_animatedCard._card.hide(); if ((scene->_gameBoardSide[scene->_field423E]._handCard[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._delayPile[0]._cardId == 0))) { - if (scene->_field3E24 < 0) + if (scene->_cardsAvailableNumb < 0) scene->shuffleCards(); scene->_animatedCard._card.setPosition(Common::Point(162, 95)); scene->_animatedCard._card.show(); @@ -3406,10 +3406,10 @@ void Scene1337::Action4::signal() { NpcMover *mover = new NpcMover(); scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldB98, this); - scene->_gameBoardSide[scene->_field423E]._handCard[1]._cardId = scene->_field3E28[scene->_field3E24]; - scene->_field3E28[scene->_field3E24] = 0; - scene->_field3E24--; - if (scene->_field3E24 < 0) + scene->_gameBoardSide[scene->_field423E]._handCard[1]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; + scene->_availableCardsPile[scene->_cardsAvailableNumb] = 0; + scene->_cardsAvailableNumb--; + if (scene->_cardsAvailableNumb < 0) scene->_background2.remove(); } else signal(); @@ -3431,7 +3431,7 @@ void Scene1337::Action4::signal() { scene->_animatedCard._card.hide(); if ((scene->_gameBoardSide[scene->_field423E]._handCard[2]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._delayPile[0]._cardId == 0))) { - if (scene->_field3E24 < 0) + if (scene->_cardsAvailableNumb < 0) scene->shuffleCards(); scene->_animatedCard._card.setPosition(Common::Point(162, 95)); scene->_animatedCard._card.show(); @@ -3441,10 +3441,10 @@ void Scene1337::Action4::signal() { NpcMover *mover = new NpcMover(); scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldB9C, this); - scene->_gameBoardSide[scene->_field423E]._handCard[2]._cardId = scene->_field3E28[scene->_field3E24]; - scene->_field3E28[scene->_field3E24] = 0; - scene->_field3E24--; - if (scene->_field3E24 < 0) + scene->_gameBoardSide[scene->_field423E]._handCard[2]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; + scene->_availableCardsPile[scene->_cardsAvailableNumb] = 0; + scene->_cardsAvailableNumb--; + if (scene->_cardsAvailableNumb < 0) scene->_background2.remove(); } else signal(); @@ -3466,7 +3466,7 @@ void Scene1337::Action4::signal() { scene->_animatedCard._card.hide(); if ((scene->_gameBoardSide[scene->_field423E]._handCard[3]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._delayPile[0]._cardId == 0))) { - if (scene->_field3E24 < 0) + if (scene->_cardsAvailableNumb < 0) scene->shuffleCards(); scene->_animatedCard._card.setPosition(Common::Point(162, 95)); scene->_animatedCard._card.show(); @@ -3476,10 +3476,10 @@ void Scene1337::Action4::signal() { NpcMover *mover = new NpcMover(); scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldBA0, this); - scene->_gameBoardSide[scene->_field423E]._handCard[3]._cardId = scene->_field3E28[scene->_field3E24]; - scene->_field3E28[scene->_field3E24] = 0; - scene->_field3E24--; - if (scene->_field3E24 < 0) + scene->_gameBoardSide[scene->_field423E]._handCard[3]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; + scene->_availableCardsPile[scene->_cardsAvailableNumb] = 0; + scene->_cardsAvailableNumb--; + if (scene->_cardsAvailableNumb < 0) scene->_background2.remove(); } else signal(); @@ -3527,7 +3527,7 @@ void Scene1337::Action5::signal() { switch (_actionIndex++) { case 0: { - scene->_field3E28[scene->_field3E26] = scene->_field3EF0->_cardId; + scene->_availableCardsPile[scene->_field3E26] = scene->_field3EF0->_cardId; scene->_field3E26--; if (!g_globals->_sceneObjects->contains(&scene->_discardPile._card)) { scene->_discardPile._card.postInit(); @@ -3642,7 +3642,7 @@ void Scene1337::Action8::signal() { switch (_actionIndex++) { case 0: { - scene->_field3E28[scene->_field3E26] = scene->_field3EF4->_cardId; + scene->_availableCardsPile[scene->_field3E26] = scene->_field3EF4->_cardId; scene->_field3E26--; scene->_field3EF4->_cardId = scene->_field3EF0->_cardId; @@ -3857,7 +3857,7 @@ void Scene1337::Action10::signal() { } } - scene->_field3E28[scene->_field3E26] = scene->_field3EF4->_cardId; + scene->_availableCardsPile[scene->_field3E26] = scene->_field3EF4->_cardId; scene->_field3E26--; scene->_field3EF4->_cardId = 0; scene->_field3EF4->_card.remove(); @@ -4122,7 +4122,7 @@ void Scene1337::Action12::signal() { signal(); break; case 1: { - scene->_field3E28[scene->_field3E26] = scene->_field3EF4->_cardId; + scene->_availableCardsPile[scene->_field3E26] = scene->_field3EF4->_cardId; scene->_field3EF4->_cardId = scene->_field3EF0->_cardId; scene->_field3EF0->_cardId = 0; scene->_field3EF0->_card.remove(); @@ -4290,7 +4290,7 @@ void Scene1337::Action13::signal() { switch (_actionIndex++) { case 0: { - scene->_field3E28[scene->_field3E26] = scene->_field3EF4->_cardId; + scene->_availableCardsPile[scene->_field3E26] = scene->_field3EF4->_cardId; scene->_field3E26--; scene->_field3EF4->_cardId = scene->_field3EF0->_cardId; @@ -5387,108 +5387,108 @@ void Scene1337::subPostInit() { R2_GLOBALS._scenePalette.addRotation(224, 235, 1); - _field3E28[0] = 1; - _field3E28[1] = 1; - _field3E28[2] = 1; - _field3E28[3] = 1; - _field3E28[4] = 1; - _field3E28[5] = 1; - _field3E28[6] = 1; - _field3E28[7] = 1; - _field3E28[8] = 26; - _field3E28[9] = 2; - _field3E28[10] = 2; - _field3E28[11] = 2; - _field3E28[12] = 2; - _field3E28[13] = 2; - _field3E28[14] = 26; - _field3E28[15] = 3; - _field3E28[16] = 3; - _field3E28[17] = 3; - _field3E28[18] = 3; - _field3E28[19] = 3; - _field3E28[20] = 28; - _field3E28[21] = 4; - _field3E28[22] = 4; - _field3E28[23] = 4; - _field3E28[24] = 4; - _field3E28[25] = 4; - _field3E28[26] = 28; - _field3E28[27] = 5; - _field3E28[28] = 5; - _field3E28[29] = 5; - _field3E28[30] = 5; - _field3E28[31] = 5; - _field3E28[32] = 30; - _field3E28[33] = 6; - _field3E28[34] = 6; - _field3E28[35] = 6; - _field3E28[36] = 6; - _field3E28[37] = 6; - _field3E28[38] = 30; - _field3E28[39] = 7; - _field3E28[40] = 7; - _field3E28[41] = 7; - _field3E28[42] = 7; - _field3E28[43] = 7; - _field3E28[44] = 32; - _field3E28[45] = 8; - _field3E28[46] = 8; - _field3E28[47] = 8; - _field3E28[48] = 8; - _field3E28[49] = 8; - _field3E28[50] = 32; - _field3E28[51] = 9; - _field3E28[52] = 9; - _field3E28[53] = 9; - _field3E28[54] = 9; - _field3E28[55] = 9; - _field3E28[56] = 10; - _field3E28[57] = 11; - _field3E28[58] = 12; - _field3E28[59] = 13; - _field3E28[60] = 13; - _field3E28[61] = 14; - _field3E28[62] = 15; - _field3E28[63] = 16; - _field3E28[64] = 17; - _field3E28[65] = 18; - _field3E28[66] = 19; - _field3E28[67] = 20; - _field3E28[68] = 21; - _field3E28[69] = 26; - _field3E28[70] = 28; - _field3E28[71] = 24; - _field3E28[72] = 25; - _field3E28[73] = 25; - _field3E28[74] = 25; - _field3E28[75] = 25; - _field3E28[76] = 26; - _field3E28[77] = 26; - _field3E28[78] = 26; - _field3E28[79] = 27; - _field3E28[80] = 27; - _field3E28[81] = 28; - _field3E28[82] = 28; - _field3E28[83] = 28; - _field3E28[84] = 29; - _field3E28[85] = 29; - _field3E28[86] = 29; - _field3E28[87] = 30; - _field3E28[88] = 30; - _field3E28[89] = 30; - _field3E28[90] = 30; - _field3E28[91] = 32; - _field3E28[92] = 1; - _field3E28[93] = 32; - _field3E28[94] = 32; - _field3E28[95] = 32; - _field3E28[96] = 1; - _field3E28[97] = 1; - _field3E28[98] = 1; - _field3E28[99] = 0; - - _field3E24 = 98; + _availableCardsPile[0] = 1; + _availableCardsPile[1] = 1; + _availableCardsPile[2] = 1; + _availableCardsPile[3] = 1; + _availableCardsPile[4] = 1; + _availableCardsPile[5] = 1; + _availableCardsPile[6] = 1; + _availableCardsPile[7] = 1; + _availableCardsPile[8] = 26; + _availableCardsPile[9] = 2; + _availableCardsPile[10] = 2; + _availableCardsPile[11] = 2; + _availableCardsPile[12] = 2; + _availableCardsPile[13] = 2; + _availableCardsPile[14] = 26; + _availableCardsPile[15] = 3; + _availableCardsPile[16] = 3; + _availableCardsPile[17] = 3; + _availableCardsPile[18] = 3; + _availableCardsPile[19] = 3; + _availableCardsPile[20] = 28; + _availableCardsPile[21] = 4; + _availableCardsPile[22] = 4; + _availableCardsPile[23] = 4; + _availableCardsPile[24] = 4; + _availableCardsPile[25] = 4; + _availableCardsPile[26] = 28; + _availableCardsPile[27] = 5; + _availableCardsPile[28] = 5; + _availableCardsPile[29] = 5; + _availableCardsPile[30] = 5; + _availableCardsPile[31] = 5; + _availableCardsPile[32] = 30; + _availableCardsPile[33] = 6; + _availableCardsPile[34] = 6; + _availableCardsPile[35] = 6; + _availableCardsPile[36] = 6; + _availableCardsPile[37] = 6; + _availableCardsPile[38] = 30; + _availableCardsPile[39] = 7; + _availableCardsPile[40] = 7; + _availableCardsPile[41] = 7; + _availableCardsPile[42] = 7; + _availableCardsPile[43] = 7; + _availableCardsPile[44] = 32; + _availableCardsPile[45] = 8; + _availableCardsPile[46] = 8; + _availableCardsPile[47] = 8; + _availableCardsPile[48] = 8; + _availableCardsPile[49] = 8; + _availableCardsPile[50] = 32; + _availableCardsPile[51] = 9; + _availableCardsPile[52] = 9; + _availableCardsPile[53] = 9; + _availableCardsPile[54] = 9; + _availableCardsPile[55] = 9; + _availableCardsPile[56] = 10; + _availableCardsPile[57] = 11; + _availableCardsPile[58] = 12; + _availableCardsPile[59] = 13; + _availableCardsPile[60] = 13; + _availableCardsPile[61] = 14; + _availableCardsPile[62] = 15; + _availableCardsPile[63] = 16; + _availableCardsPile[64] = 17; + _availableCardsPile[65] = 18; + _availableCardsPile[66] = 19; + _availableCardsPile[67] = 20; + _availableCardsPile[68] = 21; + _availableCardsPile[69] = 26; + _availableCardsPile[70] = 28; + _availableCardsPile[71] = 24; + _availableCardsPile[72] = 25; + _availableCardsPile[73] = 25; + _availableCardsPile[74] = 25; + _availableCardsPile[75] = 25; + _availableCardsPile[76] = 26; + _availableCardsPile[77] = 26; + _availableCardsPile[78] = 26; + _availableCardsPile[79] = 27; + _availableCardsPile[80] = 27; + _availableCardsPile[81] = 28; + _availableCardsPile[82] = 28; + _availableCardsPile[83] = 28; + _availableCardsPile[84] = 29; + _availableCardsPile[85] = 29; + _availableCardsPile[86] = 29; + _availableCardsPile[87] = 30; + _availableCardsPile[88] = 30; + _availableCardsPile[89] = 30; + _availableCardsPile[90] = 30; + _availableCardsPile[91] = 32; + _availableCardsPile[92] = 1; + _availableCardsPile[93] = 32; + _availableCardsPile[94] = 32; + _availableCardsPile[95] = 32; + _availableCardsPile[96] = 1; + _availableCardsPile[97] = 1; + _availableCardsPile[98] = 1; + _availableCardsPile[99] = 0; + + _cardsAvailableNumb = 98; _field3E26 = 98; _discardPile._cardId = 0; @@ -5537,7 +5537,7 @@ void Scene1337::suggestInstructions() { if (MessageDialog::show(NEED_INSTRUCTIONS, NO_MSG, YES_MSG) == 0) { if (R2_GLOBALS._v57709 == 0) subD18F5(); - subCCF26(); + firstShuffle(); } else { if (R2_GLOBALS._v57709 == 0) subD18F5(); @@ -5552,35 +5552,35 @@ void Scene1337::displayInstructions() { void Scene1337::shuffleCards() { R2_GLOBALS._sceneObjects->draw(); + // Remove holes in card pile for (int i = 0; i <= 98; i++) { - if (_field3E28[i] == 0) { + if (_availableCardsPile[i] == 0) { for (int j = i + 1; j <= 98; j ++) { - if (_field3E28[j] != 0) { - _field3E28[i] = _field3E28[j]; - _field3E28[j] = 0; + if (_availableCardsPile[j] != 0) { + _availableCardsPile[i] = _availableCardsPile[j]; + _availableCardsPile[j] = 0; break; } } } } + // Compute the number of available cards for (int i = 0; i <= 99; i ++) { - if (_field3E28[i] == 0) { - _field3E24 = i - 1; + if (_availableCardsPile[i] == 0) { + // CHECKME: This will fail if i == 0, which shouldn't happen + // as we don't shuffle cards when no card is available. + _cardsAvailableNumb = i - 1; _field3E26 = 98; break; } } - // tmpVal is never modified in the original. It looks weird but it works: at the end, the cards are suffled! - int tmpVal = 0; - int randIndx; - int swap; for (int i = 0; i < 2000; i ++) { - randIndx = R2_GLOBALS._randomSource.getRandomNumber(_field3E24); - swap = _field3E28[tmpVal]; - _field3E28[tmpVal] = _field3E28[randIndx]; - _field3E28[randIndx] = swap; + int randIndx = R2_GLOBALS._randomSource.getRandomNumber(_cardsAvailableNumb); + int swap = _availableCardsPile[0]; + _availableCardsPile[0] = _availableCardsPile[randIndx]; + _availableCardsPile[randIndx] = swap; } _field423C = 0; @@ -5598,7 +5598,7 @@ void Scene1337::shuffleCards() { } } -void Scene1337::subCCF26() { +void Scene1337::firstShuffle() { _animatedCard._card._moveDiff = Common::Point(30, 30); shuffleCards(); _item1.setAction(&_action3); diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h index 33c4549f7a..2cd7f65bd4 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.h +++ b/engines/tsage/ringworld2/ringworld2_scenes1.h @@ -296,9 +296,9 @@ public: unkObj1337sub1 _item3; unkObj1337sub1 _item4; BackgroundSceneObject _background2; - int _field3E24; + int _cardsAvailableNumb; int _field3E26; - int _field3E28[100]; + int _availableCardsPile[100]; unkObj1337sub1 *_field3EF0; unkObj1337sub1 *_field3EF4; unkObj1337sub1 *_field3EF8; @@ -360,7 +360,7 @@ public: void displayInstructions(); void suggestInstructions(); void shuffleCards(); - void subCCF26(); + void firstShuffle(); void subCD193(); void subCDB90(int arg1, Common::Point pt); void subCF31D(); -- cgit v1.2.3 From 6c1401d2d0b47745a64c166362d8163bf2ddb84d Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 30 Nov 2013 17:54:44 +0100 Subject: TSAGE: R2R - Some more renaming, fix card shuffling animations sync --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 39 ++++++++++++------------- engines/tsage/ringworld2/ringworld2_scenes1.h | 4 +-- 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index fb57dd0ada..24629ab5bc 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -2241,7 +2241,7 @@ Scene1337::Scene1337() { for (int i = 0; i < 100; i++) _availableCardsPile[i] = 0; - _field423C = 0; + _shuffleEndedFl = false; _field423E = 0; _field4240 = 0; _field4242 = 0; @@ -3045,40 +3045,43 @@ void Scene1337::Action1::signal() { } } +/** + * Shuffle cards animation + */ void Scene1337::Action2::signal() { Scene1337 *scene = (Scene1337 *)R2_GLOBALS._sceneManager._scene; switch (_actionIndex++) { case 0: - scene->_item3._card.postInit(); - scene->_item3._card.setVisage(1332); - scene->_item3._card.setStrip(8); - scene->_item3._card.setFrame(1); - scene->_item3._card.fixPriority(300); - scene->_item3._card.setPosition(Common::Point(156, 108)); + scene->_shuffleAnimation._card.postInit(); + scene->_shuffleAnimation._card.setVisage(1332); + scene->_shuffleAnimation._card.setStrip(8); + scene->_shuffleAnimation._card.setFrame(1); + scene->_shuffleAnimation._card.fixPriority(300); + scene->_shuffleAnimation._card.setPosition(Common::Point(156, 108)); scene->_discardPile._card.remove(); scene->_discardPile._cardId = 0; scene->_aSound1.play(60); - scene->_item3._card.animate(ANIM_MODE_5, this); + scene->_shuffleAnimation._card.animate(ANIM_MODE_5, this); break; case 1: - scene->_item3._card.setFrame(1); + scene->_shuffleAnimation._card.setFrame(1); scene->_aSound1.play(60); - scene->_item3._card.animate(ANIM_MODE_5, this); + scene->_shuffleAnimation._card.animate(ANIM_MODE_5, this); break; case 2: { Common::Point pt(156, 108); NpcMover *mover = new NpcMover(); - scene->_item3._card.addMover(mover, &pt, this); + scene->_shuffleAnimation._card.addMover(mover, &pt, this); } break; case 3: - scene->_item3._card.remove(); + scene->_shuffleAnimation._card.remove(); scene->_background2.setup2(1332, 5, 1, 162, 95, 110, 1); - scene->_field423C = 1; + scene->_shuffleEndedFl = true; break; default: break; @@ -5583,18 +5586,14 @@ void Scene1337::shuffleCards() { _availableCardsPile[randIndx] = swap; } - _field423C = 0; + _shuffleEndedFl = false; _animatedCard._card.setAction(&_action2); - while(_field423C == 0) { + while(!_shuffleEndedFl && !g_vm->shouldQuit()) { + g_globals->_sceneObjects->recurse(SceneHandler::dispatchObject); g_globals->_scenePalette.signalListeners(); R2_GLOBALS._sceneObjects->draw(); - warning("TODO: recurse on draw() and on signalListeners()?"); g_globals->_events.delay(g_globals->_sceneHandler->_delayTicks); - - // Hack to avoid eternal loop - // To be removed when the recurse is working properly - _field423C = 1; } } diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h index 2cd7f65bd4..f55ffd782a 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.h +++ b/engines/tsage/ringworld2/ringworld2_scenes1.h @@ -293,7 +293,7 @@ public: Action12 _action12; Action13 _action13; unkObj1337sub1 _animatedCard; - unkObj1337sub1 _item3; + unkObj1337sub1 _shuffleAnimation; unkObj1337sub1 _item4; BackgroundSceneObject _background2; int _cardsAvailableNumb; @@ -306,7 +306,7 @@ public: unkObj1337sub1 _item6; unkObj1337sub1 _discardPile; unkObj1337sub1 _item8; - int _field423C; + bool _shuffleEndedFl; int _field423E; int _field4240; int _field4242; -- cgit v1.2.3 From 5c3c45ff9b8c4f18e5941e922a243ca4a05d5924 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Sat, 30 Nov 2013 12:18:44 -0500 Subject: TSAGE: Change Return to Ringworld from unstable to testing --- engines/tsage/detection_tables.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/tsage/detection_tables.h b/engines/tsage/detection_tables.h index b374dbc98b..0f7f1e49bb 100644 --- a/engines/tsage/detection_tables.h +++ b/engines/tsage/detection_tables.h @@ -165,7 +165,7 @@ static const tSageGameDescription gameDescriptions[] = { AD_ENTRY1s("r2rw.rlb", "df6c25622387007788ca36d99362c1f0", 47586928), Common::EN_ANY, Common::kPlatformDOS, - ADGF_CD | ADGF_UNSTABLE, + ADGF_CD | ADGF_TESTING, GUIO0() }, GType_Ringworld2, -- cgit v1.2.3 From 1f2685e40ca71eaee8c15b52dcff2ae36b8f8909 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 30 Nov 2013 18:51:44 +0100 Subject: TSAGE: R2R - Some more renaming in scene 1337 --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 54 ++++++++++++------------- engines/tsage/ringworld2/ringworld2_scenes1.h | 2 +- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index 24629ab5bc..c3b23087c7 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -2249,8 +2249,8 @@ Scene1337::Scene1337() { _field4246 = 0; _field4248 = 0; _field424A = 0; - _field424C = 0; - _field424E = 0; + _instructionsDisplayedFl = 0; + _instructionsWaitCount = 0; _unkFctPtr412 = nullptr; _field3EF0 = nullptr; @@ -2953,15 +2953,15 @@ void Scene1337::Action1::signal() { scene->_lowerDisplayCard[2].remove(); scene->_lowerDisplayCard[3].remove(); - scene->_object1.setFrame(1); - scene->_object1.show(); - scene->_object1.animate(ANIM_MODE_2, NULL); + scene->_currentPlayerArrow.setFrame(1); + scene->_currentPlayerArrow.show(); + scene->_currentPlayerArrow.animate(ANIM_MODE_2, NULL); R2_GLOBALS._sceneObjects->draw(); scene->actionDisplay(1331, 19, 159, 10, 1, 220, 0, 7, 0, 154, 154); - scene->_object1.hide(); + scene->_currentPlayerArrow.hide(); scene->actionDisplay(1331, 20, 159, 10, 1, 220, 0, 7, 0, 154, 154); scene->actionDisplay(1331, 21, 159, 10, 1, 220, 0, 7, 0, 154, 154); @@ -4479,10 +4479,10 @@ void Scene1337::process(Event &event) { } void Scene1337::dispatch() { - if (_field424C == 0) { - ++_field424E; - if (_field424E == 4) { - _field424C = 1; + if (_instructionsDisplayedFl == 0) { + ++_instructionsWaitCount; + if (_instructionsWaitCount == 4) { + _instructionsDisplayedFl = 1; suggestInstructions(); } } @@ -4529,21 +4529,21 @@ void Scene1337::subC20F9() { _field423E = 0; if (_field4244 == 1) { - _object1.show(); + _currentPlayerArrow.show(); switch (_field423E) { case 0: - _object1.setStrip(3); + _currentPlayerArrow.setStrip(3); break; case 1: - _object1.setStrip(4); + _currentPlayerArrow.setStrip(4); break; case 2: subD1975(174, 107); - _object1.setStrip(1); + _currentPlayerArrow.setStrip(1); break; case 3: subC4CEC(); - _object1.setStrip(2); + _currentPlayerArrow.setStrip(2); break; default: break; @@ -4600,7 +4600,7 @@ void Scene1337::subC20F9() { void Scene1337::subC2586() { if (_field4244 != 0) - _object1.hide(); + _currentPlayerArrow.hide(); switch (_field423E) { case 2: @@ -5512,15 +5512,15 @@ void Scene1337::subPostInit() { _animatedCard._card.animate(ANIM_MODE_2, NULL); _animatedCard._card.hide(); - _object1.postInit(); - _object1.setVisage(1334); - _object1.setStrip(1); - _object1.setFrame(1); - _object1._numFrames = 12; - _object1.fixPriority(500); - _object1.setPosition(Common::Point(174, 107), 0); - _object1.animate(ANIM_MODE_2, NULL); - _object1.hide(); + _currentPlayerArrow.postInit(); + _currentPlayerArrow.setVisage(1334); + _currentPlayerArrow.setStrip(1); + _currentPlayerArrow.setFrame(1); + _currentPlayerArrow._numFrames = 12; + _currentPlayerArrow.fixPriority(500); + _currentPlayerArrow.setPosition(Common::Point(174, 107), 0); + _currentPlayerArrow.animate(ANIM_MODE_2, NULL); + _currentPlayerArrow.hide(); _field4244 = 1; _field4246 = 0; @@ -5530,8 +5530,8 @@ void Scene1337::subPostInit() { _background1.setup2(9531, 1, 1, 249, 168, 155, 0); _autoplay = false; - _field424C = 0; - _field424E = 0; + _instructionsDisplayedFl = 0; + _instructionsWaitCount = 0; } void Scene1337::suggestInstructions() { diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h index f55ffd782a..6b0f8859a5 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.h +++ b/engines/tsage/ringworld2/ringworld2_scenes1.h @@ -278,7 +278,7 @@ public: bool _autoplay; unkObj1337_1 _gameBoardSide[4]; SceneItem _item1; - SceneObject _object1; + SceneObject _currentPlayerArrow; Action1 _action1; Action2 _action2; Action3 _action3; -- cgit v1.2.3 From 4b110493c1778967f0696136d6da459c948c4bb4 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 30 Nov 2013 19:03:46 +0100 Subject: TSAGE: R2R - Add missing shouldquit in loop, fix build --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 2 +- engines/tsage/ringworld2/ringworld2_scenes1.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index c3b23087c7..ebba329762 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -2267,7 +2267,7 @@ void Scene1337::Action1337::waitFrames(int32 frameCount) { uint32 curFrame = firstFrameNumber; uint32 destFrame = firstFrameNumber + frameCount; - while (curFrame < destFrame) { + while ((curFrame < destFrame) && !g_vm->shouldQuit()) { TsAGE::Event event; g_globals->_events.getEvent(event); curFrame = g_globals->_events.getFrameNumber(); diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h index 6b0f8859a5..5059554311 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.h +++ b/engines/tsage/ringworld2/ringworld2_scenes1.h @@ -314,8 +314,8 @@ public: int _field4246; int _field4248; int _field424A; - int _field424C; - int _field424E; + int _instructionsDisplayedFl; + int _instructionsWaitCount; SceneObject _upperDisplayCard[8]; SceneObject _lowerDisplayCard[8]; -- cgit v1.2.3 From de41fbfebac2de3d192358e51f47a5230c446ab7 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 30 Nov 2013 20:29:22 +0100 Subject: TSAGE: R2R - Some more renaming --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 156 ++++++++++++------------ engines/tsage/ringworld2/ringworld2_scenes1.h | 4 +- 2 files changed, 80 insertions(+), 80 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index ebba329762..682f05e024 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -2242,10 +2242,10 @@ Scene1337::Scene1337() { _availableCardsPile[i] = 0; _shuffleEndedFl = false; - _field423E = 0; + _currentPlayerNumb = 0; _field4240 = 0; _field4242 = 0; - _field4244 = 0; + _field4244 = false; _field4246 = 0; _field4248 = 0; _field424A = 0; @@ -3346,7 +3346,7 @@ void Scene1337::Action3::signal() { } if (_actionIndex > 12) { - scene->_field423E = 0; + scene->_currentPlayerNumb = 0; R2_GLOBALS._sceneObjects->draw(); scene->actionDisplay(1330, 0, 159, 10, 1, 200, 0, 7, 0, 154, 154); scene->subC20F9(); @@ -3361,17 +3361,17 @@ void Scene1337::Action4::signal() { switch (_actionIndex++) { case 0: - if ((scene->_gameBoardSide[scene->_field423E]._handCard[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._delayPile[0]._cardId))) { + if ((scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayPile[0]._cardId))) { if (scene->_cardsAvailableNumb < 0) - scene->subC264B(scene->_gameBoardSide[scene->_field423E]._delayPile[0]._cardId); + scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayPile[0]._cardId); scene->_animatedCard._card.setPosition(Common::Point(162, 95), 0); scene->_animatedCard._card.show(); scene->_aSound2.play(61); NpcMover *mover = new NpcMover(); - scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldB94, this); + scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldB94, this); - scene->_gameBoardSide[scene->_field423E]._handCard[0]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; scene->_availableCardsPile[scene->_cardsAvailableNumb] = 0; scene->_cardsAvailableNumb--; @@ -3383,22 +3383,22 @@ void Scene1337::Action4::signal() { } break; case 1: - if ( ( scene->_animatedCard._card._position.x == scene->_gameBoardSide[scene->_field423E]._fieldB94.x) - && ( scene->_animatedCard._card._position.y == scene->_gameBoardSide[scene->_field423E]._fieldB94.y) ) { - scene->_gameBoardSide[scene->_field423E]._handCard[0]._card.postInit(); - scene->_gameBoardSide[scene->_field423E]._handCard[0]._card._moveDiff = Common::Point(30, 30); - scene->_gameBoardSide[scene->_field423E]._handCard[0]._card.setVisage(1332); - scene->_gameBoardSide[scene->_field423E]._handCard[0]._card.setPosition(scene->_gameBoardSide[scene->_field423E]._handCard[0]._stationPos, 0); - scene->_gameBoardSide[scene->_field423E]._handCard[0]._card.setStrip(1); - scene->_gameBoardSide[scene->_field423E]._handCard[0]._card.setFrame(scene->_gameBoardSide[scene->_field423E]._fieldBA4); - scene->_gameBoardSide[scene->_field423E]._handCard[0]._card.fixPriority(170); + if ( ( scene->_animatedCard._card._position.x == scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldB94.x) + && ( scene->_animatedCard._card._position.y == scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldB94.y) ) { + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._card.postInit(); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._card.setVisage(1332); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._card.setPosition(scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._stationPos, 0); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._card.setStrip(1); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._card.setFrame(scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldBA4); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._card.fixPriority(170); } - if ((scene->_field4248 == 1) || (scene->_field423E == 2)) - scene->setAnimationInfo(&scene->_gameBoardSide[scene->_field423E]._handCard[0]); + if ((scene->_field4248 == 1) || (scene->_currentPlayerNumb == 2)) + scene->setAnimationInfo(&scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]); scene->_animatedCard._card.hide(); - if ((scene->_gameBoardSide[scene->_field423E]._handCard[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._delayPile[0]._cardId == 0))) { + if ((scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayPile[0]._cardId == 0))) { if (scene->_cardsAvailableNumb < 0) scene->shuffleCards(); scene->_animatedCard._card.setPosition(Common::Point(162, 95)); @@ -3407,9 +3407,9 @@ void Scene1337::Action4::signal() { scene->_aSound2.play(61); NpcMover *mover = new NpcMover(); - scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldB98, this); + scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldB98, this); - scene->_gameBoardSide[scene->_field423E]._handCard[1]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; scene->_availableCardsPile[scene->_cardsAvailableNumb] = 0; scene->_cardsAvailableNumb--; if (scene->_cardsAvailableNumb < 0) @@ -3418,22 +3418,22 @@ void Scene1337::Action4::signal() { signal(); break; case 2: - if ( ( scene->_animatedCard._card._position.x == scene->_gameBoardSide[scene->_field423E]._fieldB98.x) - && ( scene->_animatedCard._card._position.y == scene->_gameBoardSide[scene->_field423E]._fieldB98.y) ) { - scene->_gameBoardSide[scene->_field423E]._handCard[1]._card.postInit(); - scene->_gameBoardSide[scene->_field423E]._handCard[1]._card._moveDiff = Common::Point(30, 30); - scene->_gameBoardSide[scene->_field423E]._handCard[1]._card.setVisage(1332); - scene->_gameBoardSide[scene->_field423E]._handCard[1]._card.setPosition(scene->_gameBoardSide[scene->_field423E]._handCard[1]._stationPos, 0); - scene->_gameBoardSide[scene->_field423E]._handCard[1]._card.setStrip(1); - scene->_gameBoardSide[scene->_field423E]._handCard[1]._card.setFrame(scene->_gameBoardSide[scene->_field423E]._fieldBA4); - scene->_gameBoardSide[scene->_field423E]._handCard[1]._card.fixPriority(170); + if ( ( scene->_animatedCard._card._position.x == scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldB98.x) + && ( scene->_animatedCard._card._position.y == scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldB98.y) ) { + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]._card.postInit(); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]._card.setVisage(1332); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]._card.setPosition(scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]._stationPos, 0); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]._card.setStrip(1); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]._card.setFrame(scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldBA4); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]._card.fixPriority(170); } - if ((scene->_field4248 == 1) || (scene->_field423E == 2)) - scene->setAnimationInfo(&scene->_gameBoardSide[scene->_field423E]._handCard[1]); + if ((scene->_field4248 == 1) || (scene->_currentPlayerNumb == 2)) + scene->setAnimationInfo(&scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]); scene->_animatedCard._card.hide(); - if ((scene->_gameBoardSide[scene->_field423E]._handCard[2]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._delayPile[0]._cardId == 0))) { + if ((scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayPile[0]._cardId == 0))) { if (scene->_cardsAvailableNumb < 0) scene->shuffleCards(); scene->_animatedCard._card.setPosition(Common::Point(162, 95)); @@ -3442,9 +3442,9 @@ void Scene1337::Action4::signal() { scene->_aSound2.play(61); NpcMover *mover = new NpcMover(); - scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldB9C, this); + scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldB9C, this); - scene->_gameBoardSide[scene->_field423E]._handCard[2]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; scene->_availableCardsPile[scene->_cardsAvailableNumb] = 0; scene->_cardsAvailableNumb--; if (scene->_cardsAvailableNumb < 0) @@ -3453,22 +3453,22 @@ void Scene1337::Action4::signal() { signal(); break; case 3: - if ( ( scene->_animatedCard._card._position.x == scene->_gameBoardSide[scene->_field423E]._fieldB9C.x) - && ( scene->_animatedCard._card._position.y == scene->_gameBoardSide[scene->_field423E]._fieldB9C.y) ) { - scene->_gameBoardSide[scene->_field423E]._handCard[2]._card.postInit(); - scene->_gameBoardSide[scene->_field423E]._handCard[2]._card._moveDiff = Common::Point(30, 30); - scene->_gameBoardSide[scene->_field423E]._handCard[2]._card.setVisage(1332); - scene->_gameBoardSide[scene->_field423E]._handCard[2]._card.setPosition(scene->_gameBoardSide[scene->_field423E]._handCard[2]._stationPos, 0); - scene->_gameBoardSide[scene->_field423E]._handCard[2]._card.setStrip(1); - scene->_gameBoardSide[scene->_field423E]._handCard[2]._card.setFrame(scene->_gameBoardSide[scene->_field423E]._fieldBA4); - scene->_gameBoardSide[scene->_field423E]._handCard[2]._card.fixPriority(170); + if ( ( scene->_animatedCard._card._position.x == scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldB9C.x) + && ( scene->_animatedCard._card._position.y == scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldB9C.y) ) { + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._card.postInit(); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._card.setVisage(1332); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._card.setPosition(scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._stationPos, 0); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._card.setStrip(1); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._card.setFrame(scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldBA4); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._card.fixPriority(170); } - if ((scene->_field4248 == 1) || (scene->_field423E == 2)) - scene->setAnimationInfo(&scene->_gameBoardSide[scene->_field423E]._handCard[2]); + if ((scene->_field4248 == 1) || (scene->_currentPlayerNumb == 2)) + scene->setAnimationInfo(&scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]); scene->_animatedCard._card.hide(); - if ((scene->_gameBoardSide[scene->_field423E]._handCard[3]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_field423E]._delayPile[0]._cardId == 0))) { + if ((scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayPile[0]._cardId == 0))) { if (scene->_cardsAvailableNumb < 0) scene->shuffleCards(); scene->_animatedCard._card.setPosition(Common::Point(162, 95)); @@ -3477,9 +3477,9 @@ void Scene1337::Action4::signal() { scene->_aSound2.play(61); NpcMover *mover = new NpcMover(); - scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_field423E]._fieldBA0, this); + scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldBA0, this); - scene->_gameBoardSide[scene->_field423E]._handCard[3]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; scene->_availableCardsPile[scene->_cardsAvailableNumb] = 0; scene->_cardsAvailableNumb--; if (scene->_cardsAvailableNumb < 0) @@ -3488,22 +3488,22 @@ void Scene1337::Action4::signal() { signal(); break; case 4: - if ( ( scene->_animatedCard._card._position.x == scene->_gameBoardSide[scene->_field423E]._fieldBA0.x) - && ( scene->_animatedCard._card._position.y == scene->_gameBoardSide[scene->_field423E]._fieldBA0.y) ) { - scene->_gameBoardSide[scene->_field423E]._handCard[3]._card.postInit(); - scene->_gameBoardSide[scene->_field423E]._handCard[3]._card._moveDiff = Common::Point(30, 30); - scene->_gameBoardSide[scene->_field423E]._handCard[3]._card.setVisage(1332); - scene->_gameBoardSide[scene->_field423E]._handCard[3]._card.setPosition(scene->_gameBoardSide[scene->_field423E]._handCard[3]._stationPos, 0); - scene->_gameBoardSide[scene->_field423E]._handCard[3]._card.setStrip(1); - scene->_gameBoardSide[scene->_field423E]._handCard[3]._card.setFrame(scene->_gameBoardSide[scene->_field423E]._fieldBA4); - scene->_gameBoardSide[scene->_field423E]._handCard[3]._card.fixPriority(170); + if ( ( scene->_animatedCard._card._position.x == scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldBA0.x) + && ( scene->_animatedCard._card._position.y == scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldBA0.y) ) { + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._card.postInit(); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._card._moveDiff = Common::Point(30, 30); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._card.setVisage(1332); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._card.setPosition(scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._stationPos, 0); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._card.setStrip(1); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._card.setFrame(scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldBA4); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._card.fixPriority(170); } - if ((scene->_field4248 == 1) || (scene->_field423E == 2)) - scene->setAnimationInfo(&scene->_gameBoardSide[scene->_field423E]._handCard[3]); + if ((scene->_field4248 == 1) || (scene->_currentPlayerNumb == 2)) + scene->setAnimationInfo(&scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]); scene->_animatedCard._card.hide(); - switch (scene->_field423E) { + switch (scene->_currentPlayerNumb) { case 0: scene->subCF979(); break; @@ -4090,20 +4090,20 @@ void Scene1337::Action11::signal() { case 0: scene->_field3EF0->_card.setFrame(2); scene->_field3EF0->_card.show(); - scene->_field423E--; - scene->_field4244 = 0; + scene->_currentPlayerNumb--; + scene->_field4244 = false; break; case 1: scene->_field3EF0->_card.setFrame(4); scene->_field3EF0->_card.show(); - scene->_field423E--; - scene->_field4244 = 0; + scene->_currentPlayerNumb--; + scene->_field4244 = false; break; case 3: scene->_field3EF0->_card.setFrame(3); scene->_field3EF0->_card.show(); - scene->_field423E--; - scene->_field4244 = 0; + scene->_currentPlayerNumb--; + scene->_field4244 = false; break; default: scene->setAnimationInfo(scene->_field3EF0); @@ -4524,13 +4524,13 @@ void Scene1337::subC20E5() { void Scene1337::subC20F9() { switch (_field424A) { case -1: - ++_field423E; - if (_field423E == 3) - _field423E = 0; + ++_currentPlayerNumb; + if (_currentPlayerNumb == 3) + _currentPlayerNumb = 0; - if (_field4244 == 1) { + if (_field4244) { _currentPlayerArrow.show(); - switch (_field423E) { + switch (_currentPlayerNumb) { case 0: _currentPlayerArrow.setStrip(3); break; @@ -4599,10 +4599,10 @@ void Scene1337::subC20F9() { } void Scene1337::subC2586() { - if (_field4244 != 0) + if (_field4244) _currentPlayerArrow.hide(); - switch (_field423E) { + switch (_currentPlayerNumb) { case 2: subC4CD2(); if (_field4246 == 1) @@ -4619,7 +4619,7 @@ void Scene1337::subC2586() { break; } - _field4244 = 1; + _field4244 = true; } @@ -5522,7 +5522,7 @@ void Scene1337::subPostInit() { _currentPlayerArrow.animate(ANIM_MODE_2, NULL); _currentPlayerArrow.hide(); - _field4244 = 1; + _field4244 = true; _field4246 = 0; _field4248 = 0; _field424A = -1; @@ -6491,8 +6491,8 @@ void Scene1337::subD02CA() { setAnimationInfo(&_gameBoardSide[2]._handCard[i]); setCursorData(5, 1, 4); found = true; - _field423E--; - _field4244 = 0; + _currentPlayerNumb--; + _field4244 = false; subC20F9(); } else { actionDisplay(1330, 127, 159, 10, 1, 200, 0, 7, 0, 154, 154); diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h index 5059554311..6e50ccda84 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.h +++ b/engines/tsage/ringworld2/ringworld2_scenes1.h @@ -307,10 +307,10 @@ public: unkObj1337sub1 _discardPile; unkObj1337sub1 _item8; bool _shuffleEndedFl; - int _field423E; + int _currentPlayerNumb; int _field4240; int _field4242; - int _field4244; + bool _field4244; int _field4246; int _field4248; int _field424A; -- cgit v1.2.3 From ead2b0a4973840935a45abdbc69ae7a8a23755bb Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 30 Nov 2013 20:30:42 +0100 Subject: TSAGE: R2R - Fix bug in scene1337::action11::signal() --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index 682f05e024..95acab7a38 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -4090,26 +4090,22 @@ void Scene1337::Action11::signal() { case 0: scene->_field3EF0->_card.setFrame(2); scene->_field3EF0->_card.show(); - scene->_currentPlayerNumb--; - scene->_field4244 = false; break; case 1: scene->_field3EF0->_card.setFrame(4); scene->_field3EF0->_card.show(); - scene->_currentPlayerNumb--; - scene->_field4244 = false; break; case 3: scene->_field3EF0->_card.setFrame(3); scene->_field3EF0->_card.show(); - scene->_currentPlayerNumb--; - scene->_field4244 = false; break; default: scene->setAnimationInfo(scene->_field3EF0); break; } + scene->_currentPlayerNumb--; + scene->_field4244 = false; scene->subC4A39(scene->_field3EF4); break; default: -- cgit v1.2.3 From 3fbceeae21bcf1c0cd744dc3b081ac14ae3415ee Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 30 Nov 2013 22:38:17 +0100 Subject: TSAGE: R2R - Some refactoring in scene 1337 --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 24 +++++++++--------------- engines/tsage/ringworld2/ringworld2_scenes1.h | 8 ++++---- 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index 95acab7a38..5ed45efbbe 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -2246,7 +2246,7 @@ Scene1337::Scene1337() { _field4240 = 0; _field4242 = 0; _field4244 = false; - _field4246 = 0; + _field4246 = false; _field4248 = 0; _field424A = 0; _instructionsDisplayedFl = 0; @@ -4056,7 +4056,7 @@ void Scene1337::Action11::signal() { } } } // while - scene->_field4246 = 1; + scene->_field4246 = true; scene->subC4CEC(); } else { if (scene->_field4242 != 2) { @@ -4601,9 +4601,9 @@ void Scene1337::subC2586() { switch (_currentPlayerNumb) { case 2: subC4CD2(); - if (_field4246 == 1) + if (_field4246) actionDisplay(1330, 114, 159, 10, 1, 200, 0, 7, 0, 154, 154); - _field4246 = 0; + _field4246 = false; // No break on purpose case 0: // No break on purpose @@ -5266,7 +5266,7 @@ void Scene1337::subC4CEC() { return; subD18F5(); - subD1940(1); + subD1940(true); } void Scene1337::subC51A0(unkObj1337sub1 *subObj1, unkObj1337sub1 *subObj2) { @@ -5519,7 +5519,7 @@ void Scene1337::subPostInit() { _currentPlayerArrow.hide(); _field4244 = true; - _field4246 = 0; + _field4246 = false; _field4248 = 0; _field424A = -1; @@ -6841,34 +6841,28 @@ void Scene1337::setCursorData(int resNum, int rlbNum, int frameNum) { s.unlockSurface(); } -int Scene1337::subD18F5() { +void Scene1337::subD18F5() { if (R2_GLOBALS._v57709 == 0) // The cursor looks... very dummy // To be checked warning("TODO: CursorManager.setData(R2_GLOBALS.off_57705)"); ++R2_GLOBALS._v57709; - - return R2_GLOBALS._v57709; } -int Scene1337::subD1917() { +void Scene1337::subD1917() { if (R2_GLOBALS._v57709 != 0) { R2_GLOBALS._v57709--; if (R2_GLOBALS._v57709 != 0) warning("FIXME: subD195F(_width, _data);"); } - - return R2_GLOBALS._v57709; } -int Scene1337::subD1940(bool flag) { +void Scene1337::subD1940(bool flag) { if (flag) ++R2_GLOBALS._v5780C; else if (R2_GLOBALS._v5780C != 0) --R2_GLOBALS._v5780C; - - return R2_GLOBALS._v5780C; } void Scene1337::subD195F(int arg1, int arg2) { diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h index 6e50ccda84..28b82b4045 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.h +++ b/engines/tsage/ringworld2/ringworld2_scenes1.h @@ -311,7 +311,7 @@ public: int _field4240; int _field4242; bool _field4244; - int _field4246; + bool _field4246; int _field4248; int _field424A; int _instructionsDisplayedFl; @@ -370,9 +370,9 @@ public: void subD02CA(); void subD183F(int arg1, int arg2); void setCursorData(int resNum, int rlbNum, int frameNum); - int subD18F5(); - int subD1917(); - int subD1940(bool flag); + void subD18F5(); + void subD1917(); + void subD1940(bool flag); void subD195F(int arg1, int arg2); void subD1975(int arg1, int arg2); void subD1A48(int arg1); -- cgit v1.2.3 From 5aadc4468f9d9d05585ac0b05fc3e68e32f903c2 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sun, 1 Dec 2013 00:45:14 +0200 Subject: FULLPIPE: Fix wrong condition check. CID 1133710, 1133711 --- engines/fullpipe/motion.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines/fullpipe/motion.cpp b/engines/fullpipe/motion.cpp index 280a7c27b0..f67011a50f 100644 --- a/engines/fullpipe/motion.cpp +++ b/engines/fullpipe/motion.cpp @@ -765,7 +765,7 @@ MessageQueue *MovGraph2::buildMovInfo1MessageQueue(MovInfo1 *movInfo) { MessageQueue *mq2 = genMovement(&movinfo); - if (mq2) { + if (!mq2) { delete mq; return 0; } -- cgit v1.2.3 From ecf8f282d452081f1e6fce7e4518a1363ec30c7b Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sun, 1 Dec 2013 00:47:35 +0200 Subject: FULLPIPE: Initialize class variables. CID 1063200 --- engines/fullpipe/scenes.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index 9d5d168395..a0f90af532 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -76,6 +76,9 @@ Vars::Vars() { scene04_sceneClickX = 0; scene04_sceneClickY = 0; + scene04_dudePosX = 0; + scene04_dudePosY = 0; + scene04_var01 = 0; scene04_var02 = 0; scene04_var04 = 0; -- cgit v1.2.3 From 3e859768770a0b385e21c4528cd546b33ed9a55d Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sun, 1 Dec 2013 00:49:39 +0200 Subject: GRAPHICS: Initialize variable. CID 1133708 --- graphics/fonts/ttf.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graphics/fonts/ttf.cpp b/graphics/fonts/ttf.cpp index be3cd94efa..93f119f028 100644 --- a/graphics/fonts/ttf.cpp +++ b/graphics/fonts/ttf.cpp @@ -141,7 +141,7 @@ private: TTFFont::TTFFont() : _initialized(false), _face(), _ttfFile(0), _size(0), _width(0), _height(0), _ascent(0), - _descent(0), _glyphs(), _monochrome(false), _hasKerning(false) { + _descent(0), _glyphs(), _monochrome(false), _hasKerning(false), _allowLateCaching(false) { } TTFFont::~TTFFont() { -- cgit v1.2.3 From a6458abb29838d3a461bbb3f98ea58cdff47da4f Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 1 Dec 2013 01:46:58 +0100 Subject: TSAGE: R2R - WIP work on cursor behavior in scene 1337 --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 49 ++++++++++++++++--------- engines/tsage/ringworld2/ringworld2_scenes1.h | 3 ++ 2 files changed, 35 insertions(+), 17 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index 5ed45efbbe..945457eccc 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -2256,6 +2256,10 @@ Scene1337::Scene1337() { _field3EF0 = nullptr; _field3EF4 = nullptr; _field3EF8 = nullptr; + + _cursorCurRes = 0; + _cursorCurStrip = 0; + _cursorCurFrame = 0; } void Scene1337::synchronize(Serializer &s) { @@ -4482,6 +4486,12 @@ void Scene1337::dispatch() { suggestInstructions(); } } + + // The following code is in the original in sceneHandler::process(), + // which is terrible as it's checked in every scene of the game. + setCursorData(5, _cursorCurStrip, _cursorCurFrame); + // + Scene::dispatch(); } @@ -5262,11 +5272,10 @@ void Scene1337::subC4CD2() { } void Scene1337::subC4CEC() { - if (R2_GLOBALS._v57709 != 0) - return; - - subD18F5(); - subD1940(true); + if (R2_GLOBALS._v57709 == 0) { + subD18F5(); + subD1940(true); + } } void Scene1337::subC51A0(unkObj1337sub1 *subObj1, unkObj1337sub1 *subObj2) { @@ -6830,22 +6839,28 @@ void Scene1337::setCursorData(int resNum, int rlbNum, int frameNum) { if (!frameNum) return; - uint size; - byte *cursor = g_resourceManager->getSubResource(resNum, rlbNum, frameNum, &size); - // Decode the cursor - GfxSurface s = surfaceFromRes(cursor); + _cursorCurRes = resNum; + _cursorCurStrip = rlbNum; + _cursorCurFrame = frameNum; + + if (!frameNum) { + R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); + } else { + uint size; + byte *cursor = g_resourceManager->getSubResource(resNum, rlbNum, frameNum, &size); + // Decode the cursor + GfxSurface s = surfaceFromRes(cursor); - Graphics::Surface surface = s.lockSurface(); - const byte *cursorData = (const byte *)surface.getPixels(); - CursorMan.replaceCursor(cursorData, surface.w, surface.h, s._centroid.x, s._centroid.y, s._transColor); - s.unlockSurface(); + Graphics::Surface surface = s.lockSurface(); + const byte *cursorData = (const byte *)surface.getPixels(); + CursorMan.replaceCursor(cursorData, surface.w, surface.h, s._centroid.x, s._centroid.y, s._transColor); + s.unlockSurface(); + } } void Scene1337::subD18F5() { if (R2_GLOBALS._v57709 == 0) - // The cursor looks... very dummy - // To be checked - warning("TODO: CursorManager.setData(R2_GLOBALS.off_57705)"); + R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); ++R2_GLOBALS._v57709; } @@ -6854,7 +6869,7 @@ void Scene1337::subD1917() { if (R2_GLOBALS._v57709 != 0) { R2_GLOBALS._v57709--; if (R2_GLOBALS._v57709 != 0) - warning("FIXME: subD195F(_width, _data);"); + subD195F(_cursorCurStrip, _cursorCurFrame); } } diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h index 28b82b4045..2b95bc2bd6 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.h +++ b/engines/tsage/ringworld2/ringworld2_scenes1.h @@ -316,6 +316,9 @@ public: int _field424A; int _instructionsDisplayedFl; int _instructionsWaitCount; + int _cursorCurRes; + int _cursorCurStrip; + int _cursorCurFrame; SceneObject _upperDisplayCard[8]; SceneObject _lowerDisplayCard[8]; -- cgit v1.2.3 From 94871e9341ac54d560fd5eb71926ddb68210f814 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 1 Dec 2013 10:13:01 +0100 Subject: TAGE: R2R - Scene 1337 - Get rid of subD195F() --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 20 +++++++++++--------- engines/tsage/ringworld2/ringworld2_scenes1.h | 1 - 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index 945457eccc..e2560aad2e 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -5542,6 +5542,7 @@ void Scene1337::subPostInit() { void Scene1337::suggestInstructions() { if (R2_GLOBALS._v57709 > 0) subD1917(); + if (MessageDialog::show(NEED_INSTRUCTIONS, NO_MSG, YES_MSG) == 0) { if (R2_GLOBALS._v57709 == 0) subD18F5(); @@ -6822,15 +6823,17 @@ void Scene1337::subD183F(int arg1, int arg2) { R2_GLOBALS._v5780E = 1; } + // The original was using an intermediate function to call setCursorData. + // It has been removed to improve readability if (R2_GLOBALS._v5780E == 1) { R2_GLOBALS._v57810 = 200; - subD195F(1, 4); + setCursorData(5, 1, 4); } else if (R2_GLOBALS._v5780E == 2) { R2_GLOBALS._v57810 = 300; - subD195F(1, 5); + setCursorData(5, 1, 5); } else { R2_GLOBALS._v57810 = 0; - subD195F(0, 0); + setCursorData(5, 0, 0); } } @@ -6868,8 +6871,11 @@ void Scene1337::subD18F5() { void Scene1337::subD1917() { if (R2_GLOBALS._v57709 != 0) { R2_GLOBALS._v57709--; - if (R2_GLOBALS._v57709 != 0) - subD195F(_cursorCurStrip, _cursorCurFrame); + if (R2_GLOBALS._v57709 != 0) { + // The original was using an intermediate function to call setCursorData. + // It has been removed to improve readability + setCursorData(5, _cursorCurStrip, _cursorCurFrame); + } } } @@ -6880,10 +6886,6 @@ void Scene1337::subD1940(bool flag) { --R2_GLOBALS._v5780C; } -void Scene1337::subD195F(int arg1, int arg2) { - setCursorData(5, arg1, arg2); -} - void Scene1337::subD1975(int arg1, int arg2) { warning("STUBBED lvl2 Scene1337::subD1975()"); } diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h index 2b95bc2bd6..0d4cf5986d 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.h +++ b/engines/tsage/ringworld2/ringworld2_scenes1.h @@ -376,7 +376,6 @@ public: void subD18F5(); void subD1917(); void subD1940(bool flag); - void subD195F(int arg1, int arg2); void subD1975(int arg1, int arg2); void subD1A48(int arg1); -- cgit v1.2.3 From 9bf28664b9e0f4c36c51ad3cf327db049b570ee1 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 1 Dec 2013 10:27:52 +0100 Subject: TSAGE: R2R - Fix bug in cursor code in scene 1337 --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index e2560aad2e..44bd864b02 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -5267,14 +5267,14 @@ void Scene1337::subC4A39(unkObj1337sub1 *subObj) { void Scene1337::subC4CD2() { if (R2_GLOBALS._v57709 > 0) { subD1917(); - subD1940(false); + subD1940(false); // _v5780C-- } } void Scene1337::subC4CEC() { if (R2_GLOBALS._v57709 == 0) { subD18F5(); - subD1940(true); + subD1940(true); // _v5780C++ } } @@ -5387,7 +5387,7 @@ void Scene1337::subPostInit() { R2_GLOBALS._v57709 = 0; R2_GLOBALS._v5780C = 0; subD183F(1, 0); - subD1940(true); + subD1940(true); // _v5780C++ subD18F5(); // loadScene(1330); @@ -6838,15 +6838,13 @@ void Scene1337::subD183F(int arg1, int arg2) { } void Scene1337::setCursorData(int resNum, int rlbNum, int frameNum) { - // Change the mouse cursor and set it to the desired frame (if different than 0) - if (!frameNum) - return; - _cursorCurRes = resNum; _cursorCurStrip = rlbNum; _cursorCurFrame = frameNum; if (!frameNum) { + // Should be a hardcoded cursor displaying only a dot. + // FIXME: Use another cursor when possible R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); } else { uint size; -- cgit v1.2.3 From 521eeb9b42d0b37c5fe79843e7ecbda08f5b8065 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sun, 1 Dec 2013 16:50:04 +0200 Subject: FULLPIPE: Implement sceneHandler04_winArcade() --- engines/fullpipe/constants.h | 1 + engines/fullpipe/fullpipe.h | 1 + engines/fullpipe/scenes/scene04.cpp | 26 +++++++++++++++++++++++++- engines/fullpipe/sound.cpp | 3 +++ 4 files changed, 30 insertions(+), 1 deletion(-) diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index e1ec51a947..76739b6632 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -187,6 +187,7 @@ namespace Fullpipe { #define QU_EGTR_MD2_SHOW 4698 #define QU_EGTR_MD1_SHOW 4697 #define QU_EGTR_SLIMSHOW 4883 +#define QU_HND_TAKEBOTTLE 1443 #define QU_IN2_DO 5144 #define QU_INTR_FINISH 5138 #define QU_INTR_GETUPMAN 5136 diff --git a/engines/fullpipe/fullpipe.h b/engines/fullpipe/fullpipe.h index 63dde5042b..00d2863c94 100644 --- a/engines/fullpipe/fullpipe.h +++ b/engines/fullpipe/fullpipe.h @@ -142,6 +142,7 @@ public: void toggleMute(); void playSound(int id, int flag); void startSceneTrack(); + void stopSoundStream2(); int _sfxVolume; diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index f2fbfd3ef4..137133ba28 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -33,6 +33,7 @@ #include "fullpipe/interaction.h" #include "fullpipe/gameloader.h" #include "fullpipe/behavior.h" +#include "fullpipe/motion.h" namespace Fullpipe { @@ -446,7 +447,30 @@ void sceneHandler04_updateBottle() { } void sceneHandler04_winArcade() { - warning("sceneHandler04_winArcade()"); + if (g_fullpipe->getObjectState(sO_LowerPipe) == g_fullpipe->getObjectEnumState(sO_LowerPipe, sO_IsClosed) + && g_vars->scene04_soundPlaying) { + g_vars->scene04_clock->changeStatics2(ST_CLK_CLOSED); + g_vars->scene04_hand->changeStatics2(ST_HND_EMPTY); + + chainQueue(QU_HND_TAKEBOTTLE, 1); + + if (g_vars->scene04_walkingKozyawka) { + g_vars->scene04_kozyawkiObjList.push_back(g_vars->scene04_walkingKozyawka); + + g_vars->scene04_walkingKozyawka->changeStatics2(ST_KZW_EMPTY); + g_vars->scene04_walkingKozyawka->hide(); + g_vars->scene04_walkingKozyawka = 0; + } + + g_vars->scene04_var19 = 0; + g_vars->scene04_soundPlaying = 0; + + getSc2MctlCompoundBySceneId(g_fullpipe->_currentScene->_sceneId)->setEnabled(); + + getGameLoaderInteractionController()->enableFlag24(); + + g_fullpipe->stopSoundStream2(); + } } int sceneHandler04(ExCommand *ex) { diff --git a/engines/fullpipe/sound.cpp b/engines/fullpipe/sound.cpp index 6da848a621..b4a864d164 100644 --- a/engines/fullpipe/sound.cpp +++ b/engines/fullpipe/sound.cpp @@ -135,6 +135,9 @@ void global_messageHandler_handleSound(ExCommand *cmd) { debug(0, "STUB: global_messageHandler_handleSound()"); } +void FullpipeEngine::stopSoundStream2() { + warning("STUB: FullpipeEngine::stopSoundStream2()"); +} } // End of namespace Fullpipe -- cgit v1.2.3 From 627716ab1ae493316da5a36f3dddc8ca72959b39 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sun, 1 Dec 2013 17:07:23 +0200 Subject: FULLPIPE: Implement sceneHandler04_liftBottle() --- engines/fullpipe/scenes.cpp | 2 +- engines/fullpipe/scenes.h | 2 +- engines/fullpipe/scenes/scene04.cpp | 40 +++++++++++++++++++++++++++++-------- 3 files changed, 34 insertions(+), 10 deletions(-) diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index a0f90af532..014459e847 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -99,7 +99,7 @@ Vars::Vars() { scene04_var19 = 0; scene04_var20 = 0; scene04_var24 = 0; - scene04_var26 = 0; + scene04_bottleY = 0; selector = 0; } diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index ed0da0a9db..670b94a839 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -122,7 +122,7 @@ public: int scene04_var19; int scene04_var20; StaticANIObject *scene04_var24; - int scene04_var26; + int scene04_bottleY; PictureObject *selector; }; diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index 137133ba28..d642ebfcd2 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -285,7 +285,7 @@ void sceneHandler04_clickPlank() { void sceneHandler04_dropBottle() { g_vars->scene04_var12 = 1; - g_vars->scene04_var26 = 10; + g_vars->scene04_bottleY = 10; g_vars->scene04_var06 = 0; while (g_vars->scene04_kozyawkiAni.size()) { @@ -389,8 +389,36 @@ void sceneHandler04_sub5() { warning("sceneHandler04_sub5()"); } -void sceneHandler04_sub6() { - warning("sceneHandler04_sub6()"); +void sceneHandler04_bottleUpdateObjects(int off) { + for (Common::List::iterator it = g_vars->scene04_bottleObjList.begin(); it != g_vars->scene04_bottleObjList.end(); ++it) { + GameObject *obj = *it; + + obj->setOXY(obj->_field_8 + 20, off + obj->_field_8 + 24); + } +} + +void sceneHandler04_liftBottle() { + int newy = g_vars->scene04_bottleY + g_vars->scene04_spring->_oy; + + g_vars->scene04_bottleY += 5; + + sceneHandler04_bottleUpdateObjects(newy - g_vars->scene04_spring->_oy); + + g_vars->scene04_spring->setOXY(g_vars->scene04_spring->_ox, newy); + + if (g_vars->scene04_bottle->_oy >= 226) { + sceneHandler04_bottleUpdateObjects(226 - g_vars->scene04_bottle->_oy); + + g_vars->scene04_spring->setOXY(g_vars->scene04_spring->_ox, 437); + g_vars->scene04_var12 = 0; + g_vars->scene04_var09 = 0; + g_vars->scene04_var19 = 1; + g_vars->scene04_var06 = 2; + g_vars->scene04_var20 = 10; + g_vars->scene04_var02 = 0; + + g_fullpipe->setObjectState(sO_LowerPipe, g_fullpipe->getObjectEnumState(sO_LowerPipe, sO_IsClosed)); + } } void sceneHandler04_sub7() { @@ -425,10 +453,6 @@ void sceneHandler04_testPlank(ExCommand *ex) { warning("sceneHandler04_testPlank()"); } -void sceneHandler04_bottleUpdateObjects(int off) { - warning("sceneHandler04_bottleUpdateObjects()"); -} - void sceneHandler04_updateBottle() { Common::Point point; @@ -581,7 +605,7 @@ int sceneHandler04(ExCommand *ex) { sceneHandler04_sub5(); if (g_vars->scene04_var12) - sceneHandler04_sub6(); + sceneHandler04_liftBottle(); if (g_vars->scene04_var08) sceneHandler04_clickLadder(); -- cgit v1.2.3 From 001cf8ed509a93675b384fb406d21b05a7abef37 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Mon, 2 Dec 2013 07:20:53 +0100 Subject: TSAGE: R2R - Move variable from scene 1337 to r2_globals, add command to debugger --- engines/tsage/debugger.cpp | 48 ++++++++++++++++++------- engines/tsage/debugger.h | 2 ++ engines/tsage/globals.cpp | 4 +++ engines/tsage/globals.h | 1 + engines/tsage/ringworld2/ringworld2_scenes1.cpp | 10 +++--- engines/tsage/ringworld2/ringworld2_scenes1.h | 1 - 6 files changed, 47 insertions(+), 19 deletions(-) diff --git a/engines/tsage/debugger.cpp b/engines/tsage/debugger.cpp index c7da5f5d30..e81e5cddb3 100644 --- a/engines/tsage/debugger.cpp +++ b/engines/tsage/debugger.cpp @@ -30,18 +30,19 @@ namespace TsAGE { Debugger::Debugger() : GUI::Debugger() { - DCmd_Register("continue", WRAP_METHOD(Debugger, Cmd_Exit)); - DCmd_Register("scene", WRAP_METHOD(Debugger, Cmd_Scene)); - DCmd_Register("walk_regions", WRAP_METHOD(Debugger, Cmd_WalkRegions)); - DCmd_Register("priority_regions", WRAP_METHOD(Debugger, Cmd_PriorityRegions)); - DCmd_Register("scene_regions", WRAP_METHOD(Debugger, Cmd_SceneRegions)); - DCmd_Register("setflag", WRAP_METHOD(Debugger, Cmd_SetFlag)); - DCmd_Register("getflag", WRAP_METHOD(Debugger, Cmd_GetFlag)); - DCmd_Register("clearflag", WRAP_METHOD(Debugger, Cmd_ClearFlag)); - DCmd_Register("listobjects", WRAP_METHOD(Debugger, Cmd_ListObjects)); - DCmd_Register("moveobject", WRAP_METHOD(Debugger, Cmd_MoveObject)); - DCmd_Register("hotspots", WRAP_METHOD(Debugger, Cmd_Hotspots)); - DCmd_Register("sound", WRAP_METHOD(Debugger, Cmd_Sound)); + DCmd_Register("continue", WRAP_METHOD(Debugger, Cmd_Exit)); + DCmd_Register("scene", WRAP_METHOD(Debugger, Cmd_Scene)); + DCmd_Register("walk_regions", WRAP_METHOD(Debugger, Cmd_WalkRegions)); + DCmd_Register("priority_regions", WRAP_METHOD(Debugger, Cmd_PriorityRegions)); + DCmd_Register("scene_regions", WRAP_METHOD(Debugger, Cmd_SceneRegions)); + DCmd_Register("setflag", WRAP_METHOD(Debugger, Cmd_SetFlag)); + DCmd_Register("getflag", WRAP_METHOD(Debugger, Cmd_GetFlag)); + DCmd_Register("clearflag", WRAP_METHOD(Debugger, Cmd_ClearFlag)); + DCmd_Register("listobjects", WRAP_METHOD(Debugger, Cmd_ListObjects)); + DCmd_Register("moveobject", WRAP_METHOD(Debugger, Cmd_MoveObject)); + DCmd_Register("hotspots", WRAP_METHOD(Debugger, Cmd_Hotspots)); + DCmd_Register("sound", WRAP_METHOD(Debugger, Cmd_Sound)); + DCmd_Register("setdebug", WRAP_METHOD(Debugger, Cmd_SetDebug)); } static int strToInt(const char *s) { @@ -340,6 +341,14 @@ bool Debugger::Cmd_Sound(int argc, const char **argv) { return false; } +/** + * Activate internal debugger, when available + */ +bool Debugger::Cmd_SetDebug(int argc, const char **argv) { + DebugPrintf("Not available in this game\n"); + return true; +} + /* * This command lists the objects available, and their ID */ @@ -707,4 +716,19 @@ bool Ringworld2Debugger::Cmd_MoveObject(int argc, const char **argv) { return true; } + +/** + * Activate internal debugger, when available + */ +bool Ringworld2Debugger::Cmd_SetDebug(int argc, const char **argv) { + if (argc != 1) { + DebugPrintf("Usage: %s\n", argv[0]); + return true; + } + + // Set the internal debugger flag(s?) to true + // _debugCardGame is reset by scene1337::subPostInit() + R2_GLOBALS._debugCardGame = true; + return true; +} } // End of namespace TsAGE diff --git a/engines/tsage/debugger.h b/engines/tsage/debugger.h index bf826a3f77..c9b7e75039 100644 --- a/engines/tsage/debugger.h +++ b/engines/tsage/debugger.h @@ -45,6 +45,7 @@ protected: bool Cmd_Sound(int argc, const char **argv); virtual bool Cmd_ListObjects(int argc, const char **argv) = 0; virtual bool Cmd_MoveObject(int argc, const char **argv) = 0; + virtual bool Cmd_SetDebug(int argc, const char **argv); }; class DemoDebugger : public Debugger { @@ -69,6 +70,7 @@ class Ringworld2Debugger : public Debugger { protected: virtual bool Cmd_ListObjects(int argc, const char **argv); virtual bool Cmd_MoveObject(int argc, const char **argv); + virtual bool Cmd_SetDebug(int argc, const char **argv); }; } // End of namespace TsAGE diff --git a/engines/tsage/globals.cpp b/engines/tsage/globals.cpp index 388f6f7686..0f271649b3 100644 --- a/engines/tsage/globals.cpp +++ b/engines/tsage/globals.cpp @@ -457,6 +457,8 @@ Ringworld2Globals::Ringworld2Globals() { _foodCount = 0; _rimLocation = 0; _rimTransportLocation = 0; + + _debugCardGame = false; } Ringworld2Globals::~Ringworld2Globals() { @@ -583,6 +585,8 @@ void Ringworld2Globals::reset() { _player._characterScene[R2_QUINN] = 100; _player._characterScene[R2_SEEKER] = 300; _player._characterScene[R2_MIRANDA] = 300; + + _debugCardGame = false; } void Ringworld2Globals::synchronize(Serializer &s) { diff --git a/engines/tsage/globals.h b/engines/tsage/globals.h index 92c3d2e24b..f5543af345 100644 --- a/engines/tsage/globals.h +++ b/engines/tsage/globals.h @@ -292,6 +292,7 @@ public: byte _stripManager_lookupList[12]; byte _scene1550JunkLocations[508]; Common::Point _balloonPosition; + bool _debugCardGame; // moved from scene 1337 so it can be easily set in the debugger ScannerDialog *_scannerDialog; diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index 44bd864b02..d174d6fa4d 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -2247,7 +2247,6 @@ Scene1337::Scene1337() { _field4242 = 0; _field4244 = false; _field4246 = false; - _field4248 = 0; _field424A = 0; _instructionsDisplayedFl = 0; _instructionsWaitCount = 0; @@ -3398,7 +3397,7 @@ void Scene1337::Action4::signal() { scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._card.fixPriority(170); } - if ((scene->_field4248 == 1) || (scene->_currentPlayerNumb == 2)) + if ((R2_GLOBALS._debugCardGame) || (scene->_currentPlayerNumb == 2)) scene->setAnimationInfo(&scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]); scene->_animatedCard._card.hide(); @@ -3433,7 +3432,7 @@ void Scene1337::Action4::signal() { scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]._card.fixPriority(170); } - if ((scene->_field4248 == 1) || (scene->_currentPlayerNumb == 2)) + if ((R2_GLOBALS._debugCardGame) || (scene->_currentPlayerNumb == 2)) scene->setAnimationInfo(&scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]); scene->_animatedCard._card.hide(); @@ -3468,7 +3467,7 @@ void Scene1337::Action4::signal() { scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._card.fixPriority(170); } - if ((scene->_field4248 == 1) || (scene->_currentPlayerNumb == 2)) + if ((R2_GLOBALS._debugCardGame) || (scene->_currentPlayerNumb == 2)) scene->setAnimationInfo(&scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]); scene->_animatedCard._card.hide(); @@ -3503,7 +3502,7 @@ void Scene1337::Action4::signal() { scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._card.fixPriority(170); } - if ((scene->_field4248 == 1) || (scene->_currentPlayerNumb == 2)) + if ((R2_GLOBALS._debugCardGame) || (scene->_currentPlayerNumb == 2)) scene->setAnimationInfo(&scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]); scene->_animatedCard._card.hide(); @@ -5529,7 +5528,6 @@ void Scene1337::subPostInit() { _field4244 = true; _field4246 = false; - _field4248 = 0; _field424A = -1; _background1.setup2(9531, 1, 1, 249, 168, 155, 0); diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h index 0d4cf5986d..45ed746bac 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.h +++ b/engines/tsage/ringworld2/ringworld2_scenes1.h @@ -312,7 +312,6 @@ public: int _field4242; bool _field4244; bool _field4246; - int _field4248; int _field424A; int _instructionsDisplayedFl; int _instructionsWaitCount; -- cgit v1.2.3 From 41ddad534d129bf086973a710ab31a9b2e09a0b7 Mon Sep 17 00:00:00 2001 From: anotherguest Date: Mon, 2 Dec 2013 08:34:07 +0100 Subject: SYMBIAN OS: Fedor created context sensitive help for ScummVM Symbian OS! --- backends/platform/symbian/S60v3/BLD.INF.in | 1 + .../symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg | 3 + backends/platform/symbian/help/Custom.xml | 18 ++ backends/platform/symbian/help/ScummVM.rtf | 266 +++++++++++++++++++++ backends/platform/symbian/help/ScummVM.xml | 19 ++ backends/platform/symbian/help/build_help.mk | 29 +++ 6 files changed, 336 insertions(+) create mode 100644 backends/platform/symbian/help/Custom.xml create mode 100644 backends/platform/symbian/help/ScummVM.rtf create mode 100644 backends/platform/symbian/help/ScummVM.xml create mode 100644 backends/platform/symbian/help/build_help.mk diff --git a/backends/platform/symbian/S60v3/BLD.INF.in b/backends/platform/symbian/S60v3/BLD.INF.in index 78d130cb08..e21bcc7d01 100644 --- a/backends/platform/symbian/S60v3/BLD.INF.in +++ b/backends/platform/symbian/S60v3/BLD.INF.in @@ -8,5 +8,6 @@ PRJ_MMPFILES //STOP_AUTO_PROJECTS// gnumakefile icons.mk +gnumakefile ..\help\build_help.mk .\ScummVM_A0000658_S60v3.mmp .\ScummVM_S60v3.mmp diff --git a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg index a5920ae823..c04b7f6d51 100644 --- a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg +++ b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg @@ -57,6 +57,9 @@ "..\..\..\..\README"-"!:\resource\apps\scummvm\README" "..\..\..\..\NEWS"-"!:\resource\apps\scummvm\NEWS" +; Scummvm help +"..\help\ScummVM.hlp"-"!:\resource\help\ScummVM.hlp" + ; Common datafiles needed for some games "..\..\..\..\dists\engine-data\drascula.dat"-"c:\data\scummvm\drascula.dat" "..\..\..\..\dists\engine-data\hugo.dat"-"c:\data\scummvm\hugo.dat" diff --git a/backends/platform/symbian/help/Custom.xml b/backends/platform/symbian/help/Custom.xml new file mode 100644 index 0000000000..8bc518e036 --- /dev/null +++ b/backends/platform/symbian/help/Custom.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/backends/platform/symbian/help/ScummVM.rtf b/backends/platform/symbian/help/ScummVM.rtf new file mode 100644 index 0000000000..522fab832c --- /dev/null +++ b/backends/platform/symbian/help/ScummVM.rtf @@ -0,0 +1,266 @@ +{\rtf1\ansi\ansicpg1251\uc1 \deff0\deflang1049\deflangfe1049{\fonttbl{\f0\froman\fcharset204\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset204\fprq2{\*\panose 020b0604020202020204}Arial;} +{\f2\fmodern\fcharset204\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f8\froman\fcharset0\fprq2{\*\panose 00000000000000000000}Tms Rmn;} +{\f14\fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}{\f28\fswiss\fcharset204\fprq2{\*\panose 020b0604020202020204}Arial CYR;}{\f29\fmodern\fcharset204\fprq1{\*\panose 02070309020205020404}Courier New CYR;} +{\f43\froman\fcharset2\fprq2{\*\panose 05030102010509060703}Webdings;}{\f97\fswiss\fcharset204\fprq2{\*\panose 020b0506020202030204}Arial Narrow;}{\f109\froman\fcharset0\fprq2 Times New Roman;}{\f107\froman\fcharset238\fprq2 Times New Roman CE;} +{\f110\froman\fcharset161\fprq2 Times New Roman Greek;}{\f111\froman\fcharset162\fprq2 Times New Roman Tur;}{\f112\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f113\froman\fcharset178\fprq2 Times New Roman (Arabic);} +{\f114\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f117\fswiss\fcharset0\fprq2 Arial;}{\f115\fswiss\fcharset238\fprq2 Arial CE;}{\f118\fswiss\fcharset161\fprq2 Arial Greek;}{\f119\fswiss\fcharset162\fprq2 Arial Tur;} +{\f120\fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f121\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f122\fswiss\fcharset186\fprq2 Arial Baltic;}{\f125\fmodern\fcharset0\fprq1 Courier New;}{\f123\fmodern\fcharset238\fprq1 Courier New CE;} +{\f126\fmodern\fcharset161\fprq1 Courier New Greek;}{\f127\fmodern\fcharset162\fprq1 Courier New Tur;}{\f128\fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f129\fmodern\fcharset178\fprq1 Courier New (Arabic);} +{\f130\fmodern\fcharset186\fprq1 Courier New Baltic;}{\f333\fswiss\fcharset0\fprq2 Arial CYR;}{\f331\fswiss\fcharset238\fprq2 Arial CYR CE;}{\f334\fswiss\fcharset161\fprq2 Arial CYR Greek;}{\f335\fswiss\fcharset162\fprq2 Arial CYR Tur;} +{\f336\fswiss\fcharset177\fprq2 Arial CYR (Hebrew);}{\f337\fswiss\fcharset178\fprq2 Arial CYR (Arabic);}{\f338\fswiss\fcharset186\fprq2 Arial CYR Baltic;}{\f341\fmodern\fcharset0\fprq1 Courier New CYR;}{\f339\fmodern\fcharset238\fprq1 Courier New CYR CE;} +{\f342\fmodern\fcharset161\fprq1 Courier New CYR Greek;}{\f343\fmodern\fcharset162\fprq1 Courier New CYR Tur;}{\f344\fmodern\fcharset177\fprq1 Courier New CYR (Hebrew);}{\f345\fmodern\fcharset178\fprq1 Courier New CYR (Arabic);} +{\f346\fmodern\fcharset186\fprq1 Courier New CYR Baltic;}{\f885\fswiss\fcharset0\fprq2 Arial Narrow;}{\f883\fswiss\fcharset238\fprq2 Arial Narrow CE;}{\f886\fswiss\fcharset161\fprq2 Arial Narrow Greek;}{\f887\fswiss\fcharset162\fprq2 Arial Narrow Tur;} +{\f890\fswiss\fcharset186\fprq2 Arial Narrow Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255; +\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{ +\ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \snext0 Normal;}{\s1\ql \li0\ri0\sb360\sa240\keepn\widctlpar\nooverflow\faroman\rin0\lin0\itap0 +\b\f1\fs32\lang2057\langfe1033\kerning28\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext0 heading 1;}{\s2\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \brdrb\brdrs\brdrw30\brsp20 \tqr\tx9072\nooverflow\faroman\rin0\lin0\itap0 +\b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext0 heading 2;}{\s3\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \tqr\tx9072\nooverflow\faroman\rin0\lin0\itap0 +\b\f1\fs28\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext0 heading 3;}{\s4\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw15\brsp20 \tqr\tx9072\nooverflow\faroman\rin0\lin0\itap0 +\b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext0 heading 4;}{\s5\ql \li0\ri0\sa120\keepn\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext0 +heading 5;}{\s6\ql \li0\ri0\sb240\sa60\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \i\f1\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext0 heading 6;}{\s7\ql \li0\ri0\sb240\sa60\widctlpar\nooverflow\faroman\rin0\lin0\itap0 +\f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext0 heading 7;}{\s8\ql \li0\ri0\sb240\sa60\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \i\f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext0 heading 8;}{ +\s9\ql \li0\ri0\sb240\sa60\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \i\f1\fs18\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext0 heading 9;}{\*\cs10 \additive Default Paragraph Font;}{\*\cs15 \additive \b\f1\fs20 \sbasedon10 +App Text;}{\s16\ql \li0\ri0\sb360\sa240\keepn\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs32\cf9\lang2057\langfe1033\kerning28\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext16 Category UID;}{ +\s17\ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \i\f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext17 Comment;}{\s18\ql \fi-283\li283\ri0\sa120\widctlpar\brdrb\brdrs\brdrw15\brsp20 {\*\pn +\pnlvlblt\ilvl10\ls2047\pnrnot0\pnf43\pnstart1\pnindent283\pnhang{\pntxtb \'a2}}\nooverflow\faroman\ls2047\ilvl10\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext18 Context;}{\*\cs19 \additive +\i\f1\fs20\ulnone\cf0\nosupersub \sbasedon10 Context Comment;}{\s20\ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\cf11\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext20 Definition Term;}{ +\s21\ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\cf11\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon20 \snext21 Definition Definition;}{\*\cs22 \additive \scaps\f97\fs20\cf13 \sbasedon10 Graphic Link;}{ +\s23\ql \fi-283\li283\ri0\sa120\widctlpar{\*\pn \pnlvlblt\ilvl10\ls2047\pnrnot0\pnf14\pnstart1\pnindent283\pnhang{\pntxtb F}}\nooverflow\faroman\ls2047\ilvl10\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 +\sbasedon0 \snext23 Tip;}{\s24\ql \fi-283\li283\ri0\sa120\widctlpar{\*\pn \pnlvlblt\ilvl10\ls2047\pnrnot0\pnf14\pnstart1\pnindent283\pnhang{\pntxtb ?}}\nooverflow\faroman\ls2047\ilvl10\rin0\lin283\itap0 +\f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon23 \snext24 Note;}{\s25\ql \fi-283\li283\ri0\sa120\widctlpar{\*\pn \pnlvlblt\ilvl10\ls2047\pnrnot0\pnf43\pnstart1\pnindent283\pnhang{\pntxtb ~}} +\nooverflow\faroman\ls2047\ilvl10\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon24 \snext25 Important;}{\s26\ql \fi-283\li283\ri0\sa120\widctlpar\brdrb\brdrs\brdrw15\brsp20 {\*\pn \pnlvlblt\ilvl10\ls2047\pnrnot0 +\pnf43\pnstart1\pnindent283\pnhang{\pntxtb i}}\nooverflow\faroman\ls2047\ilvl10\rin0\lin283\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext26 Index;}{\*\cs27 \additive \b\f2\fs20 \sbasedon10 Key Name;}{ +\s28\ql \fi-284\li284\ri0\sa120\widctlpar{\*\pn \pnlvlbody\ilvl11\ls2047\pnrnot0\pndec\pnstart1\pnindent283\pnhang{\pntxta .}}\nooverflow\faroman\ls2047\ilvl11\rin0\lin284\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 +\sbasedon0 \snext28 List Number;}{\s29\ql \fi-284\li284\ri0\sa120\widctlpar\tx284{\*\pn \pnlvlbody\ilvl0\ls2047\pnrnot0\pndec\pnf8 }\nooverflow\faroman\ls2047\rin0\lin284\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 +\sbasedon28 \snext29 List Manual;}{\s30\ql \fi-284\li568\ri0\sa120\widctlpar{\*\pn \pnlvlbody\ilvl11\ls2047\pnrnot0\pndec\pnstart1\pnindent283\pnhang{\pntxta .}}\nooverflow\faroman\ls2047\ilvl11\rin0\lin568\itap0 +\f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext30 List Number 2;}{\s31\ql \fi-284\li568\ri0\sa120\widctlpar\tx284{\*\pn \pnlvlbody\ilvl0\ls2047\pnrnot0\pndec\pnf8 }\nooverflow\faroman\ls2047\rin0\lin568\itap0 +\f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon30 \snext31 List Manual 2;}{\s32\ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\cf13\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext32 +Synonyms;}{\*\cs33 \additive \super \sbasedon10 endnote reference;}{\s34\ql \fi-284\li284\ri0\sa120\widctlpar\tx284{\*\pn \pnlvlblt\ilvl10\ls2047\pnrnot0\pnf3\pnstart1\pnindent283\pnhang{\pntxtb \'b7}}\nooverflow\faroman\ls2047\ilvl10\rin0\lin284\itap0 +\f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext34 \sautoupd List Bullet;}{\s35\ql \fi-284\li568\ri0\sa120\widctlpar{\*\pn \pnlvlblt\ilvl10\ls2047\pnrnot0\pnf3\pnstart1\pnindent283\pnhang{\pntxtb \'b7}} +\nooverflow\faroman\ls2047\ilvl10\rin0\lin568\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext35 \sautoupd List Bullet 2;}{\s36\ql \li0\ri0\sa120\widctlpar\tqc\tx4153\tqr\tx8306\nooverflow\faroman\rin0\lin0\itap0 +\f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext36 footer;}{\s37\ql \li284\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin284\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext37 List Continue;}{ +\s38\ql \li566\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin566\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext38 List Continue 2;}}{\*\listtable{\list\listtemplateid-737142542\listsimple{\listlevel\levelnfc0 +\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \fi-360\li643\jclisttab\tx643 }{\listname ;}\listid-129} +{\list\listtemplateid1907811784\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 +\fi-360\li643\jclisttab\tx643 }{\listname ;}\listid-125}{\list\listtemplateid1912741052\listsimple{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\chbrdr +\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \fi-360\li360\jclisttab\tx360 }{\listname ;}\listid-120}{\list\listtemplateid-51363132\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0 +{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1\fbias0 \fi-360\li360\jclisttab\tx360 }{\listname ;}\listid-119}}{\*\listoverridetable{\listoverride\listid-120\listoverridecount0\ls1} +{\listoverride\listid-129\listoverridecount0\ls2}{\listoverride\listid-119\listoverridecount0\ls3}{\listoverride\listid-125\listoverridecount0\ls4}}{\info{\author Fedor}{\operator Fedor}{\creatim\yr2013\mo11\dy30\hr23\min4} +{\revtim\yr2013\mo11\dy30\hr23\min24}{\version4}{\edmins20}{\nofpages7}{\nofwords1441}{\nofchars8219}{\*\company DEV}{\nofcharsws10093}{\vern8249}}\margl1701\margr850\margt1134\margb1134 +\deftab708\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind4\viewscale100\nolnhtadjtbl \fet0\sectd +\linex0\sectdefaultcl {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang +{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8 +\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain \s17\ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 +\i\f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\lang1033\langfe1033\langnp1033 Author: Fedor Strizhniou.}{\f28 +\par }{\lang1033\langfe1033\langnp1033 Date: November 2013}{\f28 +\par }{\lang1033\langfe1033\langnp1033 Version: 1.7.0 +\par }\pard\plain \s1\ql \li0\ri0\sb360\sa240\keepn\widctlpar\nooverflow\faroman\outlinelevel0\rin0\lin0\itap0 \b\f1\fs32\lang2057\langfe1033\kerning28\cgrid\langnp2057\langfenp1033 {ScummVM Help +\par }\pard\plain \s16\ql \li0\ri0\sb360\sa240\keepn\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs32\cf9\lang2057\langfe1033\kerning28\cgrid\langnp2057\langfenp1033 {\lang1033\langfe1033\langnp1033 0x100039ce}{\lang1059\langfe1033\langnp1059 +\par }\pard\plain \ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\f28 +\par }\pard\plain \s2\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \brdrb\brdrs\brdrw30\brsp20 \tqr\tx9072\nooverflow\faroman\outlinelevel1\rin0\lin0\itap0 \b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\b0\f28 Introduction + +\par }\pard\plain \ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\f28 +\par }{\f29 +This help file based on ScummVM forum thread with some elaborations(in Anotherguest section) and text correction. If you wish add some text you may download and modify source document from https://sourceforge.net/projects/scummvms60git/ and then send me t +o fedor_qd@mail.ru +\par First guide contain help by Anotherguest, second - VincentJ, third - murgo. +\par Enjoys, cheers! Always yous, Fedor Strizhniou =)}{\f29\lang1059\langfe1033\langnp1059 +\par }{\f29 +\par }\pard\plain \s2\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \brdrb\brdrs\brdrw30\brsp20 \tqr\tx9072\nooverflow\faroman\outlinelevel1\rin0\lin0\itap0 \b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\b0\f28 First guide + +\par }\pard\plain \s32\ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\cf13\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {Controls, Virtual keyboard, Shortcuts, ScummVM, Tips, S60, UIQ, UIQ3, S80, s80, S90, s90 +\par }\pard\plain \ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\f28 +\par +\par }{\f29 UIQ3 devices: To the top right (holding the phone portrait) you four icons, from the top they are +\par +\par * Toggle control mode, in control mode you can change text input , screen orientation and screen scaling +\par * Mouse button, toggles between left, right and no button when tapping the screen. If no button is selected, 7 & Space works as left mouse button and 9 & Enter works as the right mouse button. +\par * Esc, tap this to simulate ESC key being pressed. Same functionally on devices with 'C' key. +\par * Virtual keyboard toggle, toggles the virtual keyboard, if not enabled when selecting '1'/'7' in control mode. +\par * When Virtual keyboard is enabled you have more onscreen keys available +\par * Enter key +\par * Backspace +\par * Arrow Up/Down to scroll the keys available +\par * Virtual keyboard, tap letters to simulate keypresses. +\par +\par S60 and UIQ3 devices: (Control Key = Green Phone key, to activate/deactivate control mode in SDL) +\par +\par * 1 = change Input Mode: Joystick | Keyboard | Cursor +\par * 2,'p' = change Video Mode: Landscape | Portrait +\par * 3,'f' = change Orientation Mode for Landscape: 90\'b0 Left | 90\'b0 Right +\par * 4,'s' = Toggle between stretched and non-stretched modes +\par * 5 = Toggle between interpolating stretch or not +\par * 7,'t' = Text/Multitap input +\par * 8,'c' = Cursor input +\par * 9,'j' = Joystick input +\par * 0,'m' = Mouse input +\par * Up/Down = Alter global volume when not in 1-1 VGA mode. Pan around in VGA 1-1 Mode +\par * # = On/Off screen keyboard transparency +\par +\par S80 devices: +\par +\par * Side key 1 = Fire Joystick 1 button (JoyMode) +\par * Side key 2 = Fire Joystick 2 button (JoyMode) or change Video Mode: Upscaled | Normal (CursorMode) +\par * Side key 3 = change Input Mode: Joystick | Cursor +\par +\par S90 devices: (Control Key = OK, pressed simultaneously with other keys to activate the mode changes in SDL) +\par +\par * OK+1 = change Input Mode: Joystick | Cursor +\par * OK+2 = change Video Mode: Upscaled | Normal +\par +\par What are these Joystick, Keyboard and Cursor modes anyway? +\par }{\f28 +\par }{\f29 Joystick mode sends SDL joystick events to ScummVM which acts as a mouse control in ScummVM. Cursor mod +e sends keyboard arrows instead, so for example it can be used to navigate through directorylist (one hand use perhaps!?) or save games etc. Keyboard mode is only available for S60 and enables multi-tap to enter text characters in save dialogs. These mode +s are implemented at the underlying SDL level, so this determines the types of events that ScummVM receives from SDL. +\par What are these Shrinked, Zoomed and Upscaled modes anyway? +\par +\par Shrink displays the game on your screen but in a shrinked way, either in Portra +it or Landscape mode, so not all the pixels can be seen. Zoom mode uses the maximum resolution of your phone displaying a smaller part of the game zoomed at 1:1 pixels. For scrolling in S60 Zoom mode: 0+Cursor keys to scroll around, 0+Ok button to center +view. Upscale tries to fill the larger screens on S80/S90 devices in a better way for low resolution games. Currently it uses a pixel interpolation upscaling routine. +\par +\par You can also use a bluetooth mouse with S60v3 devices to control your game. You need the bluetooth hid library from Hinkka http://koti.mbnet.fi/hinkka/Download.html to get it to work properly. +\par +\par +\par }\pard\plain \s2\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \brdrb\brdrs\brdrw30\brsp20 \tqr\tx9072\nooverflow\faroman\outlinelevel1\rin0\lin0\itap0 \b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\b0\f28 Second guide + +\par }\pard\plain \s32\ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\cf13\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {Controls, Virtual keyboard, Shortcuts, ScummVM, Tips, S60, s60 +\par }\pard\plain \ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\f28 +\par +\par }{\f29 More user-friendly guide for Nokia phones (based on N96 but should apply to most phones) +\par +\par Left Soft Key - Left Click +\par }{\f28 +\par }{\f29 Right Soft Key - Right Click +\par }{\f28 +\par }{\f29 Navigation buttons - Move pointer on screen +\par }{\f28 +\par }{\f29 "C" or "Delete Key" - Space Bar (i.e. skip dialogue/cutscene) +\par }{\f28 +\par }{\f29 * - Bring up Menu (to Save, Load and change the game's options e.g. enable subtitles, speech etc. Varies from game to game) +\par +\par The <> is a toggling left right mode. I.e. first click is left, next is right, next is left etc. +\par +\par Call Button - Enter/Exit Configuration Mode +\par }{\f28 +\par }{\f29 Configuration Mode, when activated, shows the word "CTRL" in green in the upper right corner of the screen. It allows to quickly switch between various functions of ScummVM. The following buttons on your keypad are activated when "CTRL" is disp +layed- +\par +\par 1 - Change Input. +\par This is the option you'll probably use the most. There are three settings; A,C and J. +\par +\par A - This is the "Text Input" mode. It allows you to type directly into ScummVM as if you were using a keyboard. Type the same way you would whe +n sending a text message off of your phone. Please note that the pointer is disabled when in this mode. Don't forget to exit Configuration Mode before typing! +\par +\par C - This is the "Cursor" mode. This emulates the arrow keys of the keyboard. Some games require using this instead of the mouse (e.g. the destruction derby section towards the end of Full Throttle). +\par +\par J - This is the "Joystick/Mouse" mode. Simply put, it allows you to use the navigation buttons to move the pointer around the screen. The left and right mouse buttons are used by the left and right Soft keys. +\par +\par The "C" button emulates the space bar, i.e. skip line of dialogue, skip cutscene or pause game (depending on the game, some games simply use the left mouse button to skip dialogue in which case it will pause the game instead) +\par +\par 2 - Toggle Landscape and Portrait +\par Switches the screen output between having the phone held normally (Portrait) or on its side (Landscape). You'll probably never take it off Landscape mode as it offers the better display area. +\par +\par 3 - Change Landscape Orientation +\par Only applies to Landscape mode, simply swaps the screen output between having the phone tilted on its left side or on its right side. +\par +\par 4 - Toggle Zoom On and Off +\par Zooms in on a portion of the screen. Handy for when you are looking through a screen for items or having trouble reading subtitles. Use the navigation buttons for panning around the play area. Don't forget you'll have to exit out of Configuration Mode bef +ore you can move the pointer again. Exiting Configuration Mode does not reset the zoom level. +\par +\par 5 & 6 - Unused +\par +\par 7 - "Text Input" mode. Shortcut for entering "Text Input" mode directly instead of cycling through the other input types using the "1" key. +\par +\par 8 - "Cursor" mode. Shortcut for entering "Cursor" mode directly instead of cycling through the other input types using the "1" key. +\par +\par 9 - "Joystick/Mouse" mode. Shortcut for entering "Joystick/Mouse" mode directly instead of cycling through the other input types using the +\par +\par "1" key. +\par +\par 0 & * - Unused (The "*" Menu is disabled in Configuration Mode") +\par +\par Up Navigation Button - Increase ScummVM sound volume. Note that the game itself may have its own independent sound settings (usually found under the * menu) +\par +\par Down Navigation Button - Decrease ScummVM sound volume. Note that the game itself may have its own independent sound settings (usually found under the * menu) +\par +\par +\par }\pard\plain \s2\ql \li0\ri0\sb120\sa120\keepn\widctlpar\brdrt\brdrs\brdrw30\brsp20 \brdrb\brdrs\brdrw30\brsp20 \tqr\tx9072\nooverflow\faroman\outlinelevel1\rin0\lin0\itap0 \b\f1\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\b0\f28 Third guide + +\par }\pard\plain \s32\ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\cf13\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {Controls, Virtual keyboard, Shortcuts, ScummVM, Tips, S60, s60 +\par }\pard\plain \ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\f28 +\par +\par }{\f29 ScummVM keys on Nokia e71 +(most likely on any other qwerty-device, too), tested on version 0.14.0svn (Feb. 18 2009 05:56:07). Number keys are inserted by first pressing fn-key (leftmost key at bottom row on E71) and then pressing correct key (e.g. 5 is fn+g). You don't have to pre +ss both keys simultaneously. +\par +\par Basic keys: +\par +\par Joystick -- Move cursor (in joystick mode) / arrow keys (in keyboard / cursor mode) +\par Joystick button -- Skip text +\par Left soft key -- Left mouse button +\par Right soft key -- Right mouse button (context sensitive actions in Lucas Arts' games, something else in others) +\par Backspace -- Esc / Skips demos / Removes selected action +\par * (fn+u) -- Menu +\par Space -- Pause +\par Enter -- Enter (usually same as left soft key) +\par +\par In main menu: +\par Shift -- Shift (can be used to mass-add games) +\par You can press the first letter of the game name to jump there in the games list. +\par +\par CTRL-keys: +\par To use these, first click on green answer key once, so that text CTRL shows up in the northwest corner of the screen, then click the key. +\par +\par p / 2 -- Screen orientation +\par s / 5 -- Screen size +\par k / 7 -- Input mode: keyboard +\par c / 8 -- Input mode: cursor +\par j / 9 -- Input mode: joystick +\par joystick up -- Volume up +\par joystick down -- Volume down +\par 1 -- Toggle input mode +\par +\par Game specific: +\par Most games have some specific keys (the same as in desktop model of ScummVM?). For instance in Day of the Tentacle: +\par +\par w -- Walk to +\par l -- Look at +\par p -- Pick up +\par c -- Close +\par o -- Open +\par g -- Give +\par t -- Talk to +\par s -- Push +\par y -- Pull +\par +\par and in Full Throttle (from the top of my head): +\par +\par k -- kick (foot) +\par t -- talk (mouth) +\par l -- look (eyes) +\par p -- punch (hand) +\par +\par AGI games (King's Quest, Police Quest etc.): +\par The games work beautifully on the E71, but there's some stupid bugs (in input). I recall fi +nding some debug keys and "last sentence" / "inventory" -keys in earlier version, but I can't find them any more. Also you can't turn on sirens in Police Quest, which kinda makes it unplayable. +\par +\par There's good side and bad side to each input mode: +\par Keyboard (I use this primarily) +\par +\par * goes to menu +\par + you can erase text +\par + moving is relatively easy +\par - you can't type in UPPER CASE +\par - you can't type numbers +\par - worthless 'current key' -display on left top corner +\par +\par Joystick / Cursor: +\par +\par + you can access menus +\par + you can type numbers (just make sure f-letter in left top corner is red before clicking "numbers". It works kinda funnily, but you'll get hang of it.) +\par - you move mouse cursor which makes walking harder (joystick mode) +\par - you can't erase text +\par +\par There might be some mistakes and some keys missing from the list, feel free to pm me corrections / suggestions.}{\f28 +\par }} \ No newline at end of file diff --git a/backends/platform/symbian/help/ScummVM.xml b/backends/platform/symbian/help/ScummVM.xml new file mode 100644 index 0000000000..a1a787012a --- /dev/null +++ b/backends/platform/symbian/help/ScummVM.xml @@ -0,0 +1,19 @@ + + + + + + 0x100039ce + + + + + + + + ScummVM.rtf + + ScummVM.hlp + custom.xml + + diff --git a/backends/platform/symbian/help/build_help.mk b/backends/platform/symbian/help/build_help.mk new file mode 100644 index 0000000000..7a18ad8252 --- /dev/null +++ b/backends/platform/symbian/help/build_help.mk @@ -0,0 +1,29 @@ +# ============================================================================ +# Name : help.mk +# Part of : ScummVM +# +# Description: This is file for creating .hlp file +# +# ============================================================================ + + +makmake : + cshlpcmp ScummVM.xml + +ifeq (WINS,$(findstring WINS, $(PLATFORM))) + copy ScummVM.hlp $(EPOCROOT)epoc32\$(PLATFORM)\c\resource\help +endif + +clean : + del ScummVM.hlp + del ScummVM.hlp.hrh + +bld : + cshlpcmp ScummVM.xml + +ifeq (WINS,$(findstring WINS, $(PLATFORM))) + copy ScummVM.hlp $(EPOCROOT)epoc32\$(PLATFORM)\c\resource\help +endif + +freeze lib cleanlib final resource savespace releasables : + -- cgit v1.2.3 From ccc92b2e707643915efc575cd43fdd11169dc733 Mon Sep 17 00:00:00 2001 From: anotherguest Date: Mon, 2 Dec 2013 09:50:48 +0100 Subject: SYMBIAN OS:Added help files also in the split build installation file. --- backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3_split.pkg | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3_split.pkg b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3_split.pkg index c71805fb9f..250076347a 100644 --- a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3_split.pkg +++ b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3_split.pkg @@ -65,6 +65,9 @@ "..\..\..\..\README"-"!:\resource\apps\scummvm\README" "..\..\..\..\NEWS"-"!:\resource\apps\scummvm\NEWS" +; Scummvm help +"..\help\ScummVM.hlp"-"!:\resource\help\ScummVM.hlp" + ; Common datafiles needed for some games "..\..\..\..\dists\engine-data\drascula.dat"-"c:\data\scummvm\drascula.dat" "..\..\..\..\dists\engine-data\hugo.dat"-"c:\data\scummvm\hugo.dat" @@ -105,6 +108,7 @@ "..\..\..\..\gui\themes\fonts\helvBO12.bdf"-"c:\data\scummvm\helvBO12.bdf" "..\..\..\..\gui\themes\fonts\helvR12-iso-8859-1.bdf"-"c:\data\scummvm\helvR12-iso-8859-1.bdf" "..\..\..\..\gui\themes\fonts\helvR12.bdf"-"c:\data\scummvm\helvR12.bdf" +;"..\..\..\..\gui\themes\"-"c:\data\scummvm\" ; Config/log files: 'empty' will automagically be removed on uninstall ""-"c:\data\scummvm\scummvm.ini",FILENULL -- cgit v1.2.3 From 73ec0a71ab022e5aeb3f54f4604aeee0ae7e6b74 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Mon, 2 Dec 2013 21:58:02 +0200 Subject: FULLPIPE: Implement sceneHandler04_sub12() --- engines/fullpipe/scenes/scene04.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index d642ebfcd2..7f6ac8e74b 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -433,6 +433,16 @@ void sceneHandler04_sub9(StaticANIObject *ani) { warning("sceneHandler04_sub9()"); } +void sceneHandler04_sub12() { + StaticANIObject *ball = g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_BIGBALL, -1); + + if (ball && ball->_flags & 4) + for (uint i = 0; i < ball->_movements.size(); i++) + ((Movement *)ball->_movements[i])->_counterMax = 0; + + g_vars->scene04_var13 = 0; +} + void sceneHandler04_sub15() { warning("sceneHandler04_sub15()"); } -- cgit v1.2.3 From dc367d11e9dde463a8a48246e47f6650d205a7e1 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Mon, 2 Dec 2013 22:07:45 +0200 Subject: FULLPIPE: Started implementation of sceneHandler04_sub17() --- engines/fullpipe/constants.h | 2 ++ engines/fullpipe/scenes/scene04.cpp | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index 76739b6632..b7ab84e191 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -184,6 +184,8 @@ namespace Fullpipe { #define PIC_SC4_MASK 585 #define PIC_SC4_PLANK 5183 #define PIC_SCD_SEL 734 +#define QU_BALL_WALKL 4920 +#define QU_BALL_WALKR 4919 #define QU_EGTR_MD2_SHOW 4698 #define QU_EGTR_MD1_SHOW 4697 #define QU_EGTR_SLIMSHOW 4883 diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index 7f6ac8e74b..311bf86fc8 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -448,6 +448,28 @@ void sceneHandler04_sub15() { } void sceneHandler04_sub17() { +#if 0 + StaticANIObject *ball = g_fullpipe->_currentScene->getStaticANIObject1ById(ANI_BIGBALL, -1); + + if (g_vars->scene04_var01 + && (!ball || !(ball->_flags & 4)) + && g_vars->scene04_ladder->collisionDetection(g_fullpipe->_aniMan) > 3) { + + if (!g_fullpipe->_rnd->getRandomNumber(49)) { + if (g_vars->scene04_var15) + chainQueue(QU_BALL_WALKR, 0); + else + chainQueue(QU_BALL_WALKL, 0); + + g_vars->scene04_var15 = !g_vars->scene04_var15; + + sceneHandler04_checkBigBallClick(); + + g_vars->scene04_var14 = 0; + } + } +#endif + warning("sceneHandler04_sub17()"); } -- cgit v1.2.3 From 4d923c3123bd77d94ce4acf7d5ff44901cf1e277 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 3 Dec 2013 06:50:25 +0100 Subject: TSAGE: R2R - Some renaming and refactoring in scene 1337 --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 320 ++++++++++++------------ engines/tsage/ringworld2/ringworld2_scenes1.h | 62 ++--- 2 files changed, 191 insertions(+), 191 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index d174d6fa4d..a7c66cac06 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -2212,24 +2212,24 @@ void Scene1200::startCrawling(CrawlDirection dir) { * *--------------------------------------------------------------------------*/ -Scene1337::unkObj1337sub1::unkObj1337sub1() { +Scene1337::Card::Card() { _cardId = 0; _stationPos = Common::Point(0, 0); } -void Scene1337::unkObj1337sub1::synchronize(Serializer &s) { +void Scene1337::Card::synchronize(Serializer &s) { warning("STUBBED: unkObj1337sub1::synchronize()"); } -Scene1337::unkObj1337_1::unkObj1337_1() { +Scene1337::GameBoardSide::GameBoardSide() { _fieldB94 = Common::Point(0, 0); _fieldB98 = Common::Point(0, 0); _fieldB9C = Common::Point(0, 0); _fieldBA0 = Common::Point(0, 0); - _fieldBA4 = 0; + _frameNum = 0; } -void Scene1337::unkObj1337_1::synchronize(Serializer &s) { +void Scene1337::GameBoardSide::synchronize(Serializer &s) { warning("STUBBED: unkObj1337_1::synchronize()"); } @@ -2654,10 +2654,10 @@ void Scene1337::Action1::signal() { waitFrames(60); scene->actionDisplay(1331, 14, 159, 10, 1, 200, 0, 7, 0, 154, 154); - scene->_gameBoardSide[2]._delayPile[0]._card.postInit(); - scene->_gameBoardSide[2]._delayPile[0]._card.setVisage(1332); - scene->_gameBoardSide[2]._delayPile[0]._card.setPosition(scene->_gameBoardSide[2]._delayPile[0]._stationPos, 0); - scene->_gameBoardSide[2]._delayPile[0]._card.hide(); + scene->_gameBoardSide[2]._delayPile._card.postInit(); + scene->_gameBoardSide[2]._delayPile._card.setVisage(1332); + scene->_gameBoardSide[2]._delayPile._card.setPosition(scene->_gameBoardSide[2]._delayPile._stationPos, 0); + scene->_gameBoardSide[2]._delayPile._card.hide(); scene->_gameBoardSide[3]._handCard[2]._cardId = 0; scene->_gameBoardSide[3]._handCard[2].remove(); @@ -2666,13 +2666,13 @@ void Scene1337::Action1::signal() { scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[2]._delayPile[0]._stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[2]._delayPile._stationPos, this); } break; case 6: { scene->_animatedCard._card.hide(); - scene->_gameBoardSide[2]._delayPile[0]._cardId = 21; - scene->setAnimationInfo(&scene->_gameBoardSide[2]._delayPile[0]); + scene->_gameBoardSide[2]._delayPile._cardId = 21; + scene->setAnimationInfo(&scene->_gameBoardSide[2]._delayPile); scene->_aSound1.play(57); R2_GLOBALS._sceneObjects->draw(); @@ -2731,12 +2731,12 @@ void Scene1337::Action1::signal() { scene->_lowerDisplayCard[6].remove(); scene->_lowerDisplayCard[7].remove(); - scene->_discardPile._cardId = scene->_gameBoardSide[2]._delayPile[0]._cardId; + scene->_discardPile._cardId = scene->_gameBoardSide[2]._delayPile._cardId; - scene->_gameBoardSide[2]._delayPile[0]._cardId = 0; - scene->_gameBoardSide[2]._delayPile[0]._card.remove(); + scene->_gameBoardSide[2]._delayPile._cardId = 0; + scene->_gameBoardSide[2]._delayPile._card.remove(); - scene->_animatedCard._card.setPosition(scene->_gameBoardSide[2]._delayPile[0]._stationPos, 0); + scene->_animatedCard._card.setPosition(scene->_gameBoardSide[2]._delayPile._stationPos, 0); scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); @@ -2750,10 +2750,10 @@ void Scene1337::Action1::signal() { R2_GLOBALS._sceneObjects->draw(); - scene->_gameBoardSide[2]._delayPile[0]._card.postInit(); - scene->_gameBoardSide[2]._delayPile[0]._card.setVisage(1332); - scene->_gameBoardSide[2]._delayPile[0]._card.setPosition(scene->_gameBoardSide[2]._delayPile[0]._stationPos, 0); - scene->_gameBoardSide[2]._delayPile[0]._card.hide(); + scene->_gameBoardSide[2]._delayPile._card.postInit(); + scene->_gameBoardSide[2]._delayPile._card.setVisage(1332); + scene->_gameBoardSide[2]._delayPile._card.setPosition(scene->_gameBoardSide[2]._delayPile._stationPos, 0); + scene->_gameBoardSide[2]._delayPile._card.hide(); scene->_gameBoardSide[3]._handCard[1]._cardId = 0; scene->_gameBoardSide[3]._handCard[1].remove(); @@ -2762,13 +2762,13 @@ void Scene1337::Action1::signal() { scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[2]._delayPile[0]._stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[2]._delayPile._stationPos, this); } break; case 8: { scene->_animatedCard._card.hide(); - scene->_gameBoardSide[2]._delayPile[0]._cardId = 14; - scene->setAnimationInfo(&scene->_gameBoardSide[2]._delayPile[0]); + scene->_gameBoardSide[2]._delayPile._cardId = 14; + scene->setAnimationInfo(&scene->_gameBoardSide[2]._delayPile); scene->_aSound1.play(57); R2_GLOBALS._sceneObjects->draw(); @@ -2861,17 +2861,17 @@ void Scene1337::Action1::signal() { scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[2]._delayPile[0]._stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[2]._delayPile._stationPos, this); } break; case 9: { scene->_aSound1.play(58); - scene->_gameBoardSide[2]._delayPile[0]._cardId = 0; - scene->_gameBoardSide[2]._delayPile[0].remove(); + scene->_gameBoardSide[2]._delayPile._cardId = 0; + scene->_gameBoardSide[2]._delayPile.remove(); scene->_animatedCard._card.setStrip(5); scene->_animatedCard._card.setFrame(1); scene->_animatedCard._card.animate(ANIM_MODE_2, NULL); - scene->_animatedCard._card.setPosition(scene->_gameBoardSide[2]._delayPile[0]._stationPos, 0); + scene->_animatedCard._card.setPosition(scene->_gameBoardSide[2]._delayPile._stationPos, 0); scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); @@ -3026,8 +3026,8 @@ void Scene1337::Action1::signal() { scene->_gameBoardSide[1]._outpostStation[i]._card.remove(); } - scene->_gameBoardSide[2]._delayPile[0]._cardId = 0; - scene->_gameBoardSide[2]._delayPile[0]._card.remove(); + scene->_gameBoardSide[2]._delayPile._cardId = 0; + scene->_gameBoardSide[2]._delayPile._card.remove(); scene->_discardPile._cardId = 0; scene->_discardPile._card.remove(); @@ -3364,9 +3364,9 @@ void Scene1337::Action4::signal() { switch (_actionIndex++) { case 0: - if ((scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayPile[0]._cardId))) { + if ((scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayPile._cardId))) { if (scene->_cardsAvailableNumb < 0) - scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayPile[0]._cardId); + scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayPile._cardId); scene->_animatedCard._card.setPosition(Common::Point(162, 95), 0); scene->_animatedCard._card.show(); scene->_aSound2.play(61); @@ -3393,7 +3393,7 @@ void Scene1337::Action4::signal() { scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._card.setVisage(1332); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._card.setPosition(scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._stationPos, 0); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._card.setStrip(1); - scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._card.setFrame(scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldBA4); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._card.setFrame(scene->_gameBoardSide[scene->_currentPlayerNumb]._frameNum); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._card.fixPriority(170); } @@ -3401,7 +3401,7 @@ void Scene1337::Action4::signal() { scene->setAnimationInfo(&scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]); scene->_animatedCard._card.hide(); - if ((scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayPile[0]._cardId == 0))) { + if ((scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayPile._cardId == 0))) { if (scene->_cardsAvailableNumb < 0) scene->shuffleCards(); scene->_animatedCard._card.setPosition(Common::Point(162, 95)); @@ -3428,7 +3428,7 @@ void Scene1337::Action4::signal() { scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]._card.setVisage(1332); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]._card.setPosition(scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]._stationPos, 0); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]._card.setStrip(1); - scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]._card.setFrame(scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldBA4); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]._card.setFrame(scene->_gameBoardSide[scene->_currentPlayerNumb]._frameNum); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]._card.fixPriority(170); } @@ -3436,7 +3436,7 @@ void Scene1337::Action4::signal() { scene->setAnimationInfo(&scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]); scene->_animatedCard._card.hide(); - if ((scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayPile[0]._cardId == 0))) { + if ((scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayPile._cardId == 0))) { if (scene->_cardsAvailableNumb < 0) scene->shuffleCards(); scene->_animatedCard._card.setPosition(Common::Point(162, 95)); @@ -3463,7 +3463,7 @@ void Scene1337::Action4::signal() { scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._card.setVisage(1332); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._card.setPosition(scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._stationPos, 0); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._card.setStrip(1); - scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._card.setFrame(scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldBA4); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._card.setFrame(scene->_gameBoardSide[scene->_currentPlayerNumb]._frameNum); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._card.fixPriority(170); } @@ -3471,7 +3471,7 @@ void Scene1337::Action4::signal() { scene->setAnimationInfo(&scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]); scene->_animatedCard._card.hide(); - if ((scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayPile[0]._cardId == 0))) { + if ((scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayPile._cardId == 0))) { if (scene->_cardsAvailableNumb < 0) scene->shuffleCards(); scene->_animatedCard._card.setPosition(Common::Point(162, 95)); @@ -3498,7 +3498,7 @@ void Scene1337::Action4::signal() { scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._card.setVisage(1332); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._card.setPosition(scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._stationPos, 0); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._card.setStrip(1); - scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._card.setFrame(scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldBA4); + scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._card.setFrame(scene->_gameBoardSide[scene->_currentPlayerNumb]._frameNum); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._card.fixPriority(170); } @@ -3931,7 +3931,7 @@ void Scene1337::Action11::signal() { if ((found) && (scene->subC3E92(scene->_field4240) != -1)) { scene->_field3EF0 = &scene->_gameBoardSide[0]._handCard[i]; - scene->_field3EF4 = &scene->_gameBoardSide[0]._arr4[0]; + scene->_field3EF4 = &scene->_gameBoardSide[0]._arr4; if (scene->_field4240 != 0) { int tmpVal = scene->subC3E92(scene->_field4240); scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4240]._handCard[tmpVal]; @@ -3950,7 +3950,7 @@ void Scene1337::Action11::signal() { if ((found) && (scene->subC3E92(scene->_field4240) != -1)) { scene->_field3EF0 = &scene->_gameBoardSide[1]._handCard[i]; - scene->_field3EF4 = &scene->_gameBoardSide[1]._arr4[0]; + scene->_field3EF4 = &scene->_gameBoardSide[1]._arr4; if (scene->_field4240 != 1) { int tmpVal = scene->subC3E92(scene->_field4240); scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4240]._handCard[tmpVal]; @@ -3974,7 +3974,7 @@ void Scene1337::Action11::signal() { else { scene->subC4CEC(); scene->_field3EF0 = &scene->_gameBoardSide[2]._handCard[i]; - scene->_field3EF4 = &scene->_gameBoardSide[2]._arr4[0]; + scene->_field3EF4 = &scene->_gameBoardSide[2]._arr4; if (scene->_field4240 != 2) { int tmpVal = scene->subC3E92(scene->_field4240); scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4240]._handCard[tmpVal]; @@ -3994,7 +3994,7 @@ void Scene1337::Action11::signal() { if ((found) && (scene->subC3E92(scene->_field4240) != -1)) { scene->_field3EF0 = &scene->_gameBoardSide[3]._handCard[i]; - scene->_field3EF4 = &scene->_gameBoardSide[3]._arr4[0]; + scene->_field3EF4 = &scene->_gameBoardSide[3]._arr4; if (scene->_field4240 != 3) { int tmpVal = scene->subC3E92(scene->_field4240); scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4240]._handCard[tmpVal]; @@ -4337,9 +4337,9 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _unkFctPtr412 = NULL; - _field3EF0 = NULL; - _field3EF4 = NULL; - _field3EF8 = NULL; + _field3EF0 = nullptr; + _field3EF4 = nullptr; + _field3EF8 = nullptr; _gameBoardSide[2]._handCard[0]._stationPos = Common::Point(10, 174); _gameBoardSide[2]._handCard[1]._stationPos = Common::Point(37, 174); @@ -4355,15 +4355,15 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _gameBoardSide[2]._outpostStation[6]._stationPos = Common::Point(171, 174); _gameBoardSide[2]._outpostStation[7]._stationPos = Common::Point(145, 174); - _gameBoardSide[2]._delayPile[0]._stationPos = Common::Point(199, 174); + _gameBoardSide[2]._delayPile._stationPos = Common::Point(199, 174); - _gameBoardSide[2]._arr4[0]._stationPos = Common::Point(145, 148); + _gameBoardSide[2]._arr4._stationPos = Common::Point(145, 148); _gameBoardSide[2]._fieldB94 = Common::Point(10, 174); _gameBoardSide[2]._fieldB98 = Common::Point(37, 174); _gameBoardSide[2]._fieldB9C = Common::Point(64, 174); _gameBoardSide[2]._fieldBA0 = Common::Point(91, 174); - _gameBoardSide[2]._fieldBA4 = 2; + _gameBoardSide[2]._frameNum = 2; _gameBoardSide[3]._handCard[0]._stationPos = Common::Point(14, 14); _gameBoardSide[3]._handCard[1]._stationPos = Common::Point(14, 36); @@ -4379,15 +4379,15 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _gameBoardSide[3]._outpostStation[6]._stationPos = Common::Point(37, 118); _gameBoardSide[3]._outpostStation[7]._stationPos = Common::Point(37, 92); - _gameBoardSide[3]._delayPile[0]._stationPos = Common::Point(37, 145); + _gameBoardSide[3]._delayPile._stationPos = Common::Point(37, 145); - _gameBoardSide[3]._arr4[0]._stationPos = Common::Point(63, 92); + _gameBoardSide[3]._arr4._stationPos = Common::Point(63, 92); _gameBoardSide[3]._fieldB94 = Common::Point(14, 14); _gameBoardSide[3]._fieldB98 = Common::Point(14, 36); _gameBoardSide[3]._fieldB9C = Common::Point(14, 58); _gameBoardSide[3]._fieldBA0 = Common::Point(14, 80); - _gameBoardSide[3]._fieldBA4 = 3; + _gameBoardSide[3]._frameNum = 3; _gameBoardSide[0]._handCard[0]._stationPos = Common::Point(280, 5); _gameBoardSide[0]._handCard[1]._stationPos = Common::Point(253, 5); @@ -4403,15 +4403,15 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _gameBoardSide[0]._outpostStation[6]._stationPos = Common::Point(119, 16); _gameBoardSide[0]._outpostStation[7]._stationPos = Common::Point(145, 16); - _gameBoardSide[0]._delayPile[0]._stationPos = Common::Point(91, 16); + _gameBoardSide[0]._delayPile._stationPos = Common::Point(91, 16); - _gameBoardSide[0]._arr4[0]._stationPos = Common::Point(145, 42); + _gameBoardSide[0]._arr4._stationPos = Common::Point(145, 42); _gameBoardSide[0]._fieldB94 = Common::Point(280, 5); _gameBoardSide[0]._fieldB98 = Common::Point(253, 5); _gameBoardSide[0]._fieldB9C = Common::Point(226, 5); _gameBoardSide[0]._fieldBA0 = Common::Point(199, 5); - _gameBoardSide[0]._fieldBA4 = 2; + _gameBoardSide[0]._frameNum = 2; _gameBoardSide[1]._handCard[0]._stationPos = Common::Point(283, 146); _gameBoardSide[1]._handCard[1]._stationPos = Common::Point(283, 124); @@ -4427,15 +4427,15 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _gameBoardSide[1]._outpostStation[6]._stationPos = Common::Point(253, 70); _gameBoardSide[1]._outpostStation[7]._stationPos = Common::Point(253, 96); - _gameBoardSide[1]._delayPile[0]._stationPos = Common::Point(253, 43); + _gameBoardSide[1]._delayPile._stationPos = Common::Point(253, 43); - _gameBoardSide[1]._arr4[0]._stationPos = Common::Point(227, 96); + _gameBoardSide[1]._arr4._stationPos = Common::Point(227, 96); _gameBoardSide[1]._fieldB94 = Common::Point(283, 146); _gameBoardSide[1]._fieldB98 = Common::Point(283, 124); _gameBoardSide[1]._fieldB9C = Common::Point(283, 102); _gameBoardSide[1]._fieldBA0 = Common::Point(283, 80); - _gameBoardSide[1]._fieldBA4 = 4; + _gameBoardSide[1]._frameNum = 4; subPostInit(); } @@ -4501,7 +4501,7 @@ void Scene1337::actionDisplay(int resNum, int lineNum, int x, int y, int arg5, i SceneItem::display(resNum, lineNum, SET_X, x, SET_Y, y, SET_KEEP_ONSCREEN, 0, SET_WIDTH, width, SET_POS_MODE, -1, SET_TEXT_MODE, textMode, SET_FONT, fontNum, SET_FG_COLOR, colFG, SET_EXT_BGCOLOR, colBGExt, SET_EXT_FGCOLOR, colFGExt, LIST_END); } -void Scene1337::setAnimationInfo(unkObj1337sub1 *subObj) { +void Scene1337::setAnimationInfo(Card *subObj) { if (!subObj) return; @@ -4889,7 +4889,7 @@ void Scene1337::subC2835(int arg1) { subC4A39(&_gameBoardSide[arg1]._handCard[i]); } -bool Scene1337::subC2BF8(unkObj1337sub1 *subObj1, Common::Point pt) { +bool Scene1337::subC2BF8(Card *subObj1, Common::Point pt) { if ((subObj1->_stationPos.x > pt.x) || (subObj1->_stationPos.x + 24 < pt.x)) return false; @@ -4902,8 +4902,8 @@ bool Scene1337::subC2BF8(unkObj1337sub1 *subObj1, Common::Point pt) { void Scene1337::subC2C2F() { bool found = true; - if (_gameBoardSide[3]._delayPile[0]._cardId != 0) { - switch (_gameBoardSide[3]._delayPile[0]._cardId) { + if (_gameBoardSide[3]._delayPile._cardId != 0) { + switch (_gameBoardSide[3]._delayPile._cardId) { case 10: // No break on purpose case 12: @@ -4919,14 +4919,14 @@ void Scene1337::subC2C2F() { case 20: // No break on purpose case 21: - subC4A39(&_gameBoardSide[3]._delayPile[0]); + subC4A39(&_gameBoardSide[3]._delayPile); found = false; break; default: found = false; int i; for (i = 0; i <= 3; i++) { - if (subC3386(_gameBoardSide[3]._delayPile[0]._cardId, _gameBoardSide[3]._handCard[i]._cardId)) { + if (subC3386(_gameBoardSide[3]._delayPile._cardId, _gameBoardSide[3]._handCard[i]._cardId)) { found = true; break; } @@ -4934,7 +4934,7 @@ void Scene1337::subC2C2F() { if (found) { found = false; - subC34A1(&_gameBoardSide[3]._handCard[i], &_gameBoardSide[3]._delayPile[0]); + subC34A1(&_gameBoardSide[3]._handCard[i], &_gameBoardSide[3]._delayPile); } break; } @@ -4949,7 +4949,7 @@ void Scene1337::subC2C2F() { found = false; for (int i = 0; i <= 7; i++) { - if ((_gameBoardSide[3]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[3]._delayPile[0]._cardId))) { + if ((_gameBoardSide[3]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[3]._delayPile._cardId))) { subC340B(&_gameBoardSide[3]._handCard[randIndx], &_gameBoardSide[3]._outpostStation[i]); found = true; break; @@ -4971,7 +4971,7 @@ void Scene1337::subC2C2F() { if (!found) { for (int i = 0; i <= 7; i++) { - if ((_gameBoardSide[3]._outpostStation[i]._cardId == 1) && (!subC2687(_gameBoardSide[3]._delayPile[0]._cardId))) { + if ((_gameBoardSide[3]._outpostStation[i]._cardId == 1) && (!subC2687(_gameBoardSide[3]._delayPile._cardId))) { int tmpVal = 0; for (int j = 0; j <= 7; j++) { @@ -5055,7 +5055,7 @@ void Scene1337::subC2C2F() { // It's understandable for 'i', which helps making sure that tmpVal is used properly, // but it's suspect for j for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[tmpRandIndx]._delayPile[0]._cardId == 0) && (subC32B1(tmpRandIndx, _gameBoardSide[3]._handCard[randIndx]._cardId))) { + if ((_gameBoardSide[tmpRandIndx]._delayPile._cardId == 0) && (subC32B1(tmpRandIndx, _gameBoardSide[3]._handCard[randIndx]._cardId))) { tmpVal = j; } } @@ -5071,7 +5071,7 @@ void Scene1337::subC2C2F() { if (tmpVal != -1) { // Useless second identical check skipped - subC3456(&_gameBoardSide[3]._handCard[randIndx], &_gameBoardSide[tmpVal]._delayPile[0]); + subC3456(&_gameBoardSide[3]._handCard[randIndx], &_gameBoardSide[tmpVal]._delayPile); return; } } @@ -5083,7 +5083,7 @@ void Scene1337::subC2C2F() { subC4A39(&_gameBoardSide[3]._handCard[randIndx]); } -void Scene1337::subC318B(int arg1, unkObj1337sub1 *subObj1, int arg3) { +void Scene1337::subC318B(int arg1, Card *subObj1, int arg3) { _field4240 = arg1; _field4242 = arg3; @@ -5096,7 +5096,7 @@ void Scene1337::subC318B(int arg1, unkObj1337sub1 *subObj1, int arg3) { } _field3EF0 = subObj1; - _field3EF4 = &_gameBoardSide[arg3]._arr4[0]; + _field3EF4 = &_gameBoardSide[arg3]._arr4; _field3EF8 = &_gameBoardSide[arg3]._handCard[randIndx]; _item1.setAction(&_action11); @@ -5189,7 +5189,7 @@ bool Scene1337::subC3386(int arg1, int arg2) { return false; } -void Scene1337::subC33C0(unkObj1337sub1 *subObj1, unkObj1337sub1 *subObj2) { +void Scene1337::subC33C0(Card *subObj1, Card *subObj2) { _field3EF4 = subObj2; _field3EF0 = subObj1; _item1.setAction(&_action7); @@ -5212,28 +5212,28 @@ int Scene1337::subC3E92(int arg1) { return randIndx; } -void Scene1337::subC340B(unkObj1337sub1 *subObj1, unkObj1337sub1 *subObj2) { +void Scene1337::subC340B(Card *subObj1, Card *subObj2) { _field3EF0 = subObj1; _field3EF4 = subObj2; _item1.setAction(&_action6); } -void Scene1337::subC3456(unkObj1337sub1 *subObj1, unkObj1337sub1 *subObj2) { +void Scene1337::subC3456(Card *subObj1, Card *subObj2) { _field3EF0 = subObj1; _field3EF4 = subObj2; _item1.setAction(&_action9); } -void Scene1337::subC34A1(unkObj1337sub1 *subObj1, unkObj1337sub1 *subObj2) { +void Scene1337::subC34A1(Card *subObj1, Card *subObj2) { _field3EF0 = subObj1; _field3EF4 = subObj2; _item1.setAction(&_action8); } -Scene1337::unkObj1337sub1 *Scene1337::subC34EC(int arg1) { +Scene1337::Card *Scene1337::subC34EC(int arg1) { for (int i = 0; i <= 7; i++) { if (_gameBoardSide[arg1]._outpostStation[i]._cardId == 1) { return &_gameBoardSide[arg1]._outpostStation[i]; @@ -5249,15 +5249,15 @@ Scene1337::unkObj1337sub1 *Scene1337::subC34EC(int arg1) { return NULL; } -void Scene1337::subC358E(unkObj1337sub1 *subObj1, int arg2) { +void Scene1337::subC358E(Card *subObj1, int arg2) { _field3EF0 = subObj1; _field3EF4 = subC34EC(arg2); - _field3EF8 = &_gameBoardSide[arg2]._arr4[0]; + _field3EF8 = &_gameBoardSide[arg2]._arr4; _field4240 = arg2; _item1.setAction(&_action10); } -void Scene1337::subC4A39(unkObj1337sub1 *subObj) { +void Scene1337::subC4A39(Card *subObj) { _field3EF0 = subObj; _item1.setAction(&_action5); @@ -5277,7 +5277,7 @@ void Scene1337::subC4CEC() { } } -void Scene1337::subC51A0(unkObj1337sub1 *subObj1, unkObj1337sub1 *subObj2) { +void Scene1337::subC51A0(Card *subObj1, Card *subObj2) { _field3EF0 = subObj1; _field3EF4 = subObj2; @@ -5657,36 +5657,36 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { break; } } else { - if ( (subC2BF8(&_gameBoardSide[2]._delayPile[0], pt)) - || (subC2BF8(&_gameBoardSide[0]._delayPile[0], pt)) - || (subC2BF8(&_gameBoardSide[1]._delayPile[0], pt)) - || (subC2BF8(&_gameBoardSide[3]._delayPile[0], pt)) ) { + if ( (subC2BF8(&_gameBoardSide[2]._delayPile, pt)) + || (subC2BF8(&_gameBoardSide[0]._delayPile, pt)) + || (subC2BF8(&_gameBoardSide[1]._delayPile, pt)) + || (subC2BF8(&_gameBoardSide[3]._delayPile, pt)) ) { found = true; } if (found) { switch (curReg) { case 5: - if (_gameBoardSide[2]._delayPile[0]._cardId != 0) - displayDialog(_gameBoardSide[2]._delayPile[0]._cardId); + if (_gameBoardSide[2]._delayPile._cardId != 0) + displayDialog(_gameBoardSide[2]._delayPile._cardId); else actionDisplay(1330, 10, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; case 10: - if (_gameBoardSide[3]._delayPile[0]._cardId != 0) - displayDialog(_gameBoardSide[3]._delayPile[0]._cardId); + if (_gameBoardSide[3]._delayPile._cardId != 0) + displayDialog(_gameBoardSide[3]._delayPile._cardId); else actionDisplay(1330, 16, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; case 15: - if (_gameBoardSide[0]._delayPile[0]._cardId != 0) - displayDialog(_gameBoardSide[3]._delayPile[0]._cardId); + if (_gameBoardSide[0]._delayPile._cardId != 0) + displayDialog(_gameBoardSide[3]._delayPile._cardId); else actionDisplay(1330, 13, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; case 20: - if (_gameBoardSide[1]._delayPile[0]._cardId != 0) - displayDialog(_gameBoardSide[1]._delayPile[0]._cardId); + if (_gameBoardSide[1]._delayPile._cardId != 0) + displayDialog(_gameBoardSide[1]._delayPile._cardId); else actionDisplay(1330, 18, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; @@ -5703,10 +5703,10 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { actionDisplay(1330, 43, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else if (subC2BF8(&_item8, pt)) { actionDisplay(1330, 4, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if ( (subC2BF8(&_gameBoardSide[2]._arr4[0], pt)) - || (subC2BF8(&_gameBoardSide[3]._arr4[0], pt)) - || (subC2BF8(&_gameBoardSide[0]._arr4[0], pt)) - || (subC2BF8(&_gameBoardSide[1]._arr4[0], pt)) ) { + } else if ( (subC2BF8(&_gameBoardSide[2]._arr4, pt)) + || (subC2BF8(&_gameBoardSide[3]._arr4, pt)) + || (subC2BF8(&_gameBoardSide[0]._arr4, pt)) + || (subC2BF8(&_gameBoardSide[1]._arr4, pt)) ) { actionDisplay(1330, 32, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { if (subC2BF8(&_gameBoardSide[2]._handCard[0], pt)) @@ -5806,8 +5806,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { } } - if (subC2BF8(&_gameBoardSide[2]._delayPile[0], pt)) { - if (_gameBoardSide[0]._delayPile[0]._cardId != 0) { + if (subC2BF8(&_gameBoardSide[2]._delayPile, pt)) { + if (_gameBoardSide[0]._delayPile._cardId != 0) { actionDisplay(1330, 39, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { actionDisplay(1330, 11, 159, 10, 1, 200, 0, 7, 0, 154, 154); @@ -5815,8 +5815,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { found = true; } - if (subC2BF8(&_gameBoardSide[3]._delayPile[0], pt)) { - if (_gameBoardSide[3]._delayPile[0]._cardId != 0) { + if (subC2BF8(&_gameBoardSide[3]._delayPile, pt)) { + if (_gameBoardSide[3]._delayPile._cardId != 0) { actionDisplay(1330, 145, 20, 99, 1, 136, 0, 7, 0, 172, 172); } else { actionDisplay(1330, 147, 20, 99, 1, 136, 0, 7, 0, 172, 172); @@ -5824,8 +5824,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { found = true; } - if (subC2BF8(&_gameBoardSide[1]._delayPile[0], pt)) { - if (_gameBoardSide[1]._delayPile[0]._cardId != 0) { + if (subC2BF8(&_gameBoardSide[1]._delayPile, pt)) { + if (_gameBoardSide[1]._delayPile._cardId != 0) { actionDisplay(1330, 144, 300, 99, 1, 136, 0, 7, 0, 117, 117); } else { actionDisplay(1330, 146, 300, 99, 1, 136, 0, 7, 0, 117, 117); @@ -5833,8 +5833,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { found = true; } - if (subC2BF8(&_gameBoardSide[0]._delayPile[0], pt)) { - if (_gameBoardSide[0]._delayPile[0]._cardId != 0) { + if (subC2BF8(&_gameBoardSide[0]._delayPile, pt)) { + if (_gameBoardSide[0]._delayPile._cardId != 0) { actionDisplay(1330, 1, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { actionDisplay(1330, 11, 159, 10, 1, 200, 0, 7, 0, 154, 154); @@ -5842,17 +5842,17 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { found = true; } - if (subC2BF8(&_gameBoardSide[3]._arr4[0], pt)) { + if (subC2BF8(&_gameBoardSide[3]._arr4, pt)) { actionDisplay(1330, 147, 20, 99, 1, 136, 0, 7, 0, 172, 172); found = true; } - if (subC2BF8(&_gameBoardSide[1]._arr4[0], pt)) { + if (subC2BF8(&_gameBoardSide[1]._arr4, pt)) { actionDisplay(1330, 146, 300, 99, 1, 136, 0, 7, 0, 117, 117); found = true; } - if (subC2BF8(&_gameBoardSide[0]._arr4[0], pt)) { + if (subC2BF8(&_gameBoardSide[0]._arr4, pt)) { actionDisplay(1330, 11, 159, 10, 1, 200, 0, 7, 0, 154, 154); found = true; } @@ -5919,8 +5919,8 @@ void Scene1337::subCF31D() { bool found; int count; - if (this->_gameBoardSide[1]._delayPile[0]._cardId != 0) { - switch (_gameBoardSide[1]._delayPile[0]._cardId) { + if (this->_gameBoardSide[1]._delayPile._cardId != 0) { + switch (_gameBoardSide[1]._delayPile._cardId) { case 10: // No break on purpose case 12: @@ -5937,13 +5937,13 @@ void Scene1337::subCF31D() { // No break on purpose case 21: tmpVal = 0; - subC4A39(&_gameBoardSide[1]._delayPile[0]); + subC4A39(&_gameBoardSide[1]._delayPile); break; default: found = false; int i; for (i = 0; i <= 3; i++) { - if (subC3386(_gameBoardSide[1]._delayPile[0]._cardId, _gameBoardSide[1]._handCard[i]._cardId)) { + if (subC3386(_gameBoardSide[1]._delayPile._cardId, _gameBoardSide[1]._handCard[i]._cardId)) { found = true; break; } @@ -5951,7 +5951,7 @@ void Scene1337::subCF31D() { if (found) { tmpVal = 0; - subC34A1(&_gameBoardSide[1]._handCard[i], &_gameBoardSide[1]._delayPile[0]); + subC34A1(&_gameBoardSide[1]._handCard[i], &_gameBoardSide[1]._delayPile); } } } @@ -5978,7 +5978,7 @@ void Scene1337::subCF31D() { for (int j = 0; j <= 7; j++) { if (_gameBoardSide[1]._outpostStation[j]._cardId == 1) { - if (!subC2687(_gameBoardSide[1]._delayPile[0]._cardId)) { + if (!subC2687(_gameBoardSide[1]._delayPile._cardId)) { count = 0; for (int k = 0; k <= 7; k++) { if ((_gameBoardSide[1]._outpostStation[k]._cardId > 1) && (_gameBoardSide[1]._outpostStation[k]._cardId <= 9)) @@ -6002,7 +6002,7 @@ void Scene1337::subCF31D() { tmpVal = subC2719(1); if (tmpVal != -1) { for (int i = 0; i <= 7; i++) { - if ((_gameBoardSide[1]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[1]._delayPile[0]._cardId))) { + if ((_gameBoardSide[1]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[1]._delayPile._cardId))) { subC340B(&_gameBoardSide[1]._handCard[tmpVal], &_gameBoardSide[1]._outpostStation[i]); found = true; break; @@ -6066,7 +6066,7 @@ void Scene1337::subCF31D() { for (int k = 0; k <= 7; k++) { // CHECKME: 'k' is not used in that loop. // It looks suspicious. - if ((_gameBoardSide[tmpVal]._delayPile[0]._cardId == 0) && (subC32B1(tmpVal, _gameBoardSide[1]._handCard[i]._cardId))) { + if ((_gameBoardSide[tmpVal]._delayPile._cardId == 0) && (subC32B1(tmpVal, _gameBoardSide[1]._handCard[i]._cardId))) { count = tmpVal; break; } @@ -6089,7 +6089,7 @@ void Scene1337::subCF31D() { } if (found) - subC3456(&_gameBoardSide[1]._handCard[i], &_gameBoardSide[count]._delayPile[0]); + subC3456(&_gameBoardSide[1]._handCard[i], &_gameBoardSide[count]._delayPile); else { int j; for (j = 0; j <= 3; j++) { @@ -6100,7 +6100,7 @@ void Scene1337::subCF31D() { if (rndVal != 1) { for (int m = 0; m <= 7; m++) { // 'm' is not used in that loop. It looks suspicious. - if ((_gameBoardSide[rndVal]._delayPile[0]._cardId == 0) && (_gameBoardSide[1]._handCard[j]._cardId == 1)) { + if ((_gameBoardSide[rndVal]._delayPile._cardId == 0) && (_gameBoardSide[1]._handCard[j]._cardId == 1)) { count = rndVal; break; } @@ -6121,7 +6121,7 @@ void Scene1337::subCF31D() { } if (found) - subC3456(&_gameBoardSide[1]._handCard[j], &_gameBoardSide[count]._delayPile[0]); + subC3456(&_gameBoardSide[1]._handCard[j], &_gameBoardSide[count]._delayPile); else subC2835(1); } @@ -6131,8 +6131,8 @@ void Scene1337::subCF31D() { void Scene1337::subCF979() { bool found = true; - if (_gameBoardSide[0]._delayPile[0]._cardId != 0) { - switch (_gameBoardSide[0]._delayPile[0]._cardId) { + if (_gameBoardSide[0]._delayPile._cardId != 0) { + switch (_gameBoardSide[0]._delayPile._cardId) { case 10: //No break on purpose case 12: @@ -6148,7 +6148,7 @@ void Scene1337::subCF979() { case 20: //No break on purpose case 21: - subC4A39(&_gameBoardSide[0]._delayPile[0]); + subC4A39(&_gameBoardSide[0]._delayPile); found = false; break; default: @@ -6156,7 +6156,7 @@ void Scene1337::subCF979() { found = false; for (i = 0; i <= 3; i++) { - if (subC3386(_gameBoardSide[0]._delayPile[0]._cardId, _gameBoardSide[0]._handCard[i]._cardId)) { + if (subC3386(_gameBoardSide[0]._delayPile._cardId, _gameBoardSide[0]._handCard[i]._cardId)) { found = true; break; } @@ -6164,7 +6164,7 @@ void Scene1337::subCF979() { if (found) { found = false; - subC34A1(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[0]._delayPile[0]); + subC34A1(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[0]._delayPile); } break; } @@ -6189,7 +6189,7 @@ void Scene1337::subCF979() { if (!flag) { for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[0]._outpostStation[j]._cardId == 1) && (!subC2687(_gameBoardSide[0]._delayPile[0]._cardId))) { + if ((_gameBoardSide[0]._outpostStation[j]._cardId == 1) && (!subC2687(_gameBoardSide[0]._delayPile._cardId))) { int count = 0; for (int k = 0; k <= 7; k++) { if ((_gameBoardSide[0]._outpostStation[k]._cardId > 1) && (_gameBoardSide[0]._outpostStation[k]._cardId <= 9)) { @@ -6219,7 +6219,7 @@ void Scene1337::subCF979() { if (tmpVal != -1) { for (int i = 0; i <= 7; i++) { - if ((_gameBoardSide[0]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[0]._delayPile[0]._cardId))) { + if ((_gameBoardSide[0]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[0]._delayPile._cardId))) { subC340B(&_gameBoardSide[0]._handCard[tmpVal], &_gameBoardSide[0]._outpostStation[i]); found = true; break; @@ -6262,8 +6262,8 @@ void Scene1337::subCF979() { if (subC27B5(_gameBoardSide[0]._handCard[i]._cardId) != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[2]._delayPile[0]._cardId == 0) && (subC32B1(2, _gameBoardSide[0]._handCard[i]._cardId))) { - subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[2]._delayPile[0]); + if ((_gameBoardSide[2]._delayPile._cardId == 0) && (subC32B1(2, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[2]._delayPile); found = true; break; } @@ -6281,8 +6281,8 @@ void Scene1337::subCF979() { if (subC27F9(_gameBoardSide[0]._handCard[i]._cardId) != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[2]._delayPile[0]._cardId == 0) && (subC32B1(2, _gameBoardSide[0]._handCard[i]._cardId))) { - subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[2]._delayPile[0]); + if ((_gameBoardSide[2]._delayPile._cardId == 0) && (subC32B1(2, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[2]._delayPile); found = true; } } @@ -6325,8 +6325,8 @@ void Scene1337::subCF979() { if (tmpVal != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[1]._delayPile[0]._cardId == 0) && (subC32B1(1, _gameBoardSide[0]._handCard[i]._cardId))) { - subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[1]._delayPile[0]); + if ((_gameBoardSide[1]._delayPile._cardId == 0) && (subC32B1(1, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[1]._delayPile); found = true; } } @@ -6334,8 +6334,8 @@ void Scene1337::subCF979() { if (!found) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[3]._delayPile[0]._cardId == 0) && (subC32B1(3, _gameBoardSide[0]._handCard[i]._cardId))) { - subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[3]._delayPile[0]); + if ((_gameBoardSide[3]._delayPile._cardId == 0) && (subC32B1(3, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[3]._delayPile); found = true; } } @@ -6354,8 +6354,8 @@ void Scene1337::subCF979() { if (tmpVal != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[1]._delayPile[0]._cardId == 0) && (subC32B1(1, _gameBoardSide[0]._handCard[i]._cardId))) { - subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[1]._delayPile[0]); + if ((_gameBoardSide[1]._delayPile._cardId == 0) && (subC32B1(1, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[1]._delayPile); found = true; } } @@ -6363,8 +6363,8 @@ void Scene1337::subCF979() { if (!found) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[3]._delayPile[0]._cardId == 0) && (subC32B1(3, _gameBoardSide[0]._handCard[i]._cardId))) { - subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[3]._delayPile[0]); + if ((_gameBoardSide[3]._delayPile._cardId == 0) && (subC32B1(3, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[3]._delayPile); found = true; } } @@ -6386,10 +6386,10 @@ void Scene1337::subD026D() { } void Scene1337::subD0281() { - if (subC27F9(this->_gameBoardSide[2]._delayPile[0]._cardId) == -1) + if (subC27F9(this->_gameBoardSide[2]._delayPile._cardId) == -1) _unkFctPtr412 = &Scene1337::subD026D; else - subC4A39(&_gameBoardSide[2]._delayPile[0]); + subC4A39(&_gameBoardSide[2]._delayPile); } void Scene1337::subD02CA() { @@ -6522,7 +6522,7 @@ void Scene1337::subD02CA() { } if ((foundVar4) && (_gameBoardSide[2]._outpostStation[i]._cardId == 0)) { - if (subC27B5(_gameBoardSide[2]._delayPile[0]._cardId) != -1) { + if (subC27B5(_gameBoardSide[2]._delayPile._cardId) != -1) { actionDisplay(1330, 55, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { subC340B(&_item6, &_gameBoardSide[2]._outpostStation[i]); @@ -6550,7 +6550,7 @@ void Scene1337::subD02CA() { } if (foundVar4) { actionDisplay(1330, 34, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if (subC27B5(_gameBoardSide[2]._delayPile[0]._cardId) != -1) { + } else if (subC27B5(_gameBoardSide[2]._delayPile._cardId) != -1) { actionDisplay(1330, 35, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { if (j == 7) @@ -6564,11 +6564,11 @@ void Scene1337::subD02CA() { } } else { if ((_item6._cardId == 26) || (_item6._cardId == 30) ||(_item6._cardId == 32) || (_item6._cardId == 28)) { - if (subC2BF8(&_gameBoardSide[2]._delayPile[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (subC2BF8(&_gameBoardSide[2]._delayPile, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { actionDisplay(1330, 42, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if (!subC3386(_gameBoardSide[2]._delayPile[0]._cardId, _item6._cardId)) { - if (_gameBoardSide[2]._delayPile[0]._cardId != 0) { - switch (_gameBoardSide[2]._delayPile[0]._cardId) { + } else if (!subC3386(_gameBoardSide[2]._delayPile._cardId, _item6._cardId)) { + if (_gameBoardSide[2]._delayPile._cardId != 0) { + switch (_gameBoardSide[2]._delayPile._cardId) { case 11: actionDisplay(1330, 68, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; @@ -6588,13 +6588,13 @@ void Scene1337::subD02CA() { actionDisplay(1330, 41, 159, 10, 1, 200, 0, 7, 0, 154, 154); } } else { - subC34A1(&_item6, &_gameBoardSide[2]._delayPile[0]); + subC34A1(&_item6, &_gameBoardSide[2]._delayPile); return; } } else { if ((subC27F9(_item6._cardId) == -1) && (subC27B5(_item6._cardId) == -1)) { if (_item6._cardId == 13) { - if (subC2BF8(&_gameBoardSide[0]._arr4[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (subC2BF8(&_gameBoardSide[0]._arr4, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { for (int k = 0; k <= 7; k++) { if (_gameBoardSide[0]._outpostStation[k]._cardId != 0) { found = true; @@ -6604,7 +6604,7 @@ void Scene1337::subD02CA() { if (!found) actionDisplay(1330, 74, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if (subC2BF8(&_gameBoardSide[3]._arr4[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + } else if (subC2BF8(&_gameBoardSide[3]._arr4, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { for (int k = 0; k <= 7; k++) { if (_gameBoardSide[3]._outpostStation[k]._cardId != 0) { found = true; @@ -6613,7 +6613,7 @@ void Scene1337::subD02CA() { } if (!found) actionDisplay(1330, 74, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if (subC2BF8(&_gameBoardSide[1]._arr4[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + } else if (subC2BF8(&_gameBoardSide[1]._arr4, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { for (int k = 0; k <= 7; k++) { if (_gameBoardSide[1]._outpostStation[k]._cardId == 0) { found = true; @@ -6627,7 +6627,7 @@ void Scene1337::subD02CA() { } } else if (_item6._cardId == 25) { int k; - if (subC2BF8(&_gameBoardSide[0]._arr4[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (subC2BF8(&_gameBoardSide[0]._arr4, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { if ( (_gameBoardSide[0]._handCard[0]._cardId != 0) || (_gameBoardSide[0]._handCard[1]._cardId != 0) || (_gameBoardSide[0]._handCard[2]._cardId != 0) @@ -6641,7 +6641,7 @@ void Scene1337::subD02CA() { } else { actionDisplay(1330, 99, 159, 10, 1, 200, 0, 7, 0, 154, 154); } - } else if (subC2BF8(&_gameBoardSide[1]._arr4[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + } else if (subC2BF8(&_gameBoardSide[1]._arr4, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { if ( (_gameBoardSide[1]._handCard[0]._cardId != 0) || (_gameBoardSide[1]._handCard[1]._cardId != 0) || (_gameBoardSide[1]._handCard[2]._cardId != 0) @@ -6657,7 +6657,7 @@ void Scene1337::subD02CA() { } } - if (subC2BF8(&_gameBoardSide[3]._arr4[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (subC2BF8(&_gameBoardSide[3]._arr4, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { if ( (_gameBoardSide[3]._handCard[0]._cardId != 0) || (_gameBoardSide[3]._handCard[1]._cardId != 0) || (_gameBoardSide[3]._handCard[2]._cardId != 0) @@ -6680,8 +6680,8 @@ void Scene1337::subD02CA() { actionDisplay(1330, 137, 159, 10, 1, 200, 0, 7, 0, 154, 154); } } else { - if (subC2BF8(&_gameBoardSide[0]._delayPile[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { - if (_gameBoardSide[0]._delayPile[0]._cardId != 0) { + if (subC2BF8(&_gameBoardSide[0]._delayPile, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (_gameBoardSide[0]._delayPile._cardId != 0) { actionDisplay(1330, 15, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else if (!subC32B1(0, _item6._cardId)) { switch (_item6._cardId) { @@ -6713,11 +6713,11 @@ void Scene1337::subD02CA() { break; } } else { - subC3456(&_item6, &_gameBoardSide[0]._delayPile[0]); + subC3456(&_item6, &_gameBoardSide[0]._delayPile); found = true; } - } else if (subC2BF8(&_gameBoardSide[3]._delayPile[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { - if (_gameBoardSide[3]._delayPile[0]._cardId != 0) { + } else if (subC2BF8(&_gameBoardSide[3]._delayPile, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (_gameBoardSide[3]._delayPile._cardId != 0) { actionDisplay(1330, 17, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else if (!subC32B1(3, _item6._cardId)) { switch (_item6._cardId) { @@ -6749,11 +6749,11 @@ void Scene1337::subD02CA() { break; } } else { - subC3456(&_item6, &_gameBoardSide[3]._delayPile[0]); + subC3456(&_item6, &_gameBoardSide[3]._delayPile); found = true; } - } else if (subC2BF8(&_gameBoardSide[1]._delayPile[0], Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { - if (_gameBoardSide[1]._delayPile[0]._cardId != 0) { + } else if (subC2BF8(&_gameBoardSide[1]._delayPile, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (_gameBoardSide[1]._delayPile._cardId != 0) { actionDisplay(1330, 19, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else if (!subC32B1(1, _item6._cardId)) { switch (_item6._cardId) { @@ -6785,7 +6785,7 @@ void Scene1337::subD02CA() { break; } } else { - subC3456(&_item6, &_gameBoardSide[1]._delayPile[0]); + subC3456(&_item6, &_gameBoardSide[1]._delayPile); found = true; } } else { diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h index 45ed746bac..bf798c7401 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.h +++ b/engines/tsage/ringworld2/ringworld2_scenes1.h @@ -183,31 +183,31 @@ public: }; class Scene1337 : public SceneExt { - class unkObj1337sub1: public SceneHotspot { + class Card: public SceneHotspot { public: SceneObject _card; int _cardId; Common::Point _stationPos; - unkObj1337sub1(); + Card(); void synchronize(Serializer &s); }; - class unkObj1337_1: public SceneHotspot { + class GameBoardSide: public SceneHotspot { public: - unkObj1337sub1 _handCard[4]; - unkObj1337sub1 _outpostStation[8]; - unkObj1337sub1 _delayPile[1]; - unkObj1337sub1 _arr4[1]; + Card _handCard[4]; + Card _outpostStation[8]; + Card _delayPile; + Card _arr4; Common::Point _fieldB94; Common::Point _fieldB98; Common::Point _fieldB9C; Common::Point _fieldBA0; - int _fieldBA4; + int _frameNum; - unkObj1337_1(); + GameBoardSide(); void synchronize(Serializer &s); }; @@ -276,7 +276,7 @@ public: ASound _aSound2; BackgroundSceneObject _background1; bool _autoplay; - unkObj1337_1 _gameBoardSide[4]; + GameBoardSide _gameBoardSide[4]; SceneItem _item1; SceneObject _currentPlayerArrow; Action1 _action1; @@ -292,20 +292,20 @@ public: Action11 _action11; Action12 _action12; Action13 _action13; - unkObj1337sub1 _animatedCard; - unkObj1337sub1 _shuffleAnimation; - unkObj1337sub1 _item4; + Card _animatedCard; + Card _shuffleAnimation; + Card _item4; BackgroundSceneObject _background2; int _cardsAvailableNumb; int _field3E26; int _availableCardsPile[100]; - unkObj1337sub1 *_field3EF0; - unkObj1337sub1 *_field3EF4; - unkObj1337sub1 *_field3EF8; - unkObj1337sub1 _item5; - unkObj1337sub1 _item6; - unkObj1337sub1 _discardPile; - unkObj1337sub1 _item8; + Card *_field3EF0; + Card *_field3EF4; + Card *_field3EF8; + Card _item5; + Card _item6; + Card _discardPile; + Card _item8; bool _shuffleEndedFl; int _currentPlayerNumb; int _field4240; @@ -326,7 +326,7 @@ public: virtual void synchronize(Serializer &s); void actionDisplay(int resNum, int lineNum, int x, int y, int arg5, int width, int textMode, int fontNum, int colFG, int colBGExt, int colFGExt); - void setAnimationInfo(unkObj1337sub1 *subObj); + void setAnimationInfo(Card *subObj); void subC20E5(); void subC20F9(); void subC2586(); @@ -339,24 +339,24 @@ public: int subC27B5(int arg1); int subC27F9(int arg1); void subC2835(int arg1); - bool subC2BF8(unkObj1337sub1 *subObj1, Common::Point pt); + bool subC2BF8(Card *subObj1, Common::Point pt); void subC2C2F(); - void subC318B(int arg1, unkObj1337sub1 *subObj2, int arg3); + void subC318B(int arg1, Card *subObj2, int arg3); int subC3257(int arg1); bool subC32B1(int arg1, int arg2); int subC331B(int arg1); bool subC3386(int arg1, int arg2); - void subC33C0(unkObj1337sub1 *subObj1, unkObj1337sub1 *subObj2); - void subC3456(unkObj1337sub1 *subObj1, unkObj1337sub1 *subObj2); - void subC340B(unkObj1337sub1 *subObj1, unkObj1337sub1 *subObj2); - void subC34A1(unkObj1337sub1 *subObj1, unkObj1337sub1 *subObj2); - unkObj1337sub1 *subC34EC(int arg1); - void subC358E(unkObj1337sub1 *subObj1, int arg2); + void subC33C0(Card *subObj1, Card *subObj2); + void subC3456(Card *subObj1, Card *subObj2); + void subC340B(Card *subObj1, Card *subObj2); + void subC34A1(Card *subObj1, Card *subObj2); + Card *subC34EC(int arg1); + void subC358E(Card *subObj1, int arg2); int subC3E92(int arg1); - void subC4A39(unkObj1337sub1 *subObj); + void subC4A39(Card *subObj); void subC4CD2(); void subC4CEC(); - void subC51A0(unkObj1337sub1 *subObj1, unkObj1337sub1 *subObj2); + void subC51A0(Card *subObj1, Card *subObj2); void displayDialog(int dialogNumb); void subPostInit(); void displayInstructions(); -- cgit v1.2.3 From ae949ae973a8bd231a79bb494613e4fd74d1718e Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 3 Dec 2013 07:02:16 +0100 Subject: TSAGE: R2R - Fix comments in scene 1337, some renaming --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 122 ++++++++++++------------ 1 file changed, 61 insertions(+), 61 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index a7c66cac06..08711d051b 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -2218,7 +2218,7 @@ Scene1337::Card::Card() { } void Scene1337::Card::synchronize(Serializer &s) { - warning("STUBBED: unkObj1337sub1::synchronize()"); + warning("STUBBED: Card::synchronize()"); } Scene1337::GameBoardSide::GameBoardSide() { @@ -2230,7 +2230,7 @@ Scene1337::GameBoardSide::GameBoardSide() { } void Scene1337::GameBoardSide::synchronize(Serializer &s) { - warning("STUBBED: unkObj1337_1::synchronize()"); + warning("STUBBED: GameBoardSide::synchronize()"); } Scene1337::Scene1337() { @@ -6396,67 +6396,67 @@ void Scene1337::subD02CA() { _item6._stationPos = g_globals->_events._mousePos; if (R2_GLOBALS._v57810 == 200) { - int di; - for (di = 0; di < 4; di++) { - if ((subC2BF8(&_gameBoardSide[2]._handCard[di], _item6._stationPos) != 0) && (_gameBoardSide[2]._handCard[di]._cardId != 0)) { - _item6._cardId = _gameBoardSide[2]._handCard[di]._cardId; - _item6._stationPos = _gameBoardSide[2]._handCard[di]._stationPos; - // _item6._actorName = _arrunkObj1337[2]._arr1[di]._actorName; - _item6._fieldE = _gameBoardSide[2]._handCard[di]._fieldE; - _item6._field10 = _gameBoardSide[2]._handCard[di]._field10; - warning("_item6._field12 = _arrunkObj1337[2]._arr1[di]._field12;"); - warning("_item6._field14 = _arrunkObj1337[2]._arr1[di]._field14;"); - warning("_item6._field16 = _arrunkObj1337[2]._arr1[di]._field16;"); - _item6._sceneRegionId = _gameBoardSide[2]._handCard[di]._sceneRegionId; - _item6._position = _gameBoardSide[2]._handCard[di]._position; - _item6._yDiff = _gameBoardSide[2]._handCard[di]._yDiff; - _item6._bounds = _gameBoardSide[2]._handCard[di]._bounds; - _item6._resNum = _gameBoardSide[2]._handCard[di]._resNum; - _item6._lookLineNum = _gameBoardSide[2]._handCard[di]._lookLineNum; - _item6._talkLineNum = _gameBoardSide[2]._handCard[di]._talkLineNum; - _item6._useLineNum = _gameBoardSide[2]._handCard[di]._useLineNum; - _item6._action = _gameBoardSide[2]._handCard[di]._action; - warning("_item6._field0 = _arrunkObj1337[2]._arr1[di]._field0;"); - _item6._card._updateStartFrame = _gameBoardSide[2]._handCard[di]._card._updateStartFrame; - _item6._card._walkStartFrame = _gameBoardSide[2]._handCard[di]._card._walkStartFrame; + int i; + for (i = 0; i < 4; i++) { + if ((subC2BF8(&_gameBoardSide[2]._handCard[i], _item6._stationPos) != 0) && (_gameBoardSide[2]._handCard[i]._cardId != 0)) { + _item6._cardId = _gameBoardSide[2]._handCard[i]._cardId; + _item6._stationPos = _gameBoardSide[2]._handCard[i]._stationPos; + // _item6._actorName = _gameBoardSide[2]._handCard[di]._actorName; + _item6._fieldE = _gameBoardSide[2]._handCard[i]._fieldE; + _item6._field10 = _gameBoardSide[2]._handCard[i]._field10; + warning("_item6._field12 = _gameBoardSide[2]._handCard[di]._field12;"); + warning("_item6._field14 = _gameBoardSide[2]._handCard[di]._field14;"); + warning("_item6._field16 = _gameBoardSide[2]._handCard[di]._field16;"); + _item6._sceneRegionId = _gameBoardSide[2]._handCard[i]._sceneRegionId; + _item6._position = _gameBoardSide[2]._handCard[i]._position; + _item6._yDiff = _gameBoardSide[2]._handCard[i]._yDiff; + _item6._bounds = _gameBoardSide[2]._handCard[i]._bounds; + _item6._resNum = _gameBoardSide[2]._handCard[i]._resNum; + _item6._lookLineNum = _gameBoardSide[2]._handCard[i]._lookLineNum; + _item6._talkLineNum = _gameBoardSide[2]._handCard[i]._talkLineNum; + _item6._useLineNum = _gameBoardSide[2]._handCard[i]._useLineNum; + _item6._action = _gameBoardSide[2]._handCard[i]._action; + warning("_item6._field0 = _gameBoardSide[2]._handCard[di]._field0;"); + _item6._card._updateStartFrame = _gameBoardSide[2]._handCard[i]._card._updateStartFrame; + _item6._card._walkStartFrame = _gameBoardSide[2]._handCard[i]._card._walkStartFrame; // _field2E is named _field3C in R2R - _item6._card._field2E = _gameBoardSide[2]._handCard[di]._card._field2E; - _item6._card._percent = _gameBoardSide[2]._handCard[di]._card._percent; - _item6._card._priority = _gameBoardSide[2]._handCard[di]._card._priority; - _item6._card._angle = _gameBoardSide[2]._handCard[di]._card._angle; - _item6._card._flags = _gameBoardSide[2]._handCard[di]._card._flags; - _item6._card._xe = _gameBoardSide[2]._handCard[di]._card._xe; - _item6._card._xs = _gameBoardSide[2]._handCard[di]._card._xs; - _item6._card._paneRects[0] = _gameBoardSide[2]._handCard[di]._card._paneRects[0]; - _item6._card._paneRects[1] = _gameBoardSide[2]._handCard[di]._card._paneRects[1]; - _item6._card._visage = _gameBoardSide[2]._handCard[di]._card._visage; - _item6._card._objectWrapper = _gameBoardSide[2]._handCard[di]._card._objectWrapper; - _item6._card._strip = _gameBoardSide[2]._handCard[di]._card._strip; - _item6._card._animateMode = _gameBoardSide[2]._handCard[di]._card._animateMode; - _item6._card._frame = _gameBoardSide[2]._handCard[di]._card._frame; - _item6._card._endFrame = _gameBoardSide[2]._handCard[di]._card._endFrame; + _item6._card._field2E = _gameBoardSide[2]._handCard[i]._card._field2E; + _item6._card._percent = _gameBoardSide[2]._handCard[i]._card._percent; + _item6._card._priority = _gameBoardSide[2]._handCard[i]._card._priority; + _item6._card._angle = _gameBoardSide[2]._handCard[i]._card._angle; + _item6._card._flags = _gameBoardSide[2]._handCard[i]._card._flags; + _item6._card._xe = _gameBoardSide[2]._handCard[i]._card._xe; + _item6._card._xs = _gameBoardSide[2]._handCard[i]._card._xs; + _item6._card._paneRects[0] = _gameBoardSide[2]._handCard[i]._card._paneRects[0]; + _item6._card._paneRects[1] = _gameBoardSide[2]._handCard[i]._card._paneRects[1]; + _item6._card._visage = _gameBoardSide[2]._handCard[i]._card._visage; + _item6._card._objectWrapper = _gameBoardSide[2]._handCard[i]._card._objectWrapper; + _item6._card._strip = _gameBoardSide[2]._handCard[i]._card._strip; + _item6._card._animateMode = _gameBoardSide[2]._handCard[i]._card._animateMode; + _item6._card._frame = _gameBoardSide[2]._handCard[i]._card._frame; + _item6._card._endFrame = _gameBoardSide[2]._handCard[i]._card._endFrame; // _field68 is named _field76 in R2R - _item6._card._field68 = _gameBoardSide[2]._handCard[di]._card._field68; - _item6._card._frameChange = _gameBoardSide[2]._handCard[di]._card._frameChange; - _item6._card._numFrames = _gameBoardSide[2]._handCard[di]._card._numFrames; - _item6._card._regionIndex = _gameBoardSide[2]._handCard[di]._card._regionIndex; - _item6._card._mover = _gameBoardSide[2]._handCard[di]._card._mover; - _item6._card._moveDiff = _gameBoardSide[2]._handCard[di]._card._moveDiff; - _item6._card._moveRate = _gameBoardSide[2]._handCard[di]._card._moveRate; - _item6._card._actorDestPos = _gameBoardSide[2]._handCard[di]._card._actorDestPos; - _item6._card._endAction = _gameBoardSide[2]._handCard[di]._card._endAction; - _item6._card._regionBitList = _gameBoardSide[2]._handCard[di]._card._regionBitList; - // _item6._object1._actorName = _arrunkObj1337[2]._arr1[di]._object1._actorName; - _item6._card._fieldE = _gameBoardSide[2]._handCard[di]._card._fieldE; - _item6._card._field10 = _gameBoardSide[2]._handCard[di]._card._field10; - warning("_item6._object1._field12 = _arrunkObj1337[2]._arr1[di]._object1._field12;"); - warning("_item6._object1._field14 = _arrunkObj1337[2]._arr1[di]._object1._field14;"); - warning("_item6._object1._field16 = _arrunkObj1337[2]._arr1[di]._object1._field16;"); - _item6._card = _gameBoardSide[2]._handCard[di]._card; - } - } - - if (di == 4) { + _item6._card._field68 = _gameBoardSide[2]._handCard[i]._card._field68; + _item6._card._frameChange = _gameBoardSide[2]._handCard[i]._card._frameChange; + _item6._card._numFrames = _gameBoardSide[2]._handCard[i]._card._numFrames; + _item6._card._regionIndex = _gameBoardSide[2]._handCard[i]._card._regionIndex; + _item6._card._mover = _gameBoardSide[2]._handCard[i]._card._mover; + _item6._card._moveDiff = _gameBoardSide[2]._handCard[i]._card._moveDiff; + _item6._card._moveRate = _gameBoardSide[2]._handCard[i]._card._moveRate; + _item6._card._actorDestPos = _gameBoardSide[2]._handCard[i]._card._actorDestPos; + _item6._card._endAction = _gameBoardSide[2]._handCard[i]._card._endAction; + _item6._card._regionBitList = _gameBoardSide[2]._handCard[i]._card._regionBitList; + // _item6._object1._actorName = _gameBoardSide[2]._handCard[di]._object1._actorName; + _item6._card._fieldE = _gameBoardSide[2]._handCard[i]._card._fieldE; + _item6._card._field10 = _gameBoardSide[2]._handCard[i]._card._field10; + warning("_item6._object1._field12 = _gameBoardSide[2]._handCard[di]._object1._field12;"); + warning("_item6._object1._field14 = _gameBoardSide[2]._handCard[di]._object1._field14;"); + warning("_item6._object1._field16 = _gameBoardSide[2]._handCard[di]._object1._field16;"); + _item6._card = _gameBoardSide[2]._handCard[i]._card; + } + } + + if (i == 4) { subCDB90(1, _item6._stationPos); subD0281(); return; -- cgit v1.2.3 From 178db404d0793943d2fcb118c812f8c1447c9711 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 3 Dec 2013 07:49:15 +0100 Subject: TSAGE: R2R - Fix a bug in scene 1337, some renaming --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 225 ++++++++++++------------ engines/tsage/ringworld2/ringworld2_scenes1.h | 2 +- 2 files changed, 114 insertions(+), 113 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index 08711d051b..fc89d99e5d 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -2654,10 +2654,10 @@ void Scene1337::Action1::signal() { waitFrames(60); scene->actionDisplay(1331, 14, 159, 10, 1, 200, 0, 7, 0, 154, 154); - scene->_gameBoardSide[2]._delayPile._card.postInit(); - scene->_gameBoardSide[2]._delayPile._card.setVisage(1332); - scene->_gameBoardSide[2]._delayPile._card.setPosition(scene->_gameBoardSide[2]._delayPile._stationPos, 0); - scene->_gameBoardSide[2]._delayPile._card.hide(); + scene->_gameBoardSide[2]._delayCard._card.postInit(); + scene->_gameBoardSide[2]._delayCard._card.setVisage(1332); + scene->_gameBoardSide[2]._delayCard._card.setPosition(scene->_gameBoardSide[2]._delayCard._stationPos, 0); + scene->_gameBoardSide[2]._delayCard._card.hide(); scene->_gameBoardSide[3]._handCard[2]._cardId = 0; scene->_gameBoardSide[3]._handCard[2].remove(); @@ -2666,13 +2666,13 @@ void Scene1337::Action1::signal() { scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[2]._delayPile._stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[2]._delayCard._stationPos, this); } break; case 6: { scene->_animatedCard._card.hide(); - scene->_gameBoardSide[2]._delayPile._cardId = 21; - scene->setAnimationInfo(&scene->_gameBoardSide[2]._delayPile); + scene->_gameBoardSide[2]._delayCard._cardId = 21; + scene->setAnimationInfo(&scene->_gameBoardSide[2]._delayCard); scene->_aSound1.play(57); R2_GLOBALS._sceneObjects->draw(); @@ -2731,12 +2731,12 @@ void Scene1337::Action1::signal() { scene->_lowerDisplayCard[6].remove(); scene->_lowerDisplayCard[7].remove(); - scene->_discardPile._cardId = scene->_gameBoardSide[2]._delayPile._cardId; + scene->_discardPile._cardId = scene->_gameBoardSide[2]._delayCard._cardId; - scene->_gameBoardSide[2]._delayPile._cardId = 0; - scene->_gameBoardSide[2]._delayPile._card.remove(); + scene->_gameBoardSide[2]._delayCard._cardId = 0; + scene->_gameBoardSide[2]._delayCard._card.remove(); - scene->_animatedCard._card.setPosition(scene->_gameBoardSide[2]._delayPile._stationPos, 0); + scene->_animatedCard._card.setPosition(scene->_gameBoardSide[2]._delayCard._stationPos, 0); scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); @@ -2750,10 +2750,10 @@ void Scene1337::Action1::signal() { R2_GLOBALS._sceneObjects->draw(); - scene->_gameBoardSide[2]._delayPile._card.postInit(); - scene->_gameBoardSide[2]._delayPile._card.setVisage(1332); - scene->_gameBoardSide[2]._delayPile._card.setPosition(scene->_gameBoardSide[2]._delayPile._stationPos, 0); - scene->_gameBoardSide[2]._delayPile._card.hide(); + scene->_gameBoardSide[2]._delayCard._card.postInit(); + scene->_gameBoardSide[2]._delayCard._card.setVisage(1332); + scene->_gameBoardSide[2]._delayCard._card.setPosition(scene->_gameBoardSide[2]._delayCard._stationPos, 0); + scene->_gameBoardSide[2]._delayCard._card.hide(); scene->_gameBoardSide[3]._handCard[1]._cardId = 0; scene->_gameBoardSide[3]._handCard[1].remove(); @@ -2762,13 +2762,13 @@ void Scene1337::Action1::signal() { scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[2]._delayPile._stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[2]._delayCard._stationPos, this); } break; case 8: { scene->_animatedCard._card.hide(); - scene->_gameBoardSide[2]._delayPile._cardId = 14; - scene->setAnimationInfo(&scene->_gameBoardSide[2]._delayPile); + scene->_gameBoardSide[2]._delayCard._cardId = 14; + scene->setAnimationInfo(&scene->_gameBoardSide[2]._delayCard); scene->_aSound1.play(57); R2_GLOBALS._sceneObjects->draw(); @@ -2861,17 +2861,17 @@ void Scene1337::Action1::signal() { scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[2]._delayPile._stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[2]._delayCard._stationPos, this); } break; case 9: { scene->_aSound1.play(58); - scene->_gameBoardSide[2]._delayPile._cardId = 0; - scene->_gameBoardSide[2]._delayPile.remove(); + scene->_gameBoardSide[2]._delayCard._cardId = 0; + scene->_gameBoardSide[2]._delayCard.remove(); scene->_animatedCard._card.setStrip(5); scene->_animatedCard._card.setFrame(1); scene->_animatedCard._card.animate(ANIM_MODE_2, NULL); - scene->_animatedCard._card.setPosition(scene->_gameBoardSide[2]._delayPile._stationPos, 0); + scene->_animatedCard._card.setPosition(scene->_gameBoardSide[2]._delayCard._stationPos, 0); scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); @@ -3026,8 +3026,8 @@ void Scene1337::Action1::signal() { scene->_gameBoardSide[1]._outpostStation[i]._card.remove(); } - scene->_gameBoardSide[2]._delayPile._cardId = 0; - scene->_gameBoardSide[2]._delayPile._card.remove(); + scene->_gameBoardSide[2]._delayCard._cardId = 0; + scene->_gameBoardSide[2]._delayCard._card.remove(); scene->_discardPile._cardId = 0; scene->_discardPile._card.remove(); @@ -3343,11 +3343,12 @@ void Scene1337::Action3::signal() { scene->_gameBoardSide[0]._handCard[2]._card.setStrip(5); scene->_gameBoardSide[0]._handCard[2]._card.setFrame(1); scene->_gameBoardSide[0]._handCard[2]._card.fixPriority(170); - scene->_gameBoardSide[0]._handCard[2]._card.hide(); + scene->_animatedCard._card.hide(); default: break; } + // CHECKME: It's not logical that the number of available cards is decreased for Action Index 12 if (_actionIndex > 12) { scene->_currentPlayerNumb = 0; R2_GLOBALS._sceneObjects->draw(); @@ -3364,9 +3365,9 @@ void Scene1337::Action4::signal() { switch (_actionIndex++) { case 0: - if ((scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayPile._cardId))) { + if ((scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayCard._cardId))) { if (scene->_cardsAvailableNumb < 0) - scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayPile._cardId); + scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayCard._cardId); scene->_animatedCard._card.setPosition(Common::Point(162, 95), 0); scene->_animatedCard._card.show(); scene->_aSound2.play(61); @@ -3401,7 +3402,7 @@ void Scene1337::Action4::signal() { scene->setAnimationInfo(&scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]); scene->_animatedCard._card.hide(); - if ((scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayPile._cardId == 0))) { + if ((scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayCard._cardId == 0))) { if (scene->_cardsAvailableNumb < 0) scene->shuffleCards(); scene->_animatedCard._card.setPosition(Common::Point(162, 95)); @@ -3436,7 +3437,7 @@ void Scene1337::Action4::signal() { scene->setAnimationInfo(&scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]); scene->_animatedCard._card.hide(); - if ((scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayPile._cardId == 0))) { + if ((scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayCard._cardId == 0))) { if (scene->_cardsAvailableNumb < 0) scene->shuffleCards(); scene->_animatedCard._card.setPosition(Common::Point(162, 95)); @@ -3471,7 +3472,7 @@ void Scene1337::Action4::signal() { scene->setAnimationInfo(&scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]); scene->_animatedCard._card.hide(); - if ((scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayPile._cardId == 0))) { + if ((scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayCard._cardId == 0))) { if (scene->_cardsAvailableNumb < 0) scene->shuffleCards(); scene->_animatedCard._card.setPosition(Common::Point(162, 95)); @@ -3634,7 +3635,7 @@ void Scene1337::Action7::signal() { scene->_item5._stationPos.y = scene->_field3EF4->_stationPos.y; scene->_item5._card.postInit(); scene->_item5._card.hide(); - scene->_item5._card._flags = 0x200; + scene->_item5._card._flags = OBJFLAG_HIDING; scene->subC4A39(&scene->_item5); break; @@ -4355,7 +4356,7 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _gameBoardSide[2]._outpostStation[6]._stationPos = Common::Point(171, 174); _gameBoardSide[2]._outpostStation[7]._stationPos = Common::Point(145, 174); - _gameBoardSide[2]._delayPile._stationPos = Common::Point(199, 174); + _gameBoardSide[2]._delayCard._stationPos = Common::Point(199, 174); _gameBoardSide[2]._arr4._stationPos = Common::Point(145, 148); @@ -4379,7 +4380,7 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _gameBoardSide[3]._outpostStation[6]._stationPos = Common::Point(37, 118); _gameBoardSide[3]._outpostStation[7]._stationPos = Common::Point(37, 92); - _gameBoardSide[3]._delayPile._stationPos = Common::Point(37, 145); + _gameBoardSide[3]._delayCard._stationPos = Common::Point(37, 145); _gameBoardSide[3]._arr4._stationPos = Common::Point(63, 92); @@ -4403,7 +4404,7 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _gameBoardSide[0]._outpostStation[6]._stationPos = Common::Point(119, 16); _gameBoardSide[0]._outpostStation[7]._stationPos = Common::Point(145, 16); - _gameBoardSide[0]._delayPile._stationPos = Common::Point(91, 16); + _gameBoardSide[0]._delayCard._stationPos = Common::Point(91, 16); _gameBoardSide[0]._arr4._stationPos = Common::Point(145, 42); @@ -4427,7 +4428,7 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _gameBoardSide[1]._outpostStation[6]._stationPos = Common::Point(253, 70); _gameBoardSide[1]._outpostStation[7]._stationPos = Common::Point(253, 96); - _gameBoardSide[1]._delayPile._stationPos = Common::Point(253, 43); + _gameBoardSide[1]._delayCard._stationPos = Common::Point(253, 43); _gameBoardSide[1]._arr4._stationPos = Common::Point(227, 96); @@ -4902,8 +4903,8 @@ bool Scene1337::subC2BF8(Card *subObj1, Common::Point pt) { void Scene1337::subC2C2F() { bool found = true; - if (_gameBoardSide[3]._delayPile._cardId != 0) { - switch (_gameBoardSide[3]._delayPile._cardId) { + if (_gameBoardSide[3]._delayCard._cardId != 0) { + switch (_gameBoardSide[3]._delayCard._cardId) { case 10: // No break on purpose case 12: @@ -4919,14 +4920,14 @@ void Scene1337::subC2C2F() { case 20: // No break on purpose case 21: - subC4A39(&_gameBoardSide[3]._delayPile); + subC4A39(&_gameBoardSide[3]._delayCard); found = false; break; default: found = false; int i; for (i = 0; i <= 3; i++) { - if (subC3386(_gameBoardSide[3]._delayPile._cardId, _gameBoardSide[3]._handCard[i]._cardId)) { + if (subC3386(_gameBoardSide[3]._delayCard._cardId, _gameBoardSide[3]._handCard[i]._cardId)) { found = true; break; } @@ -4934,7 +4935,7 @@ void Scene1337::subC2C2F() { if (found) { found = false; - subC34A1(&_gameBoardSide[3]._handCard[i], &_gameBoardSide[3]._delayPile); + subC34A1(&_gameBoardSide[3]._handCard[i], &_gameBoardSide[3]._delayCard); } break; } @@ -4949,7 +4950,7 @@ void Scene1337::subC2C2F() { found = false; for (int i = 0; i <= 7; i++) { - if ((_gameBoardSide[3]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[3]._delayPile._cardId))) { + if ((_gameBoardSide[3]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[3]._delayCard._cardId))) { subC340B(&_gameBoardSide[3]._handCard[randIndx], &_gameBoardSide[3]._outpostStation[i]); found = true; break; @@ -4971,7 +4972,7 @@ void Scene1337::subC2C2F() { if (!found) { for (int i = 0; i <= 7; i++) { - if ((_gameBoardSide[3]._outpostStation[i]._cardId == 1) && (!subC2687(_gameBoardSide[3]._delayPile._cardId))) { + if ((_gameBoardSide[3]._outpostStation[i]._cardId == 1) && (!subC2687(_gameBoardSide[3]._delayCard._cardId))) { int tmpVal = 0; for (int j = 0; j <= 7; j++) { @@ -5055,7 +5056,7 @@ void Scene1337::subC2C2F() { // It's understandable for 'i', which helps making sure that tmpVal is used properly, // but it's suspect for j for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[tmpRandIndx]._delayPile._cardId == 0) && (subC32B1(tmpRandIndx, _gameBoardSide[3]._handCard[randIndx]._cardId))) { + if ((_gameBoardSide[tmpRandIndx]._delayCard._cardId == 0) && (subC32B1(tmpRandIndx, _gameBoardSide[3]._handCard[randIndx]._cardId))) { tmpVal = j; } } @@ -5071,7 +5072,7 @@ void Scene1337::subC2C2F() { if (tmpVal != -1) { // Useless second identical check skipped - subC3456(&_gameBoardSide[3]._handCard[randIndx], &_gameBoardSide[tmpVal]._delayPile); + subC3456(&_gameBoardSide[3]._handCard[randIndx], &_gameBoardSide[tmpVal]._delayCard); return; } } @@ -5657,36 +5658,36 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { break; } } else { - if ( (subC2BF8(&_gameBoardSide[2]._delayPile, pt)) - || (subC2BF8(&_gameBoardSide[0]._delayPile, pt)) - || (subC2BF8(&_gameBoardSide[1]._delayPile, pt)) - || (subC2BF8(&_gameBoardSide[3]._delayPile, pt)) ) { + if ( (subC2BF8(&_gameBoardSide[2]._delayCard, pt)) + || (subC2BF8(&_gameBoardSide[0]._delayCard, pt)) + || (subC2BF8(&_gameBoardSide[1]._delayCard, pt)) + || (subC2BF8(&_gameBoardSide[3]._delayCard, pt)) ) { found = true; } if (found) { switch (curReg) { case 5: - if (_gameBoardSide[2]._delayPile._cardId != 0) - displayDialog(_gameBoardSide[2]._delayPile._cardId); + if (_gameBoardSide[2]._delayCard._cardId != 0) + displayDialog(_gameBoardSide[2]._delayCard._cardId); else actionDisplay(1330, 10, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; case 10: - if (_gameBoardSide[3]._delayPile._cardId != 0) - displayDialog(_gameBoardSide[3]._delayPile._cardId); + if (_gameBoardSide[3]._delayCard._cardId != 0) + displayDialog(_gameBoardSide[3]._delayCard._cardId); else actionDisplay(1330, 16, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; case 15: - if (_gameBoardSide[0]._delayPile._cardId != 0) - displayDialog(_gameBoardSide[3]._delayPile._cardId); + if (_gameBoardSide[0]._delayCard._cardId != 0) + displayDialog(_gameBoardSide[3]._delayCard._cardId); else actionDisplay(1330, 13, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; case 20: - if (_gameBoardSide[1]._delayPile._cardId != 0) - displayDialog(_gameBoardSide[1]._delayPile._cardId); + if (_gameBoardSide[1]._delayCard._cardId != 0) + displayDialog(_gameBoardSide[1]._delayCard._cardId); else actionDisplay(1330, 18, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; @@ -5806,8 +5807,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { } } - if (subC2BF8(&_gameBoardSide[2]._delayPile, pt)) { - if (_gameBoardSide[0]._delayPile._cardId != 0) { + if (subC2BF8(&_gameBoardSide[2]._delayCard, pt)) { + if (_gameBoardSide[0]._delayCard._cardId != 0) { actionDisplay(1330, 39, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { actionDisplay(1330, 11, 159, 10, 1, 200, 0, 7, 0, 154, 154); @@ -5815,8 +5816,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { found = true; } - if (subC2BF8(&_gameBoardSide[3]._delayPile, pt)) { - if (_gameBoardSide[3]._delayPile._cardId != 0) { + if (subC2BF8(&_gameBoardSide[3]._delayCard, pt)) { + if (_gameBoardSide[3]._delayCard._cardId != 0) { actionDisplay(1330, 145, 20, 99, 1, 136, 0, 7, 0, 172, 172); } else { actionDisplay(1330, 147, 20, 99, 1, 136, 0, 7, 0, 172, 172); @@ -5824,8 +5825,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { found = true; } - if (subC2BF8(&_gameBoardSide[1]._delayPile, pt)) { - if (_gameBoardSide[1]._delayPile._cardId != 0) { + if (subC2BF8(&_gameBoardSide[1]._delayCard, pt)) { + if (_gameBoardSide[1]._delayCard._cardId != 0) { actionDisplay(1330, 144, 300, 99, 1, 136, 0, 7, 0, 117, 117); } else { actionDisplay(1330, 146, 300, 99, 1, 136, 0, 7, 0, 117, 117); @@ -5833,8 +5834,8 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { found = true; } - if (subC2BF8(&_gameBoardSide[0]._delayPile, pt)) { - if (_gameBoardSide[0]._delayPile._cardId != 0) { + if (subC2BF8(&_gameBoardSide[0]._delayCard, pt)) { + if (_gameBoardSide[0]._delayCard._cardId != 0) { actionDisplay(1330, 1, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { actionDisplay(1330, 11, 159, 10, 1, 200, 0, 7, 0, 154, 154); @@ -5919,8 +5920,8 @@ void Scene1337::subCF31D() { bool found; int count; - if (this->_gameBoardSide[1]._delayPile._cardId != 0) { - switch (_gameBoardSide[1]._delayPile._cardId) { + if (this->_gameBoardSide[1]._delayCard._cardId != 0) { + switch (_gameBoardSide[1]._delayCard._cardId) { case 10: // No break on purpose case 12: @@ -5937,13 +5938,13 @@ void Scene1337::subCF31D() { // No break on purpose case 21: tmpVal = 0; - subC4A39(&_gameBoardSide[1]._delayPile); + subC4A39(&_gameBoardSide[1]._delayCard); break; default: found = false; int i; for (i = 0; i <= 3; i++) { - if (subC3386(_gameBoardSide[1]._delayPile._cardId, _gameBoardSide[1]._handCard[i]._cardId)) { + if (subC3386(_gameBoardSide[1]._delayCard._cardId, _gameBoardSide[1]._handCard[i]._cardId)) { found = true; break; } @@ -5951,7 +5952,7 @@ void Scene1337::subCF31D() { if (found) { tmpVal = 0; - subC34A1(&_gameBoardSide[1]._handCard[i], &_gameBoardSide[1]._delayPile); + subC34A1(&_gameBoardSide[1]._handCard[i], &_gameBoardSide[1]._delayCard); } } } @@ -5978,7 +5979,7 @@ void Scene1337::subCF31D() { for (int j = 0; j <= 7; j++) { if (_gameBoardSide[1]._outpostStation[j]._cardId == 1) { - if (!subC2687(_gameBoardSide[1]._delayPile._cardId)) { + if (!subC2687(_gameBoardSide[1]._delayCard._cardId)) { count = 0; for (int k = 0; k <= 7; k++) { if ((_gameBoardSide[1]._outpostStation[k]._cardId > 1) && (_gameBoardSide[1]._outpostStation[k]._cardId <= 9)) @@ -6002,7 +6003,7 @@ void Scene1337::subCF31D() { tmpVal = subC2719(1); if (tmpVal != -1) { for (int i = 0; i <= 7; i++) { - if ((_gameBoardSide[1]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[1]._delayPile._cardId))) { + if ((_gameBoardSide[1]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[1]._delayCard._cardId))) { subC340B(&_gameBoardSide[1]._handCard[tmpVal], &_gameBoardSide[1]._outpostStation[i]); found = true; break; @@ -6066,7 +6067,7 @@ void Scene1337::subCF31D() { for (int k = 0; k <= 7; k++) { // CHECKME: 'k' is not used in that loop. // It looks suspicious. - if ((_gameBoardSide[tmpVal]._delayPile._cardId == 0) && (subC32B1(tmpVal, _gameBoardSide[1]._handCard[i]._cardId))) { + if ((_gameBoardSide[tmpVal]._delayCard._cardId == 0) && (subC32B1(tmpVal, _gameBoardSide[1]._handCard[i]._cardId))) { count = tmpVal; break; } @@ -6089,7 +6090,7 @@ void Scene1337::subCF31D() { } if (found) - subC3456(&_gameBoardSide[1]._handCard[i], &_gameBoardSide[count]._delayPile); + subC3456(&_gameBoardSide[1]._handCard[i], &_gameBoardSide[count]._delayCard); else { int j; for (j = 0; j <= 3; j++) { @@ -6100,7 +6101,7 @@ void Scene1337::subCF31D() { if (rndVal != 1) { for (int m = 0; m <= 7; m++) { // 'm' is not used in that loop. It looks suspicious. - if ((_gameBoardSide[rndVal]._delayPile._cardId == 0) && (_gameBoardSide[1]._handCard[j]._cardId == 1)) { + if ((_gameBoardSide[rndVal]._delayCard._cardId == 0) && (_gameBoardSide[1]._handCard[j]._cardId == 1)) { count = rndVal; break; } @@ -6121,7 +6122,7 @@ void Scene1337::subCF31D() { } if (found) - subC3456(&_gameBoardSide[1]._handCard[j], &_gameBoardSide[count]._delayPile); + subC3456(&_gameBoardSide[1]._handCard[j], &_gameBoardSide[count]._delayCard); else subC2835(1); } @@ -6131,8 +6132,8 @@ void Scene1337::subCF31D() { void Scene1337::subCF979() { bool found = true; - if (_gameBoardSide[0]._delayPile._cardId != 0) { - switch (_gameBoardSide[0]._delayPile._cardId) { + if (_gameBoardSide[0]._delayCard._cardId != 0) { + switch (_gameBoardSide[0]._delayCard._cardId) { case 10: //No break on purpose case 12: @@ -6148,7 +6149,7 @@ void Scene1337::subCF979() { case 20: //No break on purpose case 21: - subC4A39(&_gameBoardSide[0]._delayPile); + subC4A39(&_gameBoardSide[0]._delayCard); found = false; break; default: @@ -6156,7 +6157,7 @@ void Scene1337::subCF979() { found = false; for (i = 0; i <= 3; i++) { - if (subC3386(_gameBoardSide[0]._delayPile._cardId, _gameBoardSide[0]._handCard[i]._cardId)) { + if (subC3386(_gameBoardSide[0]._delayCard._cardId, _gameBoardSide[0]._handCard[i]._cardId)) { found = true; break; } @@ -6164,7 +6165,7 @@ void Scene1337::subCF979() { if (found) { found = false; - subC34A1(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[0]._delayPile); + subC34A1(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[0]._delayCard); } break; } @@ -6189,7 +6190,7 @@ void Scene1337::subCF979() { if (!flag) { for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[0]._outpostStation[j]._cardId == 1) && (!subC2687(_gameBoardSide[0]._delayPile._cardId))) { + if ((_gameBoardSide[0]._outpostStation[j]._cardId == 1) && (!subC2687(_gameBoardSide[0]._delayCard._cardId))) { int count = 0; for (int k = 0; k <= 7; k++) { if ((_gameBoardSide[0]._outpostStation[k]._cardId > 1) && (_gameBoardSide[0]._outpostStation[k]._cardId <= 9)) { @@ -6219,7 +6220,7 @@ void Scene1337::subCF979() { if (tmpVal != -1) { for (int i = 0; i <= 7; i++) { - if ((_gameBoardSide[0]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[0]._delayPile._cardId))) { + if ((_gameBoardSide[0]._outpostStation[i]._cardId == 0) && (!subC2687(_gameBoardSide[0]._delayCard._cardId))) { subC340B(&_gameBoardSide[0]._handCard[tmpVal], &_gameBoardSide[0]._outpostStation[i]); found = true; break; @@ -6262,8 +6263,8 @@ void Scene1337::subCF979() { if (subC27B5(_gameBoardSide[0]._handCard[i]._cardId) != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[2]._delayPile._cardId == 0) && (subC32B1(2, _gameBoardSide[0]._handCard[i]._cardId))) { - subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[2]._delayPile); + if ((_gameBoardSide[2]._delayCard._cardId == 0) && (subC32B1(2, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[2]._delayCard); found = true; break; } @@ -6281,8 +6282,8 @@ void Scene1337::subCF979() { if (subC27F9(_gameBoardSide[0]._handCard[i]._cardId) != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[2]._delayPile._cardId == 0) && (subC32B1(2, _gameBoardSide[0]._handCard[i]._cardId))) { - subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[2]._delayPile); + if ((_gameBoardSide[2]._delayCard._cardId == 0) && (subC32B1(2, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[2]._delayCard); found = true; } } @@ -6325,8 +6326,8 @@ void Scene1337::subCF979() { if (tmpVal != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[1]._delayPile._cardId == 0) && (subC32B1(1, _gameBoardSide[0]._handCard[i]._cardId))) { - subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[1]._delayPile); + if ((_gameBoardSide[1]._delayCard._cardId == 0) && (subC32B1(1, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[1]._delayCard); found = true; } } @@ -6334,8 +6335,8 @@ void Scene1337::subCF979() { if (!found) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[3]._delayPile._cardId == 0) && (subC32B1(3, _gameBoardSide[0]._handCard[i]._cardId))) { - subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[3]._delayPile); + if ((_gameBoardSide[3]._delayCard._cardId == 0) && (subC32B1(3, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[3]._delayCard); found = true; } } @@ -6354,8 +6355,8 @@ void Scene1337::subCF979() { if (tmpVal != -1) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[1]._delayPile._cardId == 0) && (subC32B1(1, _gameBoardSide[0]._handCard[i]._cardId))) { - subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[1]._delayPile); + if ((_gameBoardSide[1]._delayCard._cardId == 0) && (subC32B1(1, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[1]._delayCard); found = true; } } @@ -6363,8 +6364,8 @@ void Scene1337::subCF979() { if (!found) { // The variable 'j' is not used in the inner code of the loop. It's suspect. for (int j = 0; j <= 7; j++) { - if ((_gameBoardSide[3]._delayPile._cardId == 0) && (subC32B1(3, _gameBoardSide[0]._handCard[i]._cardId))) { - subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[3]._delayPile); + if ((_gameBoardSide[3]._delayCard._cardId == 0) && (subC32B1(3, _gameBoardSide[0]._handCard[i]._cardId))) { + subC3456(&_gameBoardSide[0]._handCard[i], &_gameBoardSide[3]._delayCard); found = true; } } @@ -6386,10 +6387,10 @@ void Scene1337::subD026D() { } void Scene1337::subD0281() { - if (subC27F9(this->_gameBoardSide[2]._delayPile._cardId) == -1) + if (subC27F9(this->_gameBoardSide[2]._delayCard._cardId) == -1) _unkFctPtr412 = &Scene1337::subD026D; else - subC4A39(&_gameBoardSide[2]._delayPile); + subC4A39(&_gameBoardSide[2]._delayCard); } void Scene1337::subD02CA() { @@ -6522,7 +6523,7 @@ void Scene1337::subD02CA() { } if ((foundVar4) && (_gameBoardSide[2]._outpostStation[i]._cardId == 0)) { - if (subC27B5(_gameBoardSide[2]._delayPile._cardId) != -1) { + if (subC27B5(_gameBoardSide[2]._delayCard._cardId) != -1) { actionDisplay(1330, 55, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { subC340B(&_item6, &_gameBoardSide[2]._outpostStation[i]); @@ -6550,7 +6551,7 @@ void Scene1337::subD02CA() { } if (foundVar4) { actionDisplay(1330, 34, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if (subC27B5(_gameBoardSide[2]._delayPile._cardId) != -1) { + } else if (subC27B5(_gameBoardSide[2]._delayCard._cardId) != -1) { actionDisplay(1330, 35, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { if (j == 7) @@ -6564,11 +6565,11 @@ void Scene1337::subD02CA() { } } else { if ((_item6._cardId == 26) || (_item6._cardId == 30) ||(_item6._cardId == 32) || (_item6._cardId == 28)) { - if (subC2BF8(&_gameBoardSide[2]._delayPile, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (subC2BF8(&_gameBoardSide[2]._delayCard, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { actionDisplay(1330, 42, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if (!subC3386(_gameBoardSide[2]._delayPile._cardId, _item6._cardId)) { - if (_gameBoardSide[2]._delayPile._cardId != 0) { - switch (_gameBoardSide[2]._delayPile._cardId) { + } else if (!subC3386(_gameBoardSide[2]._delayCard._cardId, _item6._cardId)) { + if (_gameBoardSide[2]._delayCard._cardId != 0) { + switch (_gameBoardSide[2]._delayCard._cardId) { case 11: actionDisplay(1330, 68, 159, 10, 1, 200, 0, 7, 0, 154, 154); break; @@ -6588,7 +6589,7 @@ void Scene1337::subD02CA() { actionDisplay(1330, 41, 159, 10, 1, 200, 0, 7, 0, 154, 154); } } else { - subC34A1(&_item6, &_gameBoardSide[2]._delayPile); + subC34A1(&_item6, &_gameBoardSide[2]._delayCard); return; } } else { @@ -6680,8 +6681,8 @@ void Scene1337::subD02CA() { actionDisplay(1330, 137, 159, 10, 1, 200, 0, 7, 0, 154, 154); } } else { - if (subC2BF8(&_gameBoardSide[0]._delayPile, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { - if (_gameBoardSide[0]._delayPile._cardId != 0) { + if (subC2BF8(&_gameBoardSide[0]._delayCard, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (_gameBoardSide[0]._delayCard._cardId != 0) { actionDisplay(1330, 15, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else if (!subC32B1(0, _item6._cardId)) { switch (_item6._cardId) { @@ -6713,11 +6714,11 @@ void Scene1337::subD02CA() { break; } } else { - subC3456(&_item6, &_gameBoardSide[0]._delayPile); + subC3456(&_item6, &_gameBoardSide[0]._delayCard); found = true; } - } else if (subC2BF8(&_gameBoardSide[3]._delayPile, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { - if (_gameBoardSide[3]._delayPile._cardId != 0) { + } else if (subC2BF8(&_gameBoardSide[3]._delayCard, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (_gameBoardSide[3]._delayCard._cardId != 0) { actionDisplay(1330, 17, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else if (!subC32B1(3, _item6._cardId)) { switch (_item6._cardId) { @@ -6749,11 +6750,11 @@ void Scene1337::subD02CA() { break; } } else { - subC3456(&_item6, &_gameBoardSide[3]._delayPile); + subC3456(&_item6, &_gameBoardSide[3]._delayCard); found = true; } - } else if (subC2BF8(&_gameBoardSide[1]._delayPile, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { - if (_gameBoardSide[1]._delayPile._cardId != 0) { + } else if (subC2BF8(&_gameBoardSide[1]._delayCard, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (_gameBoardSide[1]._delayCard._cardId != 0) { actionDisplay(1330, 19, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else if (!subC32B1(1, _item6._cardId)) { switch (_item6._cardId) { @@ -6785,7 +6786,7 @@ void Scene1337::subD02CA() { break; } } else { - subC3456(&_item6, &_gameBoardSide[1]._delayPile); + subC3456(&_item6, &_gameBoardSide[1]._delayCard); found = true; } } else { diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h index bf798c7401..1653e40b10 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.h +++ b/engines/tsage/ringworld2/ringworld2_scenes1.h @@ -198,7 +198,7 @@ class Scene1337 : public SceneExt { public: Card _handCard[4]; Card _outpostStation[8]; - Card _delayPile; + Card _delayCard; Card _arr4; Common::Point _fieldB94; -- cgit v1.2.3 From 469c7c0b8cbfd06bfdae6010bd431834657b977f Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 3 Dec 2013 07:50:47 +0100 Subject: TSAGE: R2R - Remove erroneous comment --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index fc89d99e5d..55aa6dce3e 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -3348,7 +3348,6 @@ void Scene1337::Action3::signal() { break; } - // CHECKME: It's not logical that the number of available cards is decreased for Action Index 12 if (_actionIndex > 12) { scene->_currentPlayerNumb = 0; R2_GLOBALS._sceneObjects->draw(); -- cgit v1.2.3 From 441063508d11c30baca53199daa0d7b8f8bd90b0 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 3 Dec 2013 08:17:59 +0100 Subject: TSAGE: R2R - Fix bug in scene 1337, some renaming and comments --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 13 ++++++++++--- engines/tsage/ringworld2/ringworld2_scenes1.h | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index 55aa6dce3e..ed3eb213b0 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -3091,6 +3091,9 @@ void Scene1337::Action2::signal() { } } +/** + * Deal cards + */ void Scene1337::Action3::signal() { Scene1337 *scene = (Scene1337 *)R2_GLOBALS._sceneManager._scene; @@ -3366,7 +3369,7 @@ void Scene1337::Action4::signal() { case 0: if ((scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._cardId == 0) && (scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayCard._cardId))) { if (scene->_cardsAvailableNumb < 0) - scene->subC264B(scene->_gameBoardSide[scene->_currentPlayerNumb]._delayCard._cardId); + scene->shuffleCards(); scene->_animatedCard._card.setPosition(Common::Point(162, 95), 0); scene->_animatedCard._card.show(); scene->_aSound2.play(61); @@ -5544,7 +5547,7 @@ void Scene1337::suggestInstructions() { if (MessageDialog::show(NEED_INSTRUCTIONS, NO_MSG, YES_MSG) == 0) { if (R2_GLOBALS._v57709 == 0) subD18F5(); - firstShuffle(); + dealCards(); } else { if (R2_GLOBALS._v57709 == 0) subD18F5(); @@ -5591,6 +5594,8 @@ void Scene1337::shuffleCards() { } _shuffleEndedFl = false; + + // Shuffle cards _animatedCard._card.setAction(&_action2); while(!_shuffleEndedFl && !g_vm->shouldQuit()) { @@ -5601,9 +5606,11 @@ void Scene1337::shuffleCards() { } } -void Scene1337::firstShuffle() { +void Scene1337::dealCards() { _animatedCard._card._moveDiff = Common::Point(30, 30); shuffleCards(); + + // Deal cards _item1.setAction(&_action3); } void Scene1337::subCD193() { diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h index 1653e40b10..582295523b 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.h +++ b/engines/tsage/ringworld2/ringworld2_scenes1.h @@ -362,7 +362,7 @@ public: void displayInstructions(); void suggestInstructions(); void shuffleCards(); - void firstShuffle(); + void dealCards(); void subCD193(); void subCDB90(int arg1, Common::Point pt); void subCF31D(); -- cgit v1.2.3 From 621609d23c7aeb7769942f9f6162f9d635167b2a Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 3 Dec 2013 08:30:54 +0100 Subject: TSAGE: R2R - Get rid of some magic values --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index ed3eb213b0..07882b5026 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -876,8 +876,8 @@ void Scene1100::postInit(SceneObjectList *OwnerList) { R2_GLOBALS._player._moveRate = 30; R2_GLOBALS._player._moveDiff = Common::Point(16, 2); - _rightLandslide.setup2(1104, 2, 1, 175, 125, 102, 1); - _purplePlant.setup2(1102, 5, 1, 216, 167, 1, 0); + _rightLandslide.setup2(1104, 2, 1, 175, 125, 102, EFFECT_SHADED); + _purplePlant.setup2(1102, 5, 1, 216, 167, 1, EFFECT_NONE); _leftImpacts.postInit(); _leftImpacts.setup(1113, 2, 1); @@ -2455,7 +2455,7 @@ void Scene1337::Action1::signal() { scene->_gameBoardSide[0]._outpostStation[0]._card.remove(); scene->_gameBoardSide[0]._outpostStation[1]._card.remove(); - scene->_background2.setup2(1332, 5, 1, 165, 95, 110, 1); + scene->_background2.setup2(1332, 5, 1, 165, 95, 110, EFFECT_SHADED); scene->_gameBoardSide[1]._handCard[0]._card.postInit(); scene->_gameBoardSide[1]._handCard[0]._card.setVisage(1332); @@ -3083,7 +3083,7 @@ void Scene1337::Action2::signal() { break; case 3: scene->_shuffleAnimation._card.remove(); - scene->_background2.setup2(1332, 5, 1, 162, 95, 110, 1); + scene->_background2.setup2(1332, 5, 1, 162, 95, 110, EFFECT_SHADED); scene->_shuffleEndedFl = true; break; default: @@ -5533,7 +5533,7 @@ void Scene1337::subPostInit() { _field4246 = false; _field424A = -1; - _background1.setup2(9531, 1, 1, 249, 168, 155, 0); + _background1.setup2(9531, 1, 1, 249, 168, 155, EFFECT_NONE); _autoplay = false; _instructionsDisplayedFl = 0; -- cgit v1.2.3 From 784163dd178627c8481c5bed30f21de33efae136 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 3 Dec 2013 19:08:42 +0100 Subject: TSAGE: R2R - More renaming in scene 1337 --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 110 ++++++++++++------------ engines/tsage/ringworld2/ringworld2_scenes1.h | 10 +-- 2 files changed, 60 insertions(+), 60 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index 07882b5026..77d34dc16d 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -2222,10 +2222,10 @@ void Scene1337::Card::synchronize(Serializer &s) { } Scene1337::GameBoardSide::GameBoardSide() { - _fieldB94 = Common::Point(0, 0); - _fieldB98 = Common::Point(0, 0); - _fieldB9C = Common::Point(0, 0); - _fieldBA0 = Common::Point(0, 0); + _card1Pos = Common::Point(0, 0); + _card2Pos = Common::Point(0, 0); + _card3Pos = Common::Point(0, 0); + _card4Pos = Common::Point(0, 0); _frameNum = 0; } @@ -3375,7 +3375,7 @@ void Scene1337::Action4::signal() { scene->_aSound2.play(61); NpcMover *mover = new NpcMover(); - scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldB94, this); + scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_currentPlayerNumb]._card1Pos, this); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; scene->_availableCardsPile[scene->_cardsAvailableNumb] = 0; @@ -3389,8 +3389,8 @@ void Scene1337::Action4::signal() { } break; case 1: - if ( ( scene->_animatedCard._card._position.x == scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldB94.x) - && ( scene->_animatedCard._card._position.y == scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldB94.y) ) { + if ( ( scene->_animatedCard._card._position.x == scene->_gameBoardSide[scene->_currentPlayerNumb]._card1Pos.x) + && ( scene->_animatedCard._card._position.y == scene->_gameBoardSide[scene->_currentPlayerNumb]._card1Pos.y) ) { scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._card.postInit(); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._card._moveDiff = Common::Point(30, 30); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[0]._card.setVisage(1332); @@ -3413,7 +3413,7 @@ void Scene1337::Action4::signal() { scene->_aSound2.play(61); NpcMover *mover = new NpcMover(); - scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldB98, this); + scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_currentPlayerNumb]._card2Pos, this); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; scene->_availableCardsPile[scene->_cardsAvailableNumb] = 0; @@ -3424,8 +3424,8 @@ void Scene1337::Action4::signal() { signal(); break; case 2: - if ( ( scene->_animatedCard._card._position.x == scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldB98.x) - && ( scene->_animatedCard._card._position.y == scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldB98.y) ) { + if ( ( scene->_animatedCard._card._position.x == scene->_gameBoardSide[scene->_currentPlayerNumb]._card2Pos.x) + && ( scene->_animatedCard._card._position.y == scene->_gameBoardSide[scene->_currentPlayerNumb]._card2Pos.y) ) { scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]._card.postInit(); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]._card._moveDiff = Common::Point(30, 30); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[1]._card.setVisage(1332); @@ -3448,7 +3448,7 @@ void Scene1337::Action4::signal() { scene->_aSound2.play(61); NpcMover *mover = new NpcMover(); - scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldB9C, this); + scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_currentPlayerNumb]._card3Pos, this); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; scene->_availableCardsPile[scene->_cardsAvailableNumb] = 0; @@ -3459,8 +3459,8 @@ void Scene1337::Action4::signal() { signal(); break; case 3: - if ( ( scene->_animatedCard._card._position.x == scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldB9C.x) - && ( scene->_animatedCard._card._position.y == scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldB9C.y) ) { + if ( ( scene->_animatedCard._card._position.x == scene->_gameBoardSide[scene->_currentPlayerNumb]._card3Pos.x) + && ( scene->_animatedCard._card._position.y == scene->_gameBoardSide[scene->_currentPlayerNumb]._card3Pos.y) ) { scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._card.postInit(); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._card._moveDiff = Common::Point(30, 30); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[2]._card.setVisage(1332); @@ -3483,7 +3483,7 @@ void Scene1337::Action4::signal() { scene->_aSound2.play(61); NpcMover *mover = new NpcMover(); - scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldBA0, this); + scene->_animatedCard._card.addMover(mover, &scene->_gameBoardSide[scene->_currentPlayerNumb]._card4Pos, this); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._cardId = scene->_availableCardsPile[scene->_cardsAvailableNumb]; scene->_availableCardsPile[scene->_cardsAvailableNumb] = 0; @@ -3494,8 +3494,8 @@ void Scene1337::Action4::signal() { signal(); break; case 4: - if ( ( scene->_animatedCard._card._position.x == scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldBA0.x) - && ( scene->_animatedCard._card._position.y == scene->_gameBoardSide[scene->_currentPlayerNumb]._fieldBA0.y) ) { + if ( ( scene->_animatedCard._card._position.x == scene->_gameBoardSide[scene->_currentPlayerNumb]._card4Pos.x) + && ( scene->_animatedCard._card._position.y == scene->_gameBoardSide[scene->_currentPlayerNumb]._card4Pos.y) ) { scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._card.postInit(); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._card._moveDiff = Common::Point(30, 30); scene->_gameBoardSide[scene->_currentPlayerNumb]._handCard[3]._card.setVisage(1332); @@ -3934,7 +3934,7 @@ void Scene1337::Action11::signal() { if ((found) && (scene->subC3E92(scene->_field4240) != -1)) { scene->_field3EF0 = &scene->_gameBoardSide[0]._handCard[i]; - scene->_field3EF4 = &scene->_gameBoardSide[0]._arr4; + scene->_field3EF4 = &scene->_gameBoardSide[0]._emptyStationPos; if (scene->_field4240 != 0) { int tmpVal = scene->subC3E92(scene->_field4240); scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4240]._handCard[tmpVal]; @@ -3953,7 +3953,7 @@ void Scene1337::Action11::signal() { if ((found) && (scene->subC3E92(scene->_field4240) != -1)) { scene->_field3EF0 = &scene->_gameBoardSide[1]._handCard[i]; - scene->_field3EF4 = &scene->_gameBoardSide[1]._arr4; + scene->_field3EF4 = &scene->_gameBoardSide[1]._emptyStationPos; if (scene->_field4240 != 1) { int tmpVal = scene->subC3E92(scene->_field4240); scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4240]._handCard[tmpVal]; @@ -3977,7 +3977,7 @@ void Scene1337::Action11::signal() { else { scene->subC4CEC(); scene->_field3EF0 = &scene->_gameBoardSide[2]._handCard[i]; - scene->_field3EF4 = &scene->_gameBoardSide[2]._arr4; + scene->_field3EF4 = &scene->_gameBoardSide[2]._emptyStationPos; if (scene->_field4240 != 2) { int tmpVal = scene->subC3E92(scene->_field4240); scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4240]._handCard[tmpVal]; @@ -3997,7 +3997,7 @@ void Scene1337::Action11::signal() { if ((found) && (scene->subC3E92(scene->_field4240) != -1)) { scene->_field3EF0 = &scene->_gameBoardSide[3]._handCard[i]; - scene->_field3EF4 = &scene->_gameBoardSide[3]._arr4; + scene->_field3EF4 = &scene->_gameBoardSide[3]._emptyStationPos; if (scene->_field4240 != 3) { int tmpVal = scene->subC3E92(scene->_field4240); scene->_field3EF8 = &scene->_gameBoardSide[scene->_field4240]._handCard[tmpVal]; @@ -4360,12 +4360,12 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _gameBoardSide[2]._delayCard._stationPos = Common::Point(199, 174); - _gameBoardSide[2]._arr4._stationPos = Common::Point(145, 148); + _gameBoardSide[2]._emptyStationPos._stationPos = Common::Point(145, 148); - _gameBoardSide[2]._fieldB94 = Common::Point(10, 174); - _gameBoardSide[2]._fieldB98 = Common::Point(37, 174); - _gameBoardSide[2]._fieldB9C = Common::Point(64, 174); - _gameBoardSide[2]._fieldBA0 = Common::Point(91, 174); + _gameBoardSide[2]._card1Pos = Common::Point(10, 174); + _gameBoardSide[2]._card2Pos = Common::Point(37, 174); + _gameBoardSide[2]._card3Pos = Common::Point(64, 174); + _gameBoardSide[2]._card4Pos = Common::Point(91, 174); _gameBoardSide[2]._frameNum = 2; _gameBoardSide[3]._handCard[0]._stationPos = Common::Point(14, 14); @@ -4384,12 +4384,12 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _gameBoardSide[3]._delayCard._stationPos = Common::Point(37, 145); - _gameBoardSide[3]._arr4._stationPos = Common::Point(63, 92); + _gameBoardSide[3]._emptyStationPos._stationPos = Common::Point(63, 92); - _gameBoardSide[3]._fieldB94 = Common::Point(14, 14); - _gameBoardSide[3]._fieldB98 = Common::Point(14, 36); - _gameBoardSide[3]._fieldB9C = Common::Point(14, 58); - _gameBoardSide[3]._fieldBA0 = Common::Point(14, 80); + _gameBoardSide[3]._card1Pos = Common::Point(14, 14); + _gameBoardSide[3]._card2Pos = Common::Point(14, 36); + _gameBoardSide[3]._card3Pos = Common::Point(14, 58); + _gameBoardSide[3]._card4Pos = Common::Point(14, 80); _gameBoardSide[3]._frameNum = 3; _gameBoardSide[0]._handCard[0]._stationPos = Common::Point(280, 5); @@ -4408,12 +4408,12 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _gameBoardSide[0]._delayCard._stationPos = Common::Point(91, 16); - _gameBoardSide[0]._arr4._stationPos = Common::Point(145, 42); + _gameBoardSide[0]._emptyStationPos._stationPos = Common::Point(145, 42); - _gameBoardSide[0]._fieldB94 = Common::Point(280, 5); - _gameBoardSide[0]._fieldB98 = Common::Point(253, 5); - _gameBoardSide[0]._fieldB9C = Common::Point(226, 5); - _gameBoardSide[0]._fieldBA0 = Common::Point(199, 5); + _gameBoardSide[0]._card1Pos = Common::Point(280, 5); + _gameBoardSide[0]._card2Pos = Common::Point(253, 5); + _gameBoardSide[0]._card3Pos = Common::Point(226, 5); + _gameBoardSide[0]._card4Pos = Common::Point(199, 5); _gameBoardSide[0]._frameNum = 2; _gameBoardSide[1]._handCard[0]._stationPos = Common::Point(283, 146); @@ -4432,12 +4432,12 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _gameBoardSide[1]._delayCard._stationPos = Common::Point(253, 43); - _gameBoardSide[1]._arr4._stationPos = Common::Point(227, 96); + _gameBoardSide[1]._emptyStationPos._stationPos = Common::Point(227, 96); - _gameBoardSide[1]._fieldB94 = Common::Point(283, 146); - _gameBoardSide[1]._fieldB98 = Common::Point(283, 124); - _gameBoardSide[1]._fieldB9C = Common::Point(283, 102); - _gameBoardSide[1]._fieldBA0 = Common::Point(283, 80); + _gameBoardSide[1]._card1Pos = Common::Point(283, 146); + _gameBoardSide[1]._card2Pos = Common::Point(283, 124); + _gameBoardSide[1]._card3Pos = Common::Point(283, 102); + _gameBoardSide[1]._card4Pos = Common::Point(283, 80); _gameBoardSide[1]._frameNum = 4; subPostInit(); @@ -5099,7 +5099,7 @@ void Scene1337::subC318B(int arg1, Card *subObj1, int arg3) { } _field3EF0 = subObj1; - _field3EF4 = &_gameBoardSide[arg3]._arr4; + _field3EF4 = &_gameBoardSide[arg3]._emptyStationPos; _field3EF8 = &_gameBoardSide[arg3]._handCard[randIndx]; _item1.setAction(&_action11); @@ -5255,7 +5255,7 @@ Scene1337::Card *Scene1337::subC34EC(int arg1) { void Scene1337::subC358E(Card *subObj1, int arg2) { _field3EF0 = subObj1; _field3EF4 = subC34EC(arg2); - _field3EF8 = &_gameBoardSide[arg2]._arr4; + _field3EF8 = &_gameBoardSide[arg2]._emptyStationPos; _field4240 = arg2; _item1.setAction(&_action10); } @@ -5710,10 +5710,10 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { actionDisplay(1330, 43, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else if (subC2BF8(&_item8, pt)) { actionDisplay(1330, 4, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if ( (subC2BF8(&_gameBoardSide[2]._arr4, pt)) - || (subC2BF8(&_gameBoardSide[3]._arr4, pt)) - || (subC2BF8(&_gameBoardSide[0]._arr4, pt)) - || (subC2BF8(&_gameBoardSide[1]._arr4, pt)) ) { + } else if ( (subC2BF8(&_gameBoardSide[2]._emptyStationPos, pt)) + || (subC2BF8(&_gameBoardSide[3]._emptyStationPos, pt)) + || (subC2BF8(&_gameBoardSide[0]._emptyStationPos, pt)) + || (subC2BF8(&_gameBoardSide[1]._emptyStationPos, pt)) ) { actionDisplay(1330, 32, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else { if (subC2BF8(&_gameBoardSide[2]._handCard[0], pt)) @@ -5849,17 +5849,17 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { found = true; } - if (subC2BF8(&_gameBoardSide[3]._arr4, pt)) { + if (subC2BF8(&_gameBoardSide[3]._emptyStationPos, pt)) { actionDisplay(1330, 147, 20, 99, 1, 136, 0, 7, 0, 172, 172); found = true; } - if (subC2BF8(&_gameBoardSide[1]._arr4, pt)) { + if (subC2BF8(&_gameBoardSide[1]._emptyStationPos, pt)) { actionDisplay(1330, 146, 300, 99, 1, 136, 0, 7, 0, 117, 117); found = true; } - if (subC2BF8(&_gameBoardSide[0]._arr4, pt)) { + if (subC2BF8(&_gameBoardSide[0]._emptyStationPos, pt)) { actionDisplay(1330, 11, 159, 10, 1, 200, 0, 7, 0, 154, 154); found = true; } @@ -6601,7 +6601,7 @@ void Scene1337::subD02CA() { } else { if ((subC27F9(_item6._cardId) == -1) && (subC27B5(_item6._cardId) == -1)) { if (_item6._cardId == 13) { - if (subC2BF8(&_gameBoardSide[0]._arr4, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (subC2BF8(&_gameBoardSide[0]._emptyStationPos, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { for (int k = 0; k <= 7; k++) { if (_gameBoardSide[0]._outpostStation[k]._cardId != 0) { found = true; @@ -6611,7 +6611,7 @@ void Scene1337::subD02CA() { if (!found) actionDisplay(1330, 74, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if (subC2BF8(&_gameBoardSide[3]._arr4, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + } else if (subC2BF8(&_gameBoardSide[3]._emptyStationPos, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { for (int k = 0; k <= 7; k++) { if (_gameBoardSide[3]._outpostStation[k]._cardId != 0) { found = true; @@ -6620,7 +6620,7 @@ void Scene1337::subD02CA() { } if (!found) actionDisplay(1330, 74, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if (subC2BF8(&_gameBoardSide[1]._arr4, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + } else if (subC2BF8(&_gameBoardSide[1]._emptyStationPos, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { for (int k = 0; k <= 7; k++) { if (_gameBoardSide[1]._outpostStation[k]._cardId == 0) { found = true; @@ -6634,7 +6634,7 @@ void Scene1337::subD02CA() { } } else if (_item6._cardId == 25) { int k; - if (subC2BF8(&_gameBoardSide[0]._arr4, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (subC2BF8(&_gameBoardSide[0]._emptyStationPos, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { if ( (_gameBoardSide[0]._handCard[0]._cardId != 0) || (_gameBoardSide[0]._handCard[1]._cardId != 0) || (_gameBoardSide[0]._handCard[2]._cardId != 0) @@ -6648,7 +6648,7 @@ void Scene1337::subD02CA() { } else { actionDisplay(1330, 99, 159, 10, 1, 200, 0, 7, 0, 154, 154); } - } else if (subC2BF8(&_gameBoardSide[1]._arr4, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + } else if (subC2BF8(&_gameBoardSide[1]._emptyStationPos, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { if ( (_gameBoardSide[1]._handCard[0]._cardId != 0) || (_gameBoardSide[1]._handCard[1]._cardId != 0) || (_gameBoardSide[1]._handCard[2]._cardId != 0) @@ -6664,7 +6664,7 @@ void Scene1337::subD02CA() { } } - if (subC2BF8(&_gameBoardSide[3]._arr4, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { + if (subC2BF8(&_gameBoardSide[3]._emptyStationPos, Common::Point(_item6._stationPos.x + 12, _item6._stationPos.y + 12)) != 0) { if ( (_gameBoardSide[3]._handCard[0]._cardId != 0) || (_gameBoardSide[3]._handCard[1]._cardId != 0) || (_gameBoardSide[3]._handCard[2]._cardId != 0) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h index 582295523b..8f0323158f 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.h +++ b/engines/tsage/ringworld2/ringworld2_scenes1.h @@ -199,12 +199,12 @@ class Scene1337 : public SceneExt { Card _handCard[4]; Card _outpostStation[8]; Card _delayCard; - Card _arr4; + Card _emptyStationPos; - Common::Point _fieldB94; - Common::Point _fieldB98; - Common::Point _fieldB9C; - Common::Point _fieldBA0; + Common::Point _card1Pos; + Common::Point _card2Pos; + Common::Point _card3Pos; + Common::Point _card4Pos; int _frameNum; GameBoardSide(); -- cgit v1.2.3 From 5415ed42fa33dea418515843e14b5c57bde21d55 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 3 Dec 2013 19:52:18 +0100 Subject: TSAGE: R2R - Fix bug in scene 1337 --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index 77d34dc16d..2f867d4ebd 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -4128,6 +4128,7 @@ void Scene1337::Action12::signal() { break; case 1: { scene->_availableCardsPile[scene->_field3E26] = scene->_field3EF4->_cardId; + scene->_field3E26++; scene->_field3EF4->_cardId = scene->_field3EF0->_cardId; scene->_field3EF0->_cardId = 0; scene->_field3EF0->_card.remove(); -- cgit v1.2.3 From ff20d914e9f97a753f831441aae1646ba1c3ad2d Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Tue, 3 Dec 2013 22:07:48 +0200 Subject: FULLPIPE: Implement sceneHandler04_takeBottle() --- engines/fullpipe/init.cpp | 4 ++-- engines/fullpipe/objectnames.h | 2 +- engines/fullpipe/scenes/scene04.cpp | 5 ++++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/engines/fullpipe/init.cpp b/engines/fullpipe/init.cpp index 49bf72ac91..eb109e11ec 100644 --- a/engines/fullpipe/init.cpp +++ b/engines/fullpipe/init.cpp @@ -65,7 +65,7 @@ void FullpipeEngine::initObjectStates() { setObjectState(sO_Guardian, getObjectEnumState(sO_Guardian, sO_OnRight)); setObjectState(sO_Grandma, getObjectEnumState(sO_Grandma, sO_In_14)); setObjectState(sO_Boot_15, getObjectEnumState(sO_Boot_15, sO_NotPresent)); - setObjectState(sO_LeftPipe_15, getObjectEnumState(sO_LeftPipe_15, sO_OpenedShe)); + setObjectState(sO_LeftPipe_15, getObjectEnumState(sO_LeftPipe_15, sO_IsOpened)); setObjectState(sO_Pedestal_16, getObjectEnumState(sO_Pedestal_16, sO_IsFree)); setObjectState(sO_Cup, getObjectEnumState(sO_Cup, sO_InSmokeRoom)); setObjectState(sO_Pedestal_17, getObjectEnumState(sO_Pedestal_17, sO_IsFree)); @@ -84,7 +84,7 @@ void FullpipeEngine::initObjectStates() { setObjectState(sO_Lever_23, getObjectEnumState(sO_Lever_23, sO_NotTaken)); setObjectState(sO_LeverHandle_23, getObjectEnumState(sO_LeverHandle_23, sO_WithoutStool)); setObjectState(sO_LowerPipe_21, getObjectEnumState(sO_LowerPipe_21, sO_IsClosed)); - setObjectState(sO_StarsDown_24, getObjectEnumState(sO_StarsDown_24, sO_OpenedShe)); + setObjectState(sO_StarsDown_24, getObjectEnumState(sO_StarsDown_24, sO_IsOpened)); setObjectState(sO_Hatch_26, getObjectEnumState(sO_Hatch_26, sO_Closed)); setObjectState(sO_Sock_26, getObjectEnumState(sO_Sock_26, sO_NotHanging)); setObjectState(sO_LeftPipe_26, getObjectEnumState(sO_LeftPipe_26, sO_IsClosed)); diff --git a/engines/fullpipe/objectnames.h b/engines/fullpipe/objectnames.h index 241e31b165..b8696ec672 100644 --- a/engines/fullpipe/objectnames.h +++ b/engines/fullpipe/objectnames.h @@ -148,7 +148,7 @@ namespace Fullpipe { #define sO_ClockAxis "\xce\xf1\xfc \xf7\xe0\xf1\xee\xe2" // "Ось часов" #define sO_Opened "\xce\xf2\xea\xf0\xfb\xf2" // "Открыт" #define sO_OpenedWithBoot "\xce\xf2\xea\xf0\xfb\xf2\xe0 \xf1 \xe1\xee\xf2\xe8\xed\xea\xee\xec" // "Открыта с ботинком" -#define sO_OpenedShe "\xce\xf2\xea\xf0\xfb\xf2\xe0" // "Открыта" +#define sO_IsOpened "\xce\xf2\xea\xf0\xfb\xf2\xe0" // "Открыта" #define sO_WeirdWacko "\xce\xf2\xec\xee\xf0\xee\xe6\xe5\xed\xed\xfb\xe9" // "Отмороженный" #define sO_NotPresent "\xce\xf2\xf1\xf3\xf2\xf1\xf2\xe2\xf3\xe5\xf2" // "Отсутствует" #define sO_Error "\xce\xf8\xe8\xe1\xea\xe0" // "Ошибка" diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index 311bf86fc8..c025d41cbb 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -474,7 +474,10 @@ void sceneHandler04_sub17() { } void sceneHandler04_takeBottle() { - warning("sceneHandler04_takeBottle()"); + g_vars->scene04_var02 = 1; + g_vars->scene04_hand->_priority = 5; + + g_fullpipe->setObjectState(sO_LowerPipe, g_fullpipe->getObjectEnumState(sO_LowerPipe, sO_IsOpened)); } void sceneHandler04_takeKozyawka() { -- cgit v1.2.3 From 5980bf8d2af2f67a63537fc3911e1fdc7af56602 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Tue, 3 Dec 2013 22:16:43 +0200 Subject: FULLPIPE: Implement sceneHandler04_testPlank() --- engines/fullpipe/constants.h | 4 +++- engines/fullpipe/scenes/scene04.cpp | 11 ++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index b7ab84e191..77eb83d460 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -96,7 +96,6 @@ namespace Fullpipe { #define MSG_SC4_KOZAWFALL 2858 #define MSG_SC4_MANFROMBOTTLE 2854 #define MSG_SC4_MANTOBOTTLE 2852 -#define PIC_SC4_LADDER 1438 #define MSG_GOTOLADDER 618 #define MSG_SHAKEBOTTLE 584 #define MSG_SHOOTKOZAW 557 @@ -110,6 +109,8 @@ namespace Fullpipe { #define MV_IN1MAN_SLEEP 5111 #define MV_KZW_JUMP 558 #define MV_KZW_JUMPROTATE 561 +#define MV_KZW_TOHOLERV 537 +#define MV_KZW_WALKPLANK 500 #define MV_BDG_OPEN 1379 #define MV_BTN_CLICK 599 #define MV_CLK_GO 589 @@ -288,6 +289,7 @@ namespace Fullpipe { #define ST_MAN_EMPTY 476 #define ST_MAN_RIGHT 325 #define ST_MAN_SIT 1164 +#define ST_PNK_WEIGHTLEFT 503 #define TrubaDown 697 #define TrubaLeft 474 #define TrubaRight 696 diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index c025d41cbb..98ded32599 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -485,7 +485,16 @@ void sceneHandler04_takeKozyawka() { } void sceneHandler04_testPlank(ExCommand *ex) { - warning("sceneHandler04_testPlank()"); + MessageQueue *mq = g_fullpipe->_globalMessageQueueList->getMessageQueueById(ex->_parId); + + if (!mq) + return; + + if (g_vars->scene04_plank->_movement || !g_vars->scene04_plank->_statics || g_vars->scene04_plank->_statics->_staticsId != ST_PNK_WEIGHTLEFT) { + mq->getExCommandByIndex(0)->_messageNum = MV_KZW_TOHOLERV; + } else { + mq->getExCommandByIndex(0)->_messageNum = MV_KZW_WALKPLANK; + } } void sceneHandler04_updateBottle() { -- cgit v1.2.3 From 203f562d375ac5c7cc665c8feac4020f8de2a5ff Mon Sep 17 00:00:00 2001 From: Strangerke Date: Tue, 3 Dec 2013 23:46:56 +0100 Subject: TSAGE: R2R - More renaming in scene 1337 --- engines/tsage/ringworld2/ringworld2_scenes1.cpp | 200 ++++++++++++------------ engines/tsage/ringworld2/ringworld2_scenes1.h | 8 +- 2 files changed, 105 insertions(+), 103 deletions(-) diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp index 2f867d4ebd..98d60dac0d 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp @@ -2236,7 +2236,7 @@ void Scene1337::GameBoardSide::synchronize(Serializer &s) { Scene1337::Scene1337() { _autoplay = false; _cardsAvailableNumb = 0; - _field3E26 = 0; + _currentDiscardIndex = 0; for (int i = 0; i < 100; i++) _availableCardsPile[i] = 0; @@ -2252,7 +2252,7 @@ Scene1337::Scene1337() { _instructionsWaitCount = 0; _unkFctPtr412 = nullptr; - _field3EF0 = nullptr; + _discardCard = nullptr; _field3EF4 = nullptr; _field3EF8 = nullptr; @@ -3536,8 +3536,8 @@ void Scene1337::Action5::signal() { switch (_actionIndex++) { case 0: { - scene->_availableCardsPile[scene->_field3E26] = scene->_field3EF0->_cardId; - scene->_field3E26--; + scene->_availableCardsPile[scene->_currentDiscardIndex] = scene->_discardCard->_cardId; + scene->_currentDiscardIndex--; if (!g_globals->_sceneObjects->contains(&scene->_discardPile._card)) { scene->_discardPile._card.postInit(); scene->_discardPile._card.hide(); @@ -3546,15 +3546,15 @@ void Scene1337::Action5::signal() { scene->_discardPile._card.fixPriority(170); } - scene->_discardPile._cardId = scene->_field3EF0->_cardId; - scene->_field3EF0->_cardId = 0; - scene->_field3EF0->_card.remove(); + scene->_discardPile._cardId = scene->_discardCard->_cardId; + scene->_discardCard->_cardId = 0; + scene->_discardCard->_card.remove(); - if (scene->_field3EF0 == &scene->_item6) { + if (scene->_discardCard == &scene->_item6) { scene->setCursorData(5, 1, 4); scene->subC4CEC(); } - scene->_animatedCard._card.setPosition(scene->_field3EF0->_stationPos, 0); + scene->_animatedCard._card.setPosition(scene->_discardCard->_stationPos, 0); scene->_animatedCard._card.show(); Common::Point pt(128, 95); NpcMover *mover = new NpcMover(); @@ -3584,10 +3584,10 @@ void Scene1337::Action6::signal() { scene->_field3EF4->_card.setPosition(scene->_field3EF4->_stationPos); scene->_field3EF4->_card.fixPriority(170); - scene->_field3EF0->_cardId = 0; - scene->_field3EF0->_card.remove(); + scene->_discardCard->_cardId = 0; + scene->_discardCard->_card.remove(); - scene->_animatedCard._card.setPosition(scene->_field3EF0->_stationPos); + scene->_animatedCard._card.setPosition(scene->_discardCard->_stationPos); scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); @@ -3598,7 +3598,7 @@ void Scene1337::Action6::signal() { scene->_animatedCard._card.hide(); scene->setAnimationInfo(scene->_field3EF4); scene->_aSound1.play(59); - if (scene->_field3EF0 == &scene->_item6) { + if (scene->_discardCard == &scene->_item6) { scene->setCursorData(5, 1, 4); scene->subC4CEC(); } @@ -3614,19 +3614,19 @@ void Scene1337::Action7::signal() { switch (_actionIndex++) { case 0: { - scene->_field3EF4->_cardId = scene->_field3EF0->_cardId; + scene->_field3EF4->_cardId = scene->_discardCard->_cardId; - scene->_field3EF0->_cardId = 0; - scene->_field3EF0->_card.remove(); + scene->_discardCard->_cardId = 0; + scene->_discardCard->_card.remove(); - scene->_animatedCard._card.setPosition(scene->_field3EF0->_stationPos, 0); + scene->_animatedCard._card.setPosition(scene->_discardCard->_stationPos, 0); scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); scene->_animatedCard._card.addMover(mover, &scene->_field3EF4->_stationPos, this); } break; case 1: - if (scene->_field3EF0 == &scene->_item6) { + if (scene->_discardCard == &scene->_item6) { scene->setCursorData(5, 1, 4); scene->subC4CEC(); } @@ -3651,13 +3651,13 @@ void Scene1337::Action8::signal() { switch (_actionIndex++) { case 0: { - scene->_availableCardsPile[scene->_field3E26] = scene->_field3EF4->_cardId; - scene->_field3E26--; + scene->_availableCardsPile[scene->_currentDiscardIndex] = scene->_field3EF4->_cardId; + scene->_currentDiscardIndex--; - scene->_field3EF4->_cardId = scene->_field3EF0->_cardId; - scene->_field3EF0->_card.remove(); + scene->_field3EF4->_cardId = scene->_discardCard->_cardId; + scene->_discardCard->_card.remove(); - scene->_animatedCard._card.setPosition(scene->_field3EF0->_stationPos, 0); + scene->_animatedCard._card.setPosition(scene->_discardCard->_stationPos, 0); scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); @@ -3667,7 +3667,7 @@ void Scene1337::Action8::signal() { case 1: scene->_animatedCard._card.hide(); - if (scene->_field3EF0 == &scene->_item6) { + if (scene->_discardCard == &scene->_item6) { scene->setCursorData(5, 1, 4); scene->subC4CEC(); } @@ -3685,17 +3685,17 @@ void Scene1337::Action9::signal() { switch (_actionIndex++) { case 0: { - scene->_field3EF4->_cardId = scene->_field3EF0->_cardId; + scene->_field3EF4->_cardId = scene->_discardCard->_cardId; scene->_field3EF4->_card.postInit(); scene->_field3EF4->_card.hide(); scene->_field3EF4->_card.setVisage(1332); scene->_field3EF4->_card.setPosition(scene->_field3EF4->_stationPos, 0); scene->_field3EF4->_card.fixPriority(170); - scene->_field3EF0->_cardId = 0; - scene->_field3EF0->_card.remove(); + scene->_discardCard->_cardId = 0; + scene->_discardCard->_card.remove(); - scene->_animatedCard._card.setPosition(scene->_field3EF0->_stationPos, 0); + scene->_animatedCard._card.setPosition(scene->_discardCard->_stationPos, 0); scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); @@ -3707,7 +3707,7 @@ void Scene1337::Action9::signal() { scene->setAnimationInfo(scene->_field3EF4); scene->_aSound1.play(57); - if (scene->_field3EF0 == &scene->_item6) { + if (scene->_discardCard == &scene->_item6) { scene->setCursorData(5, 1, 4); scene->subC4CEC(); } @@ -3729,17 +3729,17 @@ void Scene1337::Action10::signal() { scene->_field3EF8->_card.setVisage(1332); scene->_field3EF8->_card.setPosition(scene->_field3EF8->_stationPos, 0); scene->_field3EF8->_card.fixPriority(170); - scene->_field3EF8->_cardId = scene->_field3EF0->_cardId; + scene->_field3EF8->_cardId = scene->_discardCard->_cardId; - scene->_field3EF0->_cardId = 0; - scene->_field3EF0->_card.remove(); + scene->_discardCard->_cardId = 0; + scene->_discardCard->_card.remove(); - if (scene->_field3EF0 == &scene->_item6) { + if (scene->_discardCard == &scene->_item6) { scene->setCursorData(5, 1, 4); scene->subC4CEC(); } - scene->_animatedCard._card.setPosition(scene->_field3EF0->_stationPos, 0); + scene->_animatedCard._card.setPosition(scene->_discardCard->_stationPos, 0); scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); scene->_animatedCard._card.addMover(mover, &scene->_field3EF8->_stationPos, this); @@ -3866,8 +3866,8 @@ void Scene1337::Action10::signal() { } } - scene->_availableCardsPile[scene->_field3E26] = scene->_field3EF4->_cardId; - scene->_field3E26--; + scene->_availableCardsPile[scene->_currentDiscardIndex] = scene->_field3EF4->_cardId; + scene->_currentDiscardIndex--; scene->_field3EF4->_cardId = 0; scene->_field3EF4->_card.remove(); @@ -3905,9 +3905,9 @@ void Scene1337::Action11::signal() { scene->_animatedCard._card.setPosition(scene->_field3EF4->_stationPos, 0); scene->setCursorData(5, 1, 4); } else { - scene->_field3EF0->_cardId = 0; - scene->_field3EF0->_card.remove(); - scene->_animatedCard._card.setPosition(scene->_field3EF0->_stationPos, 0); + scene->_discardCard->_cardId = 0; + scene->_discardCard->_card.remove(); + scene->_animatedCard._card.setPosition(scene->_discardCard->_stationPos, 0); } scene->_animatedCard._card.show(); @@ -3933,7 +3933,7 @@ void Scene1337::Action11::signal() { } if ((found) && (scene->subC3E92(scene->_field4240) != -1)) { - scene->_field3EF0 = &scene->_gameBoardSide[0]._handCard[i]; + scene->_discardCard = &scene->_gameBoardSide[0]._handCard[i]; scene->_field3EF4 = &scene->_gameBoardSide[0]._emptyStationPos; if (scene->_field4240 != 0) { int tmpVal = scene->subC3E92(scene->_field4240); @@ -3952,7 +3952,7 @@ void Scene1337::Action11::signal() { } if ((found) && (scene->subC3E92(scene->_field4240) != -1)) { - scene->_field3EF0 = &scene->_gameBoardSide[1]._handCard[i]; + scene->_discardCard = &scene->_gameBoardSide[1]._handCard[i]; scene->_field3EF4 = &scene->_gameBoardSide[1]._emptyStationPos; if (scene->_field4240 != 1) { int tmpVal = scene->subC3E92(scene->_field4240); @@ -3976,7 +3976,7 @@ void Scene1337::Action11::signal() { scene->subC4CEC(); else { scene->subC4CEC(); - scene->_field3EF0 = &scene->_gameBoardSide[2]._handCard[i]; + scene->_discardCard = &scene->_gameBoardSide[2]._handCard[i]; scene->_field3EF4 = &scene->_gameBoardSide[2]._emptyStationPos; if (scene->_field4240 != 2) { int tmpVal = scene->subC3E92(scene->_field4240); @@ -3996,7 +3996,7 @@ void Scene1337::Action11::signal() { } if ((found) && (scene->subC3E92(scene->_field4240) != -1)) { - scene->_field3EF0 = &scene->_gameBoardSide[3]._handCard[i]; + scene->_discardCard = &scene->_gameBoardSide[3]._handCard[i]; scene->_field3EF4 = &scene->_gameBoardSide[3]._emptyStationPos; if (scene->_field4240 != 3) { int tmpVal = scene->subC3E92(scene->_field4240); @@ -4072,13 +4072,13 @@ void Scene1337::Action11::signal() { } } - scene->_field3EF0->_card.postInit(); - scene->_field3EF0->_card.hide(); - scene->_field3EF0->_card.setVisage(1332); - scene->_field3EF0->_card.setPosition(scene->_field3EF0->_stationPos, 0); - scene->_field3EF0->_card.fixPriority(170); - scene->_field3EF0->_card.setStrip2(1); - scene->_field3EF0->_cardId = scene->_field3EF8->_cardId; + scene->_discardCard->_card.postInit(); + scene->_discardCard->_card.hide(); + scene->_discardCard->_card.setVisage(1332); + scene->_discardCard->_card.setPosition(scene->_discardCard->_stationPos, 0); + scene->_discardCard->_card.fixPriority(170); + scene->_discardCard->_card.setStrip2(1); + scene->_discardCard->_cardId = scene->_field3EF8->_cardId; scene->_field3EF8->_cardId = 0; scene->_field3EF8->_card.remove(); @@ -4087,26 +4087,26 @@ void Scene1337::Action11::signal() { scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); - scene->_animatedCard._card.addMover(mover, &scene->_field3EF0->_stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_discardCard->_stationPos, this); } break; case 2: scene->_animatedCard._card.hide(); switch (scene->_field4240) { case 0: - scene->_field3EF0->_card.setFrame(2); - scene->_field3EF0->_card.show(); + scene->_discardCard->_card.setFrame(2); + scene->_discardCard->_card.show(); break; case 1: - scene->_field3EF0->_card.setFrame(4); - scene->_field3EF0->_card.show(); + scene->_discardCard->_card.setFrame(4); + scene->_discardCard->_card.show(); break; case 3: - scene->_field3EF0->_card.setFrame(3); - scene->_field3EF0->_card.show(); + scene->_discardCard->_card.setFrame(3); + scene->_discardCard->_card.show(); break; default: - scene->setAnimationInfo(scene->_field3EF0); + scene->setAnimationInfo(scene->_discardCard); break; } @@ -4127,12 +4127,12 @@ void Scene1337::Action12::signal() { signal(); break; case 1: { - scene->_availableCardsPile[scene->_field3E26] = scene->_field3EF4->_cardId; - scene->_field3E26++; - scene->_field3EF4->_cardId = scene->_field3EF0->_cardId; - scene->_field3EF0->_cardId = 0; - scene->_field3EF0->_card.remove(); - scene->_animatedCard._card.setPosition(scene->_field3EF0->_stationPos, 0); + scene->_availableCardsPile[scene->_currentDiscardIndex] = scene->_field3EF4->_cardId; + scene->_currentDiscardIndex++; + scene->_field3EF4->_cardId = scene->_discardCard->_cardId; + scene->_discardCard->_cardId = 0; + scene->_discardCard->_card.remove(); + scene->_animatedCard._card.setPosition(scene->_discardCard->_stationPos, 0); scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); @@ -4246,13 +4246,13 @@ void Scene1337::Action12::signal() { } } - scene->_field3EF0->_card.postInit(); - scene->_field3EF0->_card.hide(); - scene->_field3EF0->_card.setVisage(1332); - scene->_field3EF0->_card.setPosition(scene->_field3EF0->_stationPos); - scene->_field3EF0->_card.fixPriority(170); - scene->_field3EF0->_card.setStrip2(1); - scene->_field3EF0->_cardId = scene->_field3EF8->_cardId; + scene->_discardCard->_card.postInit(); + scene->_discardCard->_card.hide(); + scene->_discardCard->_card.setVisage(1332); + scene->_discardCard->_card.setPosition(scene->_discardCard->_stationPos); + scene->_discardCard->_card.fixPriority(170); + scene->_discardCard->_card.setStrip2(1); + scene->_discardCard->_cardId = scene->_field3EF8->_cardId; scene->_field3EF8->_cardId = 0; scene->_field3EF8->_card.remove(); @@ -4262,26 +4262,26 @@ void Scene1337::Action12::signal() { scene->_aSound1.play(57); NpcMover *mover = new NpcMover(); - scene->_animatedCard._card.addMover(mover, &scene->_field3EF0->_stationPos, this); + scene->_animatedCard._card.addMover(mover, &scene->_discardCard->_stationPos, this); } break; case 3: scene->_animatedCard._card.hide(); switch (scene->_field4242) { case 0: - scene->_field3EF0->_card.setFrame2(2); - scene->_field3EF0->_card.show(); + scene->_discardCard->_card.setFrame2(2); + scene->_discardCard->_card.show(); break; case 1: - scene->_field3EF0->_card.setFrame2(4); - scene->_field3EF0->_card.show(); + scene->_discardCard->_card.setFrame2(4); + scene->_discardCard->_card.show(); break; case 3: - scene->_field3EF0->_card.setFrame2(3); - scene->_field3EF0->_card.show(); + scene->_discardCard->_card.setFrame2(3); + scene->_discardCard->_card.show(); break; default: - scene->setAnimationInfo(scene->_field3EF0); + scene->setAnimationInfo(scene->_discardCard); break; } scene->subC4A39(scene->_field3EF4); @@ -4296,15 +4296,15 @@ void Scene1337::Action13::signal() { switch (_actionIndex++) { case 0: { - scene->_availableCardsPile[scene->_field3E26] = scene->_field3EF4->_cardId; - scene->_field3E26--; + scene->_availableCardsPile[scene->_currentDiscardIndex] = scene->_field3EF4->_cardId; + scene->_currentDiscardIndex--; - scene->_field3EF4->_cardId = scene->_field3EF0->_cardId; + scene->_field3EF4->_cardId = scene->_discardCard->_cardId; - scene->_field3EF0->_cardId = 0; - scene->_field3EF0->_card.remove(); + scene->_discardCard->_cardId = 0; + scene->_discardCard->_card.remove(); - scene->_animatedCard._card.setPosition(scene->_field3EF0->_stationPos, 0); + scene->_animatedCard._card.setPosition(scene->_discardCard->_stationPos, 0); scene->_animatedCard._card.show(); NpcMover *mover = new NpcMover(); @@ -4341,7 +4341,7 @@ void Scene1337::postInit(SceneObjectList *OwnerList) { _unkFctPtr412 = NULL; - _field3EF0 = nullptr; + _discardCard = nullptr; _field3EF4 = nullptr; _field3EF8 = nullptr; @@ -5099,7 +5099,7 @@ void Scene1337::subC318B(int arg1, Card *subObj1, int arg3) { break; } - _field3EF0 = subObj1; + _discardCard = subObj1; _field3EF4 = &_gameBoardSide[arg3]._emptyStationPos; _field3EF8 = &_gameBoardSide[arg3]._handCard[randIndx]; @@ -5195,7 +5195,7 @@ bool Scene1337::subC3386(int arg1, int arg2) { void Scene1337::subC33C0(Card *subObj1, Card *subObj2) { _field3EF4 = subObj2; - _field3EF0 = subObj1; + _discardCard = subObj1; _item1.setAction(&_action7); } @@ -5217,21 +5217,21 @@ int Scene1337::subC3E92(int arg1) { } void Scene1337::subC340B(Card *subObj1, Card *subObj2) { - _field3EF0 = subObj1; + _discardCard = subObj1; _field3EF4 = subObj2; _item1.setAction(&_action6); } void Scene1337::subC3456(Card *subObj1, Card *subObj2) { - _field3EF0 = subObj1; + _discardCard = subObj1; _field3EF4 = subObj2; _item1.setAction(&_action9); } void Scene1337::subC34A1(Card *subObj1, Card *subObj2) { - _field3EF0 = subObj1; + _discardCard = subObj1; _field3EF4 = subObj2; _item1.setAction(&_action8); @@ -5254,7 +5254,7 @@ Scene1337::Card *Scene1337::subC34EC(int arg1) { } void Scene1337::subC358E(Card *subObj1, int arg2) { - _field3EF0 = subObj1; + _discardCard = subObj1; _field3EF4 = subC34EC(arg2); _field3EF8 = &_gameBoardSide[arg2]._emptyStationPos; _field4240 = arg2; @@ -5262,7 +5262,7 @@ void Scene1337::subC358E(Card *subObj1, int arg2) { } void Scene1337::subC4A39(Card *subObj) { - _field3EF0 = subObj; + _discardCard = subObj; _item1.setAction(&_action5); } @@ -5282,7 +5282,7 @@ void Scene1337::subC4CEC() { } void Scene1337::subC51A0(Card *subObj1, Card *subObj2) { - _field3EF0 = subObj1; + _discardCard = subObj1; _field3EF4 = subObj2; _item1.setAction(&_action13); @@ -5500,13 +5500,13 @@ void Scene1337::subPostInit() { _availableCardsPile[99] = 0; _cardsAvailableNumb = 98; - _field3E26 = 98; + _currentDiscardIndex = 98; // CHECKME: Would make more sense at pos 99 _discardPile._cardId = 0; _discardPile._stationPos = Common::Point(128, 95); - _item8._cardId = 0; - _item8._stationPos = Common::Point(162, 95); + _stockPile._cardId = 0; + _stockPile._stationPos = Common::Point(162, 95); _item6._cardId = 0; @@ -5582,7 +5582,7 @@ void Scene1337::shuffleCards() { // CHECKME: This will fail if i == 0, which shouldn't happen // as we don't shuffle cards when no card is available. _cardsAvailableNumb = i - 1; - _field3E26 = 98; + _currentDiscardIndex = 98; // CHECKME: Would make more sense at pos 99 break; } } @@ -5709,7 +5709,7 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { actionDisplay(1330, 7, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else if (_background1._bounds.contains(pt)) { actionDisplay(1330, 43, 159, 10, 1, 200, 0, 7, 0, 154, 154); - } else if (subC2BF8(&_item8, pt)) { + } else if (subC2BF8(&_stockPile, pt)) { actionDisplay(1330, 4, 159, 10, 1, 200, 0, 7, 0, 154, 154); } else if ( (subC2BF8(&_gameBoardSide[2]._emptyStationPos, pt)) || (subC2BF8(&_gameBoardSide[3]._emptyStationPos, pt)) @@ -5875,7 +5875,7 @@ void Scene1337::subCDB90(int arg1, Common::Point pt) { if (subC2BF8(&_discardPile, pt)) actionDisplay(1330, 9, 159, 10, 1, 200, 0, 7, 0, 154, 154); - else if (subC2BF8(&_item8, pt)) + else if (subC2BF8(&_stockPile, pt)) actionDisplay(1330, 5, 159, 10, 1, 200, 0, 7, 0, 154, 154); else { switch (curReg) { diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h index 8f0323158f..30ef4eecfe 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes1.h +++ b/engines/tsage/ringworld2/ringworld2_scenes1.h @@ -297,15 +297,17 @@ public: Card _item4; BackgroundSceneObject _background2; int _cardsAvailableNumb; - int _field3E26; + + // Discarded cards are put in the available cards pile, with an higher index so there no conflict + int _currentDiscardIndex; int _availableCardsPile[100]; - Card *_field3EF0; + Card *_discardCard; Card *_field3EF4; Card *_field3EF8; Card _item5; Card _item6; Card _discardPile; - Card _item8; + Card _stockPile; bool _shuffleEndedFl; int _currentPlayerNumb; int _field4240; -- cgit v1.2.3