when I import a spritesheet, it doesn't work as I expected. Former sprite 0 is placed on sprite 1, sprite 1 on sprite 2 etc. Please see image.
Is this supposed to work this way? All sprites shift one, this is really inconvenient. You would expect to get an exact copy of the original spritesheet. Or am I doing something wrong?
I'm not sure since which version it started doing that, but the fact that the sprite cursor starts at 1 instead of 0 is really a problem for quick import iterations.
If importing manually, I need to open the sprite editor, select sprite 0, go back and "import spritesheet.png".
If using a script __lua__ containing the import statement, running pico8 -run data.p8 is not enough, the import would be run after opening the pico8 window and having sprite cursor set to id 1. (for those who don't know, it's possible to run operations like import and save by writing them in the lua code and running the cartridge)
However, a headless call pico8 -x data.p8 will call the import statement with sprite cursor still at the origin, I guess because in headless mode they don't bother moving it.
This means that if you store your spritesheet in a separate cartridge data.p8 that only contains __lua__ import spritesheet.png and visual/audio data, you'll have to do:
pico8 -x data.p8 # update spritesheet at correct location pico8 data.p8 # open data cartridge to modify manually
But it'd be more simple if cursor stayed at id 0, we'd only need a pico8 -run data.p8.
UPDATE: unfortunately I still get the spritesheet imported from sprite 1 using this method... For now, the only 2 solutions I see are:
a. manually move sprite cursor to 0 then manually enter the import command
b. don't use the 1st column and draw your spritesheet with rows of 15 tiles only... so when pasted with top-left at (1, 0) they still fit. But you'll lose space...
[Please log in to post a comment]