diff options
Diffstat (limited to 'scumm/script_v8.cpp')
-rw-r--r-- | scumm/script_v8.cpp | 71 |
1 files changed, 52 insertions, 19 deletions
diff --git a/scumm/script_v8.cpp b/scumm/script_v8.cpp index b712b43f91..f26fa8026c 100644 --- a/scumm/script_v8.cpp +++ b/scumm/script_v8.cpp @@ -1180,44 +1180,77 @@ void Scumm_v8::o8_kludge() switch (args[0]) { case 11: warning("o8_kludge: ObjectsFindObjectRelNum(%d)", args[1]); - // TODO break; - case 15: - // not used - break; - case 22: -// warning("o8_kludge: BannerSetBannerColor(%d, %d, %d, %d)", args[1], args[2], args[3], args[4]); - break; - case 29: - warning("o8_kludge: opcode 29 (%d, %d)", args[1], args[2]); + case 12: + warning("o8_kludge: ObjectsFindObjectRelNum(%d)", args[1]); break; - case 108: -// warning("o8_kludge: PaletteBuildRedirection(%d, %d, %d, %d, %d, %d)", args[1], args[2], args[3], args[4], args[5], args[6]); + case 13: + derefActorSafe(args[1], "o8_kludge:13")->remapActorPalette(args[2], args[3], args[4], -1); break; - case 118: - enqueueObject(args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], 3); + case 14: + derefActorSafe(args[1], "o8_kludge:14")->remapActorPalette(args[2], args[3], args[4], args[5]); break; - case 119: - enqueueObject(args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], 0); + case 15: + // not used anymore (was smush frame rate) break; - - case 12: - case 13: - case 14: case 20: + setBoxScale(args[1], args[2]); + break; case 21: + warning("o8_kludge: WalkboxSetScaleSlot(%d, %d, %d, %d, %d, %d, %d)", args[1], args[2], args[3], args[4], args[5], args[6], args[7]); + break; + case 22: +// warning("o8_kludge: BannerSetBannerColor(%d, %d, %d, %d)", args[1], args[2], args[3], args[4]); + break; case 23: + warning("o8_kludge: ChoreSetActorChoreLimbFrame(%d, %d, %d, %d)", args[1], args[2], args[3], args[4]); + break; case 24: + warning("o8_kludge: opcode 24 ()"); + break; case 25: + warning("o8_kludge: opcode 25 (%d, %d)", args[1], args[2]); + break; case 26: + warning("o8_kludge: opcode 26 (%d, %d)", args[1], args[2]); + break; case 27: + warning("o8_kludge: opcode 27 (%d)", args[1]); + break; case 28: + warning("o8_kludge: StampShotEnqueue(%d, %d, %d, %d, %d, %d)", args[1], args[2], args[3], args[4], args[5], args[6]); + break; + case 29: + warning("o8_kludge: opcode 29 (%d, %d)", args[1], args[2]); + break; case 30: + warning("o8_kludge: opcode 30 ()"); + break; case 31: + warning("o8_kludge: opcode 31 ()"); + break; case 32: + warning("o8_kludge: opcode 32 (%d, %d)", args[1], args[2]); + break; case 33: + warning("o8_kludge: opcode 33 (%d, %d)", args[1], args[2]); + break; case 34: + warning("o8_kludge: opcode 34 ()"); + break; + case 108: + setupShadowPalette(args[1], args[2], args[3], args[4], args[5], args[6]); + break; case 109: + setupShadowPalette(0, args[1], args[2], args[3], args[4], args[5]); + break; + case 118: + enqueueObject(args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], 3); + break; + case 119: + enqueueObject(args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], 0); + break; + default: warning("o8_kludge: default case (len = %d)", len); } |