Opened 13 years ago

Closed 13 years ago

Last modified 12 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 13 years ago.
Patch against current SVN
bs1-dxa-v2.diff (21.8 KB ) - added by eriktorbjorn 13 years ago.
Slightly updated patch

Download all attachments as: .zip

Change History (10)

comment:1 by eriktorbjorn, 13 years ago

Owner: set to eriktorbjorn

comment:2 by eriktorbjorn, 13 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, 13 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, 13 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, 13 years ago

Attachment: bs1-dxa.diff added

Patch against current SVN

by eriktorbjorn, 13 years ago

Attachment: bs1-dxa-v2.diff added

Slightly updated patch

comment:5 by eriktorbjorn, 13 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, 13 years ago

Resolution: fixed
Status: newclosed

comment:7 by eriktorbjorn, 13 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, 12 months ago

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