FWIW, a while ago I was stuck in 'Touché: The Adventures of the Fifth Musketeer' as I run in the original game script errors, also noted here [1].
However, I made a script [2] (and eventually registered to this forum) to modify the ScummVM savegame to add the missing items which hinder you to continue with the game.
To the ScummVM maintainers: If the script logic can somehow be integrated and merged into ScummVM during save/load state, pls let me know. I am fluent with C++/C.
To the Wiki maintainers: Maybe it helps to link the script also in the Wiki in the meantime or copy it into ScummVM tools?
HTH
[1] https://wiki.scummvm.org/index.php?title=Touche/TODO
[2] https://gist.github.com/Gemba/1cb0bc7d9 ... 2714f3de99
Workaround to make 'Touché: The Adventures of the Fifth Musketeer' completable
Moderator: ScummVM Team
Re: Workaround to make 'Touché: The Adventures of the Fifth Musketeer' completable
Slyde: It would be much bettet if this fix was added as a engine code workaround to be triggered to either prevent you getting on the boat until you have the potion or automagically add the potion when you are on the boat to inventory in order to fix original script bug as per https://bugs.scummvm.org/ticket/6754
Since you know C/C++, the relevant engine code is here: https://github.com/scummvm/scummvm/tree ... nes/touche
If you come up with a solution, then you can either put it here as a patch file text and/or send it as a Github Pull Request
Since you know C/C++, the relevant engine code is here: https://github.com/scummvm/scummvm/tree ... nes/touche
If you come up with a solution, then you can either put it here as a patch file text and/or send it as a Github Pull Request
Re: Workaround to make 'Touché: The Adventures of the Fifth Musketeer' completable
Great, thanks having some first hand information and hints.
While C++ is not the struggle, and also not the ScummVM codebase (so far): I assume I have identified the relevant rooms for a workaround.
I see the OpCodes supported by this engine in engines/touche/opcodes.cpp.
However, I am puzzled how to achieve/revert the binary to the listings which appear in some workarounds like this one:
https://github.com/scummvm/scummvm/blob ... #L489-L496
And what are the meaning of the flags, esp. those not mentioned in
https://github.com/scummvm/scummvm/blob ... #L917-L954
I can find editors for SCUMM v6 (e.g. https://github.com/mmoreira2000/scummeditor), but not for Touche. Can you give me a nudge about the Touche binary format? (I am familiar with IDA/Ghidra). Or is it some tool in ScummVM Tools repo I have missed?
Thanks.
While C++ is not the struggle, and also not the ScummVM codebase (so far): I assume I have identified the relevant rooms for a workaround.
I see the OpCodes supported by this engine in engines/touche/opcodes.cpp.
However, I am puzzled how to achieve/revert the binary to the listings which appear in some workarounds like this one:
https://github.com/scummvm/scummvm/blob ... #L489-L496
And what are the meaning of the flags, esp. those not mentioned in
https://github.com/scummvm/scummvm/blob ... #L917-L954
I can find editors for SCUMM v6 (e.g. https://github.com/mmoreira2000/scummeditor), but not for Touche. Can you give me a nudge about the Touche binary format? (I am familiar with IDA/Ghidra). Or is it some tool in ScummVM Tools repo I have missed?
Thanks.
Re: Workaround to make 'Touché: The Adventures of the Fifth Musketeer' completable
There is no decompiler support for TOUCHE engine in scummvm-tools (only resource compression) and I can't see any relevant devtools.
A check of the git history shows that the major amount of work on this game was done around 2005 to 2007 and most of the fixes since have been minor improvements and fixes for new engine APIs. The game is quite rare and I am probably one of only a small number of developers with a physical copy which limits who can work on this.
Most of the script patches date back to SVN days i.e. see https://github.com/scummvm/scummvm/comm ... cdc2540dce
A check of the git history shows that the major amount of work on this game was done around 2005 to 2007 and most of the fixes since have been minor improvements and fixes for new engine APIs. The game is quite rare and I am probably one of only a small number of developers with a physical copy which limits who can work on this.
Most of the script patches date back to SVN days i.e. see https://github.com/scummvm/scummvm/comm ... cdc2540dce
Re: Workaround to make 'Touché: The Adventures of the Fifth Musketeer' completable
If there are none, or no usable tools: DIY, which I did [1]. The tool is not complete but gives enough information on what a program does and how it is done.
I will provide a patch for ScummVM the other day as PR at Github.
Find some save games here for the ScummVM maintainers to test (FWIW: and all ScummVM users). Note: These are crafted game saves but resemble the relevant state when playing the game interactively. Most likely they can not be used to continue the game regularly outside from "Rouen River Gate".
touche.40: Rouen River Gate at an early game state (flag1 < 14 and no Potion in inventory)
--> expected: No conversation option "We need a boat..."
touche.41: Rouen River Gate at an early game state (flag1 < 14 and with Potion in inventory)
--> expected: No conversation option "We need a boat..."
touche.42: Rouen River Gate when Juliette has been already kidnapped (flag1 == 14 and no Potion in inventory)
--> expected: No conversation option "We need a boat..." (however, without the patch there will be this option, cf. [2])
touche.43: Rouen River Gate when Juliette has been already kidnapped (flag1 == 14 and with Potion in inventory)
--> expected: Conversation option "We need a boat..." is present
[1] https://codeberg.org/Gemba/ToucheFenchR
[2] https://bugs.scummvm.org/ticket/6754
I will provide a patch for ScummVM the other day as PR at Github.
Find some save games here for the ScummVM maintainers to test (FWIW: and all ScummVM users). Note: These are crafted game saves but resemble the relevant state when playing the game interactively. Most likely they can not be used to continue the game regularly outside from "Rouen River Gate".
touche.40: Rouen River Gate at an early game state (flag1 < 14 and no Potion in inventory)
--> expected: No conversation option "We need a boat..."
touche.41: Rouen River Gate at an early game state (flag1 < 14 and with Potion in inventory)
--> expected: No conversation option "We need a boat..."
touche.42: Rouen River Gate when Juliette has been already kidnapped (flag1 == 14 and no Potion in inventory)
--> expected: No conversation option "We need a boat..." (however, without the patch there will be this option, cf. [2])
touche.43: Rouen River Gate when Juliette has been already kidnapped (flag1 == 14 and with Potion in inventory)
--> expected: Conversation option "We need a boat..." is present
[1] https://codeberg.org/Gemba/ToucheFenchR
[2] https://bugs.scummvm.org/ticket/6754
- Attachments
-
- touche_saves.7z
- Touche Game Saves
- (12.83 KiB) Downloaded 2 times
Re: Workaround to make 'Touché: The Adventures of the Fifth Musketeer' completable
Thanks for https://github.com/scummvm/scummvm/pull/7454 ... Will see if I can playtest / review