* Disable stereoheadseteffects and stub out all known code references via define
By effect this also completely removes Headset sound options from the game config, as it serves no purpose whatsoever compared to stereo.
Because it's stubbed out everywhere rather than only the necessary locations to prevent it, this should boost audio runtime slightly for everything, not just the stuff that actively used it.
* Rename DISABLE_HEADSET_STEREO_EFFECTS to ENABLE_HEADSET_STEREO_EFFECTS
* Reorganize and reduce audio Note struct
* Add performance to define description
* Rename ENABLE_HEADSET_STEREO_EFFECTS to ENABLE_STEREO_HEADSET_EFFECTS
This allows sounds to start instantly without any fade-in. Using new soundbanks with delay values of 0 will not compile with base decomp, but old decomp-compliant soundbanks will work with this commit.
* Puppyprint text size
* Update puppyprint.c
* Revert broken render_multi_image changes
* revert multi image tweak
parallel momento
* Update puppyprint debug colors to work with new hexadecimal system
* Puppyprint color reversion to currEnv + some bugfixes
* Remove a pointless color array
* Add forgotten comment
* i can type yes definitely
* Fix some puppyprint formatting edge cases
* Missed one last puppyprint edge case
* Additional strLen check
* Variable length fix + command ignoring strlen
* type changes
* Update puppyprint.c
* Box clamping
* Revamped profiling, fixed right alignment
* Update puppycam2.c
* Deferred printing
* Update puppyprint.c
* Fixed negatives being stupid
* Puppyprint Memory view rework
* Update level_script.c
* tweaks
* Fix new line spacing with different scales
also small bit of optimisation
* Spacing fixes
* Lightweight text option
* puppyprint debug now using light text where applicable
* Update puppyprint.c
* Update puppyprint.c
* level select menu
* merge profilers into one WIP
* Fully ascii compliant
* Finishing touches hopefully
* Update puppyprint.c
* new font
* vanilla font
* o
* Update hud.c
* last kerning fixes
* Requested changes
* requested changes
* fix the j
* requested changes
* change ur clothes
* Update surface_collision.c
* requested changes
* Update puppyprint.h
* Update camera.c
* .
* Update puppyprint.c
* Update puppyprint.c
* Update puppyprint.c
* fix J
* font
* font system rework
* ia4 outline font
* pain
* fix deferred printing
* fix format change
* Add audio profiling to Puppyprint Debug
* Optimize audio profiling substantially
* Minor audio optimizations
* requested changes
* oops accidentally commited 6 lmfao
* Update game_init.c
* Update puppyprint.c
* Update puppyprint.c
* Improve Puppyprint deferred prints
This is safer, more readable, and more runtime efficient all in the same package
* change return type
* fix building with profiler only
* Update profiling.c
* fix upscaled texture rectangles from multi image
---------
Co-authored-by: gheskett <gheskett@gmail.com>
* Small improvements to object loading within rooms
* Only check if Mario is in the same room as the object once
* Implement object render distance within rooms (from thecozies)
* Remove sLevelsWithRooms (also from thecozies)
Honestly surprised this wasn't already in Hacker
* Remove comment for sLevelsWithRooms in config_game
* Make compatible with the painting objects PR
Move room detection to get_room_at_pos (from Arceveti)
* address enum comment
* Bugfix: BETTER_REVERB starts before buffers are ready
* Add support for preset options to be used with BETTER_REVERB
* Some BETTER_REVERB cleanup
* The funny whoops
* Address suggested level script change
* Bugfix: useReverb crashes when disabled
* Allow window size override for vanilla-esque BETTER_REVERB presets
* Remove unnecessary downsampling limit check
* Fix up a few things + some slight reformatting
* Add light documentation to the BETTER_REVERB parameters
* Adjust BETTER_REVERB preset types to make more sense
* Reset BETTER_REVERB data buffer to be unallocated when not in use
* Properly disable BETTER_REVERB when disabling all reverb processing
* Remove an unnecessary BETTER_REVERB ifdef
* Remove D_80332108
* Revise BETTER_REVERB config description
* Imminent fixes for bugs found on master branch (#512)
* The vanilla level checks define for Yoshi is inverted, causing him to require 120 stars when it is off and appear at 0 stars when it's on
* The downwarp fix results in Mario levitating in midair when grabbing Bowser midair. While downwarps should still be fixed, the change should be reverted immediately until a better fix is made.
* Some checks of Mario's floor class were using the wrong defines, which can lead to unexpected behavior in the event anyone wants to reorder surface types. By default the SURFACE_CLASS_SLIPPERY and SURFACE_SLIPPERY defines have the same value, which is why this mistake is hard to notice.
* The firsty frames define was implemented poorly, not allowing for vanilla firsty behavior no matter what the values were set to. This has been reverted, while avoiding the UB in the original vanilla code.
* Removed the ledge grab changes that fix QSLGs and change the false ledgegrab define since Arceveti wanted to in his PR
* Update version to 2.0.4 (#515)
* HackerSM64 2.0.5 (#517)
* Bugfix: race condition with accessing cleared audio memory pools
* Bugfix: skyboxes access tiles out of range when looking straight down (#518)
* Vscode fixes (#516)
* Revert s32 angles and remove Angle typedef usage (#529)
* Fix some surface shadowing (#531)
* Delete rtc.h
* Remove `wait_for_audio_frames()`
Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
Co-authored-by: Arceveti <73617174+Arceveti@users.noreply.github.com>
Co-authored-by: JoshDuMan <40190173+JoshDuMan@users.noreply.github.com>
* Update VERSION.txt (#534)
* HackerSM64 2.0.6 (#539)
* revert random_u16 to be a u16 (#538)
* Added safety gcc math flags (#537)
* removed useless compilation flags that could cause performance loss
Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
Co-authored-by: thecozies <collinpferguson@gmail.com>
* Update VERSION.txt
HackerSM64 2.0.6
* Add GCC opt flag to suppress warnings
* v2.0.7
* 2.0.8 (fix more compiler warnings) (#543)
* fix Waddress in mario_step.c
* fix Winfinite-recursion in unused dynlist_proc function
* in fact remove the offending function entirely
* fix warnings in RNC decompress functions
* update version
* fix version in VERSION.txt
premature on my part, will update it to 2.0.10 next time
Co-authored-by: someone2639 <someone2639@gmail.com>
Co-authored-by: arthurtilly <32559225+arthurtilly@users.noreply.github.com>
Co-authored-by: axollyon <20480418+axollyon@users.noreply.github.com>
Co-authored-by: Gregory Heskett <gheskett@gmail.com>
Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
Co-authored-by: JoshDuMan <40190173+JoshDuMan@users.noreply.github.com>
Co-authored-by: thecozies <collinpferguson@gmail.com>
Co-authored-by: Reonu <danileon95@gmail.com>
Co-authored-by: someone2639 <someone2639@users.noreply.github.com>
Co-authored-by: someone2639 <someone2639@gmail.com>
* Imminent fixes for bugs found on master branch (#512)
* The vanilla level checks define for Yoshi is inverted, causing him to require 120 stars when it is off and appear at 0 stars when it's on
* The downwarp fix results in Mario levitating in midair when grabbing Bowser midair. While downwarps should still be fixed, the change should be reverted immediately until a better fix is made.
* Some checks of Mario's floor class were using the wrong defines, which can lead to unexpected behavior in the event anyone wants to reorder surface types. By default the SURFACE_CLASS_SLIPPERY and SURFACE_SLIPPERY defines have the same value, which is why this mistake is hard to notice.
* The firsty frames define was implemented poorly, not allowing for vanilla firsty behavior no matter what the values were set to. This has been reverted, while avoiding the UB in the original vanilla code.
* Removed the ledge grab changes that fix QSLGs and change the false ledgegrab define since Arceveti wanted to in his PR
* Update version to 2.0.4 (#515)
* HackerSM64 2.0.5 (#517)
* Bugfix: race condition with accessing cleared audio memory pools
* Bugfix: skyboxes access tiles out of range when looking straight down (#518)
* Vscode fixes (#516)
* Revert s32 angles and remove Angle typedef usage (#529)
* Fix some surface shadowing (#531)
* Delete rtc.h
* Remove `wait_for_audio_frames()`
Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
Co-authored-by: Arceveti <73617174+Arceveti@users.noreply.github.com>
Co-authored-by: JoshDuMan <40190173+JoshDuMan@users.noreply.github.com>
* Update VERSION.txt (#534)
Co-authored-by: arthurtilly <32559225+arthurtilly@users.noreply.github.com>
Co-authored-by: axollyon <20480418+axollyon@users.noreply.github.com>
Co-authored-by: Gregory Heskett <gheskett@gmail.com>
Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
Co-authored-by: JoshDuMan <40190173+JoshDuMan@users.noreply.github.com>
* Added super slippery surface·
* fix requested changes
* add comment for forcing mario to belly slide
* hi arthur
* society
* adress nitpick
Co-authored-by: aglab2 <aglab3@gmail.com>
* Implemented native Gamecube controller support and corresponding emulator hint in ROM header
* Added X and Y buttons to VALID_BUTTONS in sm64.h
* Added workaround in controller type detection for mupen bug
* read GC controllers from port 2
* L to Z logic for GC controller uses a threshold
* Changed threshold for L trig to around 33%
Changed threshold based on feedback
* Added gGamecubeControllerPort
* fixed wrong check
* Bugfix: Game crashes when less than 2 controllers are connected
* Suppress compiler warnings
* Bugfix: button swapping still takes place on non-GC controllers
* Wrap port 2 stuff in console check
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
* GC console check
* Funny emulator crash moment
* block comment moment
* Added centering for the gamecube controller, support reset command (#511)
* Added centering for the gamecube controller, support reset command
* Use struct 'ControllerCenters' for 'gGamecubeControllerCenters'
* Store gamecube controller centers per controller
* Clamp GC controller stick values to s8
* the
formatting changes
Co-authored-by: Mr-Wiseguy <mrwiseguyromhacking@gmail.com>
Co-authored-by: Reonu <danileon95@gmail.com>
Co-authored-by: Denis Kopyrin <aglab3@gmail.com>