* Cannon render mode fix
Slipped past me.
* Removed sharp transitions
I like the idea but it really isn´t vanilla and causes issues.
Might be worth revisiting but for now lets just get rid of it.
* fixes
Missing render mode set for transitions, reduced display list alloc for cannon
tested more this time
* Added config option for previewable blue coins
* Clean up previewable blue coin implementation to only be a couple lines
---------
Co-authored-by: Colin Tong <tongcolin@live.ca>
* Culling fix
Precison of half fov horizontal being equal to or above 2 leads to many issues. using 1.5 would break rt64 and other emulators with ultra widescreen.
Vertical culling will be disabled by default until 3.0
* Improved emu checks and naming
* Comment changes
* Small typo fix
* Start work on envmap rotation stuff
* n64graphic envmap rotation working
* Add comment to rotation function
* Fix DLs of non 32x32 env maps, fix envmap rotation
* fix metal flying vanish cap
* fix metal mario's medium poly butt
* new asset version for flipped env maps
* added missing env textures to extract script
* restore asset_needs_update
* Skip asset_needs_update calls if local version matches new version
* removed the goddard textures from envmap rotation
---------
Co-authored-by: mineqwerty <mineqwerty25@gmail.com>
Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
* Add functional changes to inertia to support only specific directions specified in the config (needs cleanup)
* Reduce number of inertia defines
* Update Platform Displacement 2 define description
* comment adjustments
* Improved transitions
Code quality improvements.
Shape transitions now all scale down to 0 instead of 16 (mario and bowser).
Ease in was added which leads to far smoother transitions.
HD_TRANSITIONS define added, makes use of the tex edge render mode to deliver smooth transition textures.
lerpf was added to math utils.
* Cleaner textures, rounding only during vertex creation
* Another attempt
* cozies naming suggestion
* Improvements and suggestions
SHARP_TRANSITION_TEXTURES is now off by default (I still think the textures for it could be improved).
lerpf, to_smoothstop, smoothstart, smoothstop and smoothstep have all been added.
make_vertex has been inlined.
make_simple_vertex has been added (colourless vertex).
Transition colors (and canon colors) are now defined using primative colour instead of setting individual vertices color´s.
Transition´s now use smoothstep (ease-in-out) instead of ease out only.
Naming has been improved.
* Proper function inling and removal of GBI_FLOATS variant of make_vertex and make_simple_vertex
* More requested changes
* Accidental final new line removal fixed
* Comment about pop in fix.
* Comment fix
The issue with writing comments for stuff is when you want to change code later on.
* Added emulator detection
* Fixed missing assignments
* Disable interrupts around the count factor test
* Added more comments to emutest
* Changed PJ64 enum values so the versions work as a bitfield
* Updated README
* Fixed comments
* Updated enum values so you can safely AND and OR all emulator version flags together
* Remove redundant gIsConsole, gIsVC, and gCacheEmulated global variables
* Changed console check to be more future proof against Ares
* Use assembly file instead of casting to a function pointer
* Moved round_double_to_float back to its own compilation unit
* Moved the ParallelN64 check before the Ares check for better future-proofing
* Align pj64_get_count_factor_asm with cache lines... not that it actually matters for pj64
* Adjusted some comments
* Made emulator check thread-safe on emulators that emulate PI timings
* Added gIsConsole macro for backwards compatibility
* Added cen64 to INSTANT_INPUT_BLACKLIST
* Updated comment
* Add SET_ECHO level script command + minor BETTER_REVERB refactoring
* Add Puppyprint debug page for trying out different BETTER_REVERB presets and configurations
Also fix a missing Puppyprint enum that was causing issues
* Modify Puppyprint BETTER_REVERB page + other minor improvements
* Swap order of RSP commands to allow reverb downsampling to sound more similar to that of without downsampling
* Culling improvements + earlier GRAPH_RENDER_INVISIBLE check
GRAPH_RENDER_INVISIBLE is now checked during geo_process_object before any uncessesary transformation is applied to
the object, translation is still calculated for sound even if the object is invisible.
Half fov is now computed during geo_process_perspective.
Vertical culling has been added (only when bellow the screen to prevent shadow´s being culled).
Emulators have basically infinite culling aspect ratio to prevent early culling with widescreen viewport hacks.
Default culling radius is now a define.
This was written by both me and Kaze Emanuar, he provided the suggestion to use absf and informed me of
integer division being remarkably slow (although it´s only used once during geo_process_perspective).
* Badly placed new line (major fix)
* integer
Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
* parenthesis
doesn´t affect order of operation, just for code quality
Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
* uncessary whitespace
Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
---------
Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
* 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
* 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