Opened 7 months ago

Last modified 6 months ago

#12996 new defect

SCUMM: Restore unused item animation frames?

Reported by: GermanTribun Owned by:
Priority: normal Component: Engine: SCUMM
Version: Keywords:
Cc: Game: Monkey Island 3

Description

As read here:

https://tcrf.net/The_Curse_of_Monkey_Island#Unused_Frames

The animated inventory items have 5 frames of animation, but the game only calls 4 for whatever reason, making the animation a bit chunky. Since the fifth frame is still in the game files, can the full animation be restored without too much of a hassle?

Change History (1)

comment:1 by eriktorbjorn, 7 months ago

I could be wrong, but I think this part of script-47 is responsible for drawing the inventory objects:

[01FC] (65)   if (ifClassOfIs(var266,[146])) {
[0211] (65)     if (var514 > 6) {
[0221] (6D)       var514 = 3
[022B] (**)     }
[022B] (BA)     kernelSetFunctions.superBlastObject([var266,localvar3,localvar4,0,0,255,255,var514])
[025E] (65)     if (bitvar323) {
[0268] (6D)       var514 = (var514 + 1)
[0278] (6D)       bitvar323 = 0
[0282] (66)     } else {
[0287] (6D)       bitvar323 = 1
[0291] (**)     }
[0291] (66)   } else {
[0296] (BA)     kernelSetFunctions.superBlastObject([var266,localvar3,localvar4,0,0,255,255,1])
[02C9] (**)   }

Where var514 keeps track of the current frame number. But I don't now how to get it to use the extra frame. None of the obvious guesses seemed to work for me.

Not that this is not something I'm looking into at the moment. I'm just posting this to hopefully save the next one to look at it some work.

Version 0, edited 7 months ago by eriktorbjorn (next)
Note: See TracTickets for help on using tickets.