Commit Graph

280 Commits

Author SHA1 Message Date
Matthew Hoops
4c8a9ab24a SCI: Add support for Mac SCI1.1+ resource compression
Mac SCI1.1+ games should now start up. QFG1 and Hoyle4 are playable. GK1 starts its scripts, but errors out soon after. There are still some View bugs with each (somehow, view decompression seems to be adding a blank line after each line?).

*Much* thanks to Walter for his help.

svn-id: r55696
2011-01-31 22:45:51 +00:00
David Turner
f2205a5a01 SCI: Close Memory Leaks in SCI Resource Loading, reported by Valgrind.
svn-id: r54916
2010-12-14 23:30:22 +00:00
Johannes Schickel
c14399c229 SCI: Slight formatting fix.
svn-id: r54737
2010-12-02 17:03:21 +00:00
Lars Skovlund
0ac28d1fbf Disable error message regarding RESOURCE.AUD/.SFX for now.
svn-id: r54735
2010-12-02 13:29:49 +00:00
Filippos Karapetis
a702ad5123 SCI3: added a SCI3 implementation of findGameObject(), based on a patch by lskovlun
svn-id: r54284
2010-11-17 11:17:38 +00:00
Filippos Karapetis
f44b084deb SCI: Some restructuring. Added some SCI3 placeholders/stubs
svn-id: r54280
2010-11-17 08:53:02 +00:00
Filippos Karapetis
0470e47145 SCI: The heap was a separate resource in SCI1.1 - SCI2.1 games only. It was later
merged into the script files again in SCI3

svn-id: r54279
2010-11-17 08:30:08 +00:00
Matthew Hoops
405fd0b5eb SCI: Update resource types for SCI2.1/3
svn-id: r54220
2010-11-13 00:20:23 +00:00
Filippos Karapetis
ee85ca0007 SCI: Properly adding SCI3 script patches (a regression of r54211)
svn-id: r54213
2010-11-11 23:46:53 +00:00
Filippos Karapetis
a65ab98726 SCI: Use the new CSC extension for SCI3 scripts
svn-id: r54211
2010-11-11 19:38:32 +00:00
Filippos Karapetis
9d1006c7a3 SCI3: Some changes
- Placed the SCI3 version detection in the proper place
- Some new types of SCI3 MT-32 patches (e.g. in the Lighthouse SCI3 demo) are
ignored, for now

svn-id: r54188
2010-11-10 14:28:45 +00:00
Matthew Hoops
988d9f3401 SCI: Fix SCI2.1+ fallback detection
Each map has to be mapped with its own specific volume (as opposed to earlier versions that had one map for all volumes); this code was passing the same map pointer for all volumes.

svn-id: r54179
2010-11-10 03:34:08 +00:00
Filippos Karapetis
1a85ce8e03 SCI: Some slight work on SCI3
- Enabled the SCI3 game entries for testing purposes
- The resource manager is initialized fully now (with a slight hack)
- Added a hack for the demo of Shivers 2 (which seemingly has no
scripts or vocabularies)
- The engine will stop before parsing any game scripts in SCI3 games,
and opens the console for resource manager-related functionality

svn-id: r54167
2010-11-09 19:37:42 +00:00
Filippos Karapetis
55f0b88c07 SCI: Fixed the fallback detector again
This is a regression from r54155, as we previously ignored the result of 
addInternalSources() in the fallback detector

svn-id: r54163
2010-11-09 17:07:34 +00:00
Matthew Hoops
4582a94ff9 SCI: Fix Lighthouse SCI2.1 demo
This is a regression from r54155. Fixed by moving the chunk resource loading earlier.

svn-id: r54162
2010-11-09 16:56:31 +00:00
Matthew Hoops
567441f032 SCI: Formatting convention fixes
svn-id: r54161
2010-11-09 16:23:08 +00:00
Lars Skovlund
9a0b6ad69a SCI: Add resource manager support for SCI3 games.
ScummVM now rejects them properly instead of spewing lots of
unintelligible stuff. 

svn-id: r54155
2010-11-09 14:25:39 +00:00
Filippos Karapetis
7d71d07075 SCI: Renamed findBlock() to findBlockSCI0()
svn-id: r54077
2010-11-04 23:19:23 +00:00
Max Horn
ba3e826872 SCI: Remove any use of printf
svn-id: r54037
2010-11-02 09:49:47 +00:00
Max Horn
e27b05ef35 COMMON: Rename String::printf() to String::format()
This is a first step towards getting rid of all uses of regular printf,
fprintf, vprintf, vfprintf, puts, fputs, etc. in our codebase.

The name format() reflects the purpose of the function, and parallels
String.format() in Java, boost::format, and others.

svn-id: r54004
2010-11-01 16:02:28 +00:00
Max Horn
3df411df66 MOTOEZX: Fix warning about static not at beginning of declaration
svn-id: r53981
2010-10-31 17:23:53 +00:00
Max Horn
484bf9c269 ALL: Fixup some #define names
svn-id: r52935
2010-09-28 20:30:50 +00:00
Filippos Karapetis
928bcdbe09 SCI: Some changes to the fallback detector (sync with branch 1.2.0)
Added more graceful handling of the case where SCI32 isn't built in and the
user tries to detect or start a SCI32 game

svn-id: r52789
2010-09-18 09:47:18 +00:00
Filippos Karapetis
4e27844fef SCI: Some changes regarding resources
- Renamed the debug command "resource_size" to "resource_info", as it now provides
the location of where a specified resource is found (i.e. the resource.xxx file, or
the file name itself, if the resource is a patch)
- "duskdump" shows the original location of dumped resources
- loadResource() now shows the location of files that couldn't be loaded

