Commit Graph

160 Commits

Author SHA1 Message Date
Travis Howell
afcfc95e8a Always reset _scaledBuffer to zero when playing video, to prevent double free.
svn-id: r24962
2007-01-01 04:58:25 +00:00
Travis Howell
534a2fd5d7 Change position of scale code, Scale code shouldn't have been FRAM specific
svn-id: r24871
2006-12-18 07:51:02 +00:00
Torbjörn Andersson
0d65cb4260 Check _scaleMode when decoding a NULL frame. Otherwise we will draw the
unscaled frame when playing a scaled movie. (The Broken Sword 1 intro is a
good example of this since it is scaled and uses NULL frames early on.)

svn-id: r24870
2006-12-18 07:24:36 +00:00
Eugene Sandulenko
d99760549a Fix regression. It crashed with orignial DXA files.
svn-id: r24856
2006-12-15 14:36:04 +00:00
Travis Howell
488873353b Only allocate _scaleBuffer when required.
svn-id: r24847
2006-12-14 05:32:16 +00:00
Torbjörn Andersson
45886ec8ed When drawing an interlaced frame, only clear every other line instead of the
entire buffer.

Introduced a _drawBuffer pointer which points either to _scaledBuffer or
_frameBuffer1. That way, we don't need to copy _frameBuffer1 every time we
draw an unscaled frame. (Probably the most common case by far.)

Adjusted the Broken Sword 1 DXA player for the second change. (It sneakily
avoids copying each frame by using _drawBuffer directly.)

svn-id: r24846
2006-12-14 05:21:19 +00:00
Travis Howell
42228fdc36 Add cyx's patch for endian issues in DXA player
svn-id: r24844
2006-12-11 22:48:57 +00:00
Travis Howell
a4b835838d Whitespace changes
svn-id: r24843
2006-12-11 22:35:50 +00:00
Travis Howell
1ba6947440 Adjust DXA scaling code for Broken Sword 1
svn-id: r24841
2006-12-11 09:26:54 +00:00
Travis Howell
983954821c Fix typo in initial _scaleBuffer check
svn-id: r24840
2006-12-11 08:31:32 +00:00
Travis Howell
b00e143d74 Add patch #1611503 - DXA: Improved encoder (filesize and speed)
svn-id: r24838
2006-12-11 06:53:46 +00:00
Johannes Schickel
3a81941981 - Added dialog for selecting the theme to use
- Added runtime theme switching

svn-id: r24213
2006-10-08 18:22:28 +00:00
Paweł Kołodziejski
1307f597a6 fixed assert in isspace function because wrong variable type for chars when they value is greater then 128. isspace take as "int" type param (at least in ms sdk)
svn-id: r24210
2006-10-08 15:55:09 +00:00
Torbjörn Andersson
0b1c1702a5 Renamed constant to reflect recent change of file name.
svn-id: r23777
2006-08-27 10:55:44 +00:00
Torbjörn Andersson
8ae050ff08 Renamed graphics/animation.[cpp|h] to graphics/mpeg_player.[cpp|h] to be more
consistent with dxa_player.[cpp|h]. (Though actually, "decoder" might be more
accurate...)

svn-id: r23774
2006-08-27 09:10:24 +00:00
Torbjörn Andersson
cc3b4cdf99 Now that the cutscene handling in both BS1 and BS2 has been extended to play
DXA movies (the MPEG movies still work, of course), there is no longer any need
for the MPEG decoder to handle sound and frame syncing. That is now the
responsibility of the player, not the decoder.

The obvious next step, then, would be to put that in a new player class, and
have both BS1 and BS2 use that. Maybe FF as well.

