Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PICO-8 v0.2.1 compatiblity roadmap #22

Open
12 of 34 tasks
samhocevar opened this issue Jun 24, 2020 · 0 comments
Open
12 of 34 tasks

PICO-8 v0.2.1 compatiblity roadmap #22

samhocevar opened this issue Jun 24, 2020 · 0 comments

Comments

@samhocevar
Copy link
Owner

samhocevar commented Jun 24, 2020

  • 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant