PICO-8 v0.2.1 compatiblity roadmap
samhocevar opened this issue · comments
- Added: oval() ovalfill() split()
Added: circle drawing tool is now an oval tool (hold shift for circle)Added: hold shift with line tool to snap to 22.5 degree angles from origin (0:1, 1:1, 2:1 gradients)- Added: serial() channels for stdin,stdout
- Added: raw binary and image files dropped in to PICO-8 also become byte streams readable w/ serial()
- Added: add(tbl, val, index) -- insert val into table at index
- Added: deli(tbl, index) -- delete element from table by index (index defaults to last element)
Added: show progress while exporting binaries (can be slow now that generating zip files)- Added: -e to add an extra file to exported binaries zip files // export -e manual.txt foo.bin
- Added: RESET command to reset the runtime / draw state
- Added: drag and drop cartridges into PICO-8 window to load them
- Added: hash stored in .p8.png so that cartridges corrupted by image quantization can show a specific error
- Added: raw data blocks in compressed code format (useful for storing long binary strings efficiently)
- Added: clip(x,y,w,h,true): 5th parameter indicates that the clipping region should be clipped by the old one
- Added: -export switch can be used to convert .p8 files to .p8.png from commandline. // pico8 foo.p8 -export foo.p8.png
- Added: extcmd("screen",scale) and extcmd("video",scale) to override the default scale (e.g. scale 2 means 256x256)
- Added: printh(str, filename, overwrite, save_to_desktop) -- 4th parameter to save output file to desktop
- Changed: add(), del() no longer implemented with Lua snippet; lower cpu cost.
- Changed: line(),rect() cost the same as rectfill() when drawing equivalent shapes
Changed: all drawing operations in sprite editor now observe fill pattern state- Changed: numbers can be immediately followed by identifiers (a=1b=2) // lexaloffle.com/bbs/?tid=38038
Changed: Sprite editor shows only active area after shift-selecting spritesChanged: copy/paste in the code editor treats uppercase ascii characters as puny font only when puny mode (ctrl+p) enabled- Changed: C0 Controls characters (except for 0x0,0x9,0xa,0xd) encoded in .p8 / clipboard with unicode replacements
- Changed: stat(4) converts characters to PICO-8 format (P -> puny p, hiragana unicode -> single character etc.)
- Changed: serial() returns number of bytes processed (1/8ths included for partial bytes)
- Changed: IMPORT SPRITESHEET.PNG now uses the current sprite as the destination coordinate instead of 0,0.
Changed: Standardized name of the display palette to "display palette" (was sometimes referred to as "screen palette").- Changed: tostr() returns nil (used to return "[nil]")
- Changed: don't need to set bit 0x40 at address 0x5f2c to use secondary palette.
Improved: exported binary's data.pod file 90% smaller (≈870k -> ≈85k)- Fixed: pack(...).n is shifted right 16 bits
- Fixed: ctrl-r doesn't reload external changes for carts which are over compressed code capacity
Fixed: false positives when detecting external changes for some older cart versions- Fixed: .p8.png carts saved with dense code (compressed size > raw size, including very small carts) stores junk
- Fixed: error message duplication when loading future version of .p8.png carts
Fixed: Illegal colours can enter spritesheet via serach-replace after setting with color()- Fixed: Preprocessor: "foo():a().x+=1" "a=b[1]c+=1"
Fixed: hex numbers written with punyfont characters breaks syntax high-lightingFixed: shift+- in sprite editor jumps too vertically when zoomed inFixed: clicking a note in sfx editor creates a selection (-> backspace clears without moving rows)- Fixed: print()/printh()/stop() doesn't respect __tostring metatable method (regression)
- Fixed: time() and btnp() speed changes after stopping program, typing a command and then resuming.
Fixed: phantom drag & drop events sent to unused music channels causing them to occasionally unmute themselvesFixed: undo after moving sprites in map mode only undoes the changes to the map and not the spritesheet.- Fixed: inconsistent token counting for negative or bnot'ed numbers https://www.lexaloffle.com/bbs/?tid=38344
Fixed: Crash when INSTALL_GAMES / INSTALL_DEMOS without a writeable disk- Fixed: stat(4) (clipboard contents) does not convert unicode to corresponding glyphs
Fixed: (MacOS) Using discrete GPU ≈ drains battery. Now using integrated GPU when available.- Fixed: screensaver is blocked while PICO-8 is running (needed to set SDL_HINT_VIDEO_ALLOW_SCREENSAVER: "1")
- Fixed: screen glitches after running for 25 days
- ~~Fixed: (HTML Exports) touch controls not registering when running under iOS from an iframe (e.g. on an itch.io page) ~~
Fixed: (HTML Exports) tap and hold brings up the select menu under iOSFixed: (HTML Exports) button blocked by canvas when overlapping on small screens