Skip to content

NESFab 1.0

Compare
Choose a tag to compare
@pubby pubby released this 29 Aug 01:15
· 139 commits to master since this release

Overview

This is a milestone. If you're an optimist, you can think of NESFab as going from beta to gold. If you're a pessimist, you can think of it as going from alpha to beta. Either way, 1.0 is a major version bump.

There's a decent amount of bugfixes in this release, along with a few features.

Breaking change: Library reorganization

I've moved various files in thelib/ folder to sub-folders such as lib/math/ and lib/audio/. Also, I've renamed a few files and functions (such as base10 -> base_10 to better match NESFab's naming scheme. My apologies for this, but the 1.0 release seemed like a good time to make these changes.

file Expressions

Previously, the file keyword could only be used in byte blocks. Now, it can be used as an expression to produce values of type U{}.

Function pointers

I've added experimental support for function pointers, but this support is somewhat gimped. Function pointers require functions to be partitioned into sets, and function pointers can only be called from a single thread of execution. Also, for the time being, asm support doesn't exist for function pointers. But there is some support in 1.0.

To see this feature being used, check out examples/fn_ptr/.

--multicart compiler option

The --multicart action53 compiler flag can be used to ensure compatibility with the Action 53 multicart mapper. This is intended to be used for the yearly NESDev competition.

JSON mapfab imports

The mapfab keyword can now import .JSON files exported by MapFab.

32x32 Meta-meta-tiles

The mapfab keyword now supports the mmt_32 target, which generates 32x32 metametatiles.

To see this feature being used, check out examples/meta_meta_tiles/.

More examples

  • examples/platformer/ shows the basics of a platforming game
  • examples/scrolling_8_way/ shows how to achieve 8-way scrolling
  • examples/rope/ shows some interesting rope physics
  • examples/billiards/ shows bouncing ball physics

Patreon

https://patreon.com/Pubby434