553 Commits

Author SHA1 Message Date
Torbjörn Andersson
44eca16eb6 Fixed the bug that caused Vorbis and FLAC to misbehave with compressed
speech. (Apparently it was just an accident that MP3 worked.)

Unfortunately I had to change the file format of the compressed files to
include both the compressed and uncompressed size, but since the tool to
create these files has only lived as an item in the patch tracker, no one
should have exptected it to be the final, working version, right? Right.

svn-id: r14698
2004-08-23 06:17:40 +00:00
Torbjörn Andersson
e00f9f4a97 Experimental (i.e. slightly broken) code for handling compressed speech.
The equally experimental compression tool is in patch #854561.

Support for compressed music will require some restructuring first.

svn-id: r14684
2004-08-22 14:28:11 +00:00
Torbjörn Andersson
bb62b07f4f Don't try to free text sprites with the memory manager - it uses standard
malloc() nowadays! (This only affected the "dummy" player.

svn-id: r14638
2004-08-17 13:52:18 +00:00
Travis Howell
4b4ab244b1 Correct default settings used by COMI
Allow object_labels config option in COMI

svn-id: r14408
2004-08-01 06:52:56 +00:00
Torbjörn Andersson
2fedf7d285 I shouldn't be mixing cleanups and bug fixes, but I'm doing so anyway, just
this once. :-)

The parameters to drawLine() aren't clipped to the screen size, which meant
that it was accessing memory out of bounds when marking the screen as
dirty. The function now uses plotPoint(), which does the bounds checking
and screen dirtying for us. Apart from being a little easier to read, it
dirties only the parts of the screen the line actually passes through,
instead of a rectangle defined by the line's end points.

Since drawLine() is only used for debugging, I wouldn't consider this a
particularly serious bug.

Next change is that only the pixels inside the original parallax layer are
considered when creating the block surfaces. This may make the drawing
slightly more efficient, since fewer surfaces will be labelled as
transparent.

Plus some other minor cleanups.

svn-id: r14340
2004-07-26 16:41:57 +00:00
Torbjörn Andersson
f02a14427b Allowing both music streams to share the same rate converter only worked
by accident, and could cause bad noises during music cross-fades.

This wasn't a problem in 0.6.0 since all music is sampled at 22050 Hz,
which is the most likely output sample rate for ScummVM, so the converter
didn't actually have to do anything. Now, however, the output sample rate
could be anything.

I've given the music streams one converter each. In BS1, which uses similar
music code, it was already necessary to do this since some of its music is
sampled at 11025 Hz.

svn-id: r14237
2004-07-17 14:00:07 +00:00
Max Horn
53af3dc670 Enhanced default directory support in the File class; now one can specify arbitrary many default search directories
svn-id: r14095
2004-06-28 00:06:31 +00:00
Max Horn
b8ad54b3af Reversed param order of File::open() -- this allowed me to get rid of a few more getGameDataPath() calls
svn-id: r14090
2004-06-27 22:14:35 +00:00
Max Horn
6b722ff11b Added Engine::_saveFileMan; thus was able to get rid of auto_ptr usage again
svn-id: r14058
2004-06-25 22:39:21 +00:00
Max Horn
7a8d469c66 Use auto_ptr to avoid leaks
svn-id: r14057
2004-06-25 22:12:57 +00:00
Torbjörn Andersson
a7d7e6eb7a Itsy-bitsy cleanup.
svn-id: r13959
2004-06-17 06:46:18 +00:00
Torbjörn Andersson
e554f46f71 Cleanup
svn-id: r13956
2004-06-12 09:53:45 +00:00
Torbjörn Andersson
93d26c0bd1 Hopefully fixed the displayMsg() fade-up glitch I accidentally introduced
yesterday.

svn-id: r13955
2004-06-11 06:38:45 +00:00
Torbjörn Andersson
13024364b7 Fixed a regression caused by my recent cleanup. This one would cause the
game to crash shortly after Andr� shows you the coyote stone. More
precisely, when the camera view shifts from the close-up of the
conversation back to the normal view of the caf�.

For those who enjoy reading commit messages, this was the crash I was
hunting for yesterday.

