Commit Graph

170 Commits

Author SHA1 Message Date
Filippos Karapetis
e130aecc4f Wrapped all the still WIP SCI32-specific code around appropriate ifdef blocks. SCI32 has fundamental differences from previous SCI versions (e.g. direct point addressing is no longer possible), most of SCI32 games use SVGA resolutions and currently a lot of SCI32 specific code is missing (like, for example, the newer string and array handling functions, the widget system etc). This has been done in the same manner as in the SCUMM and SAGA engines.
svn-id: r39750
2009-03-30 07:53:32 +00:00
Max Horn
c21110f36e SCI: Match signature of readResourceMapSCI0 and readResourceMapSCI1 (helpful if we ever want to turn this into overloaded methods of ResourceManager subclasses, one subclass for each SCI version)
svn-id: r39701
2009-03-26 13:11:30 +00:00
Max Horn
c592bf3300 SCI: Cleaned up the decompressor comments and code a little bit
svn-id: r39698
2009-03-25 23:47:16 +00:00
Filippos Karapetis
58a66cb3cd Use the default kernel vocabulary names for SCI1 games, instead of reading the unreliable (in SCI1 games) 999.voc resource. KQ5 and EcoQuest 1 now work properly, and all other SCI1 games seem to be unaffected and working with this change. If there's any SCI1 game with different kernel vocabulary names, we can add special flags to it to our detector, so this change fixes more than it breaks :)
svn-id: r39694
2009-03-25 22:37:08 +00:00
Max Horn
1e94b9cd3c SCI: Rewrote vocabulary code to use a Common::HashMap<String,ResultWord>
svn-id: r39671
2009-03-24 17:42:12 +00:00
Max Horn
65b96f6a1b SCI: Changed vocab_tokenize_string to not 'return' the list it generates, but rather pass a reference to an existing list to it (this is a bit more efficient, and allows us to return an error value)
svn-id: r39670
2009-03-24 17:41:46 +00:00
Max Horn
d38590e6d4 SCI: Turned synonyms list into a Common::List
svn-id: r39669
2009-03-24 17:41:26 +00:00
Max Horn
5433adc69b SCI: Fixed warning
svn-id: r39400
2009-03-14 17:11:31 +00:00
Greg Frieger
782c394dd7 - LZS Decompressor added
- Some code clean-up

svn-id: r39385
2009-03-14 08:43:28 +00:00
Greg Frieger
d00a9e9a7d Fixed SCI32 Map detection
svn-id: r39384
2009-03-14 08:41:11 +00:00
Greg Frieger
b5cc1eec7e Some rewrites and clean-ups in decompressing functions. View and Pic post-processing functions reverted back to FreeSCI ones.
svn-id: r39383
2009-03-14 04:17:03 +00:00
Filippos Karapetis
6751eace05 Applied gregfrieger's fix on decodeRLE()
svn-id: r39367
2009-03-13 01:26:51 +00:00
Greg Frieger
35d0744f31 ResourceManager:
- RESOURCE.MSG and MESSAGE.MAP added to source List
- Small changes in patch processing code to avoid loading wrong files

svn-id: r39345
2009-03-11 22:52:54 +00:00
Greg Frieger
eca41c0d11 ResourceManager:
- Keep a list of opened volumes to avoid redundant file opens
- Internal functions moved from public to protected

