PICO-8 0.1.1 is now available! Grab it from the Updates page.
Note that PICO-8 is available to all Voxatron alpha users (including bundle customers). You may need to activate your account, or log in via email if you don't have a username/password already set up.
I'm doing things a little out of order here.. a full introductory post to PICO-8 will follow in a bit for those who haven't been around lately, but for now here's a rundown of new stuff in 0.1.1..
1. Gif saving! Press F9 to save the last 8 seconds (or F8 to set a starting point if you wish)
2. Token counting.
Instead of limiting cartridges to ~15k of ascii text, the primary limit is now 8192 tokens. I say primary limit, because the character count still stands, but is now 32k -- in practice the token limit is almost always reached first. There is actually also a third limit when saving cartridges -- the code must compress to the original 15k allocation. Exceeding this is extremely rare and you can probably ignore it! To get the status of your program, use the new INFO() command.
There aren't currently any cartridges that I know of that go over 8k tokens, and in general this change will give you around 20~30% more space.
3. Freeform sprite and map editing
You can now zoom out with the mousewheel and pan around using space. There is also a more traditional selection tool (you can use cursors to move the selection around). See the manual for more details.
4. New api functions
By popular demand, sqrt(), atan2() and sub() have been added.
atan2() follows the convention set by cos() and sin() of flipping y so that angles increase anti-clockwise in screenspace and reach a full circle at 1.0. So atan2(0,-1) is 0.25
To grab the length of a string, you can use the now-fixed # operator (#s) and grab individual characters with sub(s,pos,pos)
5. More palette control
Palette mapping now applies to all draw operations (note: there is a tiny bit of palette weirdness for existing carts because of this)
Also, you can specify which colours spr(), sspr() and map() should treat as transparent using palt()
palt(1, true) -- don't draw any dark blue pixels
6. Better saving, loading and re-loading
You can now quick-save with CTRL-S. Saving over files, or quitting without saving causes a backup to be saved in [pico-8 home]/backup.
When loading a .png, you can now omit the ".p8.png" and pico-8 will check for it.
Using CTRL-R will automatically reload the cartridge if no changes have been made (making it easier to work with external editors for heretics).
--
Thanks so much to everyone who has given suggestions and shaped the direction of this project. I'm really happy with the way token counting in particular has worked out, but the proof will be in the pudding! Let me know if there are any show-stopping problems that should be nipped in the bud, and I'll include them in a bug-fixing update next week (that will also hopefully include keyboard mapping & broken Yosemite mouse fixes).
Test 0.1.1 cart:
Full changelog:
[Edit: figured it out] To enable alt-click for right-mouse, close Pico-8, edit ~/Library/Application Support/pico-8/config.txt (or config.txt in the appropriate data dir for your operating system), find rmb_key 0 and replace it with rmb_key 226, as instructed in the comment. Save the file, then start Pico-8.
226 is Left Alt. 224 is Left Control, if you prefer that. (It's slightly more consistent on a Mac.)
Note that Pico-8 appears to save its config to this file when it exits. I got confused when I tried editing config.txt when Pico-8 was running, then restarting Pico-8, only to find my edits replaced with the defaults again. You must quit before editing the file.
Thanks very much for this update!
-- Dan
Thanks for the update. It looks great.
I will play with it this week-end.
I have noticed some small regressions/glitches:
[1] In the map editor, the coordinates are no more displayed. (you can see some screen like coordinates when pressing space to move the canvas, but the tile coordinates of previous version were much more useful I think).
[2] The sin() / srand() / shr() / shl() API functions are not colored in the code editor (ok for cos() for instance).
[3] bshr() / bshl() are colored while they are not part of the API.
Thanks for the update!
Found some minor issues:
Ctrl+Click in Sprite Editor affects 1 row of the bottom sprite and one column of the sprite to the right! Worked in 0.1.0.
[Please log in to post a comment]