Vanilla's ramping table sounds absolutely horrendous, most noticeably when it comes to slow volume fade-ins/outs. By default, precision has been increased by 4x vanilla US, which overall has an insignificant impact on performance. This is still half as precise as EU's volume ramping table, that's about the point where additional memory and performance aspects are impacted more significantly.
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.
Refactored everything to be more memory efficient and execute fewer function calls than prior
Also accidentally discovered a significant bug with the audio modes always being forced to stereo so this is definitely 2.1 scope lmao
* Start samples at full velocity when using envelopes that start with a delay of 1
This can help eliminate sample artifacting that happens during a transition between a sudden fade-in into normal volume. It's not completely eliminated due to some processing weirdness, but it's a massive improvement.
* Fix vanilla issue causing misalignment when samples are initialized and played back with low attack values
NOW the artifacting is actually gone for real
* Improve artifacting bugfix
The first solution would've honestly been satisfactory, but this one seems to be slightly more accurate while actually removing code rather than adding it
* Fix rooms and doors
* Update object_helpers.c
* Update object_list_processor.h
* Update object_list_processor.c
* Fix formatting
* Revert a formatting
* Clean up geo_switch_area
* Clean up geo_switch_area (more)
* Move TransitionRoomData struct
* Revert star door collision check optimization
* Move load_object_collision_model and bhv_door_rendering_loop back out of star_door.inc.c
* Combine metal door model IDs
* Revert metal door sound fixes
* Add light configuration settings to BETTER_REVERB
This can reduce runtime demand down to ~75% of the standard demand, at the cost of the configurability of generally more advanced parameters
* Reformat the BETTER_REVERB preset entries to be easier to look at
* :peterVOID:
* haha lol formatting change definitely related to reverb yes this isn't unwarranted at all lmao hehe hoho
* 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>
* Update game_init.c
* fuck you nintendo fuck you nintendo fuck you nintendo fuck you nintendo fuck you nintendo fuck you nintendo
* Update segment2.c
* Update model.inc.c