Age | Commit message (Collapse) | Author |
|
The resources on CD 1 are corrupt and point to invalid locations
in the CD 1 RESOURCE.AUD. This can be noticed during the briefing
on the Lucy Long callup, where descriptions of the map are missing
and eventually the game gets stuck waiting for missing audio to
finish playback.
|
|
Specifically, audio patches are used in at least PQ:SWAT
(40103.AUD), Lighthouse (9103.AUD), and the GK2 demo (300.AUD).
|
|
|
|
This happened to work previously because the size was not checked
for validity, and because the audio player calculates its own size
so this value was never actually used.
|
|
The invalid entries, which are on CD 6, appear to correspond to
audio that's on CD 4 (though not with the correct offset for CD
4's RESOURCE.AUD).
Skipping the invalid map entries on CD 6 should cause these audio
files to be loaded from the CD 4 audio bundle if they are
requested during chapter six since ScummVM combines resources from
all CDs and matches on their IDs.
|
|
|
|
|
|
When the Resource is deleted, it will deallocate the memory, so
it is not necessary to do that manually.
|
|
|
|
|
|
|
|
Audio directory switching is temporarily disabled because it
causes use-after-free in the resource manager.
|
|
Phant1, PQ:SWAT, GK2, and Phant2 all have different audio maps
and audio volumes on each CD. In order to make this work within
ScummVM, where CDs are never swapped, each RESOURCE.AUD for these
games must be renamed to RESAUD.00x and each RESOURCE.SFX renamed
to RESSFX.00x.
|
|
This should never be allowed to happen, but currently does on
multi-CD games with different resource bundles on difference CDs
(Phant1, PQ:SWAT, GK2) because the resource manager does not yet
have the ability to handle this situation.
|
|
This provides a complete implementation of kDoAudio through
SCI2.1mid, plus partial implementation of SCI3 features.
Digital audio calls shunted through kDoSound have also been
updated to go through the SCI32 audio mixer, though these shunts
are a bit hacky because the ScummVM implementation of kDoSound
does not currently match how SSCI kDoSound is designed.
It is probably possible in the future to just replace the SCI1.1
audio code (audio.cpp) with the new SCI32 code, since the major
differences seem to be that (1) SCI1.1 only supported one digital
audio playback channel (this is configurable already), (2) it
had extra commands for CD audio playback and queued sample
playback.
|
|
Fixes invalid memory access during kq5 floppy ending
|
|
|
|
- Detection works via signatures (couldn't find a better way)
- new kString subcalls were introduced SCI2.1 LATE
- kString now has signatures and is split via subcall table
- kString fix, so that KQ7 doesn't crash, when starting a chapter
- Sci2StringFunctionType removed, because no longer needed
|
|
SCI1 sound resources can have an embedded priority. We now use that by
default, unless an explicit DoSound/SetPriority call overrides it.
Thanks waltervn.
This fixes relative priority of songs in at least PQ3 room 29.
Also increase savegame version to 33.
|
|
|
|
Thanks waltervn
|
|
|
|
This adds MIDI state tracking to allow channels to be temporarily
unmapped and later re-mapped when there are free device channels
available again.
|
|
|
|
Thanks to wjp and [md5] for helping
|
|
This contains the sync data in the Windows version of KQ6CD.
Note that currently the sync36 resource is 2 bytes bigger
(it contains 2 bytes from the RAVE resource). Some test code
has also been added to dump the RAVE sync resources
|
|
|
|
|
|
On some systems, passing signed chars to macros like isspace() etc. lead
to a runtime error. Hence, mark these macros as forbidden by default,
and introduce otherwise equivalent alternatives for them.
|
|
|
|
Many thanks to digitall for finding this one
|
|
Thanks to wjp for pointing it out.
|
|
Thanks to Tron for pointing that out.
|
|
This fixes a potential problem with passing char values that would be sign-extended and yield unexpected results.
See http://msdn.microsoft.com/en-us/library/ms245348.aspx
|
|
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
|
|
|
|
Some backends may break as I only compiled SDL
|
|
MKID_BE relied on unspecified behavior of the C++ compiler,
and as such was always a bit unsafe. The new MKTAG macro
is slightly less elegant, but does no longer depend on the
behavior of the compiler.
Inspired by FFmpeg, which has an almost identical macro.
|
|
dynamically. Also,
moved some audio-specific resource code inside resource_audio.cpp
This functionality is used by kSetLanguage(), called when switching the language in
MUMG Deluxe from the game's main menu.
svn-id: r55872
|
|
svn-id: r55865
|
|
versions of EcoQuest, Jones, KQ5 and SQ4
svn-id: r54476
|
|
the Windows version
svn-id: r54466
|
|
KQ5CD (bug #3041239)
Note that the empty GM track for the Sierra logo makes the game hang, so the
MT-32 track is used, which sounds awful
svn-id: r54464
|
|
svn-id: r54160
|
|
Our warning() and error() functions always add an exclamation mark
to the end of the message anyway.
svn-id: r52791
|
|
Added more graceful handling of the case where SCI32 isn't built in and the
user tries to detect or start a SCI32 game
svn-id: r52789
|
|
svn-id: r52666
|
|
svn-id: r52662
|
|
available track, instead of track 1 (which doesn't always exist, e.g. in Pharkas). Also, added a comment inside applyPatch()
svn-id: r52222
|
|
ID 7 or 12 should be used. Fixes the GM music in the demo of QFG3, which is using an in-between version of SCI1 and SCI1.1
svn-id: r52211
|