Skip to content

Releases: voliva/ps4-p8

0.3.1

24 Mar 23:29
ecba7f9
Compare
Choose a tag to compare
  • Cartrige compatibility
    • Add missing peek, peek2, peek4 shorthands (% $ @)
  • Predefined functions
    • pack
    • pal with table
    • tline
  • Fixes
    • ord: work with binary strings (specially strings with null characters in them)
    • ord: it was returing negative integers, when it should only return positive integers.
    • pal: keep transparency palette intact
    • spr: the rendering was offset by 1px when flipy=true
    • sub: add support for nil parameters

0.3.0

05 Mar 22:45
6728607
Compare
Choose a tag to compare

This release adds more compatible games, and features save states!

  • Added save states.
    • Added save/load state on the menu.
    • Every cartridge have their own save state which is persisted on disk.
  • New predefined functions
    • poke2
    • poke4
    • run (+ breadcrumbs)
  • p8scii
    • Repeats
    • Bgcolor
    • Vertical cursor move
    • Horizontal + Vertical cursor move
  • p8lua
    • Parse special characters (e.g. # - etc.)
  • Discovered a special compression method used by pico-8 in some of its characters that caused the cartridge to fail loading.
  • Fixes
    • Chr not returning values.
    • Default values for map() parameters cellw and cellh.
    • print() returns the width of the text drawn.
    • all() behaviour when mutating the underlying array.

0.2.0

09 Feb 23:56
Compare
Choose a tag to compare

This release improves compatibility and performance, specially when rendering fill ovals or rectangles.

  • Added a new tab to fetch the newest cartirdges published on pico8's BBS.
  • Fixes
    • Rendering cache after pal() changes
    • Sspr rendering with odd offsets
    • Music timing
    • Bitwise operations with constants
    • Multiple btnp calls on the same button
  • p8lua
    • Special characters can now be used as variable names
    • By default each special character is given a value to be used with fillp and btn/btnp
  • New predefined functions
    • memcpy
    • tostr for other types than numbers + undocumented 0x2 flag
    • fillp with transparency
    • t (alias for time)
    • coroutine methods (cocreate, coresume, costatus, yield)
    • pal(0) resets draw palette
    • reload()

0.1.0

30 Jan 22:53
Compare
Choose a tag to compare

This release focused on improving compatibility. For this a major refactor was done, heavily modifying Lua to accept syntax differences on p8lua, and having every number in 16-bit fixed point (just as the real pico8).

Srand + random also have the same behaviour as the original pico8

  • p8lua
    • Improve reliability of many transforms (if shorthand, bitwise operators, unary operators, assignment operator, etc.)
    • bitwise operations with decimals
    • add missing assignment operators (e.g. |= &= etc.)
  • draw
    • fill patterns
  • detect incompatible cartridges (avoid crashes)
  • show warning icon when an error happens in lua
  • add saves - To enable them, create the /data/p8-saves folder
  • predefined functions
    • sget
    • sset
    • clip
    • cartdata
    • dget
    • dset
    • memset
    • fillp
    • pget
    • flip
    • band
    • bor
    • bxor
    • brotl
    • brotr
    • bshl
    • bshr
    • blshr
    • srand
    • peek
    • peek2
    • peek4
    • unpack

splore.0

15 Jan 10:03
Compare
Choose a tag to compare

This release adds a new (quite unpolished) screen on the main menu, that fetches the top 32 featured cartridges from Pico-8's BBS and lets you load them:

image

Note that compatibility is still very limited - From today's list only 4 were playable. It will improve over time.

  • Improved render performance by ~15%
  • Fix framerate control (on PS4 it wasn't targetting 30/60fps)
  • Added new page on main menu to load cartridges from the featured Pico-8 BBS
  • Polished music stability.

music.1

11 Jan 19:38
Compare
Choose a tag to compare

This release fixes a couple of issues:

  • The volume level was turned down the more channels were active.
  • Sometimes sfx would kick music channels.

music.0

11 Jan 07:59
Compare
Choose a tag to compare

This release mainly adds multi-channel sfx + music. Celeste is now playable... a bit slow, but playable.

  • P8SCII
    • Special character replacement (\123)
    • \n \r \b
    • background color #
    • ★ and ○ characters
  • pico-8 predefined functions:
    • music
    • extcmd (reset, pause, shutdown)
    • fget
    • fset
    • atan2
    • ceil
    • pset
    • shr
    • shl
    • sgn
    • count
  • Improve pico-8 lua transform
  • sfx offset, length and loops
  • squish sprites
  • flip sprites
  • btnp delay config through poke
  • map layers
  • improve render performance (will need more work)
  • reset cart from pause menu
  • add many button aliases for X and O

image

cartridge-selector.0

03 Jan 23:14
Compare
Choose a tag to compare
  • Internal refactor to properly emulate pico-8 memory.
  • Add support to additional Pico-8 lua features:
    • += -= *= /= operands.
    • Binary literals (0b01110...)
    • fillp(symbol)
    • if (condition) do_something shorthand
  • Support more pico-8 predefined functions:
    • foreach
    • mid
    • abs
    • del
    • deli
    • split
    • sspr (without stretches or flip)
    • poke
    • pal
    • palt
    • camera
    • sqrt
    • cos
    • sin
    • map
    • mget
    • mset
    • line
    • rectfill (without pattern)
    • circ
    • circfill (without pattern)
    • oval
    • ovalfill (without pattern)
  • Add cartridge selection menu
    • Cartridges can be bundled in the .pkg by putting them in /assets/misc.
    • Cartridges can be added externally by placing them in a PS4's /data/p8-cartridges folder

image

minewalker-basic.0

31 Dec 20:13
Compare
Choose a tag to compare
update readme