Age | Commit message (Collapse) | Author |
|
|
|
|
|
This allows to store pointers and fundamental types in a SegmentObjTable.
|
|
The former template hack relied on specialized functions for various types. We
use a hand crafted set of functions for serialization functionality now.
|
|
KQ6 CD sets a global depending on lowres/hires state right at the
start and some scripts are using it instead of calling kPlatform.
This causes some graphics to be incorrect (well lowres)
in case the user saves in lowres mode, then switches to hires
mode and restores the previously saved game.
We now set that global directly after restoring saved games,
so that this issue does not happen anymore.
KQ6 CD demo did the same.
|
|
Causes issues in at least gk1 (option + inventory plane are shown)
Game::restore is not called, when doing restores from launcher,
so in the original interpreter this script code wasn't called
either.
Fixes option + inventory planes etc. being shown right after
restoring via launcher, when original save/load dialogs were
disabled.
|
|
Fixes graphical issues, when restoring saved games.
SCI32 did not clear the screen and also did not even redraw the
screen on restore. It only redraws elements that have changed.
Behavior verified using TSR in DOSBox (see comments).
Also added comment about clearing the screen for SCI16.
|
|
- Patch game super object for saving instead of game object
- Remove re-adding planes+screen items, game::replay does that
We would only have to do that for soft-failing on restore
- Change debug levels of kNumLoops/kNumCels to 9
- Add special comment about -info- selector in syncWithScripts()
This should now make ScummVM menu saving work properly at
least in SQ6.
|
|
Fixes restoring saved games, when ScummVM dialogs are patched in
Removing clearing planes+screen items as well, because the scripts
actually did that, but did not clear everything.
Fixes "Invalid screen item" message when entering options menu,
after restoring in SQ6.
|
|
+ Mother Goose SCI1.1
Fixes graphic issues when restoring from GMM
Also make the fix ups for Mixed Up Mother Goose, Jones + PQ2
get applied all the time (debugger command not included)
|
|
|
|
This means tick-based times are saved to save games, as in SCI32
engine, instead of seconds, which are not accurate enough. It
also means places in SCI engine that need to access game ticks
should do so through g_sci instead of g_system or g_engine.
|
|
This also fixes kPalCycle signatures to be more accurate.
|
|
Graphics palette code was rewritten between SCI1 and SCI2, so
SCI32 palette engine code has been moved to a separate GfxPalette32
class.
|
|
- 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
|
|
|
|
|
|
primarily to clear kPortrait graphics in kq6
when restoring during portrait animation
|
|
otherwise we could free hunk space of the
loaded saved game
|
|
will delay restoring a saved game until the next
kGetEvent or kWait
also implement aborting playback for kPortrait
and kShowMovie
|
|
don't put restored script windows into
_windowList[]
|
|
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.
|
|
Previously, it would only sort if a song wasn't already in the playlist.
Since initSound already adds it, this effectively prevented the list
from being sorted.
|
|
The playBed option is not handled yet, only stored. This increases
the savegame format version.
|
|
The previous explanation just wasn't true.
|
|
|
|
|
|
|
|
This is because objects may be loaded before their base objects,
which causes initBaseObject to fail for SCI0.
Script::initializeObjectsSci0 already did this, but
SegManager::saveLoadWithSerializer did not when calling
initBaseObject after loading a savegame.
|
|
|
|
|
|
|
|
|
|
it seems that sound system up till SCI0_LATE uses int16, afterwards it seems they changed to byte
main music object (conMusic) in Laura Bow 1 uses -1 as priority. This was truncated to 255 till now, which resulted in many sound effects not getting played, because those used priority 0
|
|
|
|
|
|
We make sure that any leftover palVary timers are removed when
loading. This is an edge case, but it won't hurt to remove these
timers just in case
|
|
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)
|
|
Merge the init() and load() Script methods and reset the script when
necessary
|
|
|
|
|
|
|
|
|
|
which depends on the mixer thread for timer calls.
The issues seems to be known. See comments (not by me) in SciMusic::clearPlayList().
For the same reason mentioned there the mutex may also not be locked before calling clearPlayList().
|
|
- Unified the sound resource initialization code in
processInitSound() and reconstructPlayList()
- Now checking the "Mixed Adlib/MIDI" mode checkbox for SCI1.1 digital
audio sound effects, like it's done for SCI0 - SCI1 sound effects. If
it's unchecked, their MIDI counterparts will play instead, if
available
|
|
|
|
|
|
|
|
The frames/items in GfxFrameout need to be cleared upon loading
|
|
This was an omission, observed after a discussion with clone2727
|