Commit Graph

1177 Commits

Author SHA1 Message Date
Eugene Sandulenko
2fa17c44ed JANITORIAL: Remove SVN keywords 2011-08-06 11:30:47 +01:00
clone2727
6370984b22 Merge pull request #50 from clone2727/bink
Add support for Bink video to SCUMM HE
2011-07-18 16:04:39 -07:00
athrxx
c06c05a769 GRAPHICS: remove char/line spacing handling from sjis code
(as discussed with LordHoto this should rather be handled in the engine)
2011-07-10 00:45:00 +02:00
athrxx
e3dbae886d SCUMM: Make use of graphics/sjis code for LOOM PCE sjis drawing
Also move font rom loader to graphics/sjis and make the necessary changes there.
2011-07-09 20:07:58 +02:00
Matthew Hoops
c270d5be12 GRAPHICS: Note that SCUMM now uses the YUV to RGB code 2011-07-02 21:11:03 -04:00
Johannes Schickel
a79f529f4c GRAPHICS: Fix possible memory leak in BdfFont code. 2011-07-01 21:55:21 +02:00
Johannes Schickel
fa5f8dc703 GRAPHICS: Rename NewFont to BdfFont. 2011-07-01 21:53:01 +02:00
Johannes Schickel
9e3366d66e GRAPHICS: Format NewFont code with astyle. 2011-07-01 21:20:01 +02:00
Johannes Schickel
8201df7bb6 GRAPHICS: Move NewFont code to a separate file. 2011-07-01 21:10:25 +02:00
Johannes Schickel
16ba176b4f GRAPHICS: Fix SJIS PCE font loading. 2011-07-01 06:13:11 +02:00
Johannes Schickel
77bfaa1bb4 GRAPHICS: More default parameter remove in SJIS code. 2011-07-01 05:51:10 +02:00
Johannes Schickel
933ee5b156 GRAPHICS: Remove default values from FontSJIS::drawChar.
drawChar is overloaded in FontSJIS. One takes a "Surface &" as first
parameter another one "void *", they furthermore have the exact same
number of required parameters. The one "void *" just had a few extra
parameters with default values. This resulted in a bug in SCUMM, where
"VirtScreen *" (a subclass of Surface) was passed instead of "VirtScreen &"
and thus the method taking "void *" was incorrectly used.

To make it easier to spot such bugs in the future I just removed the default
values and thus disallow such calls.
2011-07-01 05:42:54 +02:00
Johannes Schickel
685e32dbd7 GRAPHICS: Offer support for PCE font data of SJIS.FNT. 2011-07-01 05:42:54 +02:00
Johannes Schickel
c047f871d6 GRAPHICS: Cleanup SJIS font code a bit. 2011-07-01 05:42:54 +02:00
Ori Avtalion
aa0f307e06 ALL: Require DECLARE_SINGLETON to be used in the Common namepsace
Silences the clang warning:

  static data member specialization of '_singleton' must
  originally be declared in namespace 'Common'; accepted as a C++0x
  extension [-Wc++0x-extensions]

Wrapping "namespace Common {}" around the macro assignment causes clang
to complain about a spurious semicolon, and removing the semicolon at
the end of the macro causes some editors to misbehave.

Changing the requirement of using the macro in one namespace (the
global) to another (Common) seems a small price to pay to
silence a warning.
2011-06-30 22:41:41 +03:00
Eugene Sandulenko
d2962531cb GRAPHICS: Generalized arbitrary bit depth images processing in PNG decoder.
This fixes 1bpp image rengering.
2011-06-26 21:19:27 +03:00
Littleboy
b694a78f62 ANALYSIS: Add static casts to is* functions
This fixes a potential problem with passing char values that would be sign-extended and yield unexpected results.
See http://msdn.microsoft.com/en-us/library/ms245348.aspx
2011-06-23 08:52:52 -04:00
Julien
8a5bda72cc BACKENDS/GRAPHICS: Silence non zero-terminated terminated buffers warnings by initializing the buffers to 0 2011-06-23 15:11:37 +08:00
Julien
7a882600c6 GRAPHICS: Allocate Common::PEResources on the heap in WinFont::loadFromPE() 2011-06-23 15:11:36 +08:00
Julien
c52cc84912 AUDIO/BACKENDS/GRAPHICS: Add error checks after allocating memory with malloc 2011-06-23 15:11:36 +08:00
Filippos Karapetis
784180ef68 GRAPHICS: Cleanup and simplification of some PNG decoder code 2011-06-20 21:32:19 +03:00
Max Horn
88913c0139 ALL: Remove trailing whitespaces
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
  git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-06-20 00:59:48 +02:00
