diff options
author | Vincent Hamm | 2007-11-11 19:33:25 +0000 |
---|---|---|
committer | Vincent Hamm | 2007-11-11 19:33:25 +0000 |
commit | 43437e6d749e3a95f6f23a265b399e08f86203ad (patch) | |
tree | 98881deb4cf0d8e8d0bffbe71beb9daa6eaeff27 /engines/cruise/function.cpp | |
parent | 6e6a864c17403a99ee866c2330061d6e31506bbe (diff) | |
download | scummvm-rg350-43437e6d749e3a95f6f23a265b399e08f86203ad.tar.gz scummvm-rg350-43437e6d749e3a95f6f23a265b399e08f86203ad.tar.bz2 scummvm-rg350-43437e6d749e3a95f6f23a265b399e08f86203ad.zip |
Menu display fix
Linked objects implementation (barman)
The gameplay is now kind of working and it is possible to play at least the first part of the game
svn-id: r29478
Diffstat (limited to 'engines/cruise/function.cpp')
-rw-r--r-- | engines/cruise/function.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/engines/cruise/function.cpp b/engines/cruise/function.cpp index 46d938b849..d63f362c62 100644 --- a/engines/cruise/function.cpp +++ b/engines/cruise/function.cpp @@ -1533,6 +1533,23 @@ int16 Op_DialogOff(void) { return 0; } +int16 Op_LinkObjects(void) { + int type = popVar(); + int obj2 = popVar(); + int ovl2 = popVar(); + int obj = popVar(); + int ovl = popVar(); + + if(!ovl) + ovl = currentScriptPtr->overlayNumber; + if(!ovl2) + ovl2 = currentScriptPtr->overlayNumber; + + linkCell(&cellHead, ovl, obj, type, ovl2, obj2); + + return 0; +} + void setupOpcodeTable(void) { int i; @@ -1600,6 +1617,7 @@ void setupOpcodeTable(void) { opcodeTablePtr[0x41] = Op_isFileLoaded2; opcodeTablePtr[0x43] = Op_songExist; opcodeTablePtr[0x45] = Op_45; + opcodeTablePtr[0x4B] = Op_LinkObjects; opcodeTablePtr[0x54] = Op_SetFontFileIndex; opcodeTablePtr[0x56] = Op_changeCutSceneState; opcodeTablePtr[0x57] = Op_GetMouseX; |