964 Commits

Author SHA1 Message Date
Sven Hesse
3c5e02900f VIDEO: Add getSurface
svn-id: r51892
2010-08-08 00:53:55 +00:00
Sven Hesse
6ebec969c5 VIDEO: Fix deLZ77'ing video data directly onto the video surface
svn-id: r51890
2010-08-08 00:52:59 +00:00
Sven Hesse
a57e53c986 VIDEO: Add some comments, fix a style issue
svn-id: r51888
2010-08-08 00:52:30 +00:00
Sven Hesse
66aeee8ddc VIDEO: Don't crash when sound is disabled :P
svn-id: r51886
2010-08-08 00:51:33 +00:00
Sven Hesse
0cf837c1af VIDEO: renderBlockWhole2Y still works
svn-id: r51884
2010-08-08 00:50:35 +00:00
Sven Hesse
d1d772367b VIDEO: Fix another IMD seek issue
svn-id: r51881
2010-08-08 00:49:15 +00:00
Sven Hesse
53b67deaf0 VIDEO: Fix another IMD seek issue
svn-id: r51877
2010-08-08 00:47:25 +00:00
Sven Hesse
737ef02707 VIDEO/GOB: Stub hasEmbeddedFile / getEmbeddedFile
Stubbing CoktelDecoder::hasEmbeddedFile() and
CoktelDecoder::getEmbeddedFile(), formerly hasExtraData/getExtraData.

svn-id: r51875
2010-08-08 00:46:34 +00:00
Sven Hesse
933ffcaa60 VIDEO: Make getFrameRate() protected again
svn-id: r51874
2010-08-08 00:45:58 +00:00
Sven Hesse
2296aad042 VIDEO/GOB: Fix IMD playing
Fix IMD playing for some fringe cases, especially when seeking
beforehand.

svn-id: r51871
2010-08-08 00:44:33 +00:00
Sven Hesse
2bcc02a27a VIDEO/GOB: Fixing the frame rate for mult'd videos.
In the gob engine, some videos are opened, and then played, at
a later time, one frame at a time. In this case, we need to
emulate the original's video player's behaviour, not calculating
any "lag" for videos without sound.

svn-id: r51870
2010-08-08 00:44:05 +00:00
Sven Hesse
fecbdf60a9 VIDEO/GOB: Implement IMD frame rendering
svn-id: r51867
2010-08-08 00:42:59 +00:00
Sven Hesse
6172fe8ea7 VIDEO/GOB: Implement IMD frame decoding
Rendering the frame video data is still stubbed out.

svn-id: r51866
2010-08-08 00:42:30 +00:00
Sven Hesse
f19be90c37 VIDEO/GOB: Implement IMD loading
svn-id: r51865
2010-08-08 00:41:56 +00:00
Sven Hesse
dcf8298a75 VIDEO: Stub IMDDecoder
svn-id: r51862
2010-08-08 00:40:24 +00:00
Sven Hesse
aa113e5ab3 VIDEO: Add CoktelDecoder::setFrameRate().
Allows client code to overwrite the video's frame rate.

svn-id: r51860
2010-08-08 00:39:32 +00:00
Sven Hesse
f7363fdb10 VIDEO/GOB: Add CoktelDecoder::getDirtyRects()
This allows for the client code to only update the parts of the
video frames that actually changed.

svn-id: r51859
2010-08-08 00:39:03 +00:00
Sven Hesse
12c9e895b5 VIDEO/GOB: Add CoktelDecoder::setXY()
This allows for positioning the video within the video memory.

svn-id: r51858
2010-08-08 00:38:26 +00:00
Sven Hesse
9255d2e217 VIDEO/GOB: Add setSurfaceMemory() to CoktelDecoder
This allows the video player to directly draw onto its own video
memory without having to blit each frame another time.
Will also be needed for proper handling of transparency in Woodruff.

svn-id: r51857
2010-08-08 00:37:52 +00:00
Sven Hesse
167c6e8787 VIDEO: Bare PreIMD decoding
Implemented bare PreIMD decoding using the new CoktelDecoder interface.
No fancy stuff yet, only basic vieo frames.

svn-id: r51854
2010-08-08 00:36:19 +00:00
Sven Hesse
a802e1e64f VIDEO: Stub a VideoDecoder-like CoktelDecoder
This creates a new CoktelDecoder class using the VideoDecoder
interface, which will eventually become the new way to decode
PreIMD, IMD and VMD videos.
Since the VideoPlayer in gob is not yet ready for this, we're
disabling all video playback in the gob engine for now.

svn-id: r51850
2010-08-08 00:33:59 +00:00
Sven Hesse
b5b47d50c8 VIDEO: Make Indeo3 a proper video codec
This way, Indeo3 is properly usable in various container VideoDecoder,
for example AVI, and not just VMD.
Since VMD is not yet ready for this, we're disabling Indeo3 in VMDs
for now.

svn-id: r51849
2010-08-08 00:33:13 +00:00
Max Horn
0e2807dc27 GRAPHICS: Change signature of VideoDecoder::load()
Now takes a pointer to a stream, instead of a reference.
The rational is that in all instances, callers have a pointer
(and dereference it to call load), and all load implementations
turn the reference back into a pointer.

svn-id: r51725
2010-08-04 08:25:05 +00:00
Max Horn
154c589f18 GRAPHICS: Fix FlicDecoder::hasDirtyPalette signature
Add const qualifier to FlicDecoder::hasDirtyPalette to make it
match that if VideoDecoder::hasDirtyPalette.

