Hey All, I hope you had a great new year!
PICO-8 0.1.4 builds are live on the updates page and on Humble. The main features of this update are:
Friendlier Token Counting
Pairs of brackets and block deliminations now count as one token each, and local declarations do not count at all. You can now fit in around 30% more code because of this, and there is less need for odd space-saving techniques (e.g. using blah"" instead of blah()), or getting rid of local variables. It does mean you're more likely to hit the compressed code limit (use INFO to check), but I don't think this will be a problem. The raw character limit has also been increased from 32k to 64k.Importing / Exporting Data
import() and export() can now load and save the sprite sheet: export("something.png") and sfx: export("something.wav"). These aren't very flexible yet, but in future they'll be able to do things like grabbing particular sets of sprites, or only importing into empty slots.External Cartridge Data Access
reload() and cstore() now take an optional 4th parameter: a filename to grab the data from or store the data to. This is useful for making custom tools, or doing fancy data management. It's intended at this point mainly as a development tool, and isn't supported by the exporter or BBS player. But of course, you can do what you like with it :PHere's Let's Karate being gradually replaced with data from Jelpi during runtime:
Changelog:
Very nice. I can see the pairs of brackets thing helping a ton with math heavy games. :)
Excellent update. One unnoted (and unintentional?) change is that keyboard shortcuts on the Mac version now use the Control key instead of Command key. Any reason for that?
thanks for the update! works fine under linux (debian+i3wm) but sadly the screenshot / video save doesn't save anything on my setup :D
(perhaps because since I'm using a tiling manager I have NO actual "desktop").
Thanks! Very cool new features to play with! :)
Report:
Special keys on german keyboards (win8) are broken again...
Pressing "{" inserts "7{", pressing "}" inserts "0}" ... same for "[" and "]". All those require RIGHT ALT to be held down.
The disabled command key shortcuts was a mistake -- I've uploaded 0.1.4b to correct this.
@movAX13h Ah, nuts! Is that with 0.1.4 or 0.1.4b? (check the startup screen to be sure)
@rez yes, this is likely the problem. I didn't get around to fixing this; as a work-around you can just create ~/Desktop and it should save there. If it can't find ~ ($HOME), it writes to the current working directory.
@zep Thanks for the quick turnaround. My muscle memory appreciates it.
Thanks to the new pause button, it's more like a Sega Master System!
Ya done good, Zep. Extra kudos for using Let's Karate, I love that game.
@zep Will you update soon? I'm stuck on 0.1.3... If not, I will buy a qwerty keyboard.
0.1.4c is now live, to correct the international text entry bug. I'm traveling right now and attempted to fix it without being able to test. Please confirm if the fix works, and if it doesn't I'll do another patch shortly.
0.1.4c also fixes the tab spacing bug (causes cursor position to be wrong, and end of long lines unviewable)
@zep Thanks :-)
0.1.4d solves the issue in my case for the text entry.
With command line loading it doesn't seem to use your root folder. I thought command line loading was broke until I put in the full path to the file.
@jihem That's not a bug. Sprite 0 is always 'clear' on the map. Empty tiles of the map have sprite index 0.
@movAX13h You're right. This was working like that previously. Just I haven't used sprite 000 in a map before... Sorry for the noise :-/
Thanks
Sorry if I keep on "reviving" this, but will there be a Pause function? Or is there already one?
I meant a sort of way to control pausing, like a custom pause menu...
You may create your own pause menu. But this require to dedicate a button for this.
See, I can't really do that for a certain project that I'm making, since it takes both buttons...
Sometimes I curse the input limitations.
Oh well!
If the second player doesn't play you can use one of his buttons. In the worse case (two players are playing and all the buttons are required) may be a combination can help : left and right at the same time, ... ?
I've often considered making a twin-stick shooter in PICO-8 and just telling the player to use both the arrow keys and ESDF. I know it's not the intent of the design but it's pretty conveniently laid out on the keyboard if I wanted to do it that way. :L
The new features look promising! Also, I always like seeing some fun glitch art. heh eheheh
@zep looks like export("foo.wav") doesn't export any sound in osx.
The sound exporter is totally broken in 0.1.4d -- sorry about that. It's fixed for 0.1.5
@Skyrunner65 a custom pause menu is still on the cards -- I'm still figuring out the best way to do this. It will probably appear around v0.1.6
So - reload is failing for me. What am I doing wrong?
As a test, I do:
MEMSET(0x7000, 0x88, 256)
Bam, nice red bar across the screen.
Save screen with:
CSTORE(0x7000, 0x7000, 256, "test")
And I see a "test" file pops up. Neat. Now:
CLS
RELOAD(0x7000, 0x7000, 256, "test")
And I expect the red bar to copy back into screen memory from the saved 'test' cart - but nothing happens.
I am clearly missing something simple. It does not seem the screen is cleared, as if I do not do the cls, the red bar stays there. Is a puzzlement.
"The raw character limit has also been increased from 32k to 64k."
How does this count? My game stops working after exceeding approc. 36620 characters, I would dream of 64kb here... Would solve all my problems I have with my RPG ;)
[Please log in to post a comment]