Commit Graph

123 Commits

Author SHA1 Message Date
Matthew Hoops
4b66b8dd5f Fix typo.
svn-id: r50974
2010-07-18 00:18:27 +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
Filippos Karapetis
79768098b1 Added handling for kLock called with resource id -1 (unlock all resources of the requested type). Happens e.g. in KQ6 and LSL6
svn-id: r50595
2010-07-02 10:18:11 +00:00
Martin Kiewitz
710fc6c71e SCI: do boundary checking when loading sci1 sounds and mixing them together. The final end credits song (resource 699) in kq5 has some channels with invalid offsets, crashing ScummVM before
svn-id: r50339
2010-06-26 19:55:49 +00:00
Max Horn
6ee82a2027 SCI: Introduce SciGameId enum
svn-id: r50273
2010-06-25 16:16:29 +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
Filippos Karapetis
a7b76c04d9 Added handling of VMD video files in kResCheck, fixes video playing in GK2
svn-id: r49913
2010-06-17 00:07:03 +00:00
Martin Kiewitz
af65de6e1a SCI: implement channel remapping for SCI1
svn-id: r49905
2010-06-16 21:02:58 +00:00
Max Horn
e7275161f4 SCI: Avoid using g_sci in resman (as it might not yet be inited)
svn-id: r49897
2010-06-16 00:24:16 +00:00
Max Horn
f387025e9b SCI: Add FIXME regarding audio specific code in Resource(Source)
svn-id: r49849
2010-06-15 12:35:39 +00:00
Max Horn
e4153ffa38 SCI: Add Resource::getNumber method
svn-id: r49848
2010-06-15 12:35:17 +00:00
Max Horn
7a5ce0eddd SCI: Make Resource::_id protected
svn-id: r49842
2010-06-15 12:31:37 +00:00
Max Horn
2b24a1a2ad SCI: OOpify class ResourceId
svn-id: r49841
2010-06-15 12:31:16 +00:00
Max Horn
68eeef8f1a SCI: Add ResourceManager::getVolVersion()
svn-id: r49840
2010-06-15 12:21:29 +00:00
Max Horn
96f1e29300 cleanup
svn-id: r49837
2010-06-15 12:20:24 +00:00
Max Horn
79c9be5d96 Reduce header dependencies
svn-id: r49836
2010-06-15 12:20:03 +00:00
Max Horn
583a966d8c SCI: Move decompress & readResourceInfo to Resource; more cleanup
svn-id: r49835
2010-06-15 12:19:39 +00:00
Max Horn
335e17af01 SCI: Move several methods from ResourceManager to Resource
svn-id: r49833
2010-06-15 12:18:57 +00:00
Max Horn
63d9cfb3bf SCI: Add ResourceManager::updateResource(); change some code to use addResource()
svn-id: r49832
2010-06-15 12:18:31 +00:00
Max Horn
6667a71027 SCI: Move _audioCompression(Type|OffsetMapping) to AudioVolumeResourceSource
svn-id: r49830
2010-06-15 12:17:47 +00:00
Max Horn
88663c9186 SCI: Merge ResourceManager::checkIfAudioVolumeIsCompressed into AudioVolumeResourceSource constructor
svn-id: r49827
2010-06-15 12:16:42 +00:00
Max Horn
348953c067 SCI: Make ResourceSource::_resourceFile const
svn-id: r49826
2010-06-15 12:16:17 +00:00
Max Horn
824dd44ddf SCI: Revise how ResourceManager is instantiated.
This should allow for better error handling. Also, it
means that g_sci->getResMan() returns a valid value much sooner,
allowing me to simplify some code.

Also added a note about potentially replacing Common::FSList usage
by Common::Archive (and FSNode by Archive/ArchiveMember ?). This
might be a way to unify the addAppropriateSources variants again.

