Age | Commit message (Collapse) | Author |
|
Fixes Trac#10343.
|
|
Fixes Trac#10251.
|
|
|
|
|
|
|
|
|
|
* MGDX has only GM music;
* KQ7 1.x's AdLib data is incomplete, so is not usable even though
it is partially there
Fixes Trac#9789.
|
|
Upon investigation of Sound code across SCI32 games, it was
determined that there are actually (at least) 3 different
revisions, not just a single SCI2.1 version. This patch only
changes the parts of Sound code that are relevant to the correct
use of Audio32.
Fixes Trac#9736, Trac#9756, Trac#9767, Trac#9791.
|
|
Basically just grepped for getOffset calls being assigned to
uint16s and expanded those to uint32 when they looked trivial.
While some of these changes seem superfluous, at least for the
US/English SCI3 games where potentially impacted game scripts are
not large enough to have a problem with 16-bit offsets (e.g. when
feature detecting the sound type), at least some of these changes
are necessary for correct operation of the find_callk debugger
command in SCI3 games. There should not be a reason why any of
these variables need to be kept as uint16, in any case.
|
|
|
|
This patch includes enhancements to the ScummVM integration with
SCI engine, with particular focus on SCI32 support.
1. Fixes audio volumes syncing erroneously to ScummVM in games
that modify the audio volume without user action (e.g. SCI1.1
talkies that reduce music volume during speech playback). Now,
volumes will only be synchronised when the user interacts with
the game's audio settings. This mechanism works by looking for
a known volume control object in the stack, and only syncing
when the control object is present. (Ports and planes were
researched and found unreliable.)
2. Fixes audio syncing in SCI32 games that do not set game
volumes through kDoSoundMasterVolume/kDoAudioVolume, like GK1,
GK2, Phant1, and Torin.
3. Fixes speech/subtitles syncing in SCI32 games that do not use
global 90, like LSL6hires.
4. Fixes in-game volume controls in SCI32 games reflecting
outdated audio volumes when a change is made during the game
from the ScummVM launcher.
5. Fixes SCI32 games that would restore volumes from save games
or reset volumes on startup, which caused game volumes to be
out-of-sync with ScummVM when started.
6. ScummVM integration code for audio sync has been abstracted
into a new GuestAdditions class. This keeps the ScummVM-
specific code all in one place, with only small hooks into the
engine code. ScummVM integrated save/load code should probably
also go here in the future.
Fixes Trac#9700.
|
|
|
|
Pseudo mouse was functionality in SCI1+ games, that allowed the
user to control the mouse via keyboard cursor keys.
This new class only worked, when a tiny difference inside
the keyboard driver happened on kMapKeyToDir calls. We previously
tried to enable this behavior depending on cursor type, but
this didn't work correctly (Larry 5 for example was not detected
as such, but had PseudoMouse support).
|
|
- 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
|
|
Games with newer graphics functions can call kDrawPic with 4 or 8
parameters. Older games call it with 6 parameters. Fixes the about
dialog in Hoyle 1
|
|
|
|
This can be found in the KQ collection
|
|
|
|
|
|
No functionality change has been made with this commit. This avoids
setting and getting the reg_t members directly, and is the basis of any
future work on large SCI3 scripts (larger than 64KB)
|
|
Fall back to the DOS soundtracks in Windows CD versions if the user picks
a non-General MIDI music device, as the Windows tracks only contain MIDI
music
|
|
This is used to set default settings for all custom game options when an
engine starts
|
|
The relevant code wasn't added in the newer commits - this was an
oversight from my part
|
|
|
|
|
|
detection code
|
|
versions of EcoQuest, Jones, KQ5 and SQ4
svn-id: r54476
|
|
kString/kArray kernel functions
svn-id: r54398
|
|
now in SCI3
svn-id: r54295
|
|
- Updated detectLofsType() for SCI3
- Cleaned up op_lofsa and op_lofss and updated them for SCI3
svn-id: r54293
|
|
checking, if sound resources are sci0early or late for sci0early games instead of hardcoding lsl2
svn-id: r52514
|
|
fixes bug #3037012 and lsl2 now has music everywhere
svn-id: r52513
|
|
svn-id: r52311
|
|
svn-id: r51666
|
|
makes polish lsl1 work (its game superclass name got translated, so no "Game" object available) - bug #3037194 thx to dam-soft for his patient help
svn-id: r51557
|
|
The demo really uses kGetMessage and not kMessage. We now detect which version of the message function is used. Thanks to Walter for pointing this out.
svn-id: r51384
|
|
kDoSound(play)
svn-id: r50878
|
|
horribly when clicking on anything
svn-id: r50569
|
|
svn-id: r50431
|
|
Only three Script members remain public (for now)
svn-id: r50428
|
|
fixed some header dependencies in the process
svn-id: r50183
|
|
into errors, instead of warnings
svn-id: r49972
|
|
svn-id: r49563
|
|
svn-id: r49342
|
|
Script class
svn-id: r49327
|
|
were just cloaking functions with a different name
- GET_SEL32 -> readSelector
- GET_SEL32V -> readSelectorValue
- PUT_SEL32 -> writeSelector
- PUT_SEL32V -> writeSelectorValue
Also, changed some selector-related function names and variables to CamelCase
svn-id: r49317
|
|
and 2 properly.
svn-id: r49292
|
|
svn-id: r49246
|
|
svn-id: r48790
|
|
svn-id: r48086
|