svn-id: r39334
2009-03-11 20:15:42 +00:00
Johannes Schickel
35c4aec93f Formatting.
svn-id: r39330
2009-03-11 16:13:28 +00:00
Greg Frieger
17664dce40 More clean-ups in decompression classes
svn-id: r39329
2009-03-11 04:38:54 +00:00
Max Horn
47cf6a0151 SCI: Formatting changes (using astyle)
svn-id: r39325
2009-03-11 01:40:08 +00:00
Max Horn
486900a8e5 SCI: Fix warning
svn-id: r39324
2009-03-11 00:41:31 +00:00
Greg Frieger
738160d17a Some clean-up of DecompressorComp3 class
svn-id: r39323
2009-03-11 00:23:18 +00:00
Johannes Schickel
e7d806188f Yet another few tiny formatting fixes.
svn-id: r39320
2009-03-10 22:30:38 +00:00
Johannes Schickel
91ce0ce123 Formatting.
svn-id: r39319
2009-03-10 22:18:16 +00:00
Johannes Schickel
b4ef8aba75 Made Decompressor's destructor virtual. (fixes compilation and should fix possible leaks)
svn-id: r39318
2009-03-10 22:11:11 +00:00
Greg Frieger
0a38541cc5 Resource decompression functions moved to scicore\decompressor.cpp and turned into classes.
svn-id: r39311
2009-03-10 21:44:03 +00:00
Max Horn
6c93249715 SCI: result_word_t -> ResultWord; switched to Common::List for storing lists of ResultWords
svn-id: r39278
2009-03-09 22:25:33 +00:00
Sven Hesse
6ccb7bea5b Added more missing NULLing
svn-id: r39246
2009-03-08 22:44:47 +00:00
Willem Jan Palenstijn
52f3b24668 Restore potentially useful info deleted in r39188
svn-id: r39228
2009-03-08 14:27:35 +00:00
Max Horn
efa5493b2d SCI: Changed suffix list to be stored as a Common::List; also fixed spelling: suffices -> suffixes
svn-id: r39214
2009-03-08 08:17:43 +00:00
Max Horn
7cf72e8a17 SCI: Renamed vocab.cpp to vocabulary.cpp, to match the name of the header file
svn-id: r39213
2009-03-08 08:17:18 +00:00
Max Horn
877629cb2e SCI: replaced get_int_16 by READ_LE_UINT16, and got rid of inverse_16
svn-id: r39212
2009-03-08 08:16:08 +00:00
Max Horn
aad0ad3fa6 SCI: Added new header gfx/font.h and removed some dead code
svn-id: r39211
2009-03-08 08:15:56 +00:00
Filippos Karapetis
1e29983d8e Replaced getInt16, getUInt16 and putInt16
svn-id: r39189
2009-03-07 16:14:20 +00:00
Filippos Karapetis
f05e49433c Removed unused code
svn-id: r39188
2009-03-07 15:48:54 +00:00
Greg Frieger
309fb5f60b Fixed crash when reading some SCI1 resource map
svn-id: r39185
2009-03-07 14:40:58 +00:00
Greg Frieger
de20838804 Added detection of SCI1.1 and SCI32 resource volumes
svn-id: r39175
2009-03-07 05:44:36 +00:00
Greg Frieger
f1dd168aae Merged scicore/resource_map.cpp and scicore/resource_patch.cpp to scicore/resource.cpp because these remaining functions are members of ResourceManager
svn-id: r39172
2009-03-07 04:49:34 +00:00
Greg Frieger
7fe1dbdf16 Cleaned / reworked readResourceMapSCI0 and readResourceMapSCI1
Removed unused functions and #defines

svn-id: r39171
2009-03-07 04:42:59 +00:00
Greg Frieger
18efc44768 Use map/volume versions from detection.cpp if set
svn-id: r39170
2009-03-07 01:08:34 +00:00
Greg Frieger
f028f53d3e Map/volume loader and version detection functions cleaned and reworked.
Autodetection still misdetects some SCI1/SCI1.1 games though.

svn-id: r39169
2009-03-07 00:59:38 +00:00
Filippos Karapetis
c4a09af0af Cleanup and unification. Merged decryptinit3() inside decrypt3()
svn-id: r39155
2009-03-06 13:09:10 +00:00
Greg Frieger
865b213439 - Change Resource::LRU to use Common::List
- Real patch filename stored and used instead of calling patch_sprintf_funct()
- some fprintf()s replaced with debug() and warning() 

svn-id: r39140
2009-03-05 23:27:02 +00:00
Greg Frieger
b7ad1cf1f2 Removed Resource.location_dir_name
svn-id: r39139
2009-03-05 22:28:00 +00:00
Greg Frieger
5e133bbf93 readResourcePatchesSCI0 and readResourcePatchesSCI1 merged. Some clean-ups
svn-id: r39138
2009-03-05 22:19:29 +00:00
Sven Hesse
2017d1c9ea Added a missing NULLing
svn-id: r39134
2009-03-05 19:43:12 +00:00
Max Horn
66b78a81dd SCI: Moved script.cpp from scicore/ to engine/ (because its header file is there, and it seems its funcs are only called from stuff in engine/)
svn-id: r39108
2009-03-04 05:25:31 +00:00
Max Horn
900fdc514c SCI: Reduce header interdeps
svn-id: r39107
2009-03-04 05:22:29 +00:00
Max Horn
302a99a2c0 SCI: cleanup
svn-id: r39106
2009-03-04 05:19:19 +00:00
Max Horn
2943234d6f SCI: Fix warnings
svn-id: r39103
2009-03-04 04:35:06 +00:00
Greg Frieger
bc3702dcdb - ResourceManager uses HashMap to store and access resource info.
- Changes and clean-ups in resource loading code.

svn-id: r39098
2009-03-03 23:07:06 +00:00
Filippos Karapetis
0c37876830 Merged unpackDCL_hdyn() and unpackDCL() and removed some unused code
svn-id: r39093
2009-03-03 17:50:30 +00:00
Filippos Karapetis
f31990f897 Gave decompression methods more descriptive names. Some cleanup
svn-id: r39082
2009-03-02 22:16:44 +00:00