Age | Commit message (Collapse) | Author |
|
into a mixer method
svn-id: r17106
|
|
ScummVM standard. It seems the 8-bit version of the code had decayed
slightly, but I believe it's working again now.
svn-id: r17081
|
|
name of the data type / the SoundMixer method names
svn-id: r17052
|
|
about 8 MB.
svn-id: r17007
|
|
either very small or, in the case of driver96.h, a disorganized jumbles.
svn-id: r16952
|
|
loading mp3, ogg or wave data. it blocks the playing thread for too long.
Also added index caching for the speech and music clusters to reduce seeks.
svn-id: r16849
|
|
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
|
|
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: r16421
|
|
svn-id: r16397
|
|
svn-id: r16349
|
|
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: r15990
|
|
svn-id: r15950
|
|
that change is reflected everywhere
svn-id: r15911
|
|
svn-id: r15890
|
|
svn-id: r15594
|
|
svn-id: r15532
|
|
svn-id: r15526
|
|
svn-id: r15332
|
|
svn-id: r15277
|
|
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
|
|
malloc() nowadays! (This only affected the "dummy" player.
svn-id: r14638
|
|
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
|
|
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: r13959
|
|
svn-id: r13956
|
|
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
|
|
svn-id: r13946
|
|
svn-id: r13944
|