ScummVM's "Rect" data type in the mouse list. The benefit of this is that
we can then use the contains() function in checkMouseList(), which makes
the code a bit less eye-watering.
svn-id: r16961
a bunch of them, it's better that the remaining ones keep the same value
between future releases. (Not that the user will ever get error messages,
of course. *cough* :-)
svn-id: r16953
"restore" other times.) The save/restore dialog now has two separate
classes, though they both inherit from the old combined class of course.
svn-id: r16848
Also, the caching of datafiles depends on the memory usage now, not on the number of screens that the player entered in the meantime.
The old behaviour made the engine run out of memory on the PS2.
svn-id: r16843
The various game settings are no longer stored in the Gui class. They are
stored in the class that use them.
Code that doesn't belong in the Gui class, e.g. the "restart" code, has
been moved out of it.
Afterwards, the Gui class had been reduced to nothing more than a handful
of trivial methods for invoking the in-game dialogs. So the entire Gui
class has been removed.
svn-id: r16827
classes: Screen and Mouse. Screen handles most of the drawing, except the
mouse cursor and in-game menus.
The old Graphics class is no more.
I've also fixed some "reverse stereo" regressions from the first part of
the restructuring.
I'm not sure what the next step will be, but hopefully it will be smaller
than this one was.
svn-id: r16812
the same thing as one for each music stream. If both music streams are
playing music from the same CD, they will both take turns at using the same
file handle.
The only case where both file handles are used is when music from one CD is
fading in while music from the other CD is fading out. Which of course can
only happen if you play the game from hard disk. If the game has to ask for
the other CD, it kills the music immediately.
The reason for doing this is that there was some concern about whether
having two file handles open to the same file was portable or not. I don't
think that question was ever fully answered, so I avoid the situation.
svn-id: r16753
In this first step, I have moved all opcode functions into functions.cpp,
instead of having them scattered all over the place.
To get things to compile again, I had to rewrite the overly complicated
sound effects handling. It's much simpler now.
The next step will be to move any non-trivial code out of the opcode
functions and into the appropriate object. This, I hope, will make it
easier to create well-separated objects, instead of the current mess.
I also want to tear down the artificial boundary between the main directory
and the "driver" directory. We already have a cross-platform layer; there's
no need to have yet another one. (Actually, the rewriting of the sound
effects code took one first step in this direction.)
At the final stage, I'd like to get rid of the "drivers" directory
completely, but I'll probably need some help with that if I want to
preserve the CVS history of the code.
Things will probably be a bit bumpy along the way, but I seem to have
reached a point of relative stability again, which is why I'm commiting
this now.
svn-id: r16668
beside the slider handle can move it more than one step. (When the volume
range was 0-14 or 0-16 this wasn't needed, but now it's 0-255.)
svn-id: r16633
MIN() and MAX(). I then removed util.h from a bunch of files which I don't
think need it any more. (Please let me know if I got too blood-thirsty!)
This reverts some of the changes I made this morning.
svn-id: r16541
Also, failing the script checksum test is no longer a fatal error. There
has been a report that could mean there is a German version with incorrect
checksums. Whether or not this change will make it playable is an entirely
different matter, of course.
svn-id: r16341