Opened 22 years ago

Closed 22 years ago

Last modified 6 years ago

#8166 closed patch

CMI: Smush sync tuning (experimental)

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


This isn't quite complete, but I figured it was ready to be submitted anyway. It's an attempt at getting better sync for the CMI smush movies. The opening movie in particular.

The problem with that movie is that we specify the delay between the frames in milliseconds. This movie consists of literally thousands of frames, so even an error of a fraction of a millisecond adds up to something quite noticeable by the end of it.

This patch changes the timer unit from milliseconds to microseconds. Of course, we don't actually have that high resolution timers so each individual frame delay will still be off by many milliseconds. What it does is to keep the error from accumulating as quickly over time.

What remains to be done that I'm aware of:

* MorphOS seems to have a completely different way of handling timers than the other ScummVM ports. This would obviously have to be updated.

* I've assumed that the CMI movies should be played back at 12 fps, which means the delay between each frame is approximately 83333 microseconds (instead of the previous 83 microseconds). It seems to be working, but perhaps it needs further fine-tuning?

* script_v6.cpp sets the delay between frames to 71000 microseconds for s3q.san. This could probably be fine-tuned now, but I don't know if it's noticeable.

* Perhaps the "CD timer" could now be fine-tuned so that it no longer uses a different delay for Loom CD?

* Perhaps there is some better way of syncing smush movies that I'm not currently aware of?

Ticket imported from: #674141. Ticket imported from: patches/271.

Attachments (1)

cmi-smushsync.diff (3.2 KB ) - added by eriktorbjorn 22 years ago.
Patch against a January 24 CVS snapshot

Download all attachments as: .zip

Change History (4)

by eriktorbjorn, 22 years ago

Attachment: cmi-smushsync.diff added

Patch against a January 24 CVS snapshot

comment:1 by aquadran, 22 years ago

Owner: set to aquadran

comment:2 by aquadran, 22 years ago

Status: newclosed

comment:3 by digitall, 6 years ago

Component: Engine: SCUMM
Game: Monkey Island 3
Note: See TracTickets for help on using tickets.