aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/script_v8.cpp71
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);
}