I have come across a bug with the rendering one-off characters using a binary encoded string. If they binary encoded string ends in a nul \0
the character will not render.
For example:
"\^.⁸\0\0\0\0\0\0\0"
doesn't work, the character will not render
"\^.\0\0\0\0\0\0\0⁸"
does work and the character renders as expected; as does other combination tried as long as the last value isn't \0
None of this appears to be an issue if values are not string encoded first. Using a variable to store a binary value and using it to render a one-off character works in a cart regardless if there is a \0
at the end.
Doing this on the Pico-8 command line:
didn't work
print("\^."..chr(255)..chr(0)..chr(0)..chr(0)..chr(0)..chr(0)..chr(0)..chr(0))
worked
print("\^."..chr(255)..chr(0)..chr(0)..chr(0)..chr(0)..chr(0)..chr(0)..chr(1))
This isn't an issue when using hex values e.g.:("\^:FF00000000000000"
always appear to work as expected)
After trying many different combinations it does appear the issue with rendering only occurs when the last value is \0
Tested in version 0.2.4 running on MacOS 12.1 and Windows 10
Example working values
⁸⁘\"A⁸⁸⁸⁸ \0\0\0\0\0\0\0◝ ᶜ▮▮▮8ム⁶³ |
Example non-working values
ᶜ▮▮▮8ム⁶\0 ◝◝◝◝◝◝◝\0 ◝████◜█\0 ○█\0\0█ᵉ█\0 |
[Please log in to post a comment]