Opened 14 years ago

Closed 14 years ago

Last modified 22 months ago

#7492 closed enhancement (fixed)

SWORD: DXA compression

Reported by: SF/noizert Owned by: eriktorbjorn
Priority: normal Component: Engine: Sword1
Keywords: Cc:
Game: Broken Sword 2

Description

Since DXA is completely working now, how about supporting dxa for the SWORD engines. Should be better than mpeg2 anyways.

Ticket imported from: #1495080. Ticket imported from: feature-requests/308.

Attachments (2)

bs1-dxa.diff (20.6 KB ) - added by eriktorbjorn 14 years ago.
Patch against current SVN
bs1-dxa-v2.diff (21.8 KB ) - added by eriktorbjorn 14 years ago.
Slightly updated patch

Download all attachments as: .zip

Change History (10)

comment:1 by eriktorbjorn, 14 years ago

Owner: set to eriktorbjorn

comment:2 by eriktorbjorn, 14 years ago

I'm working on DXA support for Broken Sword 2 at the moment. Might take a while, though. I don't want to drop support for the MPEG cutscenes, so there's a bit of re-structuring to be done.

Assuming I get it to work, it should be possible to re-use at least some of it for Broken Sword 1.

comment:3 by eriktorbjorn, 14 years ago

I've committed DXA support for Broken Sword 2. There have been a lot of rewriting, so it's quite possible that there are regression, but it seems to work for me at least. Iat has also brought some long-overdue improvements to the "dummy" (subtitles and voice-overs only) player, and the 256-colour MPEG player.

I have no time-frame for DXA support in Broken Sword 1. BS1 and BS2 have slightly different requirements for cutscene playback, so it's not just a matter of cutting and pasting, even if it should be possible (and desirable) to re-use much of the BS2 work.

Anyway, at the moment I'm rather sick and tired of cutscenes, having woked on this on and off for the past few days, so if anyone else wants to look at it, feel free to.

comment:4 by eriktorbjorn, 14 years ago

I have an almost working patch that adds DXA support to Broken Sword 1. There are some glitches, though, that I'm aware of:

* The screen needs to be cleared before playing, or there will be garbage if the movie doesn't cover the entire screen.

* There's some graphics glitch after a movie has finished. Possibly related to the screen clearing.

* The MPEG player has some features to "patch" a movie for a different language. Since I don't have these patches (does anyone?), I've left most of this unimplemented in the DXA plyer.

* Will it be necessary to save/restore the palette?

* It's not well tested. In particular, I have to make sure it still compiles without MPEG2 and ZLIB.

So the main reason I'm attaching the patch in this state is because I'm too tired to do any of it tonight, but I wanted to make sure there's a backup of the patch made at a point of relative stability. :-)

by eriktorbjorn, 14 years ago

Attachment: bs1-dxa.diff added

Patch against current SVN

by eriktorbjorn, 14 years ago

Attachment: bs1-dxa-v2.diff added

Slightly updated patch

comment:5 by eriktorbjorn, 14 years ago

Here's a slightly updated patch. The screen is now cleared before the movie starts, the graphics glitch at the end seems to be gone, and saving/restoring the palette appears to be the wrong thing to do.

The testing still remains to be done, though...

comment:6 by eriktorbjorn, 14 years ago

Resolution: fixed
Status: newclosed

comment:7 by eriktorbjorn, 14 years ago

Oops, it turns out version 2 of the patch had at least one really bad bug in it, causing ScummVM to crash on the opening cutscene. (I only tried one much later in the game.)

I've fixed that, and a few other minor things, and committed it, so from now on it's just a matter of bugfixing and cleaning up.

comment:8 by digitall, 22 months ago

Component: Engine: Sword1
Game: Broken Sword 2
Note: See TracTickets for help on using tickets.