Age | Commit message (Collapse) | Author |
|
I haven't found an elegant and non-intrusive way to squeeze SCI0 support into LordHoto's existing code. The drivers are too different. So I made some rearrangements. The basic mechanisms of LordHoto's SCI1 code should remain the same as before, though. I only introduced some more classes, moved some code into these classes and renamed some things (mainly for myself, so as not to get confused).
I fixed two voice mapping bugs in the existing driver code. The first bug in bindVocies() effectively hindered the driver from playing anything at all when the CMS_DISABLE_VOICE_MAPPING #define wasn't set (_voice[i].channel == 0xFF instead of _voice[i].channel != 0xFF). The second bug in unbindVoices() was not a complete show stopper, but the function simply did not "unbind the voice". The line which does the actual removal of the channel assignment was missing.
The SCI0 driver portions have been tested with: PQ2, KQ4, LSL3, QFG1, ICE and COC.
SCI_0_EARLY versions apparently don't support the CMS. At least I haven't seen a driver file so far. And there seems to be no no instrument patch resource. Although the latter issue needn't necessarily be one, since the patch data array in the driver is actually preset with data (which gets overwritten as soon as a patch file is loaded). Maybe this would work for SCI_0_EARLY. However, I haven't tested this, since I really would have have a look at a driver file first if one actually exists. For now, I have limited the driver to SCI_0_LATE.
SCI1 has been tested with KQ5 and LSL5 (not extensively, just to see whether anything got broken and whether my voice mapping fixes work).
|
|
- At at least one place in INDY4 the game attempts to send a Roland MT-32 patch to the Amiga driver. This will fail and thus not cause any harm, but I have added a check nonetheless. The original Amiga driver ignores sysex messages that don't have the iMuse manufacturer id 7D.
- In INDY4 the iMuse player thinks it has a percussion channel due to the fact that it plays ROL resources. This should also be irrelevant for the actual playback, but I have added a check for that, too.
|
|
|
|
|
|
|
|
Fixes bug #11025
|
|
NOTE: This is a 2.5D game that is out of ScummVM scope
Developer's Download page states that there are EN/RU/IT versions:
http://reptilesquest.000webhostapp.com/index.php?page=5
However, rq_demo_beta25_multilang.exe allows to select only EN/RU.
italian.dcp can be extracted from rq_demo_beta25_multilang.exe using any
tool for Inno Setup installer.
|
|
|
|
|
|
|
|
Ooops. Latest refactoring of those if/else blocks was wrong, as a result
Reversion 1&2 ignored all the xlanguage packages. Fixed.
|
|
This fixes Gregory and the Hot Air Balloon. See tracker #11021.
|
|
Fixes CAMELOT bug #11024
|
|
|
|
|
|
|
|
Fixes PQ3 bug #11020
|
|
Currently translated at 100.0% (1089 of 1089 strings)
|
|
* WINTERMUTE: Add detection and package filtering for Alpha Polaris
Source: https://steamdb.info/app/405780/depots/
NOTE: This is a 2.5D game that is out of ScummVM scope
* WINTERMUTE: Set exact engine version for Project Joe
Download:
http://public.ag.ru/vd/3f983a3b5daf485f6559e7ca1380e47b/demos/14118/joesetup.exe
This also fixes slider issue at Settings menu, since LATEST_VERSION has
sliders broken
* WINTERMUTE: Add detection for Everyday Grey
Fixes https://bugs.scummvm.org/ticket/6563
NOTE: This game seems to be mistakenly marked as 2.5D at Wintermute wiki
Download:
https://web.archive.org/web/20140824221311if_/http://www.krumbukt.com/UnityGames/Everyday_Grey_setup.rar
* WINTERMUTE: Add detection for Apeiron game
Download: https://www.moddb.com/games/apeiron
* WINTERMUTE: Add detection for Palladion demo
Download:
http://www.adventuresplanet.it/contenuti/demo/palladion_demo.exe
* WINTERMUTE: Add detection for Art of Murder: FBI Confidential
Adds checksums from https://bugs.scummvm.org/ticket/6532
NOTE: This is a 2.5D game that is out of ScummVM scope
Buy: https://store.steampowered.com/app/809000
* WINTERMUTE: Add detection for Mental Repairs Inc
This fixes https://bugs.scummvm.org/ticket/6528
Download:
https://games.softpedia.com/get/Freeware-Games/Mental-Repairs-Inc.shtml
NOTE: This is a 2.5D game that is out of ScummVM scope
* WINTERMUTE: Add detection for On the Tracks of Dinosaurs
NOTE: This is a 2.5D game that is out of ScummVM scope
Download: http://reptilesquest.000webhostapp.com/?page=5
* WINTERMUTE: Set engine version for J.U.L.I.A.
Fun fact: J.U.L.I.A. is using 3D features, however this game was
reported as completable with VFX low
Download demo:
http://www.adventuresplanet.it/contenuti/demo/julia_demo_setup.exe
* WINTERMUTE: Add detection for some versions of J.U.L.I.A.: Among the Stars
NOTE: This is a 2.5D game that is out of ScummVM scope
* WINTERMUTE: Add detection for J.U.L.I.A.: Untold
"J.U.L.I.A.: Untold" is a DLC game for "J.U.L.I.A.: Among the Stars"
Buy:
https://store.steampowered.com/app/360340/JULIAAmong_the_Stars__Soundtrack_Hintbook_Untold/
|
|
|
|
|
|
Don't try to run a NULL animation. Fixes a crash in Gregory.
|
|
Thanks to Albadross for collecting those versions:
https://bugs.scummvm.org/ticket/10863
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Prevent confusion with function.
|
|
Bug 1:
If the original C string contained chars > 127 they would be stored
as huge u32 numbers due to the underflow as char is signed.
It still might end-up with invalid UTF32 characters, but now the caller
can control it.
Bug 2:
The inline storage was not properly initialized when U32String was
initalized from shorter non-UTF32 strings.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fix up SCI0_LATE variant of the driver so that it actually plays anything (and even correctly). SCI1 hasn't seen any testing from me so far. I don't know whether that version works. Same for SCI0_EARLY...
|
|
I haven't found an elegant and non-intrusive way to squeeze SCI0 support into LordHoto's existing code. The drivers are too different. So I made some rearrangements. The basic mechanisms of LordHoto's SCI1 code should remain the same as before, though. I only introduced some more classes, moved some code into these classes and renamed some things (mainly for myself, so as not to get confused).
I fixed two voice mapping bugs in the existing driver code. The first bug in bindVocies() effectively hindered the driver from playing anything at all when the CMS_DISABLE_VOICE_MAPPING #define wasn't set (_voice[i].channel == 0xFF instead of _voice[i].channel != 0xFF). The second bug in unbindVoices() was not a complete show stopper, but the function simply did not "unbind the voice". The line which does the actual removal of the channel assignment was missing.
The SCI0 driver portions have been tested with: PQ2, KQ4, LSL3, QFG1, ICE and COC.
SCI_0_EARLY versions apparently don't support the CMS. At least I haven't seen a driver file so far. And there seems to be no no instrument patch resource. Although the latter issue needn't necessarily be one, since the patch data array in the driver is actually preset with data (which gets overwritten as soon as a patch file is loaded). Maybe this would work for SCI_0_EARLY. However, I haven't tested this, since I really would have have a look at a driver file first if one actually exists. For now, I have limited the driver to SCI_0_LATE.
SCI1 has been tested with KQ5 and LSL5 (not extensively, just to see whether anything got broken and whether my voice mapping fixes work).
|
|
(somewhat difficult to make out any difference, but it does affect the envelope processing)
|
|
|
|
Conflicts:
engines/sci/engine/script_patches.cpp
|
|
|
|
FOA Amiga uses 'ROL ' resources (unlike MI2 which has 'AMI ' resources). So our imuse player treated those as MT32 tracks playing on a non-MT32 device and applied GM mapping. Which of course messed up the instruments.
|
|
(several function declarations in imuse_internal.h)
|
|
|
|
|
|
|
|
|