aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sci.h
AgeCommit message (Collapse)Author
2016-08-01SCI32: Implement plane transitions (kSetShowStyle and kSetScroll)Colin Snover
This commit implements all of the known plane transitions from SCI2 through SCI2.1mid games. Because kSetShowStyle is always called indirectly via the Styler game script, it is difficult to find all the places where transitions are used. As such, transitions that appeared to never be used have been added as stubs which will trigger a game crash with a message to report what was being done, so any missed transition types can be identified quickly and then implemented.
2016-07-11SCI32: Add detection for Hoyle 5 demoColin Snover
2016-07-10SCI32: Implement kPlayVMDColin Snover
2016-07-06SCI: Add detection for the ImagiNation Network (INN) DemoOmer Mor
2016-06-25SCI: Add getGameObjectName to fix compilationMartin Kiewitz
Is needed for 80462b3 (Fix auto-saving in the fan-made Cascade Quest)
2016-06-21SCI32: Implement line drawing (kAddLine/kUpdateLine/kRemoveLine)Colin Snover
This line drawing code lives in a remodelled GfxPaint32 class that is totally separate from GfxPaint16.
2016-06-20SCI32: Rewrite digital audio engineColin Snover
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.
2016-06-19SCI: Split audio sync to its own classColin Snover
SCI32 has its own audio handling code, but audio sync code is the same as SCI16.
2016-05-17ALL: Change main engine header guard defines to <directory>_<engine>_HEugene Sandulenko
Recently we started to use this as new semantics, although in the past we used simly <engine>_H. Now these guard defines are consistent with rest of the files which are used in the engines.
2016-03-17SCI32: Correct KQ7 version splitColin Snover
The information in the wiki was wrong, KQ7 1.51 is always SCI 2.1 early.
2016-03-17SCI32: Clarify game engine version comments for split-version gamesColin Snover
2016-03-08SCI: Split color remapping functionality into a separate classFilippos Karapetis
Currently, only the SCI16 remapping functionality is implemented (used in the QFG4 demo)
2016-03-08SCI: Separate the demos of QFG4, PQ4 and GK1 from their full versionsFilippos Karapetis
The demo versions of these games were using a very different engine - SCI1.1 vs SCI2/SCI2.1. Thus, we split them into different game IDs, to avoid mixing specific game checks for them, as well as specific game workarounds, which are different for the demos than the full versions. Also, the demos should be working when SCI32 is disabled. For these games, we don't use ADGF_DEMO, to avoid game IDs like foodemo-demo
2016-02-23SCI: Improve kAnimate fastcast detection, Remove EQ1 hackMartin Kiewitz
- Add "kAnimate fast cast state" to "version" debug command - Make it possible for script patcher signatures to get fully used outside of the regular script patcher - Remove previous fastcast detections and replace them with a signature heuristic - Remove object name checking, when fastcast global is set - Heuristic detects "fast cast" support incorrectly for multilingual KQ5, but it seems the game never sets the global, so it won't matter. KQ5 CD (also SCI1 late) has fastcast support. - Remove hack in GfxView::draw - Add lots of comments to ScriptPatcher class This fixes EcoQuest 1 Floppy showing the anemone on top of the message box (see bug #5170)
2016-01-22SCI: add user option for high resolution graphicsMartin Kiewitz
Instead of choosing Windows as platform, users can now also simply click this option for Gabriel Knight 1 + King's Quest 6 Defaults to high resolution graphics
2016-01-14SCI: Use tick-based timing more consistentlyColin Snover
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.
2016-01-10SCI: Fix compilation when SCI32 is disabledWillem Jan Palenstijn
Thanks bSr43
2016-01-07SCI32: Add initial support for palette cycling (kPalCycle) and fading (kPalFade)Colin Snover
Graphics palette code was rewritten between SCI1 and SCI2, so SCI32 palette engine code has been moved to a separate GfxPalette32 class.
2015-12-29SCI32: split up SCI2.1 into EARLY/MIDDLE/LATEMartin Kiewitz
- 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
2015-04-18SCI: add debug level for workaroundsMartin Kiewitz
It's called "Workarounds"
2014-11-04SCI: fix Japanese Space Quest 4 (intro + buttons)Martin Kiewitz
At least SQ4 uses #j text prefix as signal for the interpreter to not use the PC9801 hires font, but to use the internal low res font instead
2014-10-18SCI: Separate the rest of the detection-only functionsFilippos Karapetis
This should fix bug #6717 - "SCI fallback detection assert failure"
2014-02-18SCI: Make GPL headers consistent in themselves.Johannes Schickel
2013-12-04SCI: script patcher is now a separate classMartin Kiewitz
2013-11-20SCI: script patch for laura bow 2 for audio+textMartin Kiewitz
at the same time needs indepth testing
2013-11-01SCI: improved patcher, inventory patch for kq6/macMartin Kiewitz
Also added new debug flag for script patcher
2013-10-31SCI: Update ScummVM's game audio options for SCI1.1 CD gamesFilippos Karapetis
This ensures that ScummVM's game audio options for speech and subtitles get updated when they are changed in the game GUI
2013-08-20SCI: Add support for the King's Questions mini-gameFilippos Karapetis
This can be found in the KQ collection
2012-10-22SCI: Add the Inside the Chest / Benind the Developer's Shield demoFilippos Karapetis
2012-10-08SCI: Add documentation regarding all SCI1.1 CD games in syncIngameAudioOptions()Filippos Karapetis
2012-10-08SCI: Document syncIngameAudioOptions()Filippos Karapetis
2011-11-29SCI: Fix restarting SCI engine with different SCI versionWillem Jan Palenstijn
2011-10-29SCI: Added a new debug flag, "DebugMode" for SCI32 gamesFilippos Karapetis
This is used to enable the embedded debugger in several SCI32 games (PQ4, QFG4, GK1, GK2, KQ7, SQ6 and LSL7)
2011-10-28SCI: Added skeleton code for kEditText (still not working)Filippos Karapetis
2011-10-26SCI: Renamed GfxControls to GfxControls16Filippos Karapetis
2011-09-03SCI32: Added an initial skeleton structure for the SCI2 text drawing codeFilippos Karapetis
This includes kCreateTextBitmap, and moves all of the text drawing code into the new GfxText32 class
2011-06-20ALL: Remove trailing whitespacesMax Horn
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]*$//'
2011-06-03SCI: Switch some char* to Common::String&Max Horn
2011-06-02ENGINES: Change 2nd param of Engine::saveGameState to Common::StringMax Horn
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-03-20SCI: Removed forward references to obsolete classesmd5
2011-03-05SCI: Add comment.Walter van Niftrik
2011-03-04SCI: Use BE string handling for Mac games.Walter van Niftrik
2011-02-28SCI: Cleanup of the save/load dialog patching code and the lofs type ↵md5
detection code
2011-02-27SCI: Renamed SCI_VERSION_1_EGA to SCI_VERSION_1_EGA_ONLYmd5
This renaming allows us to better distinguish that this version is for games that only had an EGA version, and avoid confusion with newer SCI1 game releases with EGA graphics (e.g. KQ5 EGA). The only game with this SCI version is QFG2, a SCI1 EGA game with a parser. Also, added some games for each SCI version.
2011-02-17SCI: Fix Mac icon bar palettesMatthew Hoops
The Mac icon bar uses a palette from the executable and keeps those entries in the palette constantly. In addition, we're now performing gamma correction on the Mac-based colors so that they are in the same gamma as SCI. The color matching now works with this and using the same color finding as the Mac Palette Manager.
2011-02-07SCI: Converted the robot decoder into a regular video decoder, and decoupled ↵Filippos Karapetis
it from the SciEngine class - Robot videos are now shown in frameOut(), like they should, and kRobot(sync) is only used for syncing with the game scripts - Hooked video playing into the "play_video" console command svn-id: r55801
2011-01-27SCI: Set the printLang and parseLang selectors again when restarting, if ↵Filippos Karapetis
necessary. This sets the language again correctly to the language selected in the launcher when restarting multilingual games. svn-id: r55561
2011-01-22SCI21: Allow the game scripts to sync robot videos, like in SSCI. Also, ↵Filippos Karapetis
references of the SciEngine class to itself via g_sci have been removed svn-id: r55422
2010-12-22SCI: Sync in-game speech/subtitle options with the ones from the ScummVM GUI.Filippos Karapetis
- Obtain speech/subtitle options from the ScummVM GUI and set them in CD games. - Also, set simultaneous speech and subtitles in games that support them (currently SQ4 CD and Freddy Pharkas CD). There is no GUI option for setting simultaneous speech and subtitles in Freddy Pharkas CD, so this is the only current way of achieving this (unless the text speed slider inside the Freddy Pharkas options window is repurposed - but that will require extensive changes) svn-id: r55005