Simon the Sorcerer - Merge Talkie with Subtitles

Ask for help with ScummVM problems

Moderator: ScummVM Team

rzil
Posts: 30
Joined: Wed Aug 17, 2016 12:56 pm

Re: Simon the Sorcerer - Merge Talkie with Subtitles

Post by rzil »

invwar wrote: Sat Apr 29, 2023 7:30 pm But the major issue is that we can't activate the text anyway yet, I wouldn't even mind to do this, if it would be relative easily possible. Thanks to magos, it seems at least feasible. Unfortunately magos seems to have issues with the floppy version, because it not yet uses the SIMON.GME, i guess. Maybe rzil can give feedback on this.
Thank you for checking the extract :)
Indeed it doesn't have this file, and magos have special option to work with such structure (the -m option) https://github.com/adventurebrew/magos# ... -gme-files
specifically, you would like the following command for the floppy version of simon:

Code: Select all

magos -m -g simon1 -s floppy /path/to/game/directory
did you encountered more issues with the floppy version?
invwar
Posts: 67
Joined: Mon Jul 28, 2008 11:35 am

Re: Simon the Sorcerer - Merge Talkie with Subtitles

Post by invwar »

Thank you, I noticed that already after I posted my text. I currently try to understand to understand the files, luckily its quite straight forward. Luckily the source code is relative easy and the text is commented, which would make it relatively easy to bring back, if the code gets activated. Then we would only need a patcher like the one for the Monkey Island VGA Talkies. But I am sure you would be helpful to create one (actually, I would likely also able to create it, thanks to python base of magos)

I have not found the ability to activate the subtitles, so no clue how to fix this in the first place.

I only had magos crashes, when I copied the lines from floppy to talkie, because it was missin, what i guess is the voice file. Not sure about that, I only have the ogg converted voice and need to rip it from my original CDs, when i find my external dvd drive. (anyway have to do it because of the ScummV7 games)
rzil
Posts: 30
Joined: Wed Aug 17, 2016 12:56 pm

Re: Simon the Sorcerer - Merge Talkie with Subtitles

Post by rzil »

To activate the subtitles in game, first slightly modify the game (e.g. add a typo) so it does not match any known variant.
use the latest ScummVM daily build, and add the modified game, choose the option without specific language ("Simon the Sorcerer (CD/DOS) - Unknown version" and not "Simon the Sorcerer (CD/DOS/English) - Unknown version" if appears).
Select the language "English (GB)" (or any other language other than "English" because selecting it will disable the subtitles automatically in-game)
On the Audio tab, mark "Override global audio settings" and select "Both"

When copying lines from floppy script to talkie script please note that the number of parameters is different in `SET_LONG_TEXT` and `PRINT_STR` (added the number of sound sample)
e.g.
` (0xa2) PRINT_STR 1 3 33820 // {Again.}` to ` (0xa2) PRINT_STR 1 3 33820 1487 // {Again.}` when 1487 is the voice sample saying "Again"
invwar
Posts: 67
Joined: Mon Jul 28, 2008 11:35 am

Re: Simon the Sorcerer - Merge Talkie with Subtitles

Post by invwar »

Thank you, I will play around. Unfortunately the German version is even more problematic, as it needs Unicode different to the other languages, so I can't yet get a fully working. Will come back to you later.
And for gods sake, I hope i finally can destroy the awful sound effect of the blacksmith. That sound is now for 30 years going on my nerves, finally removing it from the script would be the ultimate edition for me ;)
rzil
Posts: 30
Joined: Wed Aug 17, 2016 12:56 pm

Re: Simon the Sorcerer - Merge Talkie with Subtitles

Post by rzil »

perhaps this option can help https://github.com/adventurebrew/magos#decrypt-strings
adding `-c de -u` will convert some characters to the glyphs shown in game and save the files as utf8
invwar
Posts: 67
Joined: Mon Jul 28, 2008 11:35 am

Re: Simon the Sorcerer - Merge Talkie with Subtitles

Post by invwar »

Sorry, i wasnt clear, the issue is within ScummVM, seems like some commands are language hard coded within the interpreter. So it is coming 100% from ScummVM, not from magos. I was already able to write a small python script to replace all text. But I have to be careful, as I replaced the GAMEPC stuff, which now links the Hotspots to wrong text. Anyway, it is already working!

https://ctrl.vi/i/F4PVR4rlY (notice the "Alles vers" from the french version instead of the German "Gehe zu")

@rzil: I think you have a bug in your code, I doubt that the Text repacking is happening correctly. The code seems to be correct, at least it seems like it doesnt change much, but I get completly wrong subtitles for scenes like the blacksmith. In the code the lines looks correct, as they are linked to the floppy disk version text and the correct audio associated. So not sure what goes wrong with the code, but something is seriously wrong. I will add my code to your git comments.
BTW: You can't use English GB/US, game crashes for me because of "unknown language" after the intro.
rzil
Posts: 30
Joined: Wed Aug 17, 2016 12:56 pm

Re: Simon the Sorcerer - Merge Talkie with Subtitles

Post by rzil »

Sorry, I can't figure out what the code you sent does, but please note that the string ids are different in floppy version and talkie version.
I would suggest to try replacing manually in more controlled way (e.g. verifying the string id is correct in the string table) at the specific part which seems to have the wrong text to see what happens in game after recompilation. thank you
invwar
Posts: 67
Joined: Mon Jul 28, 2008 11:35 am

Re: Simon the Sorcerer - Merge Talkie with Subtitles

Post by invwar »

Something definitely broken between the Source Code you extract and how ScummVM is interpreting it. I have ScummVM now running with Debug Level 11:

ScummVM Debug line:

Code: Select all

PRINT_STR 1 0 "This is where I come in I feel."(35201) 673
Source Code line :

Code: Select all

 (0xa2) PRINT_STR 1 0 35201 673 // {He's too engrossed in his work to hear me.}
Strings.txt line:

Code: Select all

TEXT23	35201	He's too engrossed in his work to hear me.
Actual position of text in Strings.txt

Code: Select all

TEXT24	35321	This is where I come in I feel.
Also the game crashes now often, just not sure, if its just the recompile of the code or ScummVM can't properly handle it.

Code: Select all

Assertion failed: READ_BE_UINT16(&((AnimationHeader_Simon *) p)->id) == vgaSpriteId, file /data/src/engines/agos/gfx.cpp, line 1183
I don't know why the code would behaves like this. Could it be related to the STRIPPED.TXT? I see it also gets regenerated every time.
If I only import a few code lines, it seems to be ok, so I assume some kind of buffer overflow, might be related to the text file encoding. But the code is definitely unstable to a level it is unplayable.
rzil
Posts: 30
Joined: Wed Aug 17, 2016 12:56 pm

Re: Simon the Sorcerer - Merge Talkie with Subtitles

Post by rzil »

Can you please describe what have you modified and how? the more specific is better (try changing the least amount that causes the problem)
looking at the original english talkie version, the string at 35201 is "We would be extremely interested in acquiring a certain magical implement."
invwar
Posts: 67
Joined: Mon Jul 28, 2008 11:35 am

Re: Simon the Sorcerer - Merge Talkie with Subtitles

Post by invwar »

I have now opened two tickets to my biggest issues:
https://bugs.scummvm.org/ticket/14494 - the fallback add method not correctly working. When selected English/German language, subtitles still not showing.
https://bugs.scummvm.org/ticket/14495 - this might be more a magos issue, not ScummVM, but opened here also, as it crashes ScummVM too
Post Reply