1
SCI Development Tools / Re: SCI Companion V3 - alpha build notes/bugs/feature requests
« Last post by gumby on Yesterday at 10:38:34 AM »Thanks Kawa.
Of course, but ScummVM also adds their own internal patches to SCI script bugs so you won't have to manually patch your game.Ah, I didn't know they had their own patches in the engine. Personally I use DOSbox 99% of the time. I'm not sure I want to add additional work by writing a patch for ScummVM too, especially since I'm not done yet and this bug is proving to be stranger than I first thought, but my github repo is public and if when I'm finished someone wants to port my work, that's fine by me.
You can take a look at one such fix: https://github.com/scummvm/scummvm/commit/87afecfe1394398c18324ec06dc628eb2e923e9d
It's a bit involved to fix it in ScummVM but you can try seek the devs (especially SluiceBox) on discord for help.
ScummVM works with SCI patch files, which is what's I've included in the zip, so it should just work if you put the files in the game folder.
That's a very interesting bug!ScummVM works with SCI patch files, which is what's I've included in the zip, so it should just work if you put the files in the game folder.
Have you considered writing a patch for ScummVM as well?
(super handleEvent: event)
If the room code has done what it needs to do, it will set (event claimed: TRUE). I.e. it did the job, stop there.That is really awesome!
I hope to be able to take the time and really see what’s going on. If I had to guess I’d say for the EGA one, the room-specific code isn’t claiming the Said event as finished, so it runs the room specific code first, then runs the generic code, thus double-casting the spell.
Amazing find, and fix! Great work.
Cool find. Here's what I see in the buggy QfG1EGA code.I was looking at the code again earlier because apparently I missed a couple rooms, and was beginning to think it might be something like that. Thanks for confirming it!
When "(if (CastSpell spell)" is used before "(switch spell", it's always casting the spell, even if there isn't a switch case for the spell the player typed. So it gets cast twice in these rooms, once by the (CastSpell spell) procedure and then again in Main's default spell handling. Any spell that does have a switch case in the buggy rooms, like (DETMAGIC in bearCave, *should* only consume mana once. This is because the event gets claimed, not sent back to Main for handling like spells that aren't matching a switch case do.
SMF 2.0.19 |
SMF © 2021, Simple Machines
Simple Audio Video Embedder
Page created in 0.108 seconds with 17 queries.