Bug Fixes
- Pyriel
- Webmaster
- Posts: 1230
- Joined: Wed Aug 18, 2004 1:20 pm
Re: Bug Fixes
For any Germans interested, I pushed a new version of the patch to the GitHub repository that fixes the bugs in Two River and Gregminster that can rope you into crashing/locking up your game.
-
- Posts: 2796
- Joined: Sat Apr 19, 2008 9:48 am
- Location: Germany, yeah baby
- Contact:
Re: Bug Fixes
This is amazing. After all these years ... do you know what caused the bug?
- Pyriel
- Webmaster
- Posts: 1230
- Joined: Wed Aug 18, 2004 1:20 pm
Re: Bug Fixes
Yes and no. The text display is sort of limit, and while ordinary speech can probably overrun the box without much issue, it caused problems when there's a choice. If there are enough lines of text that it overflows vertically, the game seems to get confused about what it's supposed to display firstly, and it breaks the selections if the player tries to interact with lower options.
I didn't actually watch what happened in the code, but my suspicion is that an incorrect option value is returned. Under normal circumstance, the scripts will indicate that the player must make a choice, from X number of options represented by however many text strings. Then the options are numbered, and when the player makes a selection it actually runs through the remainder of the script looking for the appropriately numbered block of code. Each block is terminated by the same set of values that indicates the end of any event script. So either it reaches the end of the entire script without finding a block of code to run, or it accidentally runs an incorrect block of code that appears to correspond to the bad option number from the input. Either way, you'll get to the end of the script fragment without having run the correct code, and either the game has nowhere to go subsequently, due to event flags and the like not getting set, or control flags are left set that render other script un-runnable, or any of dozens of different possibilities.
For Two River, they added an extra line break to give emphasis to the hero saying, "always," I guess. That option takes three lines of the four that are allowed. The second option had two lines just due to its length. Daring to press down caused the game to get lost, and I'm not sure you could even safely pick the first option at that point. In Gregminster, they had three options and sort of arbitrarily decided to put line breaks in two of them. More for looks maybe, because neither was in much danger of overrunning the margins of the box. Since the last option there is required to continue from that point, you're doomed if you get to that screen. In both cases, reformatting so the text all fits in one display fixes the issue.
I didn't actually watch what happened in the code, but my suspicion is that an incorrect option value is returned. Under normal circumstance, the scripts will indicate that the player must make a choice, from X number of options represented by however many text strings. Then the options are numbered, and when the player makes a selection it actually runs through the remainder of the script looking for the appropriately numbered block of code. Each block is terminated by the same set of values that indicates the end of any event script. So either it reaches the end of the entire script without finding a block of code to run, or it accidentally runs an incorrect block of code that appears to correspond to the bad option number from the input. Either way, you'll get to the end of the script fragment without having run the correct code, and either the game has nowhere to go subsequently, due to event flags and the like not getting set, or control flags are left set that render other script un-runnable, or any of dozens of different possibilities.
For Two River, they added an extra line break to give emphasis to the hero saying, "always," I guess. That option takes three lines of the four that are allowed. The second option had two lines just due to its length. Daring to press down caused the game to get lost, and I'm not sure you could even safely pick the first option at that point. In Gregminster, they had three options and sort of arbitrarily decided to put line breaks in two of them. More for looks maybe, because neither was in much danger of overrunning the margins of the box. Since the last option there is required to continue from that point, you're doomed if you get to that screen. In both cases, reformatting so the text all fits in one display fixes the issue.
-
- Posts: 2796
- Joined: Sat Apr 19, 2008 9:48 am
- Location: Germany, yeah baby
- Contact:
Re: Bug Fixes
I'll just pretend as if I've udnerstood anything of your explanation. But given that the German translation is even worse than the English one, it is no miracle that it also has strange issues on the technical side. It's especially interesting that the Gregminster bug has been known for years, but the Two River one has never occurred.
Anyway, thanks a lot for fixing these issues!
Anyway, thanks a lot for fixing these issues!
- Celes
- Global Admin
- Posts: 1422
- Joined: Sun Nov 12, 2006 6:25 pm
Re: Bug Fixes
How is it that you have taken care of the German version?
- Pyriel
- Webmaster
- Posts: 1230
- Joined: Wed Aug 18, 2004 1:20 pm
Re: Bug Fixes
How do you mean? I have a German copy of the game, and the nuts and bolts of it are essentially identical to the US version.
- Celes
- Global Admin
- Posts: 1422
- Joined: Sun Nov 12, 2006 6:25 pm
Re: Bug Fixes
Do you understand the language as well?
- Pyriel
- Webmaster
- Posts: 1230
- Joined: Wed Aug 18, 2004 1:20 pm
Re: Bug Fixes
Not really. I might get the gist if people keep talking long enough, but a lot of the time I think I'm more confused than I would be if I understood none of it.
Translation apps and dictionaries are things, though, and the saves are basically interchangeable by editing the file IDs. I just took a couple of US saves I had, made the changes, and played through the minimum amount of story I could. To fix these issues, I didn't have to make meaningful changes to the text. I just removed some control characters.
Translation apps and dictionaries are things, though, and the saves are basically interchangeable by editing the file IDs. I just took a couple of US saves I had, made the changes, and played through the minimum amount of story I could. To fix these issues, I didn't have to make meaningful changes to the text. I just removed some control characters.
-
- Posts: 324
- Joined: Wed Feb 13, 2013 11:48 am
Re: Bug Fixes
New minor bug. When recruiting Anita at Muse, if you get her liquor request when you're supposed to visit Jowston Hill for the meeting, Leona has fixed story lines and won't give the liquor. When you are out of the story event (after Muse war battle) you can continue the request, but completing it doesn't raise Anita's "points" at all. It's only a minor issue overall, but just wanted to note it. Found by z3r01337.
-
- Posts: 62
- Joined: Sat Feb 06, 2016 6:06 am
Re: Bug Fixes
So dug into the Anita bug and it's not actually a bug, I just didn't understand how she worked. I wrote up an explanation here: http://www.suikosource.com/phpBB3/viewt ... =9&t=14624
- Takehaniyasubiko
- Posts: 10
- Joined: Sun Jul 13, 2014 2:57 pm
Re: Bug Fixes
Is this a valid download link for the latest public patch? http://www.suikosource.com/games/gs2/guides/patches.php
Or is this repository considered the latest public patch now? https://github.com/pyriell/gs2-bugfixes
Oh, and BTW - is this the latest patch for GS1? https://suikosource.com/phpBB3/viewtopi ... 48#p157748
Or is this repository considered the latest public patch now? https://github.com/pyriell/gs2-bugfixes
Oh, and BTW - is this the latest patch for GS1? https://suikosource.com/phpBB3/viewtopi ... 48#p157748
- Pyriel
- Webmaster
- Posts: 1230
- Joined: Wed Aug 18, 2004 1:20 pm
Re: Bug Fixes
The GitHub link is the place for the latest Suikoden 2 patch. I lost my access to update the SuikoSource site sometime back, and just haven't bothered to ask about the new logon.
As to the Suikoden 1 patch, there was only ever one version of it, and that's it. There was precious little that needed fixing, really. The only other fix I could make is for a glitch in the somewhat mysterious 1.1 version of the game that causes data-only scan lines that should be off screen to be visible on some emulators. However, I can't recall if I ever even found a download of version 1.1.
As to the Suikoden 1 patch, there was only ever one version of it, and that's it. There was precious little that needed fixing, really. The only other fix I could make is for a glitch in the somewhat mysterious 1.1 version of the game that causes data-only scan lines that should be off screen to be visible on some emulators. However, I can't recall if I ever even found a download of version 1.1.
- Takehaniyasubiko
- Posts: 10
- Joined: Sun Jul 13, 2014 2:57 pm
Re: Bug Fixes
OK, I'll use the patches from those links then.Pyriel wrote: ↑Thu Apr 25, 2019 7:36 am The GitHub link is the place for the latest Suikoden 2 patch. I lost my access to update the SuikoSource site sometime back, and just haven't bothered to ask about the new logon.
As to the Suikoden 1 patch, there was only ever one version of it, and that's it. There was precious little that needed fixing, really. The only other fix I could make is for a glitch in the somewhat mysterious 1.1 version of the game that causes data-only scan lines that should be off screen to be visible on some emulators. However, I can't recall if I ever even found a download of version 1.1.
I have one question, though. My disc image is a .bin file with the .cue file attached. Your patcher successfully completed the job, but it only generates one file, with no extension. Is this generated file a .bin file and if yes, do I have to generate a new .cue file or will the original one work with the patched .bin file?
I'm preparing this for PSIO and that's why I need to use a .bin file.
- Pyriel
- Webmaster
- Posts: 1230
- Joined: Wed Aug 18, 2004 1:20 pm
Re: Bug Fixes
The patcher only reads and only produces ISO files, but for PSX disc images the distinction between BIN and ISO is pretty blurry. So you should be able to just rename it to match your CUE file's expectations and go from there.
The patcher doesn't auto-append an extension. It just did what you told it to when you specified your output file name.
The patcher doesn't auto-append an extension. It just did what you told it to when you specified your output file name.