svn-id: r23757
2006-08-26 12:29:00 +00:00
Max Horn
53f73eac85 Added explicit string equals/hash functors to a new header common/hash-str.h; removed Hash functor specialization for String and char pointers; changed all code using hashmaps with string keys to explicitly specify whether they honor or ignore case
svn-id: r23634
2006-07-30 12:21:54 +00:00
Torbjörn Andersson
6358547a43 More whitespace changes.
svn-id: r23496
2006-07-14 13:33:58 +00:00
Torbjörn Andersson
5658e71f4d Added support for DXA cutscenes, while still retaining support for the old MPEG
cutscenes and the "dummy" (subtitles and voice-over) mode. Several tweaks and
cleanups were made in this process, and there may very well be regressions, but
it should be stable enough to commit.

svn-id: r23420
2006-07-08 11:42:07 +00:00
Travis Howell
fa4aa40b7b Correct docs for copyFrameToBuffer()
svn-id: r23336
2006-06-28 14:27:56 +00:00
Travis Howell
1c19735226 Add patch #1504492 - DXA: New compression scheme
svn-id: r23333
2006-06-28 14:10:07 +00:00
Travis Howell
dd57c57982 Add eriktorbjorn's patch for DXA unification, with more changes
svn-id: r23332
2006-06-28 14:06:54 +00:00
Oystein Eftevaag
8d3887f170 Fixes a warning with VC++ 2005 Express.
svn-id: r23307
2006-06-25 01:19:34 +00:00
Willem Jan Palenstijn
dc41d02ac7 fix character clipping as mentioned by Marcus on the mailing list on 22 june
svn-id: r23292
2006-06-24 12:27:07 +00:00
Max Horn
9a955180a4 * Renamed config.mak to config.mk
* Renamed common.rules to rules.mk
* Removed explicit declaration of MODULE_DIRS in various spots (instead we let rules.mk compute it)

svn-id: r23275
2006-06-24 08:48:11 +00:00
Travis Howell
3c11d2fa18 Move moveScreen to common surface functions for graphics
svn-id: r23218
2006-06-21 11:33:04 +00:00
Torbjörn Andersson
49af7d44c2 Applied patches from bug report #1276480, "GUI: Accented characters". This
changes quite a lot of things in the font renderer and the convbdf tools, so
there may be regressions, but we want this feature for 0.9.0.

svn-id: r23208
2006-06-20 22:50:27 +00:00
Torbjörn Andersson
df4f95f805 Let the [cursor] palette manager handle disableCursorPalette() too, to avoid
cursor glitch in at least some HE games which first set a cursor palette, and
then disable it. (The disabled palette would be re-enabled after dismissing the
GUI.)

