mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2025-10-30 08:01:01 +00:00
Add HOOK_MARIO_OVERRIDE_FLOOR_CLASS (#812)
* Update lua_definitions constants.lua * you kiddin' dude * Update lua docs constants.md * Update smlua_constants_autogen.c * Update smlua_hooks.h * Update mario.c to add HOOK_MARIO_OVERRIDE_FLOOR_CLASS to mario_get_floor_class(m) yeah i sure love using web interface * Update lua guide hooks.md * Whoops
This commit is contained in:
parent
97e0737bbb
commit
dea7247d9f
6 changed files with 14 additions and 4 deletions
|
|
@ -7667,7 +7667,8 @@ HOOK_ON_INTERACTIONS = 52 --- @type LuaHookedEventType
|
||||||
HOOK_ALLOW_FORCE_WATER_ACTION = 53 --- @type LuaHookedEventType
|
HOOK_ALLOW_FORCE_WATER_ACTION = 53 --- @type LuaHookedEventType
|
||||||
HOOK_BEFORE_WARP = 54 --- @type LuaHookedEventType
|
HOOK_BEFORE_WARP = 54 --- @type LuaHookedEventType
|
||||||
HOOK_ON_INSTANT_WARP = 55 --- @type LuaHookedEventType
|
HOOK_ON_INSTANT_WARP = 55 --- @type LuaHookedEventType
|
||||||
HOOK_MAX = 56 --- @type LuaHookedEventType
|
HOOK_MARIO_OVERRIDE_FLOOR_CLASS = 56 --- @type LuaHookedEventType
|
||||||
|
HOOK_MAX = 57 --- @type LuaHookedEventType
|
||||||
|
|
||||||
--- @alias LuaHookedEventType
|
--- @alias LuaHookedEventType
|
||||||
--- | `HOOK_UPDATE`
|
--- | `HOOK_UPDATE`
|
||||||
|
|
@ -7726,6 +7727,7 @@ HOOK_MAX = 56 --- @type LuaHookedEventType
|
||||||
--- | `HOOK_ALLOW_FORCE_WATER_ACTION`
|
--- | `HOOK_ALLOW_FORCE_WATER_ACTION`
|
||||||
--- | `HOOK_BEFORE_WARP`
|
--- | `HOOK_BEFORE_WARP`
|
||||||
--- | `HOOK_ON_INSTANT_WARP`
|
--- | `HOOK_ON_INSTANT_WARP`
|
||||||
|
--- | `HOOK_MARIO_OVERRIDE_FLOOR_CLASS`
|
||||||
--- | `HOOK_MAX`
|
--- | `HOOK_MAX`
|
||||||
|
|
||||||
ACTION_HOOK_EVERY_FRAME = 0 --- @type LuaActionHookType
|
ACTION_HOOK_EVERY_FRAME = 0 --- @type LuaActionHookType
|
||||||
|
|
|
||||||
|
|
@ -3438,7 +3438,8 @@
|
||||||
| HOOK_ALLOW_FORCE_WATER_ACTION | 53 |
|
| HOOK_ALLOW_FORCE_WATER_ACTION | 53 |
|
||||||
| HOOK_BEFORE_WARP | 54 |
|
| HOOK_BEFORE_WARP | 54 |
|
||||||
| HOOK_ON_INSTANT_WARP | 55 |
|
| HOOK_ON_INSTANT_WARP | 55 |
|
||||||
| HOOK_MAX | 56 |
|
| HOOK_MARIO_OVERRIDE_FLOOR_CLASS | 56 |
|
||||||
|
| HOOK_MAX | 57 |
|
||||||
|
|
||||||
### [enum LuaActionHookType](#LuaActionHookType)
|
### [enum LuaActionHookType](#LuaActionHookType)
|
||||||
| Identifier | Value |
|
| Identifier | Value |
|
||||||
|
|
|
||||||
|
|
@ -148,6 +148,7 @@ The lua functions sent to `hook_event()` will be automatically called by SM64 wh
|
||||||
| HOOK_ALLOW_FORCE_WATER_ACTION | Called when executing a non-water action while under the water's surface, or vice versa. Return `false` to prevent the player from being forced out of the action at the water's surface | [MarioState](../structs.md#MarioState) mario, `boolean` isInWaterAction |
|
| HOOK_ALLOW_FORCE_WATER_ACTION | Called when executing a non-water action while under the water's surface, or vice versa. Return `false` to prevent the player from being forced out of the action at the water's surface | [MarioState](../structs.md#MarioState) mario, `boolean` isInWaterAction |
|
||||||
| HOOK_BEFORE_WARP | Called before the local player warps. Return a table with `destLevel`, `destArea`, `destWarpNode`, to override the warp | `integer` destLevel, `integer` destArea, `integer` destWarpNode, `integer` arg |
|
| HOOK_BEFORE_WARP | Called before the local player warps. Return a table with `destLevel`, `destArea`, `destWarpNode`, to override the warp | `integer` destLevel, `integer` destArea, `integer` destWarpNode, `integer` arg |
|
||||||
| HOOK_ON_INSTANT_WARP | Called when the local player goes through an instant warp.| `integer` area, `integer` id, `Vec3s` displacement|
|
| HOOK_ON_INSTANT_WARP | Called when the local player goes through an instant warp.| `integer` area, `integer` id, `Vec3s` displacement|
|
||||||
|
| HOOK_MARIO_OVERRIDE_FLOOR_CLASS | Called when Mario's floor class logic updates, return a `SURFACE_CLASS_*` constant to override the type. | [MarioState](../structs.md#MarioState) mario, `integer` surfaceClass |
|
||||||
|
|
||||||
### Parameters
|
### Parameters
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -524,6 +524,9 @@ s32 mario_get_floor_class(struct MarioState *m) {
|
||||||
floorClass = SURFACE_CLASS_NOT_SLIPPERY;
|
floorClass = SURFACE_CLASS_NOT_SLIPPERY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
s32 returnValue = 0;
|
||||||
|
if (smlua_call_event_hooks_mario_param_and_int_ret_int(HOOK_MARIO_OVERRIDE_FLOOR_CLASS, m, floorClass, &returnValue)) return returnValue;
|
||||||
|
|
||||||
return floorClass;
|
return floorClass;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3158,7 +3158,8 @@ char gSmluaConstants[] = ""
|
||||||
"HOOK_ALLOW_FORCE_WATER_ACTION=53\n"
|
"HOOK_ALLOW_FORCE_WATER_ACTION=53\n"
|
||||||
"HOOK_BEFORE_WARP=54\n"
|
"HOOK_BEFORE_WARP=54\n"
|
||||||
"HOOK_ON_INSTANT_WARP=55\n"
|
"HOOK_ON_INSTANT_WARP=55\n"
|
||||||
"HOOK_MAX=56\n"
|
"HOOK_MARIO_OVERRIDE_FLOOR_CLASS=56\n"
|
||||||
|
"HOOK_MAX=57\n"
|
||||||
"ACTION_HOOK_EVERY_FRAME=0\n"
|
"ACTION_HOOK_EVERY_FRAME=0\n"
|
||||||
"ACTION_HOOK_GRAVITY=1\n"
|
"ACTION_HOOK_GRAVITY=1\n"
|
||||||
"ACTION_HOOK_MAX=2\n"
|
"ACTION_HOOK_MAX=2\n"
|
||||||
|
|
@ -4294,4 +4295,4 @@ char gSmluaConstants[] = ""
|
||||||
"VERSION_NUMBER=40\n"
|
"VERSION_NUMBER=40\n"
|
||||||
"MINOR_VERSION_NUMBER=2\n"
|
"MINOR_VERSION_NUMBER=2\n"
|
||||||
"MAX_VERSION_LENGTH=128\n"
|
"MAX_VERSION_LENGTH=128\n"
|
||||||
;
|
;
|
||||||
|
|
|
||||||
|
|
@ -68,6 +68,7 @@ enum LuaHookedEventType {
|
||||||
HOOK_ALLOW_FORCE_WATER_ACTION,
|
HOOK_ALLOW_FORCE_WATER_ACTION,
|
||||||
HOOK_BEFORE_WARP,
|
HOOK_BEFORE_WARP,
|
||||||
HOOK_ON_INSTANT_WARP,
|
HOOK_ON_INSTANT_WARP,
|
||||||
|
HOOK_MARIO_OVERRIDE_FLOOR_CLASS,
|
||||||
HOOK_MAX,
|
HOOK_MAX,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -128,6 +129,7 @@ static const char* LuaHookedEventTypeName[] = {
|
||||||
"HOOK_ALLOW_FORCE_WATER_ACTION",
|
"HOOK_ALLOW_FORCE_WATER_ACTION",
|
||||||
"HOOK_BEFORE_WARP",
|
"HOOK_BEFORE_WARP",
|
||||||
"HOOK_ON_INSTANT_WARP",
|
"HOOK_ON_INSTANT_WARP",
|
||||||
|
"HOOK_MARIO_OVERRIDE_FLOOR_CLASS",
|
||||||
"HOOK_MAX"
|
"HOOK_MAX"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue