PICOSYNC - Dev Tool for PICO-8
A downloadable tool for Windows and macOS
PICOSYNC acts as a bridge between your favorite coding/pixel art software and PICO-8. Changes to external files are merged into PICO-8 cart files automatically as you work.
How it works
PICOSYNC monitors Lua files and a sprites.png
file in a folder containing a PICO-8 cart file (.p8
). When a monitored file changes, the Lua code and sprite data are merged into the cart file which can then be reloaded in PICO-8 by pressing ctrl+r
as usual.
- Edit Lua source code in your favorite code editor in separate files.
- Edit sprite data in your favorite image editor.
- Automatically merge changes into PICO-8 cart files while preserving Map, Sound, and Music data. PICOSYNC will also create a backup before each merge.
- Custom palette remapping allows mixing PICO-8 standard colors with colors from the secret palette.
What is a project?
A project is a folder that contains a .p8
file, a sprites.png
file, zero or more Lua source files, and a picosync.json
config file. The sprites.png
and picosync.json
files are created automatically when a project is loaded if they don't already exist.
How to load a project?
Drag a project folder onto the PICOSYNC window. By default the PICO-8 file that data will be merged into is <foldername>.p8
but this can be overwritten in the picosync.json
config file (see below).
The picosync.json file
{ //override the file name of the PICO-8 cart to merge into "picoFile":"", //use a custom palette to remap colors. useful for accessing secret palette "customPaletteFile":"palette.png", //a list of source files to merge sequentially "sources":[ "main.lua", "render.lua" ] }
You must add any new Lua source files that you create to the sources
list in order for them to be monitored for changes and merged into the PICO-8 cart.
If no source files are listed, PICOSYNC will leave the Lua section of the cart unchanged. This is useful if you only want to only merge sprite data while coding in PICO-8. Likewise, transparent pixels in sprites.png
will leave the corresponding pixel in the cart unchanged.
Download
Development log
- Cart Loading and Saving Bugs FixedApr 15, 2020
Comments
Log in with itch.io to leave a comment.
Banger
Nice! Btw, how do I mute it?
btw pico-8 now supports
#include main.lua
; see https://www.lexaloffle.com/bbs/?tid=33883the sprite-merging (and especially the custom palette stuff) seems like it would be very useful – I’ll have to try this tool out sometime!
Is there a possibility to have this for Linux?
Windows version runs on wine, but it doesn't recognize the linux path for the carts
UwU
keen said on twitter that the mac app contains the love file that can be run with löve2d
This looks amazing! I'm not quite clear on how the custom palette works, though - could you add some documentation for how to use it? I'm also not clear on how to do map work with this...
Can’t run it in macOS Mojave 10.14.6 (Early 2015). :(
Sounds like an amazing tool, thought.
Unfortunately OSX gatekeeper causes lots of problems distributing free software. If you have the gatekeeper turned off and do the right click > open thing and still have issues, then I'm not sure whats wrong. You could try downloading the love2d app from https://love2d.org/, then grab the .love file from picosync.app/Contents/Resources/picosync.love and drag and drop it onto the love2d app.
https://love2d.org/wiki/Getting_Started
Hey Keen, thank you for the reply!
I just tested it again, downloading the latest version, and I can confirm it works now! For anyone that had any problems, I’m on macOS Catalina 10.15.6 now, same computer.
Gonna use it in my next Pico 8 project!
Very useful tool, I'm new to PICO-8 and this is exactly what I was looking for
Edit: It says "Compiler.lua:52: attempt to index local 'section' (a nil value)" inside Picosync whenever I save my project
Edit: Nice, thanks!
I just pushed a new version that probably fixes this. Also another related issue.