eriktorbjorn
abf26b0614 GRAPHICS: Fix Valgrind warning
The stream class uses free() to automatically dispose of the buffer
so it must be allocated with malloc(), not "new".
2011-06-17 05:56:23 +02:00
Eugene Sandulenko
7d76962721 GRAPHICS: Fix decoding of 4bpp PNGs
Fixes checkbox in options menu in Sword25.
2011-06-16 23:35:02 +03:00
CeRiAl
d809756c8d SCALERS: Fix Normal1xAspect scaler bug reported in bug #3313709 2011-06-14 22:43:28 +02:00
Willem Jan Palenstijn
a1f12c25ca ARM: Fix normal2x scaler for width % 4 != 0
The first jump to 'thin:' didn't leave r14 (remaining width)
in the right state.
2011-06-10 21:31:03 +02:00
CeRiAl
ef3484646a SCALERS: Fix for compiling for ARM without using ASM scalers 2011-06-10 21:30:45 +02:00
Alyssa Milburn
1529287082 GRAPHICS: Move comment to the right function. 2011-06-08 19:30:22 +02:00
eriktorbjorn
a826c4422f JANITORIAL: Unbreak building with --disable-translation
I don't know if there is more code that can be removed when
disabling translations, but this is the obvious obstacle.
2011-06-07 06:21:04 +02:00
Thierry Crozat
197ef8f178 GRAPHICS: Add kLocalizedFont in FontManager
This makes it easy to get a localized font for the current
TranslationManager charset if one has been loaded. It tries
first to find one for the BigGUI or GUI fonts and then looks
for any acceptable font.

Also only use lower case font name for the FontManager HashMap.
This is to avoid issues with the case when looking for a font by
its name. There was for example an issue for font helvB12 that is
named helvb12 in the scummmodern theme.
2011-06-06 23:20:10 +01:00
Thierry Crozat
6b13782967 GRAPHICS: Move genLocalizedFontFilename() to FontManager class
It was defined in ThemeEngine class , but I moved it to make it
possible to use localized font in other places.
2011-06-06 23:20:09 +01:00
Thierry Crozat
592cca5402 GRAPHICS: Get rid of kSODFont (ScummFont)
OSD is now using the kGUIFont instead. The main advantage is that
the kGUIFont can be used for translated text while only ASCII
characters were present in ScummFont.
2011-06-06 23:20:08 +01:00
Max Horn
ce32745d9c BACKENDS: Replace OSystem::disableCursorPalette by setFeatureState calls 2011-06-04 11:55:56 +02:00
Max Horn
91b889e2d3 COMMON: Rename kFeatureCursorHasPalette -> kFeatureCursorPalette 2011-06-04 11:55:56 +02:00
Matthew Hoops
ad9c46344c GRAPHICS: flavour -> flavor 2011-05-25 10:50:47 -04:00
Matthew Hoops
eea482fa43 ALL: behaviour -> behavior 2011-05-25 10:50:46 -04:00
Matthew Hoops
1277975c66 ALL: neighbour -> neighbor 2011-05-25 10:50:46 -04:00
Matthew Hoops
efcf278bdf GRAPHICS: Optimize the convertYUV420ToRGB function a bit more
A template is used to avoid a bytesPerPixel check on every pixel and less deferences are done
2011-05-24 18:22:48 -04:00
Max Horn
90d3fc9f5b GRAPHICS: Rename some members of NewFont 2011-05-23 12:13:02 +02:00
Matthew Hoops
5fdf2796d6 GRAPHICS: Cleanup formatting 2011-05-19 18:38:09 -04:00
Matthew Hoops
1ee5ef9c6f GRAPHICS: Allow auxiliary surface functions to be used for 32bpp surfaces 2011-05-19 18:38:09 -04:00
Matthew Hoops
410be8bb79 GRAPHICS: Update links to info on PICT+JPEG 2011-05-18 23:21:20 -04:00
Matthew Hoops
affb6a38a1 GRAPHICS: Add some docs and sanity checks to the YUV to RGB code 2011-05-18 10:05:13 -04:00
Matthew Hoops
0addffbfd3 GRAPHICS: Add a YUV to RGB table lookup for use with Theora
Based on the video/mpeg_player.* one, which is based on lots of other things (too many to name, go see the file)
2011-05-18 10:05:13 -04:00
md5
9bbfa2846b COMMON: Added compilation safeguards for the png decoder 2011-05-13 20:34:25 +03:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
peres
6ddf6693ce GRAPHICS: use the new interpolate16_5_3 2011-05-07 08:38:53 +09:00
peres
2dddcbf41d GRAPHICS: implement the long awaited interpolate16_5_3 2011-05-07 08:38:32 +09:00
Matthew Hoops
4a3d94a60e GRAPHICS: Add a new MacCursor class for handling CURS/crsr cursors 2011-05-05 19:26:44 -04:00
Max Horn
a48b705c54 GRAPHICS: Turn printf into warning 2011-05-02 13:40:25 +02:00
Johannes Schickel
71bdb86e02 Merge pull request #16 "Add a PixelFormat to Graphics::Surface.".
For further discussion check here:
https://github.com/scummvm/scummvm/pull/16

Conflicts:
	graphics/png.cpp