svn-id: r13954
2004-06-11 06:37:50 +00:00
Torbjörn Andersson
3c70f5a85c If the 'time' parameter to displayMsg() is 0, wait until the user clicks
or presses a button. This is how displayMsg() was always used, so the only
difference is that the code to check for events is no longer outside the
function.

In the process, it turned out that removeMsg() was probably unnecessary so
I have removed it. May cause regressions, but we can deal with them later.

svn-id: r13953
2004-06-10 06:48:50 +00:00
Torbjörn Andersson
dabb32ce1a Some more work on the - still disabled - "right click to clear luggage"
code I added some time ago.

svn-id: r13952
2004-06-10 06:41:08 +00:00
Torbjörn Andersson
0d193e87ce Added another assert(). I'm hunting - unsuccessfully so far - for a
reproducable crash where an invalid pointer is decoded. Strangely, I never
saw it being encoded... Oh well, I'll find it eventually.

svn-id: r13951
2004-06-10 06:33:11 +00:00
Torbjörn Andersson
c63cc7c7d1 One of my not-so-recent cleanups caused BS2 to produce corrupt savegames.
And no one even noticed! Should be fixed now.

svn-id: r13950
2004-06-10 06:14:07 +00:00
Torbjörn Andersson
0426d38aa5 Cleaned up the palette handling a bit. Renamed _palCopy to _palette since I
found the old name misleading (there is only one array that stores the
palette in the engine, though it could be argued that it's a copy of the
one used by the backend), and removed some code that I'm almost certain was
never used. (I've added assert()s to trigger in the cases where it would
have been used.)

svn-id: r13949
2004-06-09 06:33:29 +00:00
Torbjörn Andersson
7e70c86870 Added a few comments, rewrote a few others, and added a couple of assert()s
svn-id: r13947
2004-06-08 06:53:35 +00:00
Torbjörn Andersson
78404c30d4 Added comment.
svn-id: r13946
2004-06-07 05:57:00 +00:00
Torbjörn Andersson
c9c56d2f72 Cleaned up sprite scaling.
svn-id: r13944
2004-06-06 15:40:31 +00:00
Torbjörn Andersson
dac16f4f43 Cleanup
svn-id: r13933
2004-06-05 10:28:42 +00:00
Torbjörn Andersson
1189083fe0 Close menus before restarting. (This is a purely cosmetical fix.)
svn-id: r13831
2004-05-10 07:11:40 +00:00
Torbjörn Andersson
9742985e50 Fixed typo.
svn-id: r13830
2004-05-10 07:10:28 +00:00
Torbjörn Andersson
9e4c641de1 Forgot to remove this file when I changed input handling.
svn-id: r13813
2004-05-09 13:40:39 +00:00
Torbjörn Andersson
fc970b3c75 Removed the buffering of mouse and keyboard events. I don't think any of
our other engines do this, so there is little reason for BS2 to. I did add
a filtering mechanism so that mouse button releases and scroll wheeling is
ignored during normal gameplay, but I don't know if that was necessary
either.

Since this left little more than an empty husk where the Input class used
to be, I've eliminated that class and buried its remains in Sword2Engine.

svn-id: r13812
2004-05-09 13:32:04 +00:00
Torbjörn Andersson
577600537c When drawing lines and points, mark the corresponding screen area as dirty
so that it gets properly redrawn. Only the debugging code uses these
drawing primitives, so it's no big deal, but it's still the right thing to
do.

svn-id: r13811
2004-05-09 13:24:07 +00:00
Torbjörn Andersson
ed9bac56b0 My recent sound changes broke "restart". This should un-break it again.
svn-id: r13810
2004-05-09 13:20:12 +00:00
Torbjörn Andersson
afb91fc184 Cleanup.
svn-id: r13806
2004-05-07 19:56:19 +00:00
Torbjörn Andersson
0600200980 Take advantage of the changes in the backend's mouse cursor handling. It
didn't do the change I was hoping for: the coyote stone is still partially
see-through, but perhaps it was in the original as well.

At least we no longer need to keep the buffer the mouse cursor is decoded
to, since that's now handled by the backend.

