Filippos Karapetis
ff284c9f5b
Remove unused includes when INCLUDE_OLDGFX is not set. Implemented the full screen updates that the current menu code is doing using new graphics functions (still unfinished). Some cleanup.
...
svn-id: r45536
2009-10-30 12:33:05 +00:00
Martin Kiewitz
8178d548eb
SCI/newgui: Defining color white and others in SciGuiScreen and using that. Also clears screen with 0 on sci1.1 games (needs further investigation), fixes pictures
...
svn-id: r45500
2009-10-29 14:16:20 +00:00
Filippos Karapetis
04ab6bc9fc
Enclose all of the old graphics code within the INCLUDE_OLDGFX safeguard (defined in sci.h)
...
svn-id: r45459
2009-10-28 13:20:30 +00:00
Filippos Karapetis
1a4b617398
- Removed graphics options code from the old GUI. Almost all of them are not 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-25 20:53:07 +00:00
Filippos Karapetis
410c298757
Cleanup
...
svn-id: r45368
2009-10-25 08:10:57 +00:00
Filippos Karapetis
452ae8a576
Cleanup
...
svn-id: r45366
2009-10-25 02:36:51 +00:00
Filippos Karapetis
f5b7f85593
Removed unused references to operations.h
...
svn-id: r45217
2009-10-18 10:50:07 +00:00
Filippos Karapetis
a6445d602d
Reverted an accidental change in the last commit
...
svn-id: r45177
2009-10-16 23:31:31 +00:00
Filippos Karapetis
e4c23834dd
Moved sci_ffs() inside iterator.cpp, the only place where it's actually used, and removed tools.*. Also, removed all the unused includes to tools.h from several places
...
svn-id: r45176
2009-10-16 23:29:00 +00:00
Filippos Karapetis
da7652deb3
Changed the KQ6 floppy SEQ decoder to use the common VideoPlayer interface. Some cleanup
...
svn-id: r45124
2009-10-15 15:17:54 +00:00
Filippos Karapetis
5aa1415397
Merged the cursor manipulation code - cursor views are still not done
...
svn-id: r45028
2009-10-13 16:22:07 +00:00
Filippos Karapetis
9b97f21486
Reset the EngineState pointer in the SciGuiGfx class when loading. Fixes loading with the new GUI
...
svn-id: r44934
2009-10-11 16:47:01 +00:00
Filippos Karapetis
8ae4206373
Introduced a new debug level, kDebugLevelResMan, and reduced some of the messages printed to the console
...
svn-id: r44858
2009-10-10 00:07:19 +00:00
Filippos Karapetis
9bb73a8457
Removed the unused _flags variable from EngineState
...
svn-id: r44857
2009-10-09 23:53:37 +00:00
Filippos Karapetis
b91ae69ad2
Removed the now unused GF_SCI0_OLDGETTIME flag and simplified all of the game entries in the detector
...
svn-id: r44856
2009-10-09 23:19:53 +00:00
Filippos Karapetis
bcade54247
Started rewriting the check for the graphics functions type (still not finished)
...
svn-id: r44787
2009-10-08 14:37:55 +00:00
Filippos Karapetis
498d80a510
Don't store the engine state in the SciGuiPalette class. The palette timestamps are now calculated from Epoch time, instead of game start time (the functionality is exactly the same, though)
...
svn-id: r44773
2009-10-08 08:00:30 +00:00
Max Horn
8498d769be
SCI: Reduce header interdepencies once again. Rule of thumb: Never include a 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 23:04:13 +00:00
Filippos Karapetis
1562add631
- Cleaned up the cursor code
...
- 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-07 21:29:47 +00:00
Martin Kiewitz
337dbf2289
SCI: removed OSystem from SciGuiScreen
...
svn-id: r44731
2009-10-07 12:52:21 +00:00
Martin Kiewitz
77b549a0ad
SCI: SciGuiCursor class added, cleanup, OSystem removed from SciGui constructor
...
svn-id: r44730
2009-10-07 12:47:53 +00:00
Filippos Karapetis
6d135e904f
WIP code for replacing the FreeSCI view decoding code with the new one (no changes to the logic, yet)
...
svn-id: r44717
2009-10-06 19:57:55 +00:00
Filippos Karapetis
df29b0067e
- Unified the screen buffers that are used by the current and the new GUI
...
- 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-06 12:26:13 +00:00
Filippos Karapetis
8568892bf5
- Renamed GUI -> Gui and capitalized as appropriate (e.g. SciGUIwindowMgr -> SciGuiWindowMgr)
...
- Renamed "cell" -> "cel"
svn-id: r44649
2009-10-05 07:10:01 +00:00
Martin Kiewitz
4957ec3505
SCI: kAddToPic, kAnimate and kSetNowSeen transferred to SciGUI32, not yet implemented in newgui
...
svn-id: r44606
2009-10-04 14:59:51 +00:00
Willem Jan Palenstijn
b9cdb1abb7
SCI: Merge new GUI code written by m_kiewitz.
...
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-10-03 20:49:18 +00:00
Filippos Karapetis
bbb2274a7d
- Removed some leftover 16/32bpp color code, as we're always using palette mode now
...
- Simplified the mouse cursor manipulation code
svn-id: r44502
2009-09-30 22:43:29 +00:00
Filippos Karapetis
fd21bb2611
- Moved the list of synonyms and parser nodes inside the vocabulary class
...
- Added a convenience member inside the EngineState struct to access the instance of the Vocabulary class
svn-id: r44481
2009-09-30 12:17:38 +00:00
Filippos Karapetis
d72ad75c52
Reverted commit #44316 , as colors show up correctly now without dithering. Dithering is now off again for SCI0 by default, an can optionally be turned on
...
svn-id: r44339
2009-09-25 10:11:31 +00:00
Filippos Karapetis
842602ee8c
Set dithering to the FreeSCI "enhanced" style by default for SCI0 games, as 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-24 19:38:02 +00:00
Max Horn
ba0bd938e4
SCI: Rename _sciVersion to s_sciVersion and made it local to resource.cpp (i.e. follow CFG and achieve code/data isolation)
...
svn-id: r44271
2009-09-23 12:12:37 +00:00
Filippos Karapetis
13ad217cdd
- Moved the SCI version in a global variable
...
- 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-23 10:55:35 +00:00
Max Horn
c5cc785802
SCI: Change SystemStrings to use RAW storage consistenly
...
svn-id: r44246
2009-09-22 01:08:42 +00:00
Max Horn
5f440854b7
SCI: Add EngineState::_kernel member for convenience
...
svn-id: r44173
2009-09-17 17:00:36 +00:00
Max Horn
b2c386ed00
SCI: Move parts of struct ScriptState into a new struct DebugState
...
svn-id: r44151
2009-09-17 13:21:19 +00:00
Filippos Karapetis
f98dc19f71
Removed some leftover debug code, and turned p0printf messages into debug messages, introducing a new debug level
...
svn-id: r43993
2009-09-06 21:56:49 +00:00
Filippos Karapetis
9381362277
Removed the bilinear and trilinear FreeSCI scalers, and only left the 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-04 09:44:06 +00:00
Filippos Karapetis
f5d846d482
Removed the animation_granularity variable from the engine state (it never changes, and it's used in one place only)
...
svn-id: r43936
2009-09-04 07:21:51 +00:00
Filippos Karapetis
557aaab0e6
- Re-added the SCI0 dithering code. Dithering is disabled by default. Added 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-03 07:01:48 +00:00
Filippos Karapetis
2f99fea9a3
Removed the dirty rectangle option of updating one huge rectangle, and only 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-02 13:21:38 +00:00
Filippos Karapetis
1bbab8f191
Some renaming:
...
getresourceManager -> getResourceManger
resourceManager -> resMan
segmentManager ->segMan
svn-id: r43908
2009-09-02 12:02:37 +00:00
Filippos Karapetis
aace86a6eb
Disabled the FreeSCI PIC0 palette dithering code, for now. It doesn't really 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-01 21:24:09 +00:00
Filippos Karapetis
da34dfcd65
Disabled dithering by default, in order to get the graphics filters working (is dithering even used anywhere?)
...
svn-id: r43897
2009-09-01 20:47:49 +00:00
Filippos Karapetis
28e2f0457e
Re-enabled custom graphics options, and read the cursor, view, pic and text 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-09-01 20:28:44 +00:00
Filippos Karapetis
cc17addebf
Removed many bogus return values in the SCI graphics functions - some 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-31 14:24:35 +00:00
Walter van Niftrik
3e543d2518
SCI: Add lofs detection.
...
svn-id: r43824
2009-08-30 14:53:58 +00:00
Walter van Niftrik
fff023794f
SCI: Cleanup
...
svn-id: r43811
2009-08-30 01:37:27 +00:00
Matthew Hoops
b5da8a5cdc
- Split SCI_VERSION_32 into SCI_VERSION_2, SCI_VERSION_2_1, and 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 23:02:57 +00:00
Filippos Karapetis
ed66cad677
- Simplified the parameters of some functions
...
- 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-25 08:38:14 +00:00
Andre Heider
007f68366f
Renamed ENABLE_RGB_COLOR to USE_RGB_COLOR, and added it to config.h to guarantee a consistent build.
...
svn-id: r43604
2009-08-21 18:16:37 +00:00