Age | Commit message (Collapse) | Author |
|
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
|
|
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
|
|
svn-id: r16580
|
|
svn-id: r16540
|
|
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: r16397
|
|
svn-id: r16349
|
|
svn-id: r16333
|
|
SFX and music; volume is now controlled based on the sound type
svn-id: r16330
|
|
svn-id: r16026
|
|
svn-id: r15950
|
|
that change is reflected everywhere
svn-id: r15911
|
|
svn-id: r15594
|
|
svn-id: r15532
|
|
svn-id: r15526
|
|
svn-id: r15332
|
|
svn-id: r14898
|
|
svn-id: r14888
|
|
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
|
|
implement it - personally I don't see the need - they can get it from CVS.
svn-id: r14819
|
|
clusters. (No, that doesn't mean compressed music is support yet. This is
just a tiny little step closer.)
svn-id: r14794
|
|
problems. Perhaps this will fix it?
svn-id: r14762
|
|
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
|
|
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
|
|
The equally experimental compression tool is in patch #854561.
Support for compressed music will require some restructuring first.
svn-id: r14684
|
|
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
|
|
svn-id: r13956
|
|
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
|
|
resource manager. All new code! All new bugs!
svn-id: r13603
|
|
should only check if the music is fading, not in which direction. (Also
made a minor cleanup.)
svn-id: r13235
|
|
NewGuiColor to OverlayColor; fixed some calls to error() in the SDL backend
svn-id: r13087
|
|
svn-id: r12907
|
|
svn-id: r12739
|
|
actually do; applied patch #886786 which corrects a bug in the balance code
svn-id: r12665
|
|
an in-memory WAV file. At the moment it's only used in one place, which is
a bit silly, but I hope to use it for the cutscene player to figure out
when to start the lead-out music.
(To do that I'll need to know how long the cutscene is, though. I haven't
looked into how to find that out yet.)
svn-id: r12424
|
|
fading-up music to distort and eventually deteriorate into white noise.
This was because I allowed _fade to be set on channels that weren't playing
and because I only checked _fade for equality when deciding when to stop
the fading. It should work much better now, I think.
svn-id: r12392
|
|
grows larger, both when fading up or down. This fixes the problem where the
volume would "jump" when changing the fading "direction" of a stream.
Also changed the logic for deciding which music stream to stop if both
streams are playing and a third stream is started. Before it always tried
to pick the one that was fading down. Now it will pick the one with the
lowest volume, assuming that the more faded a stream is the lower its
volume.
Together, this should fix some abrupt music changes at the watchman's hut,
where it would sometimes start two music streams in rapid succession.
svn-id: r12372
|
|
same amount of time. I don't think the original did this, but it turned out
to be pretty easy.
svn-id: r12334
|
|
svn-id: r12322
|
|
deleted.
svn-id: r12211
|
|
svn-id: r12181
|
|
svn-id: r12116
|
|
svn-id: r12115
|
|
and it now fades both up and down.
Plenty of cleanups, simplifications and just moving code around to group it
in what I hope is a more logical fashion.
Fixed a long-standing bug where spot effects would eventually use up all
available sound effect handles. (I may have introduced this when I removed
the expiration of sound effects from FxServer().)
svn-id: r12108
|
|
svn-id: r12069
|
|
svn-id: r12056
|