Workaround to make 'Touché: The Adventures of the Fifth Musketeer' completable

Ask for help with ScummVM problems

Moderator: ScummVM Team

Post Reply
Slyde
Posts: 3
Joined: Sat Feb 28, 2026 8:45 pm

Workaround to make 'Touché: The Adventures of the Fifth Musketeer' completable

Post by Slyde »

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
digitall
ScummVM Developer
Posts: 1200
Joined: Thu Aug 02, 2012 1:40 pm

Re: Workaround to make 'Touché: The Adventures of the Fifth Musketeer' completable

Post by digitall »

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
Slyde
Posts: 3
Joined: Sat Feb 28, 2026 8:45 pm

Re: Workaround to make 'Touché: The Adventures of the Fifth Musketeer' completable

Post by Slyde »

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.
digitall
ScummVM Developer
Posts: 1200
Joined: Thu Aug 02, 2012 1:40 pm

Re: Workaround to make 'Touché: The Adventures of the Fifth Musketeer' completable

Post by digitall »

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
Slyde
Posts: 3
Joined: Sat Feb 28, 2026 8:45 pm

Re: Workaround to make 'Touché: The Adventures of the Fifth Musketeer' completable

Post by Slyde »

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
Attachments
touche_saves.7z
Touche Game Saves
(12.83 KiB) Downloaded 2 times
digitall
ScummVM Developer
Posts: 1200
Joined: Thu Aug 02, 2012 1:40 pm

Re: Workaround to make 'Touché: The Adventures of the Fifth Musketeer' completable

Post by digitall »

Thanks for https://github.com/scummvm/scummvm/pull/7454 ... Will see if I can playtest / review
Post Reply