* Properly set Mario's y vel to 0 on popping
* Re-introduce a few vanilla bugs under gBehaviorValues
The Shell Mario glitch was patched as a side effect to patching a different bug, but several romhacks use it so I need it back.
The ability to collect multiple normal caps at once is needed for hat-in-hand using the hat factory glitch.
* Fix Shell Mario fix
Found the actual reason why the glitch doesn't work and figured that this change shouldn't affect anything else, so I removed its entry from gBehaviorValues.
* Add InfiniteRenderDistance to gBehaviorValues
I'm well aware that disabling the infinite render distance will be very desync prone, however a few glitches, most notably cloning and chuckya double jump, need objects load and unload from render distance.
Due to sm64 weirdness, I can't reliably free memory at certain points
The hacky solution is to keep the previous dynamic pool in memory,
essentially requiring two frees to actually clear all memory from it
- fix crash in bhv_lll_bowser_puzzle_piece_update (thanks to djoslin)
- fix crash in platform_on_track_act_init
- fix chat commands not working on dev builds
- log when the crash handler is called
- if a custom level tries to set an invalid background, change it to BACKGROUND_OCEAN_SKY
* Expose some painting functions to Lua
get_painting_warp_node
initiate_painting_warp
* Change initiate_painting_warp u8 to s16
In initiate_painting_warp, pass in -1 to not override the painting index.
* Add sanity checks to get_painting_warp_node
* Add requested changes
* Fix fixed collision NaN position
Thanks to @Marioiscool246 for figuring this out.
Sometimes Mario's position will become NaN when doing specific things, this fixes that.
Co-Authored-By: Marioiscool246 <27823923+Marioiscool246@users.noreply.github.com>
* Formatting
Co-Authored-By: Marioiscool246 <27823923+Marioiscool246@users.noreply.github.com>
* Fix ordering
* Final fix(?)
---------
Co-authored-by: Marioiscool246 <27823923+Marioiscool246@users.noreply.github.com>
- Add NULL checks to DynOS warps
- Change checks for skipping interpolation on the original title screen for much better ones
- Interactions are no longer processed if you are on the title screen
- Re-add some of the legacy demo code for the original title screen
- Fix disconnecting on the original title screen
- Fix disconnecting on the act select screen
- Fix interpolation crash
* area_get_warp_node*
- Added area_get_warp_node to Lua
- Added area_get_warp_node_from_params to Lua
* area_create_warp_node and warp constants
Here you go Isaac!
* Add object param
* Commits work again, pushing everything else
In the vanilla game, vanish does only work with walls specifically, and not floors and ceilings. This is because the check for vanish surfaces was only implemented with the walls. So I simply pasted the same code but with the floors and the ceilings.