* HOOK_JOINED_GAME
* expose VERSION_TEXT, and two more adjusments
* show if a constant type is a string with autogen
* fix another blunder by that guy
* should use an or operator here
* fix frame limiter stuff
* Small quality of life changes
Disabled fixed collision in sm74 by default.
Popping should now completely set the popped player's speed to 0.
* Add HOOK_BEFORE_SET_MARIO_ACTION
Param: incoming action
Return: changes incoming action
If the return value is 1, prevent the action from happening entirely.
0 can't be used here since it'll break the title screen.
* Update hooks.md
* Revert "Small quality of life changes"
This reverts commit 05dd235cd0.
* Character Sound Hook
* The rest of autogen to be safe
* Indentation Fix
* Fix more indentation
* Get rid of unneeded auto gen junk
* Run autogen again
* Add HOOK_CHARACTER_SOUND to guide
includes the message string and the mario state of the player
return false to prevent the message from showing (might be possible to make a chat flter with this?)
* Fixed naming from ceil to cell
* Added HOOK_ON_QUICKSAND
* Modified hook and removed weird newlines
* Renamed hook and increased usage
HOOK_ALLOW_QUICKSAND -> HOOK_ALLOW_HAZARD_SURFACE
Now also works on lavaboost.
Suggestion by Agent X. May add this hook to the death barrier check.
* Autogen
* Fixed downwarping to quicksand upon popping
As a side effect though, Mario will no longer snap to the floor upon being popped.
* Allow Lua action hooks to specify custom functions for more behavior
...like gravity, and update all current mods to match.
Spin jump and wall slide from the Extended Moveset mod now have gravity
code basically matching the original mod.
Currently, any place you'd want to use one of these new action hooks
still requires an O(n) check through all action hook per call. This
should probably be changed.
* Fix some remaining issues with Extended Moveset Lua port
- Remove divergent spin jump code
- Remove divergent roll code
- Remap roll button to Y
- Reimplement dive slide to make dive hop work like the original
- Allow spin from double jump, backflip, side flip
* Fix more issues with Extended Moveset Lua port
- Reimplement all users of update_walking_speed to incorporate the Tight
Controls edits and modified speed caps
- Fix instances of angle arithmetic to wrap properly across the mod
* Don't chop off group bits of custom action flags; assign missing groups in mods
This fixes the Extended Moveset's underwater actions. Chopping off those
bits was making the game consider the underwater actions to be a part of
the Stationary group, which caused `check_common_stationary_cancels`,
which upwarps Mario to the surface.
* Tweak roll sliding angle tendency
Rolling will now gradually (but fairly quckly) try to tend Mario's
facing angle down the slope.
This is cleaner than my old method that tries to flip Mario's angle
(wrongly) when he begins moving downward, having that logic coexist with
the logic for normal sliding actions that can also tend Mario to face
backward down the slope. Just looks ugly now by comparison.
* Disallow spin jump on slides in Extended Moveset port
This matches the original mod
* Extended Moveset: Crazy Box Bounce check
* Extended Moveset: Fix hugging the wall when spin jumping after wall kick
* Extended Moveset: Fix ledge drop snapping up to ground
Just reimplement `act_air_hit_wall` ourselves.
* Extended Moveset: Add Kaze's walking speed fix
* smlua_hooks.c: Restore option to use old API for hook_mario_action
The intent is to allow mods outside of this repo to continue working.
Co-authored-by: djoslin0 <djoslin0@users.noreply.github.com>
Bug: DynOS models with animations cannot swap animations if they are
loaded via lua (smlua_model_util_get_id and
obj_set_model_extended).
Fix: DynOS_Actor_GetActorGfx takes a graph node instead of a georef,
and checks for DynosValidActors graph nodes if georef is NULL.
Bug: The game can crash when calling obj_set_model_extended inside a
HOOK_ON_OBJECT_RENDER hook.
Fix: The crash happens in smlua_model_util_load_with_pool_and_cache_id
due to pool being NULL. If the game can't allocate an
AllocOnlyPool object, use DynOS to generate the graph node.
Bug: warp_to_level and similar functions don't trigger HOOK_ON_WARP.
Fix: Call HOOK_ON_WARP hooks in DynOS_Warp_UpdateWarp and
DynOS_Warp_UpdateExit after level and mario initialization.
Bug: The game sometimes calls HOOK_ON_OBJECT_RENDER hooks for
unintended objects.
Fix: Initialize hookRender field to 0 when creating an object.
Bug: Actions can't apply gfx offsets to characters that have an anim
offset (Waluigi, Wario)
Fix: Add m->curAnimOffset to gfx.pos[1] instead of setting it to
m->pos[1] + m->curAnimOffset, except during the jumbo star
cutscene.