Releases: igwgames/nes-starter-kit
v2.0.0 - Making the build easy
About 2.0
2.0 is a major update to nes-starter-kit. It changes the build system to be something more friendly for first-time users, as well as actively supporting linux. (Though tools may not be available outside the compiler). This version also fixes a couple long-standing bugs around collisions with sprites, and full-featured debugging in Mesen.
What's Changed
- Build moved to create-nes-game; removing reliance on cygwin
- Linux support: both x86 and arm!
- Bugfix: Locked Door collisions no longer sticky, don't risk getting you stuck. (NPCs can also be made solid now!)
- Bugfix: Extra tile no longer appears in hud above normal viewing area
- Locked door collisions no longer easily escaped or locked into (hopefully)
- Rare graphical corruption when scrolling fixed
- Full support for source debugging in mesen: both C and asm
- New chapter on debugging in Mesen
- Support for creating repo directly from
create-nes-game - Chapters requiring separate branches now have a playable rom embedded on the page.
Full Changelog: v1.0.8...v2.0.0
MMC1 Crash Fix
This release fixes a rare but possible crash when a MMC1 bank switch is interrupted by an interrupt. (nmi)
As part of fixing this, I also changed the set_prg_bank() method to stop returning a value. This feature was generally unused, and it would have been burdensome to keep this functionality after the change. If anyone is affected by this, let me know and I can look at rolling it back in.
Movement and collision improvements
This release changes how collision works by default, which should make it a bit more pleasant for newcomers.
Changes:
- The player is now nudged onto an 8px grid when moving by default (Similar to LoZ)
- The player hitbox now only covers their lower half (16px x 8px)
- Instructions on reversing these changes have been added to the player movement chapter.
Minor variable changes
This is a pretty small release to make working with a commonly-used variable a bit less painful.
Changes:
- currentMapSpriteIndex moved to a real variable (instead of a #define for tempChar1), and defined in
source/sprites/map_sprites.h. Just include this file to get that include now, rather than copy/pasting the #define.
v1.0.4: Minor Changes
A few minor changes to code style/etc. (May help in support for newer versions of cc65, going forward) No functional changes from v1.0.3.
Kudos to @ericandrewlewis for the changes/suggestion!
v1.0.3
Various minor bug fixes and changes.
Full List:
- Error screen now shows up more reliably when palette fading is used, etc...
- Text arrow shows up again (was inadvertently removed from screen tiles)
- Sprite performance improvements
- Fix a bug preventing the user from switching audio to a different bank
- Fix the type of the
frameCountvariable to beunsigned byteinstead ofunsigned int, since the internal counter is not a 16 bit value.
v1.0.2: First official release
This is the first official release of the guide + game.
In the future, any notable changes to the game or tools will be listed here.