svn-id: r49825
2010-06-15 12:15:52 +00:00
Max Horn
713e61acba SCI: Doxygen fixes
svn-id: r49824
2010-06-15 12:15:27 +00:00
Max Horn
4020500640 SCI: Rename ResourceSource members to follow _camelCase convention
svn-id: r49823
2010-06-15 12:15:05 +00:00
Max Horn
07b896802b SCI: Pass volume number to ResourceSource subclass constructors; make ResourceSource::volume_number const
svn-id: r49822
2010-06-15 12:14:39 +00:00
Max Horn
bb1336ca41 SCI: Add loadResource impls for WaveResourceSource and AudioVolumeResourceSource
svn-id: r49821
2010-06-15 12:14:15 +00:00
Max Horn
d032e6481b SCI: Add loadResource impls to MacResourceForkResourceSource and PatchResourceSource; move _macResMan to MacResourceForkResourceSource
svn-id: r49820
2010-06-15 12:13:52 +00:00
Max Horn
d4f16962d0 SCI: Move code from ResourceManager::loadResource to ResourceSource::loadResource
svn-id: r49819
2010-06-15 12:13:29 +00:00
Max Horn
d15e09fdc2 SCI: Merge MacResourceForkResourceSource::scanSource and ResourceManager::readMacResourceFork
svn-id: r49817
2010-06-15 12:12:44 +00:00
Max Horn
055ee6ab5b SCI: Add virtual method ResourceSource::scanSource
svn-id: r49816
2010-06-15 12:12:21 +00:00
Max Horn
89cf6f7cb1 SCI: Change ResourceManager::getVolume() to use new classes
* Add new ResourceSource::findVolume() virtual method
* Rename ResourceManager::getVolume() to findVolume(),
  and change it to use the new ResourceSource method
* Add some TODO comments pointing to further OOPification
  possibilities

svn-id: r49815
2010-06-15 12:11:56 +00:00
Max Horn
8c06425ee3 SCI: Remove 'map' param from addSource, and let AudioVolumeResourceSource subclass VolumeResourceSource
svn-id: r49814
2010-06-15 12:11:30 +00:00
Max Horn
17a5112162 SCI: Convert code to use ResourceSource subclasses
svn-id: r49813
2010-06-15 12:11:04 +00:00
Max Horn
793c04f43b SCI: Changed some 'const char *' to Common::String
svn-id: r49811
2010-06-15 12:10:18 +00:00
Max Horn
dea38106f8 SCI: Change ResourceSource to a class, further OOPify it.
In particular, renamed location_name to _name and made it const and
protected. Thus it cannot be changed after creation, and only read
access is now possible, via a getter method.

svn-id: r49810
2010-06-15 12:09:51 +00:00
Max Horn
e32f3d5a43 SCI: cleanup
svn-id: r49808
2010-06-15 12:09:03 +00:00
Max Horn
69bfbdfa04 SCI: Move ResourceSource to new header resource_intern.h
svn-id: r49807
2010-06-15 12:08:40 +00:00
Filippos Karapetis
eff1d4bb1c Added a default constructor for the ResourceSource struct
svn-id: r49622
2010-06-13 07:17:44 +00:00
Matthew Hoops
6ad04a4a96 Add support for AIFF sound in SCI32 Mac games and add support for AIFF/WAVE audio36 patches; minor cleanup.
svn-id: r49576
2010-06-10 15:06:25 +00:00
Martin Kiewitz
ea2e2053f2 SCI: slight cleanup on processPatch, etc.
svn-id: r49495
2010-06-07 21:55:57 +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
fdc9bbcbf5 Simplified the channel monitoring code inside the SoundResource class
svn-id: r49429
2010-06-04 14:53:12 +00:00
Filippos Karapetis
ddf7449b00 Added code to get which channels are used by a sound. Also, fixed a crash when using Sierra's GM patches, a regression from commit #49391.
svn-id: r49415
2010-06-03 22:00:50 +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
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
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
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
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