mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2025-10-30 08:01:01 +00:00
Expose level_trigger_warp and related constants (#197)
This commit is contained in:
parent
567e702e98
commit
1241c56ed9
9 changed files with 365 additions and 4 deletions
|
|
@ -36,7 +36,8 @@ in_files = [
|
|||
"src/game/obj_behaviors_2.h",
|
||||
"include/dialog_ids.h",
|
||||
"include/seq_ids.h",
|
||||
"include/surface_terrains.h"
|
||||
"include/surface_terrains.h",
|
||||
"src/game/level_update.h"
|
||||
]
|
||||
|
||||
exclude_constants = {
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@ in_files = [
|
|||
"src/game/object_list_processor.h",
|
||||
"src/game/behavior_actions.h",
|
||||
"src/game/mario_misc.h",
|
||||
"src/game/level_update.h"
|
||||
]
|
||||
|
||||
override_allowed_functions = {
|
||||
|
|
@ -62,6 +63,7 @@ override_allowed_functions = {
|
|||
"src/pc/lua/utils/smlua_model_utils.h": [ "smlua_model_util_get_id" ],
|
||||
"src/game/object_list_processor.h": [ "set_object_respawn_info_bits" ],
|
||||
"src/game/mario_misc.h": [ "bhv_toad.*", "bhv_unlock_door.*" ],
|
||||
"src/game/level_update.h": [ "level_trigger_warp" ],
|
||||
}
|
||||
|
||||
override_disallowed_functions = {
|
||||
|
|
|
|||
|
|
@ -2691,16 +2691,25 @@ CT_MAX = 5
|
|||
--- @class PlayerParts
|
||||
|
||||
--- @type PlayerParts
|
||||
SHIRT = 0
|
||||
PANTS = 0
|
||||
|
||||
--- @type PlayerParts
|
||||
PANTS = 1
|
||||
SHIRT = 1
|
||||
|
||||
--- @type PlayerParts
|
||||
GLOVES = 2
|
||||
|
||||
--- @type PlayerParts
|
||||
PLAYER_PART_MAX = 3
|
||||
SHOES = 3
|
||||
|
||||
--- @type PlayerParts
|
||||
HAIR = 4
|
||||
|
||||
--- @type PlayerParts
|
||||
SKIN = 5
|
||||
|
||||
--- @type PlayerParts
|
||||
PLAYER_PART_MAX = 6
|
||||
|
||||
--- @class DialogId
|
||||
|
||||
|
|
@ -3734,6 +3743,173 @@ LEVEL_UNKNOWN_38 = 38
|
|||
--- @type LevelNum
|
||||
LEVEL_COUNT = 39
|
||||
|
||||
--- @type integer
|
||||
MARIO_SPAWN_AIRBORNE = 0x12
|
||||
|
||||
--- @type integer
|
||||
MARIO_SPAWN_AIRBORNE_DEATH = 0x23
|
||||
|
||||
--- @type integer
|
||||
MARIO_SPAWN_AIRBORNE_STAR_COLLECT = 0x22
|
||||
|
||||
--- @type integer
|
||||
MARIO_SPAWN_DEATH = 0x15
|
||||
|
||||
--- @type integer
|
||||
MARIO_SPAWN_DOOR_WARP = 0x01
|
||||
|
||||
--- @type integer
|
||||
MARIO_SPAWN_FLYING = 0x17
|
||||
|
||||
--- @type integer
|
||||
MARIO_SPAWN_HARD_AIR_KNOCKBACK = 0x13
|
||||
|
||||
--- @type integer
|
||||
MARIO_SPAWN_INSTANT_ACTIVE = 0x10
|
||||
|
||||
--- @type integer
|
||||
MARIO_SPAWN_LAUNCH_DEATH = 0x25
|
||||
|
||||
--- @type integer
|
||||
MARIO_SPAWN_LAUNCH_STAR_COLLECT = 0x24
|
||||
|
||||
--- @type integer
|
||||
MARIO_SPAWN_PAINTING_DEATH = 0x21
|
||||
|
||||
--- @type integer
|
||||
MARIO_SPAWN_PAINTING_STAR_COLLECT = 0x20
|
||||
|
||||
--- @type integer
|
||||
MARIO_SPAWN_SPIN_AIRBORNE = 0x16
|
||||
|
||||
--- @type integer
|
||||
MARIO_SPAWN_SPIN_AIRBORNE_CIRCLE = 0x14
|
||||
|
||||
--- @type integer
|
||||
MARIO_SPAWN_SWIMMING = 0x11
|
||||
|
||||
--- @type integer
|
||||
MARIO_SPAWN_TELEPORT = 0x04
|
||||
|
||||
--- @type integer
|
||||
MARIO_SPAWN_UNKNOWN_02 = 0x02
|
||||
|
||||
--- @type integer
|
||||
MARIO_SPAWN_UNKNOWN_03 = 0x03
|
||||
|
||||
--- @type integer
|
||||
MARIO_SPAWN_UNKNOWN_27 = 0x27
|
||||
|
||||
--- @type integer
|
||||
TIMER_CONTROL_HIDE = 3
|
||||
|
||||
--- @type integer
|
||||
TIMER_CONTROL_SHOW = 0
|
||||
|
||||
--- @type integer
|
||||
TIMER_CONTROL_START = 1
|
||||
|
||||
--- @type integer
|
||||
TIMER_CONTROL_STOP = 2
|
||||
|
||||
--- @type integer
|
||||
WARP_OP_CREDITS_END = 0x15
|
||||
|
||||
--- @type integer
|
||||
WARP_OP_CREDITS_NEXT = 0x18
|
||||
|
||||
--- @type integer
|
||||
WARP_OP_CREDITS_START = 0x17
|
||||
|
||||
--- @type integer
|
||||
WARP_OP_DEATH = 0x12
|
||||
|
||||
--- @type integer
|
||||
WARP_OP_DEMO_END = 0x19
|
||||
|
||||
--- @type integer
|
||||
WARP_OP_DEMO_NEXT = 0x16
|
||||
|
||||
--- @type integer
|
||||
WARP_OP_EXIT = 0x21
|
||||
|
||||
--- @type integer
|
||||
WARP_OP_FORCE_SYNC = 0x20
|
||||
|
||||
--- @type integer
|
||||
WARP_OP_GAME_OVER = 0x14
|
||||
|
||||
--- @type integer
|
||||
WARP_OP_LOOK_UP = 0x01
|
||||
|
||||
--- @type integer
|
||||
WARP_OP_NONE = 0x00
|
||||
|
||||
--- @type integer
|
||||
WARP_OP_SPIN_SHRINK = 0x02
|
||||
|
||||
--- @type integer
|
||||
WARP_OP_STAR_EXIT = 0x11
|
||||
|
||||
--- @type integer
|
||||
WARP_OP_TELEPORT = 0x05
|
||||
|
||||
--- @type integer
|
||||
WARP_OP_TRIGGERS_LEVEL_SELECT = 0x10
|
||||
|
||||
--- @type integer
|
||||
WARP_OP_WARP_DOOR = 0x03
|
||||
|
||||
--- @type integer
|
||||
WARP_OP_WARP_FLOOR = 0x13
|
||||
|
||||
--- @type integer
|
||||
WARP_OP_WARP_OBJECT = 0x04
|
||||
|
||||
--- @type integer
|
||||
WARP_TYPE_CHANGE_AREA = 2
|
||||
|
||||
--- @type integer
|
||||
WARP_TYPE_CHANGE_LEVEL = 1
|
||||
|
||||
--- @type integer
|
||||
WARP_TYPE_NOT_WARPING = 0
|
||||
|
||||
--- @type integer
|
||||
WARP_TYPE_SAME_AREA = 3
|
||||
|
||||
--- @class HUDDisplayFlag
|
||||
|
||||
--- @type HUDDisplayFlag
|
||||
HUD_DISPLAY_FLAG_LIVES = 0x0001
|
||||
|
||||
--- @type HUDDisplayFlag
|
||||
HUD_DISPLAY_FLAG_COIN_COUNT = 0x0002
|
||||
|
||||
--- @type HUDDisplayFlag
|
||||
HUD_DISPLAY_FLAG_STAR_COUNT = 0x0004
|
||||
|
||||
--- @type HUDDisplayFlag
|
||||
HUD_DISPLAY_FLAG_CAMERA_AND_POWER = 0x0008
|
||||
|
||||
--- @type HUDDisplayFlag
|
||||
HUD_DISPLAY_FLAG_KEYS = 0x0010
|
||||
|
||||
--- @type HUDDisplayFlag
|
||||
HUD_DISPLAY_FLAG_UNKNOWN_0020 = 0x0020
|
||||
|
||||
--- @type HUDDisplayFlag
|
||||
HUD_DISPLAY_FLAG_TIMER = 0x0040
|
||||
|
||||
--- @type HUDDisplayFlag
|
||||
HUD_DISPLAY_FLAG_EMPHASIZE_POWER = 0x8000
|
||||
|
||||
--- @type HUDDisplayFlag
|
||||
HUD_DISPLAY_NONE = 0x0000
|
||||
|
||||
--- @type HUDDisplayFlag
|
||||
HUD_DISPLAY_DEFAULT = HUD_DISPLAY_FLAG_LIVES | HUD_DISPLAY_FLAG_COIN_COUNT | HUD_DISPLAY_FLAG_STAR_COUNT | HUD_DISPLAY_FLAG_CAMERA_AND_POWER | HUD_DISPLAY_FLAG_KEYS | HUD_DISPLAY_FLAG_UNKNOWN_0020
|
||||
|
||||
--- @class MarioAnimID
|
||||
|
||||
--- @type MarioAnimID
|
||||
|
|
|
|||
|
|
@ -4002,6 +4002,13 @@ function get_star_name_sm64(courseNum, starNum, charCase)
|
|||
-- ...
|
||||
end
|
||||
|
||||
--- @param m MarioState
|
||||
--- @param warpOp integer
|
||||
--- @return integer
|
||||
function level_trigger_warp(m, warpOp)
|
||||
-- ...
|
||||
end
|
||||
|
||||
--- @param m MarioState
|
||||
--- @return nil
|
||||
function adjust_sound_for_speed(m)
|
||||
|
|
|
|||
|
|
@ -21,6 +21,8 @@
|
|||
- [enum InteractionType](#enum-InteractionType)
|
||||
- [level_defines.h](#level_definesh)
|
||||
- [enum LevelNum](#enum-LevelNum)
|
||||
- [level_update.h](#level_updateh)
|
||||
- [enum HUDDisplayFlag](#enum-HUDDisplayFlag)
|
||||
- [mario_animation_ids.h](#mario_animation_idsh)
|
||||
- [enum MarioAnimID](#enum-MarioAnimID)
|
||||
- [mario_geo_switch_case_ids.h](#mario_geo_switch_case_idsh)
|
||||
|
|
@ -1289,6 +1291,71 @@
|
|||
|
||||
<br />
|
||||
|
||||
## [level_update.h](#level_update.h)
|
||||
- MARIO_SPAWN_AIRBORNE
|
||||
- MARIO_SPAWN_AIRBORNE_DEATH
|
||||
- MARIO_SPAWN_AIRBORNE_STAR_COLLECT
|
||||
- MARIO_SPAWN_DEATH
|
||||
- MARIO_SPAWN_DOOR_WARP
|
||||
- MARIO_SPAWN_FLYING
|
||||
- MARIO_SPAWN_HARD_AIR_KNOCKBACK
|
||||
- MARIO_SPAWN_INSTANT_ACTIVE
|
||||
- MARIO_SPAWN_LAUNCH_DEATH
|
||||
- MARIO_SPAWN_LAUNCH_STAR_COLLECT
|
||||
- MARIO_SPAWN_PAINTING_DEATH
|
||||
- MARIO_SPAWN_PAINTING_STAR_COLLECT
|
||||
- MARIO_SPAWN_SPIN_AIRBORNE
|
||||
- MARIO_SPAWN_SPIN_AIRBORNE_CIRCLE
|
||||
- MARIO_SPAWN_SWIMMING
|
||||
- MARIO_SPAWN_TELEPORT
|
||||
- MARIO_SPAWN_UNKNOWN_02
|
||||
- MARIO_SPAWN_UNKNOWN_03
|
||||
- MARIO_SPAWN_UNKNOWN_27
|
||||
- TIMER_CONTROL_HIDE
|
||||
- TIMER_CONTROL_SHOW
|
||||
- TIMER_CONTROL_START
|
||||
- TIMER_CONTROL_STOP
|
||||
- WARP_OP_CREDITS_END
|
||||
- WARP_OP_CREDITS_NEXT
|
||||
- WARP_OP_CREDITS_START
|
||||
- WARP_OP_DEATH
|
||||
- WARP_OP_DEMO_END
|
||||
- WARP_OP_DEMO_NEXT
|
||||
- WARP_OP_EXIT
|
||||
- WARP_OP_FORCE_SYNC
|
||||
- WARP_OP_GAME_OVER
|
||||
- WARP_OP_LOOK_UP
|
||||
- WARP_OP_NONE
|
||||
- WARP_OP_SPIN_SHRINK
|
||||
- WARP_OP_STAR_EXIT
|
||||
- WARP_OP_TELEPORT
|
||||
- WARP_OP_TRIGGERS_LEVEL_SELECT
|
||||
- WARP_OP_WARP_DOOR
|
||||
- WARP_OP_WARP_FLOOR
|
||||
- WARP_OP_WARP_OBJECT
|
||||
- WARP_TYPE_CHANGE_AREA
|
||||
- WARP_TYPE_CHANGE_LEVEL
|
||||
- WARP_TYPE_NOT_WARPING
|
||||
- WARP_TYPE_SAME_AREA
|
||||
|
||||
### [enum HUDDisplayFlag](#HUDDisplayFlag)
|
||||
| Identifier | Value |
|
||||
| :--------- | :---- |
|
||||
| HUD_DISPLAY_FLAG_LIVES | 0x0001 |
|
||||
| HUD_DISPLAY_FLAG_COIN_COUNT | 0x0002 |
|
||||
| HUD_DISPLAY_FLAG_STAR_COUNT | 0x0004 |
|
||||
| HUD_DISPLAY_FLAG_CAMERA_AND_POWER | 0x0008 |
|
||||
| HUD_DISPLAY_FLAG_KEYS | 0x0010 |
|
||||
| HUD_DISPLAY_FLAG_UNKNOWN_0020 | 0x0020 |
|
||||
| HUD_DISPLAY_FLAG_TIMER | 0x0040 |
|
||||
| HUD_DISPLAY_FLAG_EMPHASIZE_POWER | 0x8000 |
|
||||
| HUD_DISPLAY_NONE | 0x0000 |
|
||||
| HUD_DISPLAY_DEFAULT | HUD_DISPLAY_FLAG_LIVES | HUD_DISPLAY_FLAG_COIN_COUNT | HUD_DISPLAY_FLAG_STAR_COUNT | HUD_DISPLAY_FLAG_CAMERA_AND_POWER | HUD_DISPLAY_FLAG_KEYS | HUD_DISPLAY_FLAG_UNKNOWN_0020 |
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
## [mario_animation_ids.h](#mario_animation_ids.h)
|
||||
|
||||
### [enum MarioAnimID](#MarioAnimID)
|
||||
|
|
|
|||
|
|
@ -3358,6 +3358,33 @@
|
|||
|
||||
<br />
|
||||
|
||||
---
|
||||
# functions from level_update.h
|
||||
|
||||
<br />
|
||||
|
||||
|
||||
## [level_trigger_warp](#level_trigger_warp)
|
||||
|
||||
### Lua Example
|
||||
`local integerValue = level_trigger_warp(m, warpOp)`
|
||||
|
||||
### Parameters
|
||||
| Field | Type |
|
||||
| ----- | ---- |
|
||||
| m | [MarioState](structs.md#MarioState) |
|
||||
| warpOp | `integer` |
|
||||
|
||||
### Returns
|
||||
- `integer`
|
||||
|
||||
### C Prototype
|
||||
`s16 level_trigger_warp(struct MarioState *m, s32 warpOp);`
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
---
|
||||
# functions from mario.h
|
||||
|
||||
|
|
|
|||
|
|
@ -788,6 +788,11 @@
|
|||
|
||||
<br />
|
||||
|
||||
- level_update.h
|
||||
- [level_trigger_warp](functions-3.md#level_trigger_warp)
|
||||
|
||||
<br />
|
||||
|
||||
- mario.h
|
||||
- [adjust_sound_for_speed](functions-3.md#adjust_sound_for_speed)
|
||||
- [check_common_action_exits](functions-3.md#check_common_action_exits)
|
||||
|
|
|
|||
|
|
@ -1436,6 +1436,61 @@ char gSmluaConstants[] = ""
|
|||
"LEVEL_UNKNOWN_37 = 37\n"
|
||||
"LEVEL_UNKNOWN_38 = 38\n"
|
||||
"LEVEL_COUNT = 39\n"
|
||||
"TIMER_CONTROL_SHOW = 0\n"
|
||||
"TIMER_CONTROL_START = 1\n"
|
||||
"TIMER_CONTROL_STOP = 2\n"
|
||||
"TIMER_CONTROL_HIDE = 3\n"
|
||||
"WARP_OP_NONE = 0x00\n"
|
||||
"WARP_OP_LOOK_UP = 0x01\n"
|
||||
"WARP_OP_SPIN_SHRINK = 0x02\n"
|
||||
"WARP_OP_WARP_DOOR = 0x03\n"
|
||||
"WARP_OP_WARP_OBJECT = 0x04\n"
|
||||
"WARP_OP_TELEPORT = 0x05\n"
|
||||
"WARP_OP_STAR_EXIT = 0x11\n"
|
||||
"WARP_OP_DEATH = 0x12\n"
|
||||
"WARP_OP_WARP_FLOOR = 0x13\n"
|
||||
"WARP_OP_GAME_OVER = 0x14\n"
|
||||
"WARP_OP_CREDITS_END = 0x15\n"
|
||||
"WARP_OP_DEMO_NEXT = 0x16\n"
|
||||
"WARP_OP_CREDITS_START = 0x17\n"
|
||||
"WARP_OP_CREDITS_NEXT = 0x18\n"
|
||||
"WARP_OP_DEMO_END = 0x19\n"
|
||||
"WARP_OP_FORCE_SYNC = 0x20\n"
|
||||
"WARP_OP_EXIT = 0x21\n"
|
||||
"WARP_OP_TRIGGERS_LEVEL_SELECT = 0x10\n"
|
||||
"MARIO_SPAWN_DOOR_WARP = 0x01\n"
|
||||
"MARIO_SPAWN_UNKNOWN_02 = 0x02\n"
|
||||
"MARIO_SPAWN_UNKNOWN_03 = 0x03\n"
|
||||
"MARIO_SPAWN_TELEPORT = 0x04\n"
|
||||
"MARIO_SPAWN_INSTANT_ACTIVE = 0x10\n"
|
||||
"MARIO_SPAWN_SWIMMING = 0x11\n"
|
||||
"MARIO_SPAWN_AIRBORNE = 0x12\n"
|
||||
"MARIO_SPAWN_HARD_AIR_KNOCKBACK = 0x13\n"
|
||||
"MARIO_SPAWN_SPIN_AIRBORNE_CIRCLE = 0x14\n"
|
||||
"MARIO_SPAWN_DEATH = 0x15\n"
|
||||
"MARIO_SPAWN_SPIN_AIRBORNE = 0x16\n"
|
||||
"MARIO_SPAWN_FLYING = 0x17\n"
|
||||
"MARIO_SPAWN_PAINTING_STAR_COLLECT = 0x20\n"
|
||||
"MARIO_SPAWN_PAINTING_DEATH = 0x21\n"
|
||||
"MARIO_SPAWN_AIRBORNE_STAR_COLLECT = 0x22\n"
|
||||
"MARIO_SPAWN_AIRBORNE_DEATH = 0x23\n"
|
||||
"MARIO_SPAWN_LAUNCH_STAR_COLLECT = 0x24\n"
|
||||
"MARIO_SPAWN_LAUNCH_DEATH = 0x25\n"
|
||||
"MARIO_SPAWN_UNKNOWN_27 = 0x27\n"
|
||||
"WARP_TYPE_NOT_WARPING = 0\n"
|
||||
"WARP_TYPE_CHANGE_LEVEL = 1\n"
|
||||
"WARP_TYPE_CHANGE_AREA = 2\n"
|
||||
"WARP_TYPE_SAME_AREA = 3\n"
|
||||
"HUD_DISPLAY_FLAG_LIVES = 0x0001\n"
|
||||
"HUD_DISPLAY_FLAG_COIN_COUNT = 0x0002\n"
|
||||
"HUD_DISPLAY_FLAG_STAR_COUNT = 0x0004\n"
|
||||
"HUD_DISPLAY_FLAG_CAMERA_AND_POWER = 0x0008\n"
|
||||
"HUD_DISPLAY_FLAG_KEYS = 0x0010\n"
|
||||
"HUD_DISPLAY_FLAG_UNKNOWN_0020 = 0x0020\n"
|
||||
"HUD_DISPLAY_FLAG_TIMER = 0x0040\n"
|
||||
"HUD_DISPLAY_FLAG_EMPHASIZE_POWER = 0x8000\n"
|
||||
"HUD_DISPLAY_NONE = 0x0000\n"
|
||||
"HUD_DISPLAY_DEFAULT = HUD_DISPLAY_FLAG_LIVES | HUD_DISPLAY_FLAG_COIN_COUNT | HUD_DISPLAY_FLAG_STAR_COUNT | HUD_DISPLAY_FLAG_CAMERA_AND_POWER | HUD_DISPLAY_FLAG_KEYS | HUD_DISPLAY_FLAG_UNKNOWN_0020\n"
|
||||
"MARIO_ANIM_SLOW_LEDGE_GRAB = 0\n"
|
||||
"MARIO_ANIM_FALL_OVER_BACKWARDS = 1\n"
|
||||
"MARIO_ANIM_BACKWARD_AIR_KB = 2\n"
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
#include "src/game/object_list_processor.h"
|
||||
#include "src/game/behavior_actions.h"
|
||||
#include "src/game/mario_misc.h"
|
||||
#include "src/game/level_update.h"
|
||||
|
||||
|
||||
////////////////////////
|
||||
|
|
@ -8059,6 +8060,23 @@ int smlua_func_get_star_name_sm64(lua_State* L) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
////////////////////
|
||||
// level_update.h //
|
||||
////////////////////
|
||||
|
||||
int smlua_func_level_trigger_warp(lua_State* L) {
|
||||
if(!smlua_functions_valid_param_count(L, 2)) { return 0; }
|
||||
|
||||
struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter 1 for function 'level_trigger_warp'"); return 0; }
|
||||
s32 warpOp = smlua_to_integer(L, 2);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter 2 for function 'level_trigger_warp'"); return 0; }
|
||||
|
||||
lua_pushinteger(L, level_trigger_warp(m, warpOp));
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/////////////
|
||||
// mario.h //
|
||||
/////////////
|
||||
|
|
@ -18873,6 +18891,9 @@ void smlua_bind_functions_autogen(void) {
|
|||
smlua_bind_function(L, "get_star_name_ascii", smlua_func_get_star_name_ascii);
|
||||
smlua_bind_function(L, "get_star_name_sm64", smlua_func_get_star_name_sm64);
|
||||
|
||||
// level_update.h
|
||||
smlua_bind_function(L, "level_trigger_warp", smlua_func_level_trigger_warp);
|
||||
|
||||
// mario.h
|
||||
smlua_bind_function(L, "adjust_sound_for_speed", smlua_func_adjust_sound_for_speed);
|
||||
smlua_bind_function(L, "check_common_action_exits", smlua_func_check_common_action_exits);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue