samhocevar / zepto8

🕹️ Fantasy fantasy console emulator emulator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 sprites
  • Changed: 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-lighting
  • Fixed: shift+- in sprite editor jumps too vertically when zoomed in
  • Fixed: 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 themselves
  • Fixed: 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 iOS
  • Fixed: (HTML Exports) button blocked by canvas when overlapping on small screens