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.
"\^.⁸\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
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:
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
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
Paint a Char
A utility for creating one-off characters for use in other carts.
Immediate load this cart by
Creating and exporting
Paint your desired character and send to the clipboard using "c" button.
Select the type of output desired being Hexadecimal string or Binary String.
Press "x" to clear and start new.
Import hex codes to verify how they look, or edit them further.
To import a hex code:
- Set Paint a Char to receive hex from clipboard
- Copy the 16 digit hex code you want to import
- Paste (e.g. ctrl-v) the value in to the app
- The import will not work if you don't past the value into the app first
- Press "O/C" to import the value
You should now see that hex code's rendered one-time character.
Only importing hex codes is supported at this time.
Use the output of this cart for creating one-off characters in your PICO-8 projects.
For binary encoded string you prefix the value with:
For hexadecimal string you prefix the value with:
example cat (hex):
example cat (bin):
The binary output to the clipboard may not working correctly. There is an issue with the one-off character feature when a binary encoded string ends in a
\0. In this condition, nothing renders. If the last line in your character is blank, I suggest you use hex output for now for that character. A bug report has been open here
**NOTE: This issue has been corrected in v0.2.4b
- v1 (30Dec21)
- Initial Release
- v2 (31Dec21)
- Add import functionality
- Change layout per feedback
- v2.1 (31Dec21)
- Update instruction wording
- v2.2 (1Jan22)
- Additional check for invalid imported hex value
- v2.3 (8Feb22)
- Exports control character with value
- v2.4 (11Feb22)
- 🤦♂️forgot to escape the control character
Back at it with a refactored version of the first Mines game. The goal here is learning and fun, and this project has been both of those for me.
- Arrow keys to move around
- x to select tile
- z to set flag on tile
- Minesweeper clone ('cuz there ain't enough of them)
- Level-progression game play
- Game field scrolls larger than game view to support super-big game fields
- Field continues indicator arrows
- Better performance at 30fps
- Intentional no mouse control to support handhelds
Hmm, that was shorter than I expected :). I wanted to refactor what I did in the first one and add levels. Which I did and they are working. It still ugly, but, well, okay. Could use some sound and music too 😉
Thank you for reading.
A wide field example:
It actually turned out to be a pretty fun little project.