aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sci.cpp
AgeCommit message (Collapse)Author
2009-10-30Remove unused includes when INCLUDE_OLDGFX is not set. Implemented the full ↵Filippos Karapetis
screen updates that the current menu code is doing using new graphics functions (still unfinished). Some cleanup. svn-id: r45536
2009-10-29SCI/newgui: Defining color white and others in SciGuiScreen and using that. ↵Martin Kiewitz
Also clears screen with 0 on sci1.1 games (needs further investigation), fixes pictures svn-id: r45500
2009-10-28Enclose all of the old graphics code within the INCLUDE_OLDGFX safeguard ↵Filippos Karapetis
(defined in sci.h) svn-id: r45459
2009-10-25- Removed graphics options code from the old GUI. Almost all of them are not ↵Filippos Karapetis
supposed to be modified by the user (e.g. the way lines and brushes are drawn), and we can implement any of them again if needed in the new GUI (but they shouldn't really be needed). - Added a config option to disable dithering in the new GUI if requested, called "undither", which is set to true by default and can be changed to false if needed per game - The per-resource palette code has been removed for now, to be replaced by regular hashmaps (once the FreeSCI scifx reading code has been converted) svn-id: r45378
2009-10-25CleanupFilippos Karapetis
svn-id: r45368
2009-10-25CleanupFilippos Karapetis
svn-id: r45366
2009-10-18Removed unused references to operations.hFilippos Karapetis
svn-id: r45217
2009-10-16Reverted an accidental change in the last commitFilippos Karapetis
svn-id: r45177
2009-10-16Moved sci_ffs() inside iterator.cpp, the only place where it's actually ↵Filippos Karapetis
used, and removed tools.*. Also, removed all the unused includes to tools.h from several places svn-id: r45176
2009-10-15Changed the KQ6 floppy SEQ decoder to use the common VideoPlayer interface. ↵Filippos Karapetis
Some cleanup svn-id: r45124
2009-10-13Merged the cursor manipulation code - cursor views are still not doneFilippos Karapetis
svn-id: r45028
2009-10-11Reset the EngineState pointer in the SciGuiGfx class when loading. Fixes ↵Filippos Karapetis
loading with the new GUI svn-id: r44934
2009-10-10Introduced a new debug level, kDebugLevelResMan, and reduced some of the ↵Filippos Karapetis
messages printed to the console svn-id: r44858
2009-10-09Removed the unused _flags variable from EngineStateFilippos Karapetis
svn-id: r44857
2009-10-09Removed the now unused GF_SCI0_OLDGETTIME flag and simplified all of the ↵Filippos Karapetis
game entries in the detector svn-id: r44856
2009-10-08Started rewriting the check for the graphics functions type (still not ↵Filippos Karapetis
finished) svn-id: r44787
2009-10-08Don't store the engine state in the SciGuiPalette class. The palette ↵Filippos Karapetis
timestamps are now calculated from Epoch time, instead of game start time (the functionality is exactly the same, though) svn-id: r44773
2009-10-07SCI: Reduce header interdepencies once again. Rule of thumb: Never include a ↵Max Horn
header file from another header file unless you absolutely *must* do it; if possible, try to use class forwards instead, and include the headers from source files only svn-id: r44767
2009-10-07- Cleaned up the cursor codeFilippos Karapetis
- Renamed gui -> _gui in EngineState, for consistency - Added a reference to SciGuiCursor in EngineState, to be used by current code - Renamed setCursorHide -> hideCursor, setCursorShow -> showCursor - Moved the cursor zone limiting code inside SciGuiCursor. This code is currently not functioning, as we need to call refreshPosition() before each updateScreen() call to limit the cursor position. svn-id: r44760
2009-10-07SCI: removed OSystem from SciGuiScreenMartin Kiewitz
svn-id: r44731
2009-10-07SCI: SciGuiCursor class added, cleanup, OSystem removed from SciGui constructorMartin Kiewitz
svn-id: r44730
2009-10-06WIP code for replacing the FreeSCI view decoding code with the new one (no ↵Filippos Karapetis
changes to the logic, yet) svn-id: r44717
2009-10-06- Unified the screen buffers that are used by the current and the new GUIFilippos Karapetis
- Replaced the FreeSCI line drawing code (which is actually Bresenham) with Graphics::drawLine(), after discussing with waltervn. This shouldn't bring any regressions, as we're no longer offering the option to scale the background at a vector level. After playing through some of the games, I haven't noticed any regressions - Some cleanup svn-id: r44692
2009-10-05- Renamed GUI -> Gui and capitalized as appropriate (e.g. SciGUIwindowMgr -> ↵Filippos Karapetis
SciGuiWindowMgr) - Renamed "cell" -> "cel" svn-id: r44649
2009-10-04SCI: kAddToPic, kAnimate and kSetNowSeen transferred to SciGUI32, not yet ↵Martin Kiewitz
implemented in newgui svn-id: r44606
2009-10-03SCI: Merge new GUI code written by m_kiewitz.Willem Jan Palenstijn
This is a major rewrite of the graphics code. A slightly adapted version of the old code is still available and currently the default. The new code is selectable in sci.cpp, but is not yet finished. svn-id: r44565
2009-09-30- Removed some leftover 16/32bpp color code, as we're always using palette ↵Filippos Karapetis
mode now - Simplified the mouse cursor manipulation code svn-id: r44502
2009-09-30- Moved the list of synonyms and parser nodes inside the vocabulary classFilippos Karapetis
- Added a convenience member inside the EngineState struct to access the instance of the Vocabulary class svn-id: r44481
2009-09-25Reverted commit #44316, as colors show up correctly now without dithering. ↵Filippos Karapetis
Dithering is now off again for SCI0 by default, an can optionally be turned on svn-id: r44339
2009-09-24Set dithering to the FreeSCI "enhanced" style by default for SCI0 games, as ↵Filippos Karapetis
disabling dithering makes some colors not show up correctly (e.g. the trees in Iceman and LSL3). Dithering can still be disabled on a per-game basis by using the "dither_mode" option svn-id: r44316
2009-09-23SCI: Rename _sciVersion to s_sciVersion and made it local to resource.cpp ↵Max Horn
(i.e. follow CFG and achieve code/data isolation) svn-id: r44271
2009-09-23- Moved the SCI version in a global variableFilippos Karapetis
- Changed all the SCI version checks to use getSciVersion() - Also made getSciVersionDesc a global function (removes some ugly accessing of the SCI engine) The fallback detector should work correctly now svn-id: r44269
2009-09-22SCI: Change SystemStrings to use RAW storage consistenlyMax Horn
svn-id: r44246
2009-09-17SCI: Add EngineState::_kernel member for convenienceMax Horn
svn-id: r44173
2009-09-17SCI: Move parts of struct ScriptState into a new struct DebugStateMax Horn
svn-id: r44151
2009-09-06Removed some leftover debug code, and turned p0printf messages into debug ↵Filippos Karapetis
messages, introducing a new debug level svn-id: r43993
2009-09-04Removed the bilinear and trilinear FreeSCI scalers, and only left the ↵Filippos Karapetis
unfiltered scaler in (to be replaced by ScummVM's scaler code). We really don't need bilinear and trilinear filtered scaling in the engine, as ScummVM's filters already perform bilinear and trilinear filtered scaling, if requested svn-id: r43938
2009-09-04Removed the animation_granularity variable from the engine state (it never ↵Filippos Karapetis
changes, and it's used in one place only) svn-id: r43936
2009-09-03- Re-added the SCI0 dithering code. Dithering is disabled by default. Added ↵Filippos Karapetis
the 3 dithering modes as an enum (and reorganized them a bit) - Added 3 config options for dithering in the ini file - mainly for purists (config option "dither_mode"): 0 - disabled, 1 - 16 color dithering (Sierra style) and 2 - 256 color dithering - Dithering is now always applied depending on the screen scale (removed the relevant parameter) - Removed the background picture buffering option, used to speed-up room changes. Room changing is quite fast (instantaneous), and the extra memory allocated is not worth the possible speed increase in small devices. Plus.... there is no reliable value to set this option to, so there is no point in letting the user decide what value to put there using guesswork svn-id: r43915
2009-09-02Removed the dirty rectangle option of updating one huge rectangle, and only ↵Filippos Karapetis
left the algorithm of updating the screen with multiple small rectangles, like we do in all the other engines that support dirty rectangle screen updates svn-id: r43909
2009-09-02Some renaming:Filippos Karapetis
getresourceManager -> getResourceManger resourceManager -> resMan segmentManager ->segMan svn-id: r43908
2009-09-01Disabled the FreeSCI PIC0 palette dithering code, for now. It doesn't really ↵Filippos Karapetis
make sense to dither, as Sierra games use up to 256 colors (even the later SVGA ones), and it messes up the result of the FreeSCI graphics filters. Plus, the resulting image looks worse than the original one svn-id: r43901
2009-09-01Disabled dithering by default, in order to get the graphics filters working ↵Filippos Karapetis
(is dithering even used anywhere?) svn-id: r43897
2009-09-01Re-enabled custom graphics options, and read the cursor, view, pic and text ↵Filippos Karapetis
filtering algorithm options from the ScummVM ini file (options "cursor_filter", "view_filter", "pic_filter" and "text_filter", 0 - unfiltered, 1 - bilinear filtering, 2 - trilinear filtering) svn-id: r43894
2009-08-31Removed many bogus return values in the SCI graphics functions - some ↵Filippos Karapetis
functions always returned "true", whereas in others they errored out in fatal conditions before any value was returned. FreeSCI was returning values from the graphics drivers it used. In ScummVM, we have one graphics driver, and we error out in fatal conditions anyway, so these error checks are no longer necessary, and the resulting code looks much neater svn-id: r43851
2009-08-30SCI: Add lofs detection.Walter van Niftrik
svn-id: r43824
2009-08-30SCI: CleanupWalter van Niftrik
svn-id: r43811
2009-08-25- Split SCI_VERSION_32 into SCI_VERSION_2, SCI_VERSION_2_1, and ↵Matthew Hoops
SCI_VERSION_3 (each version has a different kernel table). - Improve map detection. - Fix SCI32 object and script initialization (Torin's Passage and GK1 scripts now start up, and probably most SCI2/2.1 games). - Add SCI2 and SCI2.1 kernel tables. svn-id: r43742
2009-08-25- Simplified the parameters of some functionsFilippos Karapetis
- Replaced some EngineState parameters - The SCI version is now obtained from the resource manager or the segment manager, thereby simplifying several functions - Plugged 2 leaks in the fallback detector - Renamed the segment manager and resource manager to "segmentManager" and "resourceManager" in all places, for consistency svn-id: r43722
2009-08-21Renamed ENABLE_RGB_COLOR to USE_RGB_COLOR, and added it to config.h to ↵Andre Heider
guarantee a consistent build. svn-id: r43604