svn-id: r13782
2004-05-05 07:22:35 +00:00
Torbjörn Andersson
5882ea5819 Cleanup.
Part of this cleanup involved removing _unpauseZone. It was only used by
fnISpeak(), and as far as I could tell it was just because the original
code didn't trust amISpeaking() and getSpeechStatus() to return sensible
values directly after unpausing the game.

svn-id: r13781
2004-05-05 07:06:18 +00:00
Torbjörn Andersson
bc77ba431a Simplified the handling of sound effects. It's not necessary for the driver
to keep its own copy of the sound data. It could be even further simplified
(I don't really see any reason for having two different sound queues), but
I seem to have reached a point of stability here and I don't want to jinx
it by making further changes yet.

svn-id: r13705
2004-05-01 10:42:23 +00:00
Torbjörn Andersson
e830d35a21 Made the "debugoff" console command actually turn *off* the debug info.
svn-id: r13704
2004-05-01 10:24:47 +00:00
Torbjörn Andersson
6a432d10b5 Cleanup. I plan to take a closer look at the sound effects handling later.
svn-id: r13661
2004-04-28 11:47:19 +00:00
Torbjörn Andersson
49fc62b4d0 Cleanup
svn-id: r13649
2004-04-27 08:59:58 +00:00
Jamieson Christian
4ee0365a23 Tweaked a few things to accommodate
MSVC6's idiosyncracies.

svn-id: r13644
2004-04-26 20:28:34 +00:00
Torbjörn Andersson
0fcd887dcd Cleanup. Mostly removal of redundant comments.
I've also made the SaveGameHeader struct packed, which may break savegame
compatibility on some architectures (though not on the Linux and Windows
boxes I've tried it on). But I'm hoping it will guarantee, or at least make
it more likely, that savegames will be portable across architectures.

svn-id: r13634
2004-04-26 07:37:25 +00:00
Torbjörn Andersson
a575576890 fetchObjectName() no longer assumes that the resource will still be in the
cache after it's been closed. (Currently it always is, but ideally I'd like
for BS to work even if resource caching is disabled.)

svn-id: r13610
2004-04-24 12:29:35 +00:00
Torbjörn Andersson
8675bcfc6c Fixed a crash regression in setLuggage() that was caused by a change I
didn't make. :-)

(That is, I made the change and then thought better of it, but I forgot to
change one line back to its original form.)

svn-id: r13608
2004-04-23 11:43:20 +00:00
Torbjörn Andersson
0ac8c4bd3f I forgot to clear the reference counter when a resource is forcibly removed
and I may as well clear it when a resource is read from disk as well.

svn-id: r13606
2004-04-23 11:36:06 +00:00
Torbjörn Andersson
8f8185f035 Major revamping of the BS2 memory manager and, some small changes to the
resource manager. All new code! All new bugs!

svn-id: r13603
2004-04-23 07:02:11 +00:00
Torbjörn Andersson
0d2d884bb7 Cleanup
svn-id: r13582
2004-04-16 06:46:03 +00:00
Torbjörn Andersson
3a4536e2e2 Cleanup. (Mostly of the comments.)
svn-id: r13579
2004-04-14 07:12:10 +00:00
Torbjörn Andersson
12aeb85e62 Cleanup.
svn-id: r13495
2004-04-07 14:18:27 +00:00
Torbjörn Andersson
489e473fca Cleanup.
svn-id: r13494
2004-04-07 12:31:32 +00:00
Torbjörn Andersson
c2870adf60 Added notice about how I think CP_PUSH_LOCAL_ADDR is used.
svn-id: r13493
2004-04-07 08:53:24 +00:00
Torbjörn Andersson
a1ac764575 Cleanup. (Mostly to change the wording and priority of the debugging
messages to be more like in BS1.)

svn-id: r13491
2004-04-07 06:57:37 +00:00
Torbjörn Andersson
6d460d2e10 Cleanup.
svn-id: r13457
2004-04-04 15:16:05 +00:00
Torbjörn Andersson
b809a5670b Cleanup
svn-id: r13431
2004-03-30 06:54:27 +00:00