Commit Graph
326 Commits
Author SHA1 Message Date
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
Filippos Karapetis 0b987fe066 Added support for the SCI2.1 resource patches (resmap.pat and ressci.pat). GK2 goes a bit further now (but still dies because of a new script opcode)
svn-id: r47641
2010-01-28 11:19:27 +00:00
Martin Kiewitz 34346bfd33 SCI: fix view detection for sci1.1 pq4demo
svn-id: r47614
2010-01-27 22:55:30 +00:00
Matthew Hoops 898135b7d0 SearchMan.listMatchingMembers does not return files in alphabetical order, so we can't rely on the order of the lists. Rework the SCI2.1+ loading code to iterate through both lists in nested loops to fix multi-archive SCI2.1 games (such as GK2).
svn-id: r47612
2010-01-27 21:43:23 +00:00
Filippos Karapetis e81ddfcdcc Removing obsolete comment
svn-id: r47609
2010-01-27 20:55:35 +00:00
Filippos Karapetis 8ff7efea81 Do not try and patch files for resource types greater or equal to audio36 (i.e. audio36, sync36 etc), as these won't work with the current patch scheme
svn-id: r47604
2010-01-27 17:31:11 +00:00