Age | Commit message (Collapse) | Author |
|
index tables in memory instead of accessing them over and over again, which caused major slowdowns with cd accesses.
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
|
|
will work even if the file is missing. (This only affects the cutscene
player.)
svn-id: r16806
|
|
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
|
|
CD2 at the same time. There will eventually be a better fix for this, I
hope.
svn-id: r16750
|
|
svn-id: r16680
|
|
svn-id: r16679
|
|
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
|
|
this stage. (So 128 characters is probably excessive, even if the SCUMM
engine uses 256.)
svn-id: r16634
|
|
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
|
|
original code read "LLogic.Logic_up( (*params*65536)+2);".
I don't know where this opcode is actually used, though.
svn-id: r16600
|
|
svn-id: r16580
|
|
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
|
|
svn-id: r16540
|
|
svn-id: r16538
|
|
reduced this (total dependencies on system.h went down from 193 to 85 files)
svn-id: r16527
|
|
of the engine maintainers can look into using it
svn-id: r16503
|
|
svn-id: r16441
|
|
svn-id: r16421
|
|
svn-id: r16397
|
|
svn-id: r16349
|
|
svn-id: r16347
|
|
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
|
|
svn-id: r16337
|
|
svn-id: r16333
|
|
SFX and music; volume is now controlled based on the sound type
svn-id: r16330
|
|
svn-id: r16227
|
|
svn-id: r16026
|
|
svn-id: r16002
|
|
svn-id: r15990
|
|
svn-id: r15960
|
|
svn-id: r15950
|
|
File::exists method
svn-id: r15913
|
|
that change is reflected everywhere
svn-id: r15911
|
|
'directory' parameter from SaveFileManager::openSavefile and listSavefiles (they always use getSavePath() now, which is what we did anyway)
svn-id: r15901
|
|
svn-id: r15890
|
|
There are plans to add some brains to GameDetector class, which will let us
avoid passing detector to init() method.
svn-id: r15873
|
|
svn-id: r15865
|
|
objections)
svn-id: r15849
|
|
svn-id: r15835
|
|
svn-id: r15826
|
|
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
|
|
svn-id: r15810
|
|
itself. :-)
svn-id: r15789
|
|
svn-id: r15701
|
|
svn-id: r15612
|
|
svn-id: r15609
|
|
svn-id: r15594
|
|
svn-id: r15532
|