473 Commits

Author SHA1 Message Date
Joost Peters
d23474fcf9 1555 is ABGR (not ARGB)
svn-id: r36257
2009-02-10 23:38:07 +00:00
Filippos Karapetis
f1ebbebd7b Silenced MSVC warning (MSVC is being silly here...)
svn-id: r36185
2009-02-01 20:52:53 +00:00
Marcus Comstedt
f90e4545c2 Merged r36175 from branch-0-13-0:
Fixed alpha blending in the UI dialogs by adding alpha
computation to the blendPixelPtr() function.  To minimize
impact, pre-multiplied alpha is assumed, meaning that the
blending of the R, G and B components is the same both
with and without hardware alpha.

svn-id: r36177
2009-02-01 14:56:19 +00:00
Max Horn
e354c4b4f2 Got rid of VectorRenderer::surfacePitch() & VectorRenderer::bytesPerPixel(): the latter was not used, for the former it is silly to go through a virtual method to compute that value; all in all, this code performs too many unnecessary divisions ;)
svn-id: r36151
2009-01-30 16:18:58 +00:00
Max Horn
f465abb75d Removed unused area convolution code from VectorRenderer
svn-id: r36148
2009-01-30 15:43:45 +00:00
Max Horn
341bc64aaf do not include common/debug.h from common/util.h
svn-id: r36143
2009-01-30 05:25:17 +00:00
Max Horn
ac59693be2 A ton of code formatting fixes; also fixed warnings about single line loops like 'while(cond);' by inserting newlines
svn-id: r36127
2009-01-29 05:26:12 +00:00
Max Horn
1c0d2c5ab9 Fixed hq2x ASM scaler
svn-id: r36115
2009-01-27 21:44:24 +00:00
Max Horn
b6c17e396b Re-enabled ASM versions of HQx scalers (oops)
svn-id: r36099
2009-01-27 14:48:49 +00:00
Max Horn
e338205066 Added new interpolate16_1_1_1_1 func, got rid of interpolate32_1_1_1_1
svn-id: r36090
2009-01-27 01:46:29 +00:00
Max Horn
379fe274df Replaced small lookup table in 2xsai by direct computation
svn-id: r36089
2009-01-27 01:35:21 +00:00
Max Horn
97153f9c3b Removed interpolate16_2 and interpolate16_3
svn-id: r36088
2009-01-27 01:29:22 +00:00
Max Horn
9809709468 Speed up HQ2x/HQ3x C++ version a bit (about 20% faster with -O3 on my system)
svn-id: r36087
2009-01-27 01:23:04 +00:00
Max Horn
153b32391f New code for interpolate32_1_1 overflowed in 565 mode, so reverting to the old code (with some variable name changes to match the other interpolators)
svn-id: r36086
2009-01-27 00:55:28 +00:00
Max Horn
4098ff66aa Removed use of LUT16to32 in HQx asm versions, replacing some MMX code with 'plain' x86 code. Advantage: got rid of a 256kb table (reduces cache load, so over here the code is about as fast as before; in particular, since the affected interpolators are not used that often, it seems). Moreover, the new code is more accurate than the old ASM code, which actually differed from what our C++ HQx did (sacrificing precision for speed, i.e., cheating ;-)
svn-id: r36078
2009-01-26 18:31:06 +00:00
Max Horn
2042c6d570 Slightly improved interpolate32_1_1
svn-id: r36075
2009-01-26 16:45:21 +00:00
Joost Peters
508f254ff7 error out when no renderer was created due to unknown/unsupported PixelFormat
svn-id: r36074
2009-01-26 16:39:05 +00:00
Gregory Montoir
7f594fa21d TUCKER: modified flic playback to make use of dirtyrects
svn-id: r36060
2009-01-25 12:10:06 +00:00
Filippos Karapetis
ed0bca5b36 Fixed compilation
svn-id: r36054
2009-01-25 09:13:23 +00:00
Max Horn
dd586e0e20 Renamed lowBits -> kLowBitsMask and highBits -> kHighBitsMask
svn-id: r36049
2009-01-25 04:29:25 +00:00
Max Horn
b93db9f30f HQX: Removed some more branches (like in my previous commit) from interpolation macros (they are meant to speed up things, but in reality cause a slowdown -- branches are expensive on modern CPUs)
svn-id: r36047
2009-01-24 23:27:21 +00:00
Max Horn
16e7a7cd30 Turned two vars of the HQ2x/HQ3x ASM implementation into global vars, to make it possible to adjust them for 555 vs. 565 mode (555 mode is still a bit buggy, due to the interpolation code they use)
svn-id: r36046
2009-01-24 23:06:58 +00:00
Max Horn
ab5e3db9e3 Moved 565 mode specific bits of HQ2x/HQ3x asm to 'variables'
svn-id: r36034
2009-01-24 06:26:43 +00:00
Max Horn
5556fc7f72 Changed Graphics::ImageDecoder to allow custom PixelFormats
svn-id: r36026
2009-01-23 23:50:54 +00:00
Max Horn
4d5702606f Remark that the HQnx ASM code only works in 565 mode
svn-id: r36025
2009-01-23 22:56:14 +00:00
Max Horn
04517f17ad Added some comments to hq2x/hq3x asm code
svn-id: r36024
2009-01-23 22:05:40 +00:00
Max Horn
14c5bbbccf Renamed Archive::openFile to createReadStreamForMember
svn-id: r36021
2009-01-23 04:45:44 +00:00
Max Horn
6f10ef2150 Made InitLUT use a PixelFormat instead of a ColorMask
svn-id: r36008
2009-01-23 02:29:32 +00:00
Johannes Schickel
adf15c1007 Added an '!=' operator to PixelFormat.
svn-id: r35998
2009-01-22 15:53:05 +00:00
Max Horn
d5d7175691 Speed up HQ2x/HQ3x C versions by reordering tests in diffYUV: most likeliest to be taken now is first, least likely is last
svn-id: r35996
2009-01-22 06:41:57 +00:00
Max Horn
0034aa3b9c Got rid of several occurrences of gBitFormat
svn-id: r35995
2009-01-22 04:59:09 +00:00
Max Horn
17f5d4eeea Got rid of gBitFormat in thumbnail scaler code (and even simplified it in the process)
svn-id: r35994
2009-01-22 04:45:19 +00:00
Max Horn
abc06ca18e Moved Graphics::PixelFormat into its own header file; turned RGBToColor etc. into methods, and added an operator==
svn-id: r35993
2009-01-22 04:35:10 +00:00
Max Horn
c210b71876 Moved Surface::blit to backends/vkeybd/virtual-keyboard-gui.cpp
svn-id: r35965
2009-01-20 22:52:29 +00:00
Andre Heider
311b267863 merge SurfaceKeyColored into Surface
svn-id: r35951
2009-01-20 15:21:47 +00:00
Filippos Karapetis
b107b7db47 Stop recalculating the x and y coordinates for every frame in playVideo()
svn-id: r35819
2009-01-11 04:41:22 +00:00
Filippos Karapetis
f997ea3c6e Oops... *really* fixed compilation
svn-id: r35818
2009-01-11 04:23:57 +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
Eugene Sandulenko
83972e2001 Merge in Virtual Keybpard & KeyMapper branch,
- Merge is perfromed in order to not let rotting the code
- Makefile modifications were avoided

Stuff to resolve:
- Circular dependency of common/vkeybd from graphics/
- Make it compilable (?)
- Add some keyboards
- Decide on the key bindings

svn-id: r35813
2009-01-11 00:20:27 +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
2e1fa58cf8 Clear the screen to black before showing a video with playVideo() (it's meant to play full screen videos)
svn-id: r35776
2009-01-07 21:57:05 +00:00
Filippos Karapetis
272a9d06a8 Initialize DXA buffers to 0 when they're allocated
svn-id: r35775
2009-01-07 21:45:21 +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
Filippos Karapetis
a930f40272 An attempt to unify the different video players (FLIC player is not finished yet) - step 1
svn-id: r35757
2009-01-06 17:44:41 +00:00
Filippos Karapetis
c528f888d0 Specify that implementations of setPalette() should use an RGB palette
svn-id: r35755
2009-01-06 16:10:04 +00:00
Max Horn
d104e6fe33 Workaround issue in Graphics::Surface code on Haiku
svn-id: r35745
2009-01-05 20:12:25 +00:00
Filippos Karapetis
70ab22e9f2 Added a copyFrameToBuffer() method to the FLIC player too, like in the other players
svn-id: r35742
2009-01-05 17:05:50 +00:00