GH3 Note Limit Surpassed
ExileLord
0:00 / 0:00
GH3 Note Limit Surpassed
54 196 просмотров · 11 лет назад
ExileLord
45,8 тыс. подписчиков
54 196 просмотров · 11 лет назад
Nothing a little disassembly can't fix.
In case anyone is wondering what causes the crash, read below
The first time you start a song, the game allocates an array of 4000 notes. Specifically, it allocates room for 4000 32-bit pointers (16000) and then it proceeds to populate the entire array with note objects. Basically, the game creates an array of 4000 notes that's reused for every song.
When the game attempts to load the 4001st note, it will find garbage memory instead of a note (usually 0xBAADF00D or 0xFEEEFEEE because this is on the heap). Trying to follow the garbage pointers results in an access violation and crashes the game. It's worth noting that it crashes when it tries to load the 4001st note, that doesn't mean there has to actually be more than 4001 notes in the song. That's why it usually crashes when there's 4000 notes in the song but never with 3999.