2011-05-01 16:54:45 +02:00
Ori Avtalion
9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Ori Avtalion
cd6ee0589d JANITORIAL: Format forward declarations to follow convention 2011-04-28 12:20:34 +03:00
md5
27e4a1dee5 PNG: Changed getPalette() to properly return a copy of the image palette 2011-04-27 13:44:19 +03:00
md5
99e3028459 PNG: Improved code readability a bit 2011-04-27 13:43:03 +03:00
Johannes Schickel
33a88e5cac PNG: This PNG::getPalette.
Formerly the palette parameter was a value copy, which was assigned in
getPalette. That did not make much sense, thus I changed it to be a reference.
Since I am not quite sure whether this really shouldn't make a palette copy
I added an TODO comment about it.
2011-04-25 15:45:05 +02:00
Johannes Schickel
da734a4af0 ALL/GRAPHICS: Remove Surface::bytesPerPixel. 2011-04-17 21:27:34 +02:00
Johannes Schickel
3fd919060c GRPAHICS: Do not access Surface::bytesPerPixel anymore. 2011-04-17 20:58:08 +02:00
Johannes Schickel
39b993fb02 GRAPHICS: Prefer Surface::create taking a PixelFormat over the one taking a byte depth. 2011-04-17 16:24:52 +02:00
Johannes Schickel
4fd3e3d6fe GRAPHICS: Add a PixelFormat member to Surface. 2011-04-17 15:17:42 +02:00
Alyssa Milburn
cfacca1a26 GRAPHICS: Tidy up 4bpp handling a little. 2011-04-14 21:47:56 +02:00
Alyssa Milburn
c60e773981 GRAPHICS: Handle 4bpp paletted PNG files. 2011-04-14 21:08:03 +02:00
Alyssa Milburn
2ac86f8140 GRAPHICS: Replace PNG_HEADER macro with MKTAG 2011-04-14 18:37:27 +02:00
Max Horn
0ce2ca4e00 COMMON: Replace MKID_BE by MKTAG
MKID_BE relied on unspecified behavior of the C++ compiler,
and as such was always a bit unsafe. The new MKTAG macro
is slightly less elegant, but does no longer depend on the
behavior of the compiler.
Inspired by FFmpeg, which has an almost identical macro.
2011-04-12 16:53:15 +02:00
dhewg
d83a83ef50 JANITORIAL: Remove/comment unused vars
Found by GCC 4.6's -Wunused-but-set-variable
2011-03-29 21:57:56 +02:00
dhewg
2def212de7 ALL: s/PI/M_PI/
Tip of the day: git grep -w PI
2011-03-19 11:24:06 +01:00
md5
334e1cd675 GRAPHICS: Silenced a warning 2011-03-19 02:30:03 +02:00
Matthew Hoops
4e7b66b1bc GRAPHICS: Cleanup WinCursorGroup functions a bit
ScopedPtr is now used on the streams to avoid having repetitive delete calls.
2011-03-07 16:37:12 -05:00
Matthew Hoops
b158a40844 GRAPHICS: Add doxygen comments for WinCursorGroup 2011-03-07 13:24:05 -05:00
Matthew Hoops
4dba6962f5 GRAPHICS: Fix a missing 'f'
Thanks, fuzzie
2011-03-07 11:40:54 -05:00
Matthew Hoops
d49f3a8a78 GRAPHICS: Improve support of Windows 8bpp cursors 2011-03-07 00:53:40 -05:00
Matthew Hoops
5b907e828b GRAPHICS: Fix PE cursors
Initial work on 8bpp cursors has also been added
2011-03-06 19:53:17 -05:00
Matthew Hoops
6143fe965b GRAPHICS: Add support for PE cursors in WinCursorGroup
Only 1bpp still
2011-03-05 13:36:55 -05:00
Matthew Hoops
c66233f83e GRAPHICS: Split the NE cursor code from the NEResources class
Now the code lies in Graphics and all cursors are not cached upon opening an exe. The engine is now in charge of caching which cursors it wants.
2011-03-04 23:17:57 -05:00
Matthew Hoops
550cff84f8 GRAPHICS: Add support for PE FON files
This hopefully will work out of the box, but requires testing
2011-02-23 14:43:18 -05:00
Matthew Hoops
a2a0b13de2 COMMON: Begin to merge some NE/PE code
The ID classes are now common to both. The files have been renamed to better illustrate their purpose.
2011-02-22 20:03:18 -05:00
Johannes Schickel
9afc89e67c GRAPHICS: Let PNG::getPalette take an uint16 for the palette entry count.
This is in analogy to r55742 / 2f08dcb.

