-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TH07/TH08/?????: Don't crash on score.dat corruptions #19
Comments
…images. We'll probably end up rearranging all those sprites anyway though, to make sure that translators can make them as large as they can possibly appear in-game, despite breaking compatibility to the retexture patch and other existing translations… Sprites enlarged ---------------- front.png: • #19 – MAX • #20 – 点 replay00.png: • #9 – 処理落ち率 result01.png: • #4 – Extra title01.png / title01s.png: • #11 – Extra Start title04.png / title04s.png: • #00 – Shot (決定) • #1 – Bomb (キャンセル) • #11 – Off • #16 – Midi • #18 – Skip
crash is at one level up the stack is another level up is Conclusion: pointer to Will do further investigation with a debugger later. |
The scorefile has a sort of checksum in it that is used to validate which version the scorefile was made in. The game will loop through th08_0100d.ver until it finds a line that matches the checksum in the scorefile. That's it, the game reaching the end of the file will not stop it from continuing to loop, then reading past the file and reaching invalid memory. cc8f8db will even write a valid checksum if the one in the scorefile is invalid |
Here's a
score.dat
for TH08 that crashes the game on startup:Other games might be affected by similar ZUN bugs.
We probably can't restore those in case of a corruption, but it would be nice to print a more specific error, with the option of creating a new score file, rather than just crashing and forcing players to debug the issue themselves.
Bonus points for actually preventing the root cause.
The text was updated successfully, but these errors were encountered: