Adding this for collision minimap, but I'm sure it'd be useful for many other mods that deal with collision in this kind of way
exposes a function, obj_get_surface_from_index. pass in an object, and the index of the surface you want. numSurfaces is also added to know when to stop iterating through surfaces
Thanks to peachy for coming up with the better method of doing this
Co-authored-by: PeachyPeach <72323920+PeachyPeachSM64@users.noreply.github.com>
- fixed a bug where remote players would show mario's head repeatedly twitching up and down while reading automatic dialog
- fixed a bug where remote mario's would sometimes not update while unlocking a star door, resulting in the previous animation playing during that action
- fixed a bug where players exiting a warp door could get stuck for a few extra frames due to other players opening that same door.
- added dialogId to MarioState, which is synced for remote players the dialog id that player has active. this can be used by Lua mods - don't access the local player's dialog id because that isn't updated as that is unnecessary
Renamed the function interact_unknown_08 to interact_spiny_walking
and added the constant INTERACT_SPINY_WALKING, which has the same value of INTERACT_UNKNOWN_08
INTERACT_UNKNOWN_08 is kept for compatibility with smlua, and behavior dynos bins
Adds "m.marioBodyState.allowPartRotation", which when set to 1, will make "m.marioBodyState.headAngle" and "m.marioBodyStates.torsoAngle" actually change where Mario's head and torso face outside of very specific cases (like running, or being underwater).
Replaces references to set_mario_animation() with set_character_animation(), but the old function still exists as a way to play any character animation on any character. Waluigi has two animations, added as a test and may not be final. Exposed new functions to Lua for usage in mods.
Primary concern is that each character requires 209 lines indicating what animations they use, similar to Character Sounds.
* Fix gBehaviorValues.GrateStarRequirement and add gBehaviorValues.ChillyChiefDeathPosY
For some reason, the castle_cannon_grate.inc.c file was unaltered so gBehaviorValues.GrateStarRequirement would not do anything.
gBehaviorValues.ChillyChiefDeathPosY is self explanatory, it lets you change the Y position where the Chilly Chief bully dies.
* ChillyChiefDeathPosY -> ChillBullyDeathPosY
---------
Co-authored-by: <peachy.peach.sm64@gmail.com>
Some romhacks do change the speed of the wdw water level.
I am aware that the water level is an object and should be under gBehaviorValues, but that feels wrong so it's under gLevelValues.
* Properly set Mario's y vel to 0 on popping
* Change 0 to 0.0f, just in case
* 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.
* Allow mods to disable the camera centering from romhack camera
* Allow mods to disable romhack camera centering
Done again
* Update on network shutdown
* Remove a line which I have no idea why it returned
* Add set_exclamation_box_contents()
No way this is memory safe or even well made but I did what I could
* Added (most of) peachy's suggestions
Still need to figure out how to stop the game from reading further than the size of the array without using a hardcoded number
* Added more of peachy's suggestions
I figured a good way to cap how far the exclamation box reads is to pass in the length of the array as well