TH07/TH08/?????: Don't crash on score.dat corruptions
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 27
- Forks
- 15
- Avg merge
- 15h 24m
- Merged PRs (30d)
- 1
Description
Here's a score.dat for TH08 that crashes the game on startup:
===
Exception c0000005 at 0x004A5CFF (Rxa5cff) (\th08.exe)
Registers:
EAX: 0x00000000 ECX: 0x00000005 EDX: 0x06B60DB8 EBX: 0x00000005
ESP: 0x0019FCD8 EBP: 0x0019FCE4 ESI: 0x00000001 EDI: 0x0A245EA8
Stack trace:
[09] 0x00448651 (Rx48651) (\th08.exe)
[08] 0x0045A881 (Rx5a881) (\th08.exe)
[07] 0x00459BC4 (Rx59bc4) (\th08.exe)
[06] 0x00458375 (Rx58375) (\th08.exe)
[05] 0x00441B9A (Rx41b9a) (\th08.exe)
[04] 0x004A631F (Rxa631f) (\th08.exe)
[03] 0x74FC8654 (Rx18654) (\KERNEL32.DLL)
[02] 0x77234B17 (Rx64b17) (\ntdll.dll)
[01] 0x77234AE7 (Rx64ae7) (\ntdll.dll)
===
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.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the startup crash with the attached corrupt TH08 score.dat and use the provided exception and stack trace as the initial evidence. Trace the score.dat loading path for TH07/TH08; done means corrupt files no longer crash the game and instead produce a specific error with an option to create a new score file.
Written by the indexing model from the issue text.
Assessment
- Domain
- game-dev
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100