01y / bstone-vita

A source port of Blake Stone
Other
11 stars 2 forks source link

Music related bug leads to crashing. #2

Closed 01y closed 5 years ago

01y commented 6 years ago

Steps to reproduce:

1) Start a new game using AOG Shareware version 3.0, with the "--cheats" command line argument and use BACKSPACE-W (that is, on Vita, compile with CMake variable VITA_TEST set to ON, press the "Planet Strike" button to launch, then press, circle + left part of front screen while in-game) to warp to various different levels in succession. Once the levels visited include four sets from the following collection: ({2,6}, {3,7}, {5,8}, {0}, {1,4,7}), the game will crash while loading the first level from the fourth set (last thing to be displayed is the loading screen, without fading out, before next music track would have started). If you restrict the level switching to three total sets, you may continue indefinitely. Each set represents the levels corresponding to a particular background track.

2) OR: Start a new game in PS, with music and sound enabled, and kill all enemies & collect all items in the first two rooms. Game will crash when a sound effect is triggered at some point before finishing, or if not, when opening a door to a third room.

In both cases, crashes are not triggered when music is disabled in settings.

May have something to do with sound effects causing a pause in the music as well the first time they are played.

Different behavior was observed by doing step 1 using Registered AOG data files (typically would not crash as a result of loading levels, but only after triggering some sound effects).

01y commented 5 years ago

Was able to cause similar behavior on other platforms by limiting memory available to the program to a bit under 60MB (with for instance, ulimit -d). Commit https://github.com/01y/bstone-vita/commit/0e7e6bde71a727558da0428ce420ece88c31df36 prevents this occurring on Vita by increasing heap size (which is 32MB by default when using vitaSDK).