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.
Contains two bug fixes:
FF
).A good example of this is P5R's
EN.CPK\EVENT_DATA\MESSAGE\E000\E090_001.BMD
. This contains the dialogue each persona says after you fuse them ("I am Jack Frost", etc.). The number of speakers in this script is in the hundreds, since there is a speaker for each persona, and the relation table encodes the addresses for the speaker table incorrectly in this case.The compiler used to output the following (example still from
EN.CPK\EVENT_DATA\MESSAGE\E000\E090_001.BMD
from P5R):where the correct encoding is:
This has been fixed to produce the correct encoding.
-2147483648
, and instead writes it in hexadecimal instead. This seems to have been intended, but failed previously due to a>= 16
check, which fails since the value is actually negative. This change also makes sure the decompiled script can later be recompiled without issues, since the compiler otherwise fails to parse the literal-2147483648
. Perhaps this should also be fixed in its own right at some pointThere are examples from P5R's BF files where this literal appears. Here is a snippet from the decompiled
EN.CPK\FIELD\HIT\FHIT_009_002.flow
:From the context alone it makes sense that these would be written as
0x80000000
instead