Skip to content

PICO-8 v0.2.3 compatiblity roadmap #35

Open
@samhocevar

Description

@samhocevar
  • Added: Lucky draw list in splore -- gives a random selection of carts
  • Added: load/save carts in .p8.rom format (raw binary 32k block)
  • Added: tostr(), tonum() take format_flags parameter to convert to and from 32-bit signed ints
  • Added: ord(str, pos, num) returns num results starting from character at pos (similar to peek)
  • Added: FOLDER takes an optional parameter to open other host directories: BACKUPS | DESKTOP | CONFIG | BBS
  • Added: Live character / token count of selected text shown at bottom right of code editor
  • Changed: Removed collaboration list from splore (can still search for sub:collab)
  • Changed: 0x808 audio has a slight lpf filter on it by default // turn off by setting bit 0x20 at 0x5f36
  • Changed: tonum(boolean_value) returns 1 or 0 instead of nil
  • Changed: cursor CR x position set only by print(str,x,y) or cursor(), but not by print(str) (0x5f24)
  • Changed: character wrap is on by default when using print(str)
  • Changed: force-pause-menu hold duration is 500ms instead of 300ms to prevent accidentally triggering it
  • Changed: default gif length for new install is 16 seconds
  • Changed: ? shorthand can be used anywhere on a line e.g. if (true) ?"yes"
  • Changed: allow while/if shorthand with no statement, using colon separator: WHILE(BTN()==0);
  • Changed: added warning to fullscreen_method 2 in config.txt (gives erratic behaviour under some drivers)
  • Changed: cheaper OP_MOVE, OP_UNM lua vm instructions so that e.g. "local a=0-b" is not faster than "local a=-b"
  • Fixed: peek*() / poke*() do not charge extra cpu when reading or writing multiple values
  • Fixed: fget(n) returns junk when n is out of range (0..255); should return 0 in that case
  • Fixed: dropped .PNG files not detected as images when filename uses uppercase extension
  • Fixed: line()/tline() illegal writes caused by faulty clipping when (x1-x0) or (y1-y0) >= 0x8000
  • Fixed: -accept_future 1 only worked with .p8.png files; now also applies to .p8
  • Fixed: ?"\a7f" does not play f (happens only when f is the first note)
  • Fixed: abs(0x8000) return 0x0.0001 (should be 0x7fff.ffff)
  • Fixed: parameter string (stat(6)) is dropped when passed via RUN command
  • Fixed: preprocessing of form: "x += x<0 and -1 or 1" broken for operators <, >
  • Fixed: tab not accepted as whitespace for some preprocessor operations
  • Fixed: stat(1) wraps around when cpu is >= 2.0 (regression in 0.2.2)
  • Fixed: pressing SHIFT+ENTER on "local function foo()" or after "if (..) else" doesn't insert "end"
  • Fixed: pal() does not reset secondary palette to system default
  • Fixed: 0x808 audio does not respect pausing / volume / is not recorded with extcmd("audio_rec")
  • Fixed: 'h' pressed in sprite editor toggles hex mode in map editor
  • Fixed: After pressing shift-tab to toggle 128x128 map view, active draw area is still only 128x112
  • Fixed: Attempt to navigate to non-existant tab after running: function _update60() _update60=nil end
  • Fixed: stat(101) not returning cart id when running from BBS web player
  • Fixed: print() wrapping + scrolling; e.g. from commandline: while(true) print(chr(254+rnd(2)).."\0")
  • Fixed: integer divide assignment operator (=) costs 2 tokens instead of 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions