12 Commits

Author SHA1 Message Date
Filippos Karapetis
6ec870303f - Reverted commit #40730, as it introduced rounding errors
- Properly fixed the FLIC player
- The sound chunk tag of DXA files is now read by the DXADecoder's loadFile() method

svn-id: r40736
2009-05-20 10:43:18 +00:00
Filippos Karapetis
e358b13ef9 Changed calculations based on frame delay to be based on the scale of 1ms, not 1/100. This fixes the FLIC player and also makes the overall code a bit clearer and easier to understand
svn-id: r40730
2009-05-19 19:56:53 +00:00
Filippos Karapetis
4f6bc50615 Some fixes to the video decoders, thanks to salty-horse's comments
svn-id: r40729
2009-05-19 17:39:03 +00:00
Travis Howell
bce47e7eb6 Add initial support for DOS non-interactive demos of The Feeble Files.
svn-id: r40619
2009-05-16 05:34:16 +00:00
Max Horn
e080a59337 Renamed SMKPlayer -> SmackerDecoder and DXAPlayer -> DXADecoder, as well as some other tweaks
svn-id: r39255
2009-03-09 03:45:23 +00:00
Filippos Karapetis
781d7da6b1 Applied my patch for the BS1/2 video player
- Support for the MPEG2 videos in BS1/2 has been dropped. The MPEG2 videos were lossy, and support for them complicated the code a lot.
- Support for the non-existing enhanced MPEG cutscene packs for BS1 has been dropped. As a consequence, the credits player and the splitted audio stream players used for these packs has been removed
- The original Smacker videos for both games are now supported, using our Smacker player (which is based off publically available specs and FFMPEG)
- The animations now use the common video player code. Both the Smacker videos and our DXA video packs are supported

svn-id: r38236
2009-02-15 13:29:48 +00:00
Filippos Karapetis
ffa104da85 Fixed compilation
svn-id: r35817
2009-01-11 04:20:59 +00:00
Filippos Karapetis
0b4dd7c459 Committed a modified version of wjp's patch for the video player:
- Split the video player from the video decoders. It's now possible to have one video player for multiple decoders
- Added the palette weight calculation from the BS1 engine into VideoPlayer::setPalette. It's now possible to find the values of the white and black colors via getWhite() and getBlack() (useful for subtitle overlays)
- Adapted FTA2's movie playing code to the new changes to video player
- Fixed a slight bug in the DXA decoder (_videoinfo.startTime was not initialized)

svn-id: r35816
2009-01-11 03:34:50 +00:00
Max Horn
900f328c81 Reduced header deps
svn-id: r35781
2009-01-07 23:36:41 +00:00
Filippos Karapetis
9752501a07 videoIsLoaded() -> isVideoLoaded()
svn-id: r35777
2009-01-07 22:06:15 +00:00
Filippos Karapetis
88a9a5a6ca Move videoPalette inside setPalette(), as it's only used there
svn-id: r35774
2009-01-07 21:43:54 +00:00
Filippos Karapetis
2772a7aaf1 Further merging of the SMK and DXA players (the FLIC player is not done yet):
- Added a new class, VideoPlayer(), from which both the SMK and the DXA player inherit. This class provides generic functions and public methods for the inherited video classes. Default implementations have been made for these public methods, and the virtual ones can be overriden in inherited classes
- There is now a default implementation of the function that sets the video palette
- A basic video player for inherited classes has been added with method playVideo(). This is able to play a fullscreen non-interactive video, which can be skipped with events set by the caller. Postprocessing methods, which draw upon each frame (e.g. subtitles) can be done by implementing performPostProcessing()
- The FTA2 movie player now uses the new playVideo() method
- The new video player code is compatible with the old one (i.e. no changes to the existing engine code are necessary), but it's now possible to reduce engine code for video playing considerably

svn-id: r35772
2009-01-07 21:19:00 +00:00