svn-id: r23081
2006-06-13 09:48:46 +00:00
Torbjörn Andersson
f57f024822 Format the guifont[] data for better readability
svn-id: r22916
2006-06-04 15:39:08 +00:00
Torbjörn Andersson
3114f19d94 MPEG player fixes:
* Initialise _frameWidth and _frameHeight to prevent them from being undefined.
* Fix BS2 subtitle positioning. (Fixes bug #1499916)
* In BS2, copy the frame to the backend in 8-bit mode.
* Fix compilation in 8-bit mode.

BS2 subtitles aren't quite right in 8-bit mode, but I expect we want to
re-design things a bit if we ever add DXA cutscenes. We can fix minor details
then.

svn-id: r22859
2006-06-03 09:43:10 +00:00
Torbjörn Andersson
c8d3f5a80f Should use delete[] instead of delete here, too. (I knew where the cursor
manager code was copied from. :-)

svn-id: r22675
2006-05-27 11:55:03 +00:00
Willem Jan Palenstijn
0fef7b32b2 delete[] instead of delete
svn-id: r22673
2006-05-27 11:47:44 +00:00
Torbjörn Andersson
79819da301 The GUI never asked for the cursor to be visible. I'm not sure why that used to
work before the cursor manager. Oh well, the launcher should have a visible
cursor again, knock on wood.

svn-id: r22641
2006-05-25 23:20:35 +00:00
Torbjörn Andersson
8062eb6ec3 Set and show/hide mouse cursors through a "cursor manager" (analogous to the
recently added (cursor) palette manager) so that the cursor can be properly
restored after returning from the GUI.

If there's any C++ magic that can keep the backend functions from being called
by anything else than these managing classes, that would probably be a good
idea. Also, since the cursor manager keeps a copy of the cursor image, perhaps
there are at least some backends that will no longer need to?

svn-id: r22639
2006-05-25 22:51:42 +00:00
Torbjörn Andersson
21a74b6f41 Cleanup.
svn-id: r22635
2006-05-25 20:29:17 +00:00
Torbjörn Andersson
0e6831fa32 Fixed stupid error in replaceCursorPalette().
svn-id: r22629
2006-05-25 19:22:28 +00:00
Torbjörn Andersson
a49c64799f Fixed comment to make it less obvious where I copied the general structure of
the palette manager from.

svn-id: r22628
2006-05-25 18:31:56 +00:00
Torbjörn Andersson
d7296ae666 Make it so that if the new cursor palette to be set has zero colours, the
cursor palette is disabled.

Also, when replacing a cursor palette, try to re-use the old palette buffer, as
a minor optimization. (Not that these functions should need any optimization,
but it's simple and shouldn't hurt.)

svn-id: r22554
2006-05-21 13:27:18 +00:00
Torbjörn Andersson
75f226953a Oops, I guess I never got around to fully implement replaceCursorPalette().
svn-id: r22552
2006-05-21 12:32:39 +00:00
Torbjörn Andersson
3e973d2a91 Forgot to set g_initialized to true.
svn-id: r22544
2006-05-20 11:24:45 +00:00
Torbjörn Andersson
6cdd98b617 After the GUI has finished, restore the old cursor palette (if any). For this
to work, cursor palette now has to be set using the new "palette manager". See
graphics/paletteman.cpp

svn-id: r22543
2006-05-20 10:59:25 +00:00
Torbjörn Andersson
e563d0c182 Renamed screenChanged() to handleScreenChanged().
svn-id: r22518
2006-05-18 13:58:33 +00:00
Torbjörn Andersson
5c1f91eed4 Allow changing scaler while playing MPEG cutscenes.
svn-id: r22515
2006-05-18 13:18:02 +00:00
Eugene Sandulenko
14ec3f45fa - Heavily modified patch #1214784: "Disable overlay scaling"
- Eriktorbjorn's patch from same tracker item for scaling sword1/2 cutscenes
  is applied as is. It lacks resolution switch on-the-fly.
- GUI widgets are repositioned on the fly and use most space, even aspect
  ratio corrected screen is used without scaling
- Heavy tesing is required, but works for me in all cases except for bug
  #1483272: "GUI: SCUMM pause dialog breaks upon scaler switch" which needs more
  work.
- I probavly broke some backend or two

svn-id: r22505
2006-05-17 23:52:45 +00:00
Eugene Sandulenko
d2546e3979 - Updated MSVC8 project files
- Renamed base/options.cpp to base/commandLine.cpp because of conflict
  with gui/options.cpp which sit in same directory in MSVC builds
- Moved AudioCDManager singleton declaration outside of Audio namespace
- Fixed numerous MSVC warning of potentially uninitialized variables and
  int <-> bool conversions.

svn-id: r22397
2006-05-09 14:16:43 +00:00
Max Horn
27307acd7c Moved the AudioCDManager as well as class AudioStream and its (standard) subclasses to namespace Audio
svn-id: r22231
2006-04-29 22:33:31 +00:00
Lars Persson
aec70b0bb2 Implementation and declartion in intern.h differed. Changed so both is using the same datatype.
svn-id: r22074
2006-04-21 20:56:53 +00:00
Eugene Sandulenko
718532b386 Fix ASM HQ routines, because RGBtoYUV and LUT16to32 are on heap now.
svn-id: r22041
2006-04-19 22:53:37 +00:00
Max Horn
a76689ed71 Make use of triple-interpolation function in SuperEagel (should save a few cycles... not that it really matters :)
svn-id: r21985
2006-04-17 18:54:20 +00:00
Max Horn
43143daca7 Replace interpolate32 calls by interpolate16 calls (as we only work on single pixels here currently)
svn-id: r21983
2006-04-17 18:28:19 +00:00