Commit Graph

146 Commits

Author SHA1 Message Date
Johannes Schickel
8fc7d60feb SCI: Make GPL headers consistent in themselves. 2014-02-18 02:39:37 +01:00
Willem Jan Palenstijn
857d2e7bef SCI: Rewrite MIDI channel remapping
This adds MIDI state tracking to allow channels to be temporarily
unmapped and later re-mapped when there are free device channels
available again.
2013-12-31 13:52:15 +01:00
Filippos Karapetis
fa2ea4fc61 SCI: Add handling for the RAVE resource type, found in KQ6CD
This contains the sync data in the Windows version of KQ6CD.
Note that currently the sync36 resource is 2 bytes bigger
(it contains 2 bytes from the RAVE resource). Some test code
has also been added to dump the RAVE sync resources
2013-12-10 01:41:15 +02:00
Strangerke
6795fdf639 SCI: Janitorial - Fix spacing errors 2013-11-23 11:02:24 +01:00
Filippos Karapetis
c64a69c363 SCI: Resolve some resource related FIXMEs
These were introduced in 4f6d42d.
The odd comment dates back to FreeSCI, as far as our history goes, and
seems to be a leftover from an old refactoring during FreeSCI's history
2012-05-15 03:05:38 +03:00
Willem Jan Palenstijn
4f6d42d77b SCI: Add a few FIXMEs 2012-05-13 16:23:15 +02:00
Willem Jan Palenstijn
56fb56936e SCI: Clean up some memory management and loops 2012-01-15 18:25:00 +01:00
Filippos Karapetis
935eaa175b SCI: Move the palette merging checking code inside the GfxPalette class 2011-10-19 23:52:51 +03:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
md5
d95b5331fb SCI: Some palette related changes
- Moved palette color count inside the GfxPalette class
- Enabled all of the kPalette subops for 16 color SCI1 games, apart from
the ones for intensity palette animation, and palette resource loading
- Removed isVGA() and isAmiga32color() methods from the resource manager -
they ended up in having inconsistent code
2011-03-04 22:04:13 +02:00
Matthew Hoops
758e495872 SCI: Add support for the KQ5 FM Towns resource format
Thanks to alexbevi for providing details on the format
2011-02-16 14:24:38 -05:00
Filippos Karapetis
e4b46bd159 SCI: Added resource manager support for changing the audio directory dynamically. Also,
moved some audio-specific resource code inside resource_audio.cpp

This functionality is used by kSetLanguage(), called when switching the language in
MUMG Deluxe from the game's main menu.

svn-id: r55872
2011-02-10 16:48:29 +00:00
Filippos Karapetis
c7c0198e27 SCI: Renamed addInternalSources -> addAudioSources and separated the script chunk loading code
svn-id: r55866
2011-02-10 12:57:43 +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
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
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
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
Walter van Niftrik
8bbbcfe5b8 SCI: Fix digital track regression from r52662.
svn-id: r52666
2010-09-09 23:01:51 +00:00
Walter van Niftrik
5eb0314e4c SCI: Fix last MIDI channel number for adlib driver
svn-id: r52662
2010-09-09 18:26:16 +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
Filippos Karapetis
37d2f10206 SCI: Added checking for the existence of a GM track, to determine if device ID 7 or 12 should be used. Fixes the GM music in the demo of QFG3, which is using an in-between version of SCI1 and SCI1.1
svn-id: r52211
2010-08-19 13:52:21 +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
Filippos Karapetis
a278e01998 SCI: Fixed bug #3034536 - "AMIGAOS4: SCI - Compiler error".
svn-id: r51302
2010-07-26 07:40:51 +00:00
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