Filippos Karapetis
876a7b657f
Removed the hi-color code (16bpp & 24bpp). All SCI games use up to 256 colors, so hi-color isn't really used anywhere, and it only makes the overall code more complex for no reason
...
svn-id: r43994
2009-09-06 22:27:29 +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
Max Horn
eb8cf07db2
SCI: Rename SegManager::exports_wide to _exportsAreWide and changed it to a bool, and rename setExportWidth() to setExportAreWide()
...
svn-id: r43988
2009-09-06 13:01:26 +00:00
Max Horn
fdaa3d423c
SCI: Script::obj_indices is now protected
...
Add new methods init, allocateObject and getObject to class Script, and use them instead of directly accessing Script::obj_indices. Replace RAW_GET_CLASS_INDEX with Script::getObject()
svn-id: r43987
2009-09-06 13:01:00 +00:00
Max Horn
a550e2ea10
SCI: Replace "IntMapper *id_seg_map" in SegManager with a Common::HashMap<int,int>
...
This simplifies the code considerably. Also changed the savegame format
accordingly, which required me to bump the format version to 10. Old
saves should still load fine.
svn-id: r43986
2009-09-06 13:00:30 +00:00
Max Horn
1d075291da
SCI: Convert saveload code to use the versioning feature of Common::Serializer
...
svn-id: r43985
2009-09-06 12:59:56 +00:00
Max Horn
029e3a5703
SCI: cleanup
...
svn-id: r43984
2009-09-06 12:59:34 +00:00
Max Horn
b51e9988e6
SCI: cleanup
...
svn-id: r43982
2009-09-06 12:58:43 +00:00
Max Horn
fdbb167ea3
SCI: Cleanup for some SegManager internals
...
- rename segGet and getSegment to getScriptSegment; the two can be
distinguished by the parameter count.
- rename type SCRIPT_GET to ScriptLoadType to conform with our code
formatting conventions
- rename get_class_address to getClassAddress
- some cleanup
svn-id: r43981
2009-09-06 12:58:16 +00:00
Max Horn
d04b5d2c9b
SCI: Rename resManager -> resMan; segManager -> segMan
...
svn-id: r43980
2009-09-06 12:57:42 +00:00
Max Horn
c0ff500b0a
SCI: Rename player -> s_player and made it static; allocate MemoryReadStream in two cases on the stack, for simplicity
...
svn-id: r43979
2009-09-06 12:56:50 +00:00
Max Horn
cd7a32eed0
SCI: Change script_lookup_export to use SegManager::validateExportFunc
...
svn-id: r43978
2009-09-06 12:56:28 +00:00
Filippos Karapetis
bd5ba266b4
Oops
...
svn-id: r43943
2009-09-04 15:47:09 +00:00
Filippos Karapetis
d398c17f79
- Allow SCI games to set the cursor position when it's hidden once again
...
- Changed the message shown when the game tries to move the cursor off the screen bounds from a warning to a debug message, to avoid spam in games that do this behavior, e.g. the Camelot demo
svn-id: r43942
2009-09-04 15:40:15 +00:00
Filippos Karapetis
32af5eb3be
- Removed the gfx error defines. When resources are not found, or are corrupted, we should error out instead of piggy-banking an error flag to another function
...
- Do not try and set the position of the mouse cursor when it's hidden
svn-id: r43941
2009-09-04 15:04:13 +00:00
Walter van Niftrik
dd0ebb7116
SCI: Reset signal before playing song.
...
svn-id: r43940
2009-09-04 14:57:27 +00:00
Filippos Karapetis
c3a13a6ae6
Removed the "reverse alpha" flag from the graphics driver code. Alpha values are now always 0 for transparent, up to 255 for opaque
...
svn-id: r43939
2009-09-04 10:15:12 +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
Sven Hesse
4b4b36cfb1
Fixing signed/unsigned comparison warning
...
svn-id: r43937
2009-09-04 08:37:53 +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
142922387c
Moved some functions inside the SegManager class, and renamed alloc_clone() to allocateClone()
...
svn-id: r43935
2009-09-04 07:17:34 +00:00
Walter van Niftrik
ac078040e1
SCI: Relocate export table when restoring SCI1.1 savegames
...
svn-id: r43916
2009-09-03 11:51:18 +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
9829378a98
Fixed loading again (broken accidentally in rev. 43504
...
svn-id: r43913
2009-09-02 23:11:50 +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
Max Horn
b391f08b46
SCI: Renamed kernel_dereference_* to kernelDeref*, and added kernelDerefString
...
svn-id: r43907
2009-09-02 11:38:16 +00:00
Max Horn
0c7093e05c
SCI:
...
* removed kNOP
* renamed k_Unknown to kUnknown
* added FIXME to kfunct_mappers table
* more cleanup
svn-id: r43906
2009-09-02 11:35:00 +00:00
Max Horn
6c44eafa97
SCI: funct_nr is not used in 99% of all opcodes -- hide it in those (to be removed eventually)
...
svn-id: r43905
2009-09-02 11:33:25 +00:00
Filippos Karapetis
b2415c11c7
Added checksums for KQ5 EGA (bug report #2829470 )
...
svn-id: r43903
2009-09-01 23:07:51 +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
fd92b49486
- Reverted the *vga targets back to *sci, and used the extras field again for VGA remakes
...
- The extras field is now filled by the fallback detector for VGA games
svn-id: r43893
2009-09-01 19:40:29 +00:00
Filippos Karapetis
a191728945
- Added MD5's for the 5 different Crazy Nick's collections
...
- Added the MD5's of the French versions of GK2 and SQ6 (bug reports #2846842 and #2846515 )
- Added a different game id for QFG1 VGA (SCI1.1), to distinguish it from the older EGA version (SCI0) and added detection for the VGA version in the fallback detector
- Changed some VGA SCI game IDs: lsl1sci -> lsl1vga, pq1sci -> pq1vga, sq1sci -> sq1vga, to distinguish SCI VGA remakes from SCI EGA remakes (like with QFG1VGA)
svn-id: r43891
2009-09-01 19:05:21 +00:00
Walter van Niftrik
b0ab5d48f8
SCI: Fix message property of mouse event. This fixes mouse handling in the
...
room with the pier in KQ6.
svn-id: r43888
2009-09-01 17:40:13 +00:00
Filippos Karapetis
2e04dcb133
- Moved the Sierra game ID conversion code inside game.cpp, so that any game-specific workarounds are tested against ScummVM IDs
...
- Added detection for the EcoQuest 1 demo in the fallback detector
- Partially reverted my previous "fix" for EcoQuest 1 CD, and turned it into a script-specific hack for that game, for now
- Added handling of kDisposeScript calls made with 2 parameters, e.g. in KQ5CD and others (still untested, haven't found a test case)
svn-id: r43887
2009-09-01 17:09:59 +00:00
Filippos Karapetis
3d0e8a568c
Fixed incorrect usage of ARRAYSIZE (thanks fingolfin)
...
svn-id: r43886
2009-09-01 14:55:28 +00:00
Max Horn
fbfe40d7e2
SCI: Turned convertSierraGameId partially into a table
...
svn-id: r43883
2009-09-01 13:03:32 +00:00
Max Horn
11a16fa30e
Coding best practice: Whenever possible, pass objects by reference instead of by value. Also make variables or data table which are only used locally "static".
...
svn-id: r43882
2009-09-01 13:03:12 +00:00
Max Horn
8e28469f1f
Coding best practice: Always use enums instead of #defines to define integer constants (for many good reasons)
...
svn-id: r43881
2009-09-01 13:02:47 +00:00
Filippos Karapetis
28d7d59de3
Changed an error to a warning, as it occurs at the beginning of EcoQuest 1 CD and doesn't seem to have any side effects
...
svn-id: r43876
2009-09-01 06:51:40 +00:00
Filippos Karapetis
267bbb2bb4
Fixed the crash at the beginning of EcoQuest 1 CD
...
svn-id: r43875
2009-09-01 06:45:30 +00:00
Filippos Karapetis
814a37846e
Fixed regression with some weird mouse cursors (e.g. in EcoQuest)
...
svn-id: r43874
2009-09-01 06:21:23 +00:00
Walter van Niftrik
53380a2cbf
SCI: Fix bug in SCI1.1 varselector search.
...
svn-id: r43872
2009-09-01 02:50:40 +00:00
Walter van Niftrik
2777e9f349
SCI: Fix relative cues in SCI1.
...
svn-id: r43871
2009-09-01 02:11:55 +00:00
Filippos Karapetis
fed9e3e2df
Cleanup
...
svn-id: r43869
2009-08-31 21:50:14 +00:00
Filippos Karapetis
fa9ce61a5d
Cleanup
...
svn-id: r43866
2009-08-31 21:41:25 +00:00
Filippos Karapetis
a6f457b45d
Rewrote the static selector mapper to use SCI versions instead of game IDs, and split the selectors in SCI generations
...
svn-id: r43863
2009-08-31 20:45:46 +00:00
Filippos Karapetis
2c9c1119af
- Removed the now-unused "setTarget" selector
...
- Added the "setCursor" selector
- Replaced the selector table of the LSL5 demo with the one from the LSL1 demo (we no longer get a warning about an invalid selector)
- Changed the selector table of the xmas1992 demo to use the table from KQ6 floppy
- Set Laura Bow 2 floppy to use the KQ6 floppy table
svn-id: r43859
2009-08-31 20:21:52 +00:00