svn-id: r51724
2010-08-04 08:23:48 +00:00
Jordi Vilalta Prat
a02d9d656b GRAPHICS: Fix a typo in a comment.
svn-id: r51692
2010-08-03 13:15:34 +00:00
Johannes Schickel
4e33b7a3be GRAPHICS: Renamed skipThumbnailHeader to skipThumbnail.
svn-id: r51668
2010-08-02 22:28:30 +00:00
Johannes Schickel
c8aabe77e8 GUI: Fix font cache.
The bounding boxes of the glyphs use signed coordinates. We stored only
unsigned coordinates, which resulted in incorrect glyph positioning.

Conrecte example: the bounding box of the glyphs for clR6x12-iso-8859-5.bdf
used:

x y  w h
0 -3 6 12

We on the other hand interpreted that as:

x y     w h
0 65533 6 12

when loading the font from our font cache.

svn-id: r51586
2010-08-01 19:31:37 +00:00
Ori Avtalion
757f787a27 VIDEO: Ignore requests to unpause when video is already unpaused
Previous behavior was to assert

svn-id: r51517
2010-07-30 21:07:27 +00:00
Matthew Hoops
8e705bb2e2 VIDEO: Fix FLIC looping
Thanks to salty-horse for finding this. Also, use Common::Rational directly to hold the frame rate to avoid rounding.

svn-id: r51516
2010-07-30 20:35:09 +00:00
Johannes Schickel
e5e94d4511 Strip trailing whitespaces in our common code base.
svn-id: r51094
2010-07-21 18:17:51 +00:00
Max Horn
0b48a71c99 Remove PalmOS port
svn-id: r50964
2010-07-17 18:41:38 +00:00
Matthew Hoops
d5ff65bc02 Fix valgrind warning.
svn-id: r50873
2010-07-14 05:04:55 +00:00
Johannes Schickel
2662d569d9 Fix long standing regression (introduced with r34053) in thumbnail scaling code for Hercules graphics.
svn-id: r50605
2010-07-02 22:38:42 +00:00
Filippos Karapetis
e22a75de99 Rewrote the handling of thumbnail creation for KQ6 Windows in rev #50600, so that it recreates the screen buffer like the other workarounds above it (thanks to LordHoto for pointing this out)
svn-id: r50601
2010-07-02 19:04:44 +00:00
Filippos Karapetis
1beff1a599 Added a special case for KQ6 hires in the thumbnail creation code, which runs at a resolution of 640x440
svn-id: r50600
2010-07-02 16:52:09 +00:00
Eugene Sandulenko
0e7ccb896d i18n: Add support for locale-dependent fonts
Currently it ws not decided where to put fonts, but if you put BDF files into
themepath, they will get picked up.

The font name has to contain same codepage specification as in the .po file,
i.e. fixed5x8-iso-8859-5.bdf for Cyrillic codepage. In case the font does not
exist, default will be used.

All built in fonts get proper names.

TODO: Currently there is a bug with our font cacher. Font clR6x12-iso-8859-5
is empty after loading from FCC file. Reason is unknown.

svn-id: r50448
2010-06-28 15:17:10 +00:00
Torbjörn Andersson
f10b1a23f8 Fixed a few cppcheck errors.
svn-id: r49919
2010-06-17 05:40:48 +00:00
David Turner
408bfa2098 Fixed QDM2 to working state.
Major issue was that the input frames are reused 16 times to produce output frames.
Thanks to clone2727 for helping with this.

svn-id: r49900
2010-06-16 04:47:18 +00:00
Max Horn
651e2760a3 Fix spelling, cleanup
svn-id: r49843
2010-06-15 12:33:20 +00:00
Eugene Sandulenko
ea7405d7ef GUI: Added default names for builtin fonts.
svn-id: r49773
2010-06-15 10:51:26 +00:00
Jordi Vilalta Prat
354499c737 Fix some typos in a comment
svn-id: r49488
2010-06-07 17:17:41 +00:00
Matthew Hoops
2138fe0d5a Fix our interpretation of the audio compression types to what FFmpeg currently does. Should fix bug #3009282.
svn-id: r49362
2010-05-31 21:29:43 +00:00
Matthew Hoops
2a0f91444f Ignore v2 compressed audio chunks instead of treating them as Huffman DPCM. Should fix playback of at least the video portion of those videos (found in later Broken Sword releases).
svn-id: r49340
2010-05-31 01:27:57 +00:00
Matthew Hoops
b0366e65e5 Cleanup AVI a bit, add support for stereo audio
svn-id: r49279
2010-05-27 23:57:44 +00:00
Matthew Hoops
017507ffa6 Take any 'moov' resource from a resource fork, not just 0x80; minor cleanup.
svn-id: r49245
2010-05-26 15:42:26 +00:00
Filippos Karapetis
14fae8db03 Proper fix for the MSVC warning concerning packing: reordered the members of the ParseTable struct and removed the struct packing pragmas
svn-id: r49235
2010-05-26 11:56:58 +00:00
Filippos Karapetis
ad9772fac6 Properly fixed MSVC warning C4121 (alignment of a member was sensitive to packing)
svn-id: r49226
2010-05-26 06:45:57 +00:00
Matthew Hoops
cd5e90f298 Implement QuickTime playback for SCI1.1 Mac. The 'Halfdome' and 'KQ6Movie' videos now play. However, they require multiple edit list support to look completely correct.
svn-id: r49224
2010-05-26 03:43:21 +00:00
Matthew Hoops
ab540af9f8 Fix a regression with rewinding in QuickTime videos (looping works in Riven again) and some minor cleanup.
svn-id: r49206
2010-05-25 02:35:50 +00:00
Filippos Karapetis
d4ae096a63 Surface is a struct, not a class
svn-id: r49201
2010-05-24 20:50:53 +00:00