I also took the freedom to clarify that the PNG loader uses a RGBA palette
format.
2011-02-20 21:43:24 +01:00
Johannes Schickel
75ee5af7c9 GRAPHICS: Remove leftover RGBA reference in PaletteManager documentation. 2011-02-20 21:38:40 +01:00
Matthew Hoops
5091f846a7 GRAPHICS: Switch PICT's palette from RGBA to RGB 2011-02-20 00:45:59 -05:00
Matthew Hoops
098581b3b5 GRAPHICS: Use the DirectBits size instead of the overall PICT dimensions
Fixes some Myst ME images
2011-02-20 00:43:18 -05:00
Johannes Schickel
e6c7544fe2 GRAPHICS: Fix cursor palette buffering after RGBA->RGB change.
Thanks to clone2727 for noticing this.
2011-02-20 05:43:04 +01:00
Johannes Schickel
292f197142 GRAPHICS: Remove note about alpha channel removal in PaletteManager. 2011-02-19 23:45:03 +01:00
Johannes Schickel
05f0855efc GRAPHICS: Update CursorManager documentation for RGBA->RGB change. 2011-02-14 17:08:32 +01:00
Johannes Schickel
f53f1af062 GRAPHICS: Adapt thumbnail code to grabPalette RGBA->RGB change. 2011-02-14 17:08:32 +01:00
Johannes Schickel
18ff02a2fa GRAPHICS: Update PaletteManager documentation for RGBA->RGB change. 2011-02-14 17:08:31 +01:00
Max Horn
ab039812e7 COMMON: OSystem now has a PaletteManager
svn-id: r55806
2011-02-07 17:52:38 +00:00
Bastien Bouclet
e7a57de38b GRAPHICS: Improved JPEG decoder performance
Replaced the 2D IDCT by two 1D IDCT (rows, then columns).
JPEG images now decode about twice as fast as they used to.

svn-id: r55794
2011-02-06 13:43:40 +00:00
Filippos Karapetis
2f08dcb667 GRAPHICS: Fixed a bug with indexed PNGs in the PNG decoder (a byte can't hold 256 entries)
svn-id: r55742
2011-02-02 21:18:10 +00:00
Filippos Karapetis
e6f2f7e615 GRAPHICS: Updated the copyright information regarding LodePNG. Removed the obsolete reference to ysflight, as no code is actually used from or based on that project
svn-id: r55726
2011-02-02 16:40:39 +00:00
Filippos Karapetis
a86cb87b98 GRAPHICS: Implemented a PNG decoder, and set it as default for the sword25 engine
libpng is still needed for PNG encoding (for thumbnails in saved games of sword25), but
since we'll probably drop support for the original saved games anyway, the PNG encoding
code will ultimately be removed

svn-id: r55723
2011-02-02 15:43:45 +00:00
Filippos Karapetis
c0ce8a839e Silenced some MSVC warnings
svn-id: r55699
2011-01-31 23:19:00 +00:00
Max Horn
c44f9bdb1d GRAPHICS: Make JPEG::getComponent error out if component was not found
svn-id: r55587
2011-01-28 09:50:05 +00:00
Max Horn
96d91ec182 GRAPHICS: Turn sqrt(2) and cosine values into constants ;)
svn-id: r55586
2011-01-28 09:46:39 +00:00
Max Horn
baf6af4fa6 GRAPHICS: Rename JPEG::_str to _stream
We use _str to denote strings almost everywhere, so this
was a bit confusing. Another alternative would be to use _s.

svn-id: r55585
2011-01-28 09:37:11 +00:00
Torbjörn Andersson
7bf8dda27f JANITORIAL: Remove unnecessary backslash
svn-id: r55483
2011-01-23 21:59:26 +00:00
Eugene Sandulenko
806ccf5d25 GRAPHICS: Move graphics/video/ to video/. Step 1/2
svn-id: r55473
2011-01-23 17:14:43 +00:00
Sven Hesse
c039b06c3c VIDEO: Fix createSurface() for the case that there's no video
Fixes clicking on the Piano in the Apartment in Urban Runner.

svn-id: r55456
2011-01-23 03:46:38 +00:00
Matthew Hoops
57521f7574 VIDEO: Update documentation on which decoder is used by what engine
svn-id: r55455
2011-01-23 01:27:40 +00:00
Matthew Hoops
257a6b2e6d VIDEO: Fix QuickTime audio buffering on the last frame
svn-id: r55450
2011-01-22 23:31:21 +00:00
Sven Hesse
95e557c564 VIDEO: Seek a video seek glitch
Observable when ESCing a 16bit or 24bit video, for example
the fuses in Urban Runner's Labyrinth screen.

svn-id: r55410
2011-01-22 08:00:57 +00:00
Sven Hesse
e1e299d0b8 VIDEO: Correctly correct the _blitMode 1/2 coordinate differences
This fixes the figure lights position in the Secret Room, while
still leaving the flow rate gauge position in the Labyrinth correct

svn-id: r55409
2011-01-22 07:20:16 +00:00
Sven Hesse
bb6c230587 GOB: Implement looping live videos
Needed for the buttons in the Playtoons series

