Commit Graph
3567 Commits
Author SHA1 Message Date
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
Matthew Hoops ad0eb0b06e Move the PICT code to graphics/ with some updates; needed for SCI1.1 Mac.
svn-id: r49195
2010-05-24 17:18:09 +00:00
Matthew Hoops 8f14c15b1a Add support for loading the QuickTime 'moov' atom from the file's resource fork, needed for SCI Mac.
svn-id: r49172
2010-05-23 23:26:28 +00:00
Matthew Hoops b3bd797e01 Move the QDM2 code to the graphics module, removing the cyclic dependency.
svn-id: r49171
2010-05-23 21:41:13 +00:00
Matthew Hoops 5e90f66edc Hide the QDM2 implementation and only expose it via a factory method, hopefully fixing compilation on most systems at the same time.
svn-id: r49170
2010-05-23 19:54:17 +00:00
Eugene Sandulenko ed0e8182ce FFMpeg switched to Git, so update link to original smacker decoder.
svn-id: r49166
2010-05-23 19:08:31 +00:00
Matthew Hoops 2f31b05651 Move Mohawk's QuickTime code to graphics/ (and QDM2 to sound, disabled when Mohawk is not enabled) so SCI can use the code.
svn-id: r49165
2010-05-23 18:33:55 +00:00
Matthew Hoops 2e0fdda51f Add a pause level system to VideoDecoder (blatantly ripped off from Engine) and adapt Mohawk to it.
svn-id: r49120
2010-05-20 18:38:06 +00:00
Matthew Hoops 759e4923d0 Add a new class 'RewindableVideoDecoder' that allows a video to be rewound and have QTPlayer inherit from that.
svn-id: r49084
2010-05-18 17:36:34 +00:00
Matthew Hoops 11cbdd0318 Committing the rest of the VideoDecoder Rewrite from patch #2963496.
svn-id: r49079
2010-05-18 14:17:24 +00:00
Ori Avtalion 7ab8f6e25b Fix currentFrame semantics in Flic player
svn-id: r49073
2010-05-18 10:01:31 +00:00
Matthew Hoops c7fa1074fb Change VideoDecoder::getCurFrame() to mean the last frame drawn instead of the next frame to draw. This is patch 1 from patch #2963496 (VideoDecoder Rewrite).
svn-id: r49063
2010-05-17 21:59:05 +00:00
Andre Heider be0885e9d1 Revert r48979. Instead, make the HQ scalers depend on the normal ones. Configure reflects that now.
svn-id: r48996
2010-05-10 17:25:12 +00:00
Andre Heider 998531a022 Since configure allows HQ scalers without the normal onces, allow this combination.
svn-id: r48979
2010-05-09 12:30:20 +00:00
Andre Heider a3e428f6db Rename DISABLE_*SCALERS to USE_*SCALERS, and move the mk/cpp defines to configure.
svn-id: r48977
2010-05-09 11:00:17 +00:00
Andre Heider 74c0db4548 Use the faster memset() in Surface::fillRect() for 16bit modes when possible.
svn-id: r48756
2010-04-20 20:22:33 +00:00
Johannes Schickel d163686d2d Document that the current Hercules mode thumbnail scaler code is pretty much aimed for SCUMM games.
svn-id: r48736
2010-04-19 20:44:25 +00:00
Johannes Schickel 498d1da182 Cleanup.
svn-id: r48735
2010-04-19 20:44:05 +00:00