svn-id: r52667
2010-09-10 14:07:32 +00:00
Martin Kiewitz
afada2b60d SCI: fixing comment
svn-id: r52517
2010-09-04 09:58:37 +00:00
Martin Kiewitz
89d4e44281 SCI: doing detectDoSoundType() properly sci0early
checking, if sound resources are sci0early or late for sci0early games instead of hardcoding lsl2

svn-id: r52514
2010-09-04 08:51:10 +00:00
Martin Kiewitz
ff24ae66fb SCI: removing debug output from r52259
svn-id: r52263
2010-08-21 14:53:14 +00:00
Martin Kiewitz
864b067f66 SCI: fixing resourcemgr for pharkas/german
pharkas/german has duplicate resource entries inside the main resource files and we used the first ones. This results in half of the game being english and umlauts missing. We now use the last entries, which will fix all those issues (fixes bug #3039551)

svn-id: r52259
2010-08-21 13:36:09 +00:00
Filippos Karapetis
478f6bfc6f SCI: Fix for bug #3046800 - "SCI Fallback detector crashes with several games"
svn-id: r52163
2010-08-17 19:15:55 +00:00
Matthew Hoops
f252c0b67e SCI: Add support for Mac 'crsr' cursors used in SCI2+ games
svn-id: r52076
2010-08-14 04:21:09 +00:00
Martin Kiewitz
c09a968fc0 SCI: adding switch to sci1mid for lsl1/spanish
makes it work, bug #3043270, added FIXME

svn-id: r52071
2010-08-13 21:09:10 +00:00
Filippos Karapetis
0cb8e130d8 SCI: Changed a warning into a debugC
svn-id: r51820
2010-08-07 00:59:40 +00:00
Matthew Hoops
20002588e6 SCI: Hopefully fix signedness warning with some compilers
svn-id: r51699
2010-08-03 15:33:35 +00:00
Matthew Hoops
44f12117f2 SCI: Add support for SCI2.1 chunk resources
And if no scripts are present, but chunk 0 is present, load resources from there. This fixes the Lighthouse SCI2.1 demo.

svn-id: r51696
2010-08-03 14:58:57 +00:00
Johannes Schickel
dd38e424e7 SCI: Fix leaks in ResourceManager::listResources caller code.
svn-id: r51666
2010-08-02 22:27:26 +00:00
Matthew Hoops
180f188b88 SCI: Cleanup SCI0 late version detection
After discussing with Walter, we should be able to detect SCI0 late on the presence of a SCI0 vocab.999 without checking if we're using the old decompressors.

svn-id: r51644
2010-08-02 18:25:48 +00:00
Matthew Hoops
c715f18273 SCI: Fix bug #3037055: Jones in the Fast Lane EGA - fails to start
A regression of r51423. Jones EGA has a non-parser related vocab.900 resource, so we can't detect the fan games based on not having an SCI1 vocab.900 resource. Fan games are now detected on whether or not vocab.0 exists (the parser vocab for SCI0).

svn-id: r51619
2010-08-02 14:14:06 +00:00
Matthew Hoops
191d50171a SCI: Fix bug #3035737 - SCI Fan Games: Incorrect Version Detection
If we have a vocab 900 resource with the new decompressors, it can also be SCI0 late. If there is no parser vocab (with new decompressors), it is SCI1 early.

svn-id: r51423
2010-07-28 15:34:34 +00:00
Filippos Karapetis
fed9541f47 Fixed LSL6 hires resources, speech and lip sync work now (thanks to a discussion we had with clone2727)
svn-id: r51287
2010-07-25 22:47:17 +00:00
Filippos Karapetis
e7abc6da4f SCI: Fixed an off-by-one error in the resource manager - it tried to load patches of type kResourceTypeInvalid
svn-id: r51075
2010-07-20 21:53:58 +00:00
Matthew Hoops
88b2bec072 Cleanup and simplify resource type remapping.
svn-id: r50975
2010-07-18 01:32:48 +00:00
Matthew Hoops
c128b87c77 In SCI2.1, the type numbers inside resource maps/patches have changed slightly. We no longer use the number Sierra gives us directly, but use a function to convert to our ResourceType enum based on version. This allows us to read the chunk type from SCI2.1 (a form of script). Also, allow debugging of Mac-specific resources from the console.
svn-id: r50973
2010-07-18 00:16:19 +00:00
Matthew Hoops
880bb9f421 Add support for the altres.map/altres.000 map/volume pair in KQ7.
svn-id: r50968
2010-07-17 20:29:33 +00:00
Martin Kiewitz
564b68a9fc SCI: adding fixme and error() to fix crash when trying to run unmodified gk2
svn-id: r50939
2010-07-16 19:33:28 +00:00
Martin Kiewitz
c6b0a5e896 SCI: detect, if SCI1.1 game is merging or copying palette instead of using gameIds. Also prints method used, when using debug command "version"
svn-id: r50261
2010-06-25 10:04:31 +00:00
Matthew Hoops
473ae1c11e Cleaner fix for the QFG4 demo audio map problem.
svn-id: r50104
2010-06-20 23:41:54 +00:00
Matthew Hoops
72534afea9 Ignore the broken 65535x.map file in the QFG4 demo, mistakenly picked up when checking for patches. Audio now works there.
svn-id: r50102
2010-06-20 22:30:20 +00:00
Martin Kiewitz
87132bd411 SCI: changing error to warning in ResMan::detectViewType()
svn-id: r50067
2010-06-19 22:14:15 +00:00
Martin Kiewitz
8c8ce14164 SCI: not using views coming from patch files anymore for detecting view type
svn-id: r50027
2010-06-18 18:49:06 +00:00
Filippos Karapetis
543610d4d4 Don't throw a warning when we can't find hires content
svn-id: r50015
2010-06-18 12:15:33 +00:00