svn-id: r55359
2011-01-20 18:17:39 +00:00
Sven Hesse
33ed3fa8a0 VIDEO: Don't delete, just finish the audiostream on video end
svn-id: r55356
2011-01-20 17:07:17 +00:00
Sven Hesse
75c840b527 VIDEO: Add hasVideo()
svn-id: r55348
2011-01-20 12:28:22 +00:00
Sven Hesse
8c80f80697 VIDEO: The getTimeToNextFrame override is useless now
svn-id: r55341
2011-01-20 03:27:09 +00:00
Sven Hesse
d77899e158 GOB: Make Urban Runner's "3D view" work again
svn-id: r55340
2011-01-20 03:22:43 +00:00
Sven Hesse
679a8d6ad6 VIDEO: Recreate the audiostream if necessary
svn-id: r55324
2011-01-19 09:03:09 +00:00
Sven Hesse
2e30eca6d0 VIDEO: Don't segfault when no audiostream is present
svn-id: r55322
2011-01-19 09:02:07 +00:00
Sven Hesse
22c3e7b1de VIDEO: Don't assert() when a needed codec isn't compiled in
svn-id: r55317
2011-01-19 00:16:13 +00:00
Matthew Hoops
503fdb6147 GRAPHICS: Add a getSurface() function to JPEG to automatically convert to RGB
svn-id: r55301
2011-01-18 16:18:10 +00:00
Sven Hesse
94f5bec0f6 GOB: Fix Woodruff video offsets
svn-id: r55288
2011-01-18 07:03:12 +00:00
Sven Hesse
d509941eca VIDEO: Clip render rect to the surface's dimension
...And not to the video's. Oops :P

svn-id: r55285
2011-01-18 05:09:43 +00:00
Sven Hesse
da65a3cbf3 GOB: Fix the flow rate gauge in Urban Runner
svn-id: r55275
2011-01-17 09:48:42 +00:00
Sven Hesse
84cda62d1f VIDEO: Implement internal-codec 24bpp VMDs
svn-id: r55265
2011-01-16 16:41:27 +00:00
Sven Hesse
32b94cc236 VIDEO: Implement internal-codec 16bit VMDs
svn-id: r55263
2011-01-16 16:29:43 +00:00
Sven Hesse
faa66fc01a VIDEO: Add color mode methods
To query the video's color mode and notifying the decoder that
the system's color mode changed.

svn-id: r55259
2011-01-16 16:27:52 +00:00
Sven Hesse
afd101c526 VIDEO: Add range checks to deLZ77()
svn-id: r55258
2011-01-16 16:27:22 +00:00
Sven Hesse
23c1184d80 VIDEO: Simplying the video buffers
svn-id: r55257
2011-01-16 16:26:52 +00:00
Matthew Hoops
8ce55fbcde VIDEO: Reset the pause start time when seeking while paused
svn-id: r55239
2011-01-14 13:01:57 +00:00
Matthew Hoops
4e56df4dbd GRAPHICS: Begin to parse Win1 fonts based on our sole Hugo1 sample (still WIP)
svn-id: r55227
2011-01-13 16:06:35 +00:00
Matthew Hoops
095384b90f GRAPHICS: Use the pixel height instead of the ascent as the WinFont height
svn-id: r55224
2011-01-13 14:45:14 +00:00
Matthew Hoops
0f04b4609c VIDEO: Fix QuickTime timing when seeking without audio (thanks bgK)
svn-id: r55211
2011-01-11 21:33:23 +00:00
Matthew Hoops
3cb7224c10 VIDEO: Add seeking capability to QuickTimeDecoder
svn-id: r55203
2011-01-11 17:27:37 +00:00
Matthew Hoops
3bb5a9fe71 VIDEO: Add a SeekableVideoDecoder class
svn-id: r55202
2011-01-11 17:27:31 +00:00
Sven Hesse
3ac598624d BUILD: Include scummsys.h to force rebuild after reconfigure
svn-id: r55157
2011-01-08 03:36:21 +00:00
Willem Jan Palenstijn
6a28d05676 BUILD: Include scummsys.h to force rebuild after reconfigure (thanks LordHoto)
svn-id: r55156
2011-01-08 03:27:13 +00:00
Johannes Schickel
f9ebeb330b GRAPHICS: Some basic documentation for Font.
svn-id: r55143
2011-01-07 12:43:00 +00:00
Johannes Schickel
2817f80db8 GRAPHICS: Add some doxygen comments to Surface.
svn-id: r55142
2011-01-07 12:26:01 +00:00
Matthew Hoops
4e05e450c3 VIDEO: Mirror QuickTime's mishandling of its own mdat atoms
While the specs say that the 'mdat' ("media data") atom is required in all QuickTime files, QuickTime makes no check if the atom is actually present. This allows for some videos with typos in the atom tag in them to play in QuickTime anyway. The offsets in the 'stco' atom are only used instead.

This will fix a video in DS2 Mac and a music file in IHNM Mac (although this is not needed for either just yet).

svn-id: r55125
2011-01-05 18:06:46 +00:00
Matthew Hoops
bee912ff54 GRAPHICS: Add support for Windows FON/FNT fonts
As required by Hugo and Mohawk.

