Fix sometimes receiving items on the titlescreen #3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
read_string()
function was stripping trailing null characters, however, when setting the stage name, TWW only writes bytes up to and including the null character, so any previously written bytes within the 8 bytes of storage would remain.E.g. going to Ice Ring Isle Cave will set the stage name to
b"MiniHyo\0"
, writing over all 8 bytes. Going directly from Ice Ring Isle Cave to the title screen will set the stage name tob"sea_T\0"
, but because this is only 6 bytes, the last two bytes will remain unchanged and the full 8 bytes will beb"sea_T\0o\0"
, so stripping null characters would return the incorrect bytestringb"sea_T\0o"
which the AP Client would not consider to be the title screen incheck_ingame()
.read_string()
has been changed to split the bytes by the first occurrence of a null character. Everything before the first null character will be the string. If there is no null character present, then the string will be considered all the bytes that were read.