Repository navigation
Releases: HackerN64/HackerSM64
Releases · HackerN64/HackerSM64
Release list
v2.4.0
HackerSM64 2.4.0 - Minor Feature Update
What's Changed
New Features:
- Overhauled crash screen to be more accurate and useful
- New compression formats introduced
- LZ4T (new default, much more efficient than YAY0)
- GZIP Deflate
- Build support for ARM64 MacOS
- Added proper build support for CI textures in PNG form
- Build support introduced for preswapped textures
- New detection for system capabilities, such as Framebuffer Emulation
- Added custom library for RTC (real-time clock), pulled from n64-libc library
- New geo command added for cylindrical billboarding
- New
draw_sprite()function for rendering textures of any size to the screen (replacesrender_multi_image()) - Added new macro for creating debug assertions that take in
sprintf-like arguments (assertf())
Bugfixes:
- HackerSM64 now building on newer versions of GCC
- Stabilize the building of HackerSM64 repos when using MinGW / decomplicator
- Rumble support now stable
- Sign interaction range restored to what it was in vanilla SM64
- Fix crash when warping to end screen from any level's area other than Area 1
- Fix ability to escape from chuckya grab
- Fix issue with inverted floating platform buoyancy in JRB
- Other minor fixes not listed here
Other Changes:
- Various new assertions and safety checks introduced throughout the codebase
- libpl1 updated to latest version (adds new RHDC and SD Card capabilities)
- Vanilla camera overrides reworked to be more usable within hacks
- Added soundbank cross-compatibility with sample naming format from Refresh 16
- All instances of
TODOkeyword removed from repo (making them more relevant when used within hacks) - Disabled infinite stairs warp by default when
UNLOCK_ALLdisabled - Enforce use of 'ED' cartridge ID in header for more broad flashcart / emulator capability support
- HackerSM64 README simplified
- Other minor features not listed here
Full Commit Changelog: v2.3.0...v2.4.0
v2.3.0
HackerSM64 2.3.0 - Minor Feature Update
What's Changed
New Features / Optimizations
- Added support for Windows MinGW build
- Add support for a user-defined
config_local.hfile - Add support for additional audio sfx channels (for getting around existing priority conflicts when adding voice acting for example)
- Platform Displacement 2.1
- Remove destination warp node requirement
- Pressing L in debug fly mode heals Mario
- Change default compression type from
rnc1toyay0 - Collision memory optimizations (saves up to 130KB of RAM at no cost)
Smaller Tweaks
- Change test emulator from
mupen64plustoparallel-launcher - Update libpl submodule
- Add
mips64-none-elf-to automatically detected prefixes fixlights.py: added support for ripgrep- Makefile now properly ignores
.inc.cfiles in most directories - Improve
DEATH_ON_EXIT_COURSEdefine - Label unlabelled audio func (
func_80321080tostop_secondary_music) - Use
G_TF_POINTon 3D billboard numbers
Bugfixes
- Address
armips.cppcompiler error and resolveaudiofile.cppwarnings for newer versions of GCC - Fix
fixlights.pycompiler error on Python 3.12 - Fix possible
assemble_sound.pybuild corruption issues - Fix segmentation fault issue with MinGW build system (and rare cases with Linux), most likely caused by use of
execl - Purge debug box flags that no longer exist in Puppycam
- Fix a blue coin duplication bug
EASIER_LONG_JUMPS: only long jump with A+Z while running- Restart music upon
set_background_music()call ifBETTER_REVERBpreset changes - Fix spawned coins not being collectible until after the peak of their arc
v2.2.0
HackerSM64 2.2.0 - Minor Feature Update
What's Changed
New Features / Optimizations
- Add libpl submodule (toggleable via Makefile define)
- Add a define for slope fix (buffers jump inputs for jump kicking around steep slopes)
- Add define to skip file select
- Objects using throwmatrix now display their rotations even when the game is paused
- Improve behavior of wall collision checks between different cells (#734)
- Add function alignment flag to Makefile to hopefully minimize performance lottery
- Significant runtime/memory optimizations to lightweight
BETTER_REVERBimplementation - Clean up and slightly optimize audio synthesis code
- Reduce size of
CALL_NATIVEbehavior command - Remove Puppylights and
OBJECTS_REJdefine - Toggle some of the HackerSM64 default configuration defines to be more in line with vanilla behavior
Bugfixes
- Fix a potential vanilla floating point crash with audio pitch bend table
- Fix issues related to objects dying in lava
- Fix issue with wall sliding at negative speed
- Fix various rendering bugs with Puppyprint
- Fix vanilla bug with
obj_init_animationreferencing the current object rather than the object being passed in as an argument - Potential other small fixes not listed here
v2.1.3
Hotfix release
What's Changed
- Add
DEBUG_ASSERTIONSdefine and enable it by default, to help make debugging fatal issues easier - Fix rumble-related issues, including a complete build failure
- Disable unrelated buttons controlling Save & Quit menu and pausing
- Fix weird text rendering on Project64 GLideN64
- Fix silhouette occlusion layers rendering twice
- Fix boos accelerating upwards during textbox (vanilla bug)
- Add relevant model ID asserts to level script load commands
- Add assert for invalid geo layout commands to reduce chances of rabbit hole crashes
- Preserve vanilla reverb downsampling behavior whenever BETTER_REVERB isn't in use (mostly for documentation purposes)
- Define changes for transitions, with some bug fixes
- Update dockerfile to Ubuntu 22.04, as 18.04 is EOL
v2.1.2
v2.1.1
v2.1.0
New to HackerSM64 2.1
HackerSM64 v2.1.0 has a wide variety of bug fixes and huge performance improvements overall. We recommend that any hacks on v2.0.0 or above upgrade to this version - especially if you have console compatibility in mind. Make sure to check out a new branch when seeing if you can pull in changes. If you need help merging, let us know in #sm64-v2-1-0-upgrade-help if you get caught or run into any issues! We have also added new features that should help with development, testing, or just giving you some new options to play around with.
Features
- Added native Gamecube Controller support (on console, if a GC controller is in port 2 it will be used as the primary controller)
- Support using 4 controllers at once
- Replaced unused 0C bank with an improved version of aglab's / scut's extended 0C bank with better naming and all instruments
- Added WORLDSPACE_LIGHTING define
- Added functionality to the hidden red coin star's second behavior param that allows a set number of red coins to be collected before the star spawns
- Add define to disable pitch shifting of Mario's voice clips (useful for voice replacements)
- Added define for previewable blue coins
- Emulator detection
- Add "no cap music restart" define
- Add (emu-only) RCVI hack
- baserom can now optionally be placed in
~/.local/share/HackerSM64instead of the root of the repository
Performance
- Matrix stack fix (improves performance massively)
- Clear only used dynamic cells (huge performance improvement with x4 bounds)
- Input processing greatly reduced
- Disable Stereo Headset Effects and stub out all known code references via define
- Culling improvements + GRAPH_RENDER_INVISIBLE check change
- Overhauled BETTER_REVERB to be more performant and versatile
- Vibrato optimizations
- Improve performance when world scale is 1
- Max audio note counts can be set for both console and emulator
- Objects can use static collision
Misc improvements
- Puppyprint rewrite (new Puppyprint and Puppyprint debug features)
- Added RCP hang check
- Improvements to controller detection
- Improved console check and Wii VC check
- Raycasts actually work now
- Added a define to change the frustratio
- Simplified the lives define
- Added functions to set the floating point rounding mode and to enable/disable floating point exceptions
- Added
make rebuildtools(Rebuild tools without requiring a fullmake distclean) - Added new config option to use the the japanese red coin sound effect
Bug fixes
- Minor texture fixes
- Restored dialog scrolling to vanilla controls
- Fixed some vanilla level checks
- Fix 100 coin stars spawning inside ceilings, as well as being able to spawn multiple 100 coin stars
- General room related fixes
- Fixed mirror mario
- Fixed file select copy button bug
v2.0.9
Old release - catching up on releases from 2.0.3 to 2.0.9
What's Changed
- HackerSM64 2.0.3 Release: Audio Crash by @gheskett in #454
- Remove Wiseguy from codeowners file :( by @gheskett in #490
- Imminent fixes for bugs found on master branch by @arthurtilly in #512
- Update version to 2.0.4 by @axollyon in #515
- HackerSM64 2.0.5 by @gheskett in #517
- Update VERSION.txt by @axollyon in #534
- HackerSM64 2.0.6 by @gheskett in #539
- Update VERSION.txt by @axollyon in #540
- 2.0.7 by @thecozies in #542
- 2.0.8 by @someone2639 in #543
- Release/2.0.9 by @thecozies in #624
Full Changelog: v2.0.3...v2.0.9