svn-id: r55120
2011-01-04 20:39:27 +00:00
Alyssa Milburn
7e0744aa4a VIDEO: Stop leaking surface data in several codecs.
svn-id: r55095
2011-01-02 14:57:49 +00:00
Filippos Karapetis
cc0b2b210f GRAPHICS: Fixed code analysis warnings (bug #3087917)
svn-id: r54964
2010-12-19 16:16:25 +00:00
Alyssa Milburn
eac4a64143 VIDEO: Add CDToons decoder
svn-id: r54936
2010-12-16 17:01:09 +00:00
Matthew Hoops
ebf2dd8d38 VIDEO: Extend Codec to support internal palettes
svn-id: r54932
2010-12-16 13:25:29 +00:00
Matthew Hoops
9285986e62 VIDEO: Make Codec::decodeImage() return a const Surface pointer
svn-id: r54930
2010-12-16 02:02:53 +00:00
Matthew Hoops
98a2bc8a9a VIDEO: Remove the need to call updateAudioBuffer() externally for QuickTime
svn-id: r54929
2010-12-16 01:49:29 +00:00
Matthew Hoops
1ead0d8436 VIDEO: Make VideoDecoder::getPalette() return a const byte pointer
svn-id: r54928
2010-12-16 01:41:11 +00:00
Matthew Hoops
375f32fbe9 VIDEO: Make VideoDecoder::decodeNextFrame() return a const Surface pointer
svn-id: r54927
2010-12-16 01:35:13 +00:00
Matthew Hoops
cf65709c45 VIDEO: Fix QuickTimeDecoder::hasDirtyPalette() by allocating the palette only for 8bpp videos
svn-id: r54849
2010-12-10 02:09:48 +00:00
Matthew Hoops
09abe6f151 VIDEO: Allow for 8bpp Cinepak videos
svn-id: r54841
2010-12-09 20:48:08 +00:00
Matthew Hoops
680b0d3172 VIDEO: Implement multiple video codec support for QuickTime
svn-id: r54840
2010-12-09 19:59:26 +00:00
Matthew Hoops
cf86141ca3 VIDEO: Fix a truncation in the SMC decoder (thanks, fuzzie)
svn-id: r54839
2010-12-09 13:36:23 +00:00
Max Horn
2180b2d6b5 COMMON: Split common/stream.h into several headers
svn-id: r54385
2010-11-19 17:03:07 +00:00
Max Horn
a0df86955f ALL: Push down deps on stream.h from .h to .cpp files
svn-id: r54358
2010-11-19 01:37:04 +00:00
Max Horn
dbddd758d1 GRAPHICS: colour -> color
svn-id: r54287
2010-11-17 12:21:37 +00:00
Max Horn
abe1959d36 COMMON: Simplify DECLARE_SINGLETON macro
This makes it possible to write
  DECLARE_SINGLETON(foo);
instead of
  DECLARE_SINGLETON(foo)
without causing a warning about an extra semicolon.
The extra semicolon helps some editors at parsing the C++ code.

svn-id: r54258
2010-11-16 08:23:13 +00:00
Matthew Hoops
f4af4d2366 VIDEO: Switch Truemotion 1 to RGB565 for potential use with SCI CLUT tables
svn-id: r54231
2010-11-13 19:15:31 +00:00
Matthew Hoops
8e274749ed VIDEO: Add support for DK3 in videos; fix sample rate location
svn-id: r54205
2010-11-11 17:05:33 +00:00
Matthew Hoops
7207d920bc VIDEO: Cleanup AVI audio in preparation for DK3
svn-id: r54200
2010-11-11 13:23:26 +00:00
Matthew Hoops
5e8e77a814 VIDEO: Add the TrueMotion 1 codec for Phantasmagoria 2
Based on the FFmpeg decoder. Only the 16bpp version has been implemented (and all that should be needed). The videos I have tried work fine with the codec. The audio does not yet play in these videos, but I hope to work on DK3 IMA ADPCM soon.

svn-id: r54194
2010-11-11 04:53:52 +00:00
Matthew Hoops
d1bd2497a5 GRAPHICS: Enforce alphabetical order on the codec objects
svn-id: r54191
2010-11-10 19:18:39 +00:00
Sven Hesse
9c349cf78b VIDEO: PreIMD: End frame when stream depleted
As happens for the last frames in the Fascination videos.

svn-id: r54144
2010-11-08 17:03:27 +00:00
Max Horn
7e7ad149c2 GRAPHICS: Cleanup advmame scaler code; don't include assert.h
svn-id: r54104
2010-11-07 00:37:04 +00:00
Florian Kagerer
e4da5e3af4 GRAPHICS/SJIS: cleanup
svn-id: r54099
2010-11-05 20:36:13 +00:00
Florian Kagerer
4457d10f84 GRAPHICS/SJIS: fix out of bounds shadow mode text drawing
svn-id: r54080
2010-11-05 01:11:05 +00:00
Florian Kagerer
206971d16b SCUMM/FM-TOWNS JAPANESE: fix out of bounds text drawing
(could cause invalid memory access in MI1)

svn-id: r54079
2010-11-05 00:36:23 +00:00
Sven Hesse
016f24d16c VIDEO: PreIMD: End frame when frameSize == 0
As happens for the last frame in the first video of the Fascination
intro.

svn-id: r54072
2010-11-04 20:36:28 +00:00
Florian Kagerer
ab1c54a9ee TOON: fix some evaluation order bugs in smacker decoder
These bugs would cause crashs in MSVC 2008/2010 release builds.

svn-id: r53893
2010-10-27 22:41:08 +00:00
Max Horn
c975ed11a1 ALL: Fix various typos (patch #3093266)
svn-id: r53762
2010-10-24 13:04:33 +00:00
Florian Kagerer
1d87f434a2 SCUMM/FM-TOWNS JAPANESE: implement flipped text
(used in the MI1 circus scene after Guybrush gets shot out of the cannon)

svn-id: r53616
2010-10-19 16:58:27 +00:00
Florian Kagerer
365cb758fb GRAPHICS: enable sjis code for scumm engine
svn-id: r53555
2010-10-17 14:11:06 +00:00
Florian Kagerer
c841c3fb7c SCUMM/FM-TOWNS: more improvements to japanese font drawing
- made use of LordHotos graphics/sjis code to reduce code duplication
- japanese mode for version 3 and 5 works fine now with few exceptions (some line spacing glitches in MI1 intro etc.)

svn-id: r53554
2010-10-17 13:08:00 +00:00
Sven Hesse
ccb3506719 GRAPHICS: Fix code analysis warnings
See bug report #3087917

svn-id: r53493
2010-10-15 13:56:14 +00:00
David Turner
04973e85be VIDEO : Corrections to QDM2 codec for bug #3087917 "Code Analysis Warnings"
The first correction was to use a temporary variable to remove the possibility of a memory leak when using realloc.
The second correction was to remove the gain variable from QDM2Stream::qdm2_calculate_fft() which has always evaluated to 1.0f and so has no effect.

svn-id: r53489
2010-10-15 13:11:34 +00:00
Torbjörn Andersson
54b2a8c98d JANITORIAL: Cleanup (mostly whitespace)
svn-id: r53161
2010-10-12 04:19:58 +00:00
Jordi Vilalta Prat
8388e0dfea JANITORAL: Clean trailing whitespaces.
svn-id: r53160
2010-10-12 02:18:11 +00:00
Max Horn
3dda3c073a GRAPHICS: Turn static AviDecoder methods into local funcs
svn-id: r53141
2010-10-10 22:25:52 +00:00
Sylvain Dupont
0fc6572b65 VIDEO: Remove useless references in handleAudioTrack function
svn-id: r53091
2010-10-09 00:17:55 +00:00
Eugene Sandulenko
741e7c7f5e VIDEO: Factor out handleAudioTrack() to be used by Toons engine
svn-id: r53086
2010-10-08 22:17:03 +00:00
Johannes Schickel
5541af78b1 GRAPHICS: Add BPP check to Surface::move.
svn-id: r52968
2010-10-01 20:44:58 +00:00
Johannes Schickel
288d09389e GRAPHICS: Cleanup.
svn-id: r52967
2010-10-01 20:44:41 +00:00
Florian Kagerer
0d8f4a22ae SCUMM/FM-TOWNS: fix palette and other graphics issues
This commit should fix at least the following bugs/feature requests: #1032859, #1252088, #1055391, #1315968, #1315938, #1742106, #812891.
The FM-Towns version of Scumm games use a mixed graphics mode with 2 layers (one with 32767 colors and one with 16 colors). Among other things I have added a screen output class which emulates this  dual layer approach which allows specific hardware effects like enabling and disabling layers (e.g. in the voodoo priestess scene in MI1).

Old savegames (saved before this update) will load, but you’ll encounter palette glitches in the verb/inventory screen, since the 16 color palette for layer 2 is not contained in your savegame. This will be true at least for version 5 games. Certain scene change actions (which require the verb/inventory part to be redrawn) might correct this (e.g. try looking at the treasure map in MI1 and closing it). Version 3 games should be okay, since they use a static text palette which is never changed and which will be reset after loading a savegame.

This update requires a USE_RGB_COLORS setting for proper operation. 8 bit users will get a warning that they’ll have to expect palette glitches . Apart from that the engine in 8 bit mode should not only still work okay, but also benefit from some of the other (non palette related) improvements (e.g. bug #1032859 should be fixed even in 8 bit mode).

Japanese font drawing hasn’t been improved much yet. This will be a separate task.

svn-id: r52966
2010-10-01 19:24:52 +00:00
Torbjörn Andersson
02e759aad3 GOB: Make GCC happier.
svn-id: r52956
2010-09-30 15:22:52 +00:00
Sven Hesse
6bbfac77af VIDEO: Interpolate U and V values
svn-id: r52955
2010-09-30 15:03:51 +00:00
Sven Hesse
ce07411696 VIDEO: Allow for Indeo3'd VMDs
svn-id: r52954
2010-09-30 13:05:40 +00:00
Sven Hesse
3c449e19ab VIDEO: Allow for scaled Indeo3 frames
svn-id: r52953
2010-09-30 13:05:12 +00:00
Oystein Eftevaag
ab01f42a4b IPHONE: The overlay will now always be in the native device resolution
svn-id: r52939
2010-09-29 00:19:13 +00:00
Torbjörn Andersson
c91a07229a JANITORIAL: Removed most punctuation at end of warning() and error()
Our warning() and error() functions always add an exclamation mark
to the end of the message anyway.

svn-id: r52791
2010-09-18 10:55:16 +00:00
Matthew Hoops
bb1c8c3f51 VIDEO: Fix rounding the Smacker frame rate
_frameRate is now stored using Common::Rational instead of uint32.

svn-id: r52689
2010-09-12 18:31:10 +00:00
Matthew Hoops
21b96bd374 GRAPHICS: Improve PICT support
PICT images of <8bpp are now supported and paletted images now work when the PixelFormat passed is not 1Bpp.

svn-id: r52671
2010-09-10 22:08:48 +00:00
Willem Jan Palenstijn
8f1143bfdc COMMON: Remove Rational::operator int/double
This prevents accidental implicit rounding
and might also fix compilation on AmigaOS4 (bug #3060981).

svn-id: r52616
2010-09-07 09:02:46 +00:00
Matthew Hoops
c78a63460b VIDEO: Skip multiple tags in a QuickTime stsd entry
Fixes crashes when playing two videos in Riven DVD (card 262). Note that the videos still don't display properly because of a bug in QTRLE 16bpp. For the record, FFmpeg doesn't handle this properly either.

svn-id: r52603
2010-09-06 18:15:51 +00:00
Matthew Hoops
c54a97005f VIDEO: Apply patch #3057924 with some changes
Patch #3057924 is "QuickTimeDecoder: Scaling x and y separately". Thanks to kreegee for the patch and fuzzie for fixing a couple bugs with it.

svn-id: r52594
2010-09-06 15:15:59 +00:00
Torbjörn Andersson
9324a80d93 JANITORIAL: Remove extra semi-colons.
svn-id: r52489
2010-09-02 05:12:07 +00:00
Sven Hesse
4d15e5f31c VIDEO: Change decodeImage() around a bit, plug a leak
Indeo3Decoder::decoderImage() was leaking inData

svn-id: r52408
2010-08-27 10:45:19 +00:00
Eugene Sandulenko
d2cf99f67d GUI: Fixed bug #2505686: "GUI: minor artifacts in rounded corners"
It is practically not possible to get rid of those completely
due to rounding errors with 16-bit surface.

svn-id: r52367
2010-08-25 07:39:08 +00:00
Eugene Sandulenko
c8a9eb9c32 GRAPHICS: Extend Surface::fill() method to support 32bits. Looks ugly
svn-id: r52268
2010-08-21 20:14:46 +00:00
Torbjörn Andersson
b8b4b42577 LEGAL: Add COPYING.BSD file
Reword the disclaimer at the top of COPYING.LGPL, as it sounds a bit
awkward to me.

Move the BSD-like license to the top of mpeg_player.cpp (it still
points out that only parts of the file are under that license) because
that's where COPYING.BSD tells the reader to look.

svn-id: r51939
2010-08-09 14:31:59 +00:00
Sven Hesse
27f6e7106d VIDEO: That should fix compilation with MSVC
svn-id: r51931
2010-08-08 17:51:50 +00:00
Matthew Hoops
27c79d51d4 VIDEO: Cinepak cleanup
svn-id: r51928
2010-08-08 03:33:44 +00:00
Sven Hesse
5f8947c21d VIDEO: Use tag2str
svn-id: r51927
2010-08-08 02:56:11 +00:00
Sven Hesse
3016de7197 VIDEO: Fixing typos ("Unknow" -> "Unknown")
svn-id: r51926
2010-08-08 02:55:45 +00:00
Sven Hesse
609dc65df6 VIDEO: Remove the now obsolete CoktelVideo classes
svn-id: r51924
2010-08-08 01:09:45 +00:00
Sven Hesse
1151676d82 VIDEO: Use proper palettes in CoktelDecoder
Not just the 6 bits per color component used in VGA

svn-id: r51921
2010-08-08 01:08:17 +00:00
Sven Hesse
8186214bc9 VIDEO: Set _paletteDirty in VMDDecoder::load() when there is an initial palette
svn-id: r51920
2010-08-08 01:07:45 +00:00
Sven Hesse
dc3a417699 VIDEO: Change the mixer parameter from a reference to a pointer
To match the other VideoDecoder classes with sound support.

svn-id: r51919
2010-08-08 01:07:17 +00:00
Sven Hesse
4133ef90bc VIDEO: Make CoktelDecoder::getFrameCoords() virtual
Like it should have been in the first place...
Fixes Woodruff slot-VMD positions.

svn-id: r51917
2010-08-08 01:06:15 +00:00
Sven Hesse
0be37b6b28 VIDEO: Implement VMD subtitles
svn-id: r51915
2010-08-08 01:05:16 +00:00
Sven Hesse
af96a0fa3b VIDEO: Implement VMDDecoder::setXY()
svn-id: r51912
2010-08-08 01:03:50 +00:00
Sven Hesse
945103a43c VIDEO/GOB: Implement and use CoktelDecoder::getFrameCoords()
svn-id: r51909
2010-08-08 01:02:19 +00:00