Commit Graph

595 Commits

Author SHA1 Message Date
Nicolas Bacca
876079be75 Fix dumb CE compiler
svn-id: r16026
2004-12-11 00:37:05 +00:00
Robert Göffringmann
0d7ab01640 Pass subdirectories to gamedetector functions
svn-id: r16002
2004-12-09 15:06:49 +00:00
Max Horn
f09293b22c Clean up OSystem::Event
svn-id: r15990
2004-12-05 17:42:20 +00:00
Eugene Sandulenko
8f863b5d8f Fix music volume
svn-id: r15960
2004-11-29 00:25:15 +00:00
Max Horn
10dd548b85 Changed parameter order of SoundMixer::playInputStream to match that of playRaw
svn-id: r15950
2004-11-28 23:02:28 +00:00
Max Horn
b78ac6a18b Make use of our String class instead of juggling with char pointers; added File::exists method
svn-id: r15913
2004-11-27 15:09:53 +00:00
Max Horn
1a7ca2dc2a AudioStream::read() has been removed quite some time ago, now making sure that change is reflected everywhere
svn-id: r15911
2004-11-27 13:54:09 +00:00
Max Horn
876e738dce Moved Engine::getSavePath() to class SaveFileManager; removed the 'directory' parameter from SaveFileManager::openSavefile and listSavefiles (they always use getSavePath() now, which is what we did anyway)
svn-id: r15901
2004-11-27 00:26:11 +00:00
Max Horn
6df3e8dc6f Spelling
svn-id: r15890
2004-11-26 00:18:48 +00:00
Eugene Sandulenko
31e434dcf1 Fix a`ll engines. They work, though current fix is just temporary.
There are plans to add some brains to GameDetector class, which will let us
avoid passing detector to init() method.

svn-id: r15873
2004-11-24 00:14:21 +00:00
Max Horn
aad9f122c0 Added Engine::init() method; added return value to Engine::go()
svn-id: r15865
2004-11-23 00:03:25 +00:00
Max Horn
fa97d4ad89 Removing walkthrough stuff again (talked to aquadran about this, he had no objections)
svn-id: r15849
2004-11-20 23:49:11 +00:00
Paweł Kołodziejski
20e9cf6f20 added walkthrough
svn-id: r15835
2004-11-19 19:50:22 +00:00
Torbjörn Andersson
7adc1f419f Cleanup
svn-id: r15826
2004-11-16 09:15:25 +00:00
Torbjörn Andersson
38baf0a0d3 I think this is the kind of constructor/go changes _sev was talking about
in his mail to scummvm-devel. (Though "a discussed a while ago change"
sounds like sort of thing Robert Jordan writes whenever there is danger of
anything actually happening in any of his more recent books. Tantalizing,
yet non-informative. ;-)

It's still rather messy. I'll look into cleaning it up later.

svn-id: r15818
2004-11-15 08:22:16 +00:00
Torbjörn Andersson
0cfd573951 Cleanup
svn-id: r15810
2004-11-14 15:00:01 +00:00
Torbjörn Andersson
37833f9832 Fixed comment typo. It's the pyramid bug that's dreaded, not the pyramid
itself. :-)

svn-id: r15789
2004-11-11 15:30:02 +00:00
Max Horn
926cfc5bd2 Doxygen fixes
svn-id: r15701
2004-10-30 21:58:37 +00:00
Torbjörn Andersson
e31cd239bd Use the same REDUCE_MEMORY_USAGE trick here as in scumm/intern.h
svn-id: r15612
2004-10-19 14:19:52 +00:00
Torbjörn Andersson
4d3913d1b2 Cleanup of the credits code. Use the new gets() function.
svn-id: r15609
2004-10-19 07:12:23 +00:00
Max Horn
365b9a1e27 Doxygen fix
svn-id: r15594
2004-10-17 19:39:46 +00:00
Torbjörn Andersson
372eeb54cb Migration to the newer form of setupPremix().
svn-id: r15532
2004-10-12 17:03:07 +00:00
Torbjörn Andersson
eaccebd7fc Cleanup
svn-id: r15526
2004-10-12 06:24:46 +00:00
Chris Apers
757f2fdcef Prevent double slash in path
svn-id: r15473
2004-10-08 16:09:52 +00:00
Max Horn
ce8c99bf62 Rename remaining OSystem methods to match our coding guidelines
svn-id: r15332
2004-09-28 20:19:37 +00:00
Torbjörn Andersson
8f4a5ea3a5 Removed obsolete comment about floating/locked memory.
svn-id: r15297
2004-09-26 16:10:21 +00:00
Max Horn
61b7e2155a Fix doxygen warnings
svn-id: r15277
2004-09-25 23:26:46 +00:00
Torbjörn Andersson
095035e9c7 Removed obsolete comment.
svn-id: r15193
2004-09-19 18:19:30 +00:00
Torbjörn Andersson
d010b9e560 As an experiment, expire SCREEN_FILE resources faster than other resources.
They're generally the largest resources in the cache by far (though some
ANIMATION_FILE resources are about as big).

I still don't know how much benefit there is to resource caching, but some
of it is definitely needed, or the game won't work properly. Oh well, as
long as no one complains about the extra memory usage...

svn-id: r15079
2004-09-12 17:10:59 +00:00
Torbjörn Andersson
7011d697cb Made the output from the "mem" debugger command a bit more informative, and
sorted it to output the biggest memory blocks first.

svn-id: r15078
2004-09-12 17:05:17 +00:00
Torbjörn Andersson
412f7105f0 Fixed evil regression #2. Restarting the game, or using the "start" debug
command, would close the global script variables and player object
resources, without reopening them again. This made them fair game for the
resource expiration mechanism. The player object is probably referenced
often enough to stay alive, but the variables died on me pretty quickly,
causing ScummVM to crash.

I've also added a "reslist" debug command to make this sort of things
easier to spot. By default it only lists resources with refCount > 0. Use
"reslist 0" to see all the cached resources as well.

svn-id: r14958
2004-09-08 07:10:54 +00:00
Torbjörn Andersson
933cbeb91e Fixed debug output.
svn-id: r14951
2004-09-07 17:52:03 +00:00
Torbjörn Andersson
e6f19ff83a Much like an early civilization with no concept of the number zero, the
new memory manager didn't have the concept of the NULL pointer. Now it
does.

If ScummVM ever crashed for you when using the phone early in the game,
this patch hopefully fixes that bug. (If it didn't crash for you, memory
block zero was still allocated, so 0 still decoded to a valid pointer.)

svn-id: r14937
2004-09-07 06:29:57 +00:00
Travis Howell
95a52bf4b4 Fix compile
svn-id: r14898
2004-09-04 23:05:34 +00:00
Torbjörn Andersson
f04e412269 Rewrote the code that loads credits.clu into memory. The new code is
perhaps less clever than the old one I wrote, but should be much easier to
read. Besides, the old code had a small memory leak in it.

svn-id: r14897
2004-09-04 21:17:27 +00:00
Torbjörn Andersson
eff7b341d0 Fixed a glitch in the music fade-out code.
svn-id: r14888
2004-09-04 09:46:47 +00:00
Torbjörn Andersson
cb399b63d5 Added support for compressed music. I'm sure there are some glitches still
to fix, but it should work well enough for now.

In this rewrite of the music code, I removed the "save/restore music state"
function, since it just complicated things for a very small gain. It wasn't
in the original engine, and I added it just for the credits, so that the
previously playing music could be resumed afterwards. I might re-add it
later, but probably not.

svn-id: r14887
2004-09-04 09:27:17 +00:00
Torbjörn Andersson
4a6d5e4119 Cleanup. Removed the original DipMusic() code. If anyone wants to
implement it - personally I don't see the need - they can get it from CVS.

svn-id: r14819
2004-08-28 14:50:44 +00:00
Torbjörn Andersson
f004af9d4f Use the same code for opening the music clusters as for opening the speech
clusters. (No, that doesn't mean compressed music is support yet. This is
just a tiny little step closer.)

svn-id: r14794
2004-08-27 08:31:33 +00:00
Torbjörn Andersson
15fa71e1bf Explicitly cast value to uint32, since there was a report about compilation
problems. Perhaps this will fix it?

svn-id: r14762
2004-08-26 06:59:15 +00:00
Torbjörn Andersson
68acd13ad4 The original speech clusters are now decoded through a custom AudioStream
class, so they are handled the same way as the compressed clusters.

The next step will be to migrate the music playback to use the same class,
which means the fade-in/out logic needs to be separated from the decoding.
Once this is done, adding support for compressed music should be a piece of
cake.

svn-id: r14740
2004-08-25 06:55:15 +00:00
Torbjörn Andersson
137d1ebe48 Added a destructor to the FontRenderer class to free any remaining text
sprites on exit. As far as I can tell, the only case when this makes any
difference is when there is text on screen when you quit ScummVM, so it's
not really a memory leak, but Valgrind will report it as one.

svn-id: r14738
2004-08-25 05:57:17 +00:00
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