Log In  

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
P#103867 2021-12-31 01:20 ( Edited 2021-12-31 01:37)

I have confirmed this has been corrected in v0.2.4b

P#107177 2022-02-18 16:16

[Please log in to post a comment]