diff options
author | Oliver Kiehl | 2003-05-24 21:52:35 +0000 |
---|---|---|
committer | Oliver Kiehl | 2003-05-24 21:52:35 +0000 |
commit | 1457f95ec8c8151f4e2a8cbd1d4ef64b42fc01b6 (patch) | |
tree | 1110fd912b76d25e71276d505c7b9760fc96f076 /sky | |
parent | 24d9eb4ddb55c2876583f2e66b1c35234c59deea (diff) | |
download | scummvm-rg350-1457f95ec8c8151f4e2a8cbd1d4ef64b42fc01b6.tar.gz scummvm-rg350-1457f95ec8c8151f4e2a8cbd1d4ef64b42fc01b6.tar.bz2 scummvm-rg350-1457f95ec8c8151f4e2a8cbd1d4ef64b42fc01b6.zip |
add some more functions
svn-id: r7906
Diffstat (limited to 'sky')
-rw-r--r-- | sky/logic.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/sky/logic.cpp b/sky/logic.cpp index a0b4a82843..c27d54309f 100644 --- a/sky/logic.cpp +++ b/sky/logic.cpp @@ -1352,8 +1352,10 @@ uint32 SkyLogic::fnWeWait(uint32 a, uint32 b, uint32 c) { error("Stub: fnWeWait"); } -uint32 SkyLogic::fnSendSync(uint32 a, uint32 b, uint32 c) { - error("Stub: fnSendSync"); +uint32 SkyLogic::fnSendSync(uint32 mega, uint32 sync, uint32 c) { + Compact *cpt = SkyState::fetchCompact(mega); + cpt->sync = (uint16)(sync & 0xffff); + return 0; } uint32 SkyLogic::fnSendFastSync(uint32 a, uint32 b, uint32 c) { @@ -1467,8 +1469,14 @@ uint32 SkyLogic::fnSimpleMod(uint32 a, uint32 b, uint32 c) { error("Stub: fnSimpleMod"); } -uint32 SkyLogic::fnRunFrames(uint32 a, uint32 b, uint32 c) { - error("Stub: fnRunFrames"); +uint32 SkyLogic::fnRunFrames(uint32 sequenceNo, uint32 b, uint32 c) { + uint16 *sequence = (uint16 *)SkyState::fetchCompact(sequenceNo); + + _compact->logic = L_FRAMES; + _compact->offset = *sequence++; + _compact->grafixProg = sequence; + simpleAnim(); + return 0; } uint32 SkyLogic::fnAwaitSync(uint32 a, uint32 b, uint32 c) { |