Commit graph

181 commits

Author SHA1 Message Date
Martin Kiewitz
ae599e63c2 SCI: fix regression from #49484, we were ignoring 65535 patches and this broke kq6 - the check was previously for -1 and this case wasn't able to happen at all, maybe it was left-over code from freesci somehow
svn-id: r49494
2010-06-07 21:33:55 +00:00
Filippos Karapetis
419b4b7348 Added support for SCI2+ base36 encoded patches (audio36 and sync36)
svn-id: r49491
2010-06-07 17:44:17 +00:00
Johannes Schickel
8ef5d55edb Fix gcc warning about an comparison which is always false due to data type range.
svn-id: r49484
2010-06-07 13:47:14 +00:00
Matthew Hoops
d5b5a8dbae Allow for the other audio36 patch naming schemes (Mac and some Torin ones).
svn-id: r49482
2010-06-07 11:44:52 +00:00
Filippos Karapetis
43ec405ffe Some initial code for audio36 and sync36 patch support
svn-id: r49477
2010-06-07 09:10:22 +00:00
Filippos Karapetis
43c353d930 Now opening all files via getVolumeFile()
svn-id: r49451
2010-06-06 13:04:24 +00:00
Filippos Karapetis
e9f35fbf4c Rewrote the remaining parts of the ResourceManager class to work with file streams, thus removing the SCI_detection hack in the fallback detector
svn-id: r49438
2010-06-05 14:09:52 +00:00
Filippos Karapetis
af3fec8c26 - Fixed findGameObject() to properly handle SCI0-SCI1 games where the first block of script 0 isn't the exports block
- Changed many places where Common::File is used directly to use Common::SeekableReadStream instead (in order to ultimately remove the SCI_detection hack in the fallback detector)

svn-id: r49391
2010-06-02 13:17:36 +00:00
Matthew Hoops
4493080220 If we can't find the game object or game ID in fallback detection, break out instead of assuming the script is there. Fixes a segfault when detecting an LSCI game.
svn-id: r49389
2010-06-02 02:55:55 +00:00
Max Horn
24673b9ee9 Fix warning
svn-id: r49386
2010-06-02 00:20:52 +00:00
Filippos Karapetis
a6efbf8880 Fixed the detection of SCI2.1 games in the fallback detector
svn-id: r49382
2010-06-01 22:06:52 +00:00
Filippos Karapetis
95001e3676 Add support for SCI2.1 resource patches to the fallback detector
svn-id: r49380
2010-06-01 20:37:55 +00:00
Filippos Karapetis
016862ac3a Moved setScriptSize() inside Script::init(), and removed a FIXME - the SCI1.1 word-align is done inside Script::init()
svn-id: r49330
2010-05-30 18:45:07 +00:00
Filippos Karapetis
0276ec835e Fixed findGameObject() for SCI11 games
svn-id: r49326
2010-05-30 15:17:29 +00:00
Filippos Karapetis
3d09af0377 Removed the hack inside findGameObject(), and replaced it with code from the segment manager, till we find out why the segment is sometimes off by 1 (note that findGameObject() works fine for finding the game ID itself)
svn-id: r49310
2010-05-29 15:27:27 +00:00
Filippos Karapetis
708b37898c Fixed regression in SCI2-SCI21 games from commit 49308
svn-id: r49309
2010-05-29 15:01:33 +00:00
Filippos Karapetis
6f056c6c98 Added a method to the resource manager, to limit the places where script exports are accessed, since for SCI11 and newer exports can be functions and objects (first step in removing scriptRelocateExportsSci11(), which is a gross hack and it fails in QFG1VGA)
svn-id: r49308
2010-05-29 14:03:08 +00:00
Filippos Karapetis
5f5dcbad47 Added an explanation for audio36 and sync36 external patches
svn-id: r49262
2010-05-27 12:00:20 +00:00
Filippos Karapetis
e5eaf3ee55 Split all of the audio-related functions of the resource manager in a separate file
svn-id: r49260
2010-05-27 08:09:32 +00:00
Filippos Karapetis
739f551852 Slight formatting, and added a note that audio36 and sync36 resource patches were introduced in SCI2, and didn't exist in SCI0-SCI1.1
svn-id: r49259
2010-05-27 07:50:23 +00:00
Matthew Hoops
99fc5cbfca Add the Mac sync resource type and allow for more than 9 Mac SCI1.1+ data files.
svn-id: r49255
2010-05-27 03:15:24 +00:00
Max Horn
7b8837cda7 SCI: Simplify appending string 'seeker' to sierraId
svn-id: r49244
2010-05-26 15:41:50 +00:00
Filippos Karapetis
3187149cca Avoid adding a null char in the sierraId Common::String
svn-id: r49234
2010-05-26 11:02:50 +00:00
Filippos Karapetis
60dd310688 Cleanup
svn-id: r49227
2010-05-26 06:53:08 +00:00
Matthew Hoops
d49fb8f42d Add support for showing the icon bar in SCI1.1 Mac.
svn-id: r49196
2010-05-24 17:21:11 +00:00
Filippos Karapetis
c874ff15a8 Cleaned up the game ID code:
- The game ID is now obtained from ScummVM ID directly, not by converting Sierra's internal ID
- Moved the code which reads the internal Sierra ID inside the resource manager
- Moved the code which converts the internal Sierra ID to ScummVM's IDs together with the rest of the detection code

svn-id: r49152
2010-05-23 10:28:03 +00:00
Matthew Hoops
3dda73d9a2 Add initial support for KQ6 Mac. Wrapper functions for read/writing to pointers are now used (found in util.*) for code that has different endianness in SCI1.1+ Mac games. Add support for Mac 'snd ' and 'CURS' resources. QFG1 Mac is not yet playable due to script compression.
svn-id: r49070
2010-05-18 04:17:58 +00:00
Johannes Schickel
983c41bea2 Remove useless const on a value return type.
svn-id: r49022
2010-05-13 13:32:12 +00:00
Matthew Hoops
7344ac20d7 Add support for loading SCI games from Mac resource forks. The games themselves do not work yet as some (not all) of the data is in BE order instead of LE. They currently error out because it thinks the relocation block is outside of the script.
svn-id: r48998
2010-05-10 18:29:13 +00:00
Martin Kiewitz
b4d35b3279 SCI: calculate sampleLen for WAVEs as well
svn-id: r48906
2010-05-03 13:30:09 +00:00
Martin Kiewitz
561ad56616 SCI: make audio decompression (mp3/ogg/flac) work on BE devices
svn-id: r48889
2010-05-02 10:21:02 +00:00
Martin Kiewitz
0cd0d8bafe SCI: fix sync resources not loading correctly when compressed (mp3/ogg/flac) audio resource file was used
svn-id: r48881
2010-05-01 14:51:57 +00:00
Martin Kiewitz
e3ac8713e3 SCI: fix bugs in audio decompression (mp3, ogg, flac)
svn-id: r48880
2010-05-01 14:04:48 +00:00
Matthew Hoops
3b401eb53c Silence gcc warnings.
svn-id: r48858
2010-04-29 19:06:49 +00:00
Martin Kiewitz
6e6b90f41c SCI: remove unneeded #includes from resource.cpp
svn-id: r48857
2010-04-29 19:01:06 +00:00
Martin Kiewitz
13ee099090 SCI: audio compression support
svn-id: r48856
2010-04-29 15:54:59 +00:00
Martin Kiewitz
666fefc79d SCI: first byte of resource patch must have 0x80 added to the resource type, otherwise sierra sci0+ interpreter won't accept the file, fixing this on debug export function
svn-id: r48780
2010-04-24 11:59:19 +00:00
Martin Kiewitz
aaa6e7ee54 SCI: key presses of extended chars (umlauts, etc.) will now get ignored in games that don't support them (which is all non-multilingual games)
svn-id: r48693
2010-04-17 20:43:09 +00:00
Max Horn
ee1110a114 SCI: Reduce header interdependencies
svn-id: r48086
2010-02-17 23:38:43 +00:00
Max Horn
86e34c3464 SCI: Rename some members of class Resource
svn-id: r48085
2010-02-17 23:37:59 +00:00
Max Horn
903b694574 SCI: Cleanup resource.h
svn-id: r48084
2010-02-17 23:37:32 +00:00
Max Horn
e17a2bd37d SCI: Change getSciVersionDesc() to return 'const char *' instead of 'Common::String'
svn-id: r48044
2010-02-13 11:58:15 +00:00
Martin Kiewitz
da771b91e6 SCI: we checked first cel size when detecting hires instead of actual picture resolution, now checking correctly
svn-id: r47865
2010-02-03 21:59:41 +00:00
Walter van Niftrik
f24e0aad2b SCI: When removing audio resources from the resource manager, also remove them from the LRU list.
svn-id: r47789
2010-02-01 01:05:08 +00:00
Walter van Niftrik
43c15603c3 SCI: Add support for early audio map files.
svn-id: r47773
2010-01-31 19:44:40 +00:00
Filippos Karapetis
a7165c02c1 Removed the hack for kResourceTypeRobot patch files
svn-id: r47730
2010-01-31 00:13:16 +00:00
Filippos Karapetis
233f81c5e1 Added support for the hires graphic resources of the Windows version of GK1
svn-id: r47673
2010-01-29 16:25:18 +00:00
Filippos Karapetis
b20ccaa8ab Corrected the map number for the GK2 resource patch files, and added some preliminary non-working code for the hires content in GK1
svn-id: r47658
2010-01-28 22:26:13 +00:00
Martin Kiewitz
9e511e0751 SCI: detecting hires for SCI2+ games, qfg4cd is sci2.1 but still 320x200
svn-id: r47651
2010-01-28 21:01:57 +00:00
Martin Kiewitz
8ecd76e415 SCI: process robot files again (i need those for REing)
svn-id: r47644
2010-01-28 16:30:46 +00:00