mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2024-11-22 12:05:11 +00:00
Fix compile errors / run autogen
This commit is contained in:
parent
dec4d0c51c
commit
2115e4358d
7 changed files with 186 additions and 35 deletions
|
@ -2142,6 +2142,12 @@ function is_player_active(m)
|
|||
-- ...
|
||||
end
|
||||
|
||||
--- @param m MarioState
|
||||
--- @return integer
|
||||
function is_player_in_local_area(m)
|
||||
-- ...
|
||||
end
|
||||
|
||||
--- @param obj Object
|
||||
--- @param x number
|
||||
--- @param y number
|
||||
|
@ -2642,6 +2648,14 @@ function random_mod_offset(base, step, mod)
|
|||
-- ...
|
||||
end
|
||||
|
||||
--- @param threshold number
|
||||
--- @param distanceToPlayer Pointer_integer
|
||||
--- @param angleToPlayer Pointer_integer
|
||||
--- @return nil
|
||||
function treat_far_home_as_mario(threshold, distanceToPlayer, angleToPlayer)
|
||||
-- ...
|
||||
end
|
||||
|
||||
--- @param x0 integer
|
||||
--- @param x1 integer
|
||||
--- @return integer
|
||||
|
@ -3475,6 +3489,11 @@ function enable_time_stop()
|
|||
-- ...
|
||||
end
|
||||
|
||||
--- @return nil
|
||||
function enable_time_stop_if_alone()
|
||||
-- ...
|
||||
end
|
||||
|
||||
--- @return nil
|
||||
function enable_time_stop_including_mario()
|
||||
-- ...
|
||||
|
@ -3912,6 +3931,12 @@ function set_time_stop_flags(flags)
|
|||
-- ...
|
||||
end
|
||||
|
||||
--- @param flags integer
|
||||
--- @return nil
|
||||
function set_time_stop_flags_if_alone(flags)
|
||||
-- ...
|
||||
end
|
||||
|
||||
--- @param x integer
|
||||
--- @return integer
|
||||
function signum_positive(x)
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
--- @field public instantWarps InstantWarp
|
||||
--- @field public localAreaTimer integer
|
||||
--- @field public macroObjects Pointer_integer
|
||||
--- @field public macroObjectsAltered Pointer_integer
|
||||
--- @field public musicParam integer
|
||||
--- @field public musicParam2 integer
|
||||
--- @field public objectSpawnInfos SpawnInfo
|
||||
|
@ -1326,6 +1327,7 @@
|
|||
--- @field public prevObj Object
|
||||
--- @field public respawnInfoType integer
|
||||
--- @field public unused1 integer
|
||||
--- @field public usingObj Object
|
||||
|
||||
--- @class ObjectHitbox
|
||||
--- @field public damageOrCoinValue integer
|
||||
|
|
|
@ -399,6 +399,7 @@
|
|||
- [is_nearest_mario_state_to_object](#is_nearest_mario_state_to_object)
|
||||
- [is_nearest_player_to_object](#is_nearest_player_to_object)
|
||||
- [is_player_active](#is_player_active)
|
||||
- [is_player_in_local_area](#is_player_in_local_area)
|
||||
- [is_point_close_to_object](#is_point_close_to_object)
|
||||
- [is_point_within_radius_of_mario](#is_point_within_radius_of_mario)
|
||||
- [nearest_mario_state_to_object](#nearest_mario_state_to_object)
|
||||
|
@ -472,6 +473,7 @@
|
|||
- [platform_on_track_update_pos_or_spawn_ball](#platform_on_track_update_pos_or_spawn_ball)
|
||||
- [random_linear_offset](#random_linear_offset)
|
||||
- [random_mod_offset](#random_mod_offset)
|
||||
- [treat_far_home_as_mario](#treat_far_home_as_mario)
|
||||
|
||||
<br />
|
||||
|
||||
|
@ -614,6 +616,7 @@
|
|||
- [dist_between_object_and_point](#dist_between_object_and_point)
|
||||
- [dist_between_objects](#dist_between_objects)
|
||||
- [enable_time_stop](#enable_time_stop)
|
||||
- [enable_time_stop_if_alone](#enable_time_stop_if_alone)
|
||||
- [enable_time_stop_including_mario](#enable_time_stop_including_mario)
|
||||
- [find_unimportant_object](#find_unimportant_object)
|
||||
- [geo_offset_klepto_debug](#geo_offset_klepto_debug)
|
||||
|
@ -676,6 +679,7 @@
|
|||
- [random_f32_around_zero](#random_f32_around_zero)
|
||||
- [set_mario_interact_hoot_if_in_range](#set_mario_interact_hoot_if_in_range)
|
||||
- [set_time_stop_flags](#set_time_stop_flags)
|
||||
- [set_time_stop_flags_if_alone](#set_time_stop_flags_if_alone)
|
||||
- [signum_positive](#signum_positive)
|
||||
- [spawn_base_star_with_no_lvl_exit](#spawn_base_star_with_no_lvl_exit)
|
||||
- [spawn_mist_particles](#spawn_mist_particles)
|
||||
|
@ -7447,6 +7451,26 @@ The `reliable` field will ensure that the packet arrives, but should be used spa
|
|||
|
||||
<br />
|
||||
|
||||
## [is_player_in_local_area](#is_player_in_local_area)
|
||||
|
||||
### Lua Example
|
||||
`local integerValue = is_player_in_local_area(m)`
|
||||
|
||||
### Parameters
|
||||
| Field | Type |
|
||||
| ----- | ---- |
|
||||
| m | [MarioState](structs.md#MarioState) |
|
||||
|
||||
### Returns
|
||||
- `integer`
|
||||
|
||||
### C Prototype
|
||||
`u8 is_player_in_local_area(struct MarioState* m);`
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
## [is_point_close_to_object](#is_point_close_to_object)
|
||||
|
||||
### Lua Example
|
||||
|
@ -8908,6 +8932,28 @@ The `reliable` field will ensure that the packet arrives, but should be used spa
|
|||
|
||||
<br />
|
||||
|
||||
## [treat_far_home_as_mario](#treat_far_home_as_mario)
|
||||
|
||||
### Lua Example
|
||||
`treat_far_home_as_mario(threshold, distanceToPlayer, angleToPlayer)`
|
||||
|
||||
### Parameters
|
||||
| Field | Type |
|
||||
| ----- | ---- |
|
||||
| threshold | `number` |
|
||||
| distanceToPlayer | `Pointer` <`integer`> |
|
||||
| angleToPlayer | `Pointer` <`integer`> |
|
||||
|
||||
### Returns
|
||||
- None
|
||||
|
||||
### C Prototype
|
||||
`void treat_far_home_as_mario(f32 threshold, s32* distanceToPlayer, s32* angleToPlayer);`
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
---
|
||||
# functions from object_helpers.c
|
||||
|
||||
|
@ -11619,6 +11665,24 @@ The `reliable` field will ensure that the packet arrives, but should be used spa
|
|||
|
||||
<br />
|
||||
|
||||
## [enable_time_stop_if_alone](#enable_time_stop_if_alone)
|
||||
|
||||
### Lua Example
|
||||
`enable_time_stop_if_alone()`
|
||||
|
||||
### Parameters
|
||||
- None
|
||||
|
||||
### Returns
|
||||
- None
|
||||
|
||||
### C Prototype
|
||||
`void enable_time_stop_if_alone(void);`
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
## [enable_time_stop_including_mario](#enable_time_stop_including_mario)
|
||||
|
||||
### Lua Example
|
||||
|
@ -12921,6 +12985,26 @@ The `reliable` field will ensure that the packet arrives, but should be used spa
|
|||
|
||||
<br />
|
||||
|
||||
## [set_time_stop_flags_if_alone](#set_time_stop_flags_if_alone)
|
||||
|
||||
### Lua Example
|
||||
`set_time_stop_flags_if_alone(flags)`
|
||||
|
||||
### Parameters
|
||||
| Field | Type |
|
||||
| ----- | ---- |
|
||||
| flags | `integer` |
|
||||
|
||||
### Returns
|
||||
- None
|
||||
|
||||
### C Prototype
|
||||
`void set_time_stop_flags_if_alone(s32 flags);`
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
## [signum_positive](#signum_positive)
|
||||
|
||||
### Lua Example
|
||||
|
|
|
@ -113,6 +113,7 @@
|
|||
| instantWarps | [InstantWarp](structs.md#InstantWarp) | |
|
||||
| localAreaTimer | `integer` | read-only |
|
||||
| macroObjects | `Pointer` <`integer`> | read-only |
|
||||
| macroObjectsAltered | `Pointer` <`integer`> | read-only |
|
||||
| musicParam | `integer` | |
|
||||
| musicParam2 | `integer` | |
|
||||
| objectSpawnInfos | [SpawnInfo](structs.md#SpawnInfo) | |
|
||||
|
@ -878,6 +879,7 @@
|
|||
| prevObj | [Object](structs.md#Object) | |
|
||||
| respawnInfoType | `integer` | |
|
||||
| unused1 | `integer` | |
|
||||
| usingObj | [Object](structs.md#Object) | |
|
||||
|
||||
### Object-Independent Data Fields
|
||||
| Field | Type | Access |
|
||||
|
|
|
@ -508,7 +508,7 @@ s32 act_reading_automatic_dialog(struct MarioState *m) {
|
|||
if (m->actionState == 9) {
|
||||
// only show dialog for local player
|
||||
if (m == &gMarioStates[0]) {
|
||||
actionArg = m->actionArg;
|
||||
u32 actionArg = m->actionArg;
|
||||
if (GET_HIGH_U16_OF_32(actionArg) == 0) {
|
||||
create_dialog_box(GET_LOW_U16_OF_32(actionArg));
|
||||
} else {
|
||||
|
@ -1428,13 +1428,14 @@ s32 act_bbh_enter_spin(struct MarioState *m) {
|
|||
|
||||
switch (m->actionState) {
|
||||
case 0:
|
||||
{
|
||||
f32 floorDist = 512.0f - (m->pos[1] - m->floorHeight);
|
||||
m->vel[1] = floorDist > 0 ? sqrtf(4.0f * floorDist + 1.0f) - 1.0f : 2.0f;
|
||||
|
||||
m->actionState = 1;
|
||||
m->actionTimer = 100;
|
||||
}
|
||||
// fall through
|
||||
|
||||
case 1:
|
||||
m->faceAngle[1] = atan2s(cageDZ, cageDX);
|
||||
mario_set_forward_vel(m, forwardVel);
|
||||
|
|
|
@ -46,7 +46,7 @@ static struct LuaObjectField sAnimationFields[LUA_ANIMATION_FIELD_COUNT] = {
|
|||
{ "values", LVT_S16_P, offsetof(struct Animation, values), true, LOT_POINTER },
|
||||
};
|
||||
|
||||
#define LUA_AREA_FIELD_COUNT 14
|
||||
#define LUA_AREA_FIELD_COUNT 15
|
||||
static struct LuaObjectField sAreaFields[LUA_AREA_FIELD_COUNT] = {
|
||||
// { "cachedBehaviors", LOT_???, offsetof(struct Area, cachedBehaviors), false, LOT_??? }, <--- UNIMPLEMENTED
|
||||
// { "cachedPositions", LOT_???, offsetof(struct Area, cachedPositions), false, LOT_??? }, <--- UNIMPLEMENTED
|
||||
|
@ -57,6 +57,7 @@ static struct LuaObjectField sAreaFields[LUA_AREA_FIELD_COUNT] = {
|
|||
{ "instantWarps", LVT_COBJECT_P, offsetof(struct Area, instantWarps), false, LOT_INSTANTWARP },
|
||||
{ "localAreaTimer", LVT_U32, offsetof(struct Area, localAreaTimer), true, LOT_NONE },
|
||||
{ "macroObjects", LVT_S16_P, offsetof(struct Area, macroObjects), true, LOT_POINTER },
|
||||
{ "macroObjectsAltered", LVT_U8_P, offsetof(struct Area, macroObjectsAltered), true, LOT_POINTER },
|
||||
{ "musicParam", LVT_U16, offsetof(struct Area, musicParam), false, LOT_NONE },
|
||||
{ "musicParam2", LVT_U16, offsetof(struct Area, musicParam2), false, LOT_NONE },
|
||||
{ "objectSpawnInfos", LVT_COBJECT_P, offsetof(struct Area, objectSpawnInfos), false, LOT_SPAWNINFO },
|
||||
|
@ -681,7 +682,7 @@ static struct LuaObjectField sNetworkPlayerFields[LUA_NETWORK_PLAYER_FIELD_COUNT
|
|||
{ "type", LVT_U8, offsetof(struct NetworkPlayer, type), true, LOT_NONE },
|
||||
};
|
||||
|
||||
#define LUA_OBJECT_FIELD_COUNT 751
|
||||
#define LUA_OBJECT_FIELD_COUNT 752
|
||||
static struct LuaObjectField sObjectFields[LUA_OBJECT_FIELD_COUNT] = {
|
||||
{ "activeFlags", LVT_S16, offsetof(struct Object, activeFlags), false, LOT_NONE },
|
||||
{ "areaTimer", LVT_U32, offsetof(struct Object, areaTimer), false, LOT_NONE },
|
||||
|
@ -1446,6 +1447,7 @@ static struct LuaObjectField sObjectFields[LUA_OBJECT_FIELD_COUNT] = {
|
|||
{ "respawnInfoType", LVT_S16, offsetof(struct Object, respawnInfoType), false, LOT_NONE },
|
||||
// { "transform", LVT_???, offsetof(struct Object, transform), false, LOT_??? }, <--- UNIMPLEMENTED
|
||||
{ "unused1", LVT_U32, offsetof(struct Object, unused1), false, LOT_NONE },
|
||||
{ "usingObj", LVT_COBJECT_P, offsetof(struct Object, usingObj), false, LOT_OBJECT },
|
||||
};
|
||||
|
||||
#define LUA_OBJECT_HITBOX_FIELD_COUNT 9
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
int smlua_func_get_behavior_from_id(lua_State* L) {
|
||||
if(!smlua_functions_valid_param_count(L, 1)) { return 0; }
|
||||
|
||||
s32 id = smlua_to_integer(L, 1);
|
||||
int id = smlua_to_integer(L, 1);
|
||||
if (!gSmLuaConvertSuccess) { return 0; }
|
||||
|
||||
smlua_push_pointer(L, LVT_BEHAVIORSCRIPT_P, (void*)get_behavior_from_id(id));
|
||||
|
@ -4936,6 +4936,18 @@ int smlua_func_is_player_active(lua_State* L) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_is_player_in_local_area(lua_State* L) {
|
||||
if(!smlua_functions_valid_param_count(L, 1)) { return 0; }
|
||||
|
||||
struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE);
|
||||
if (!gSmLuaConvertSuccess) { return 0; }
|
||||
|
||||
extern u8 is_player_in_local_area(struct MarioState* m);
|
||||
lua_pushinteger(L, is_player_in_local_area(m));
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_is_point_close_to_object(lua_State* L) {
|
||||
if(!smlua_functions_valid_param_count(L, 5)) { return 0; }
|
||||
|
||||
|
@ -5950,23 +5962,21 @@ int smlua_func_random_mod_offset(lua_State* L) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
int smlua_func_treat_far_home_as_mario(lua_State* L) {
|
||||
if(!smlua_functions_valid_param_count(L, 3)) { return 0; }
|
||||
|
||||
f32 threshold = smlua_to_number(L, 1);
|
||||
if (!gSmLuaConvertSuccess) { return 0; }
|
||||
// int* distanceToPlayer = (int*)smlua_to_cobject(L, 2, LOT_???); <--- UNIMPLEMENTED
|
||||
s32* distanceToPlayer = (s32*)smlua_to_cpointer(L, 2, LVT_S32_P);
|
||||
if (!gSmLuaConvertSuccess) { return 0; }
|
||||
// int* angleToPlayer = (int*)smlua_to_cobject(L, 3, LOT_???); <--- UNIMPLEMENTED
|
||||
s32* angleToPlayer = (s32*)smlua_to_cpointer(L, 3, LVT_S32_P);
|
||||
if (!gSmLuaConvertSuccess) { return 0; }
|
||||
|
||||
extern void treat_far_home_as_mario(f32 threshold, int* distanceToPlayer, int* angleToPlayer);
|
||||
extern void treat_far_home_as_mario(f32 threshold, s32* distanceToPlayer, s32* angleToPlayer);
|
||||
treat_far_home_as_mario(threshold, distanceToPlayer, angleToPlayer);
|
||||
|
||||
return 1;
|
||||
}
|
||||
*/
|
||||
|
||||
//////////////////////
|
||||
// object_helpers.c //
|
||||
|
@ -7656,6 +7666,16 @@ int smlua_func_enable_time_stop(UNUSED lua_State* L) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_enable_time_stop_if_alone(UNUSED lua_State* L) {
|
||||
if(!smlua_functions_valid_param_count(L, 0)) { return 0; }
|
||||
|
||||
|
||||
extern void enable_time_stop_if_alone(void);
|
||||
enable_time_stop_if_alone();
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_enable_time_stop_including_mario(UNUSED lua_State* L) {
|
||||
if(!smlua_functions_valid_param_count(L, 0)) { return 0; }
|
||||
|
||||
|
@ -8760,6 +8780,18 @@ int smlua_func_set_time_stop_flags(lua_State* L) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_set_time_stop_flags_if_alone(lua_State* L) {
|
||||
if(!smlua_functions_valid_param_count(L, 1)) { return 0; }
|
||||
|
||||
s32 flags = smlua_to_integer(L, 1);
|
||||
if (!gSmLuaConvertSuccess) { return 0; }
|
||||
|
||||
extern void set_time_stop_flags_if_alone(s32 flags);
|
||||
set_time_stop_flags_if_alone(flags);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_signum_positive(lua_State* L) {
|
||||
if(!smlua_functions_valid_param_count(L, 1)) { return 0; }
|
||||
|
||||
|
@ -10297,6 +10329,7 @@ void smlua_bind_functions_autogen(void) {
|
|||
smlua_bind_function(L, "is_nearest_mario_state_to_object", smlua_func_is_nearest_mario_state_to_object);
|
||||
smlua_bind_function(L, "is_nearest_player_to_object", smlua_func_is_nearest_player_to_object);
|
||||
smlua_bind_function(L, "is_player_active", smlua_func_is_player_active);
|
||||
smlua_bind_function(L, "is_player_in_local_area", smlua_func_is_player_in_local_area);
|
||||
smlua_bind_function(L, "is_point_close_to_object", smlua_func_is_point_close_to_object);
|
||||
smlua_bind_function(L, "is_point_within_radius_of_mario", smlua_func_is_point_within_radius_of_mario);
|
||||
smlua_bind_function(L, "nearest_mario_state_to_object", smlua_func_nearest_mario_state_to_object);
|
||||
|
@ -10368,7 +10401,7 @@ void smlua_bind_functions_autogen(void) {
|
|||
smlua_bind_function(L, "platform_on_track_update_pos_or_spawn_ball", smlua_func_platform_on_track_update_pos_or_spawn_ball);
|
||||
smlua_bind_function(L, "random_linear_offset", smlua_func_random_linear_offset);
|
||||
smlua_bind_function(L, "random_mod_offset", smlua_func_random_mod_offset);
|
||||
//smlua_bind_function(L, "treat_far_home_as_mario", smlua_func_treat_far_home_as_mario); <--- UNIMPLEMENTED
|
||||
smlua_bind_function(L, "treat_far_home_as_mario", smlua_func_treat_far_home_as_mario);
|
||||
|
||||
// object_helpers.c
|
||||
smlua_bind_function(L, "abs_angle_diff", smlua_func_abs_angle_diff);
|
||||
|
@ -10510,6 +10543,7 @@ void smlua_bind_functions_autogen(void) {
|
|||
smlua_bind_function(L, "dist_between_object_and_point", smlua_func_dist_between_object_and_point);
|
||||
smlua_bind_function(L, "dist_between_objects", smlua_func_dist_between_objects);
|
||||
smlua_bind_function(L, "enable_time_stop", smlua_func_enable_time_stop);
|
||||
smlua_bind_function(L, "enable_time_stop_if_alone", smlua_func_enable_time_stop_if_alone);
|
||||
smlua_bind_function(L, "enable_time_stop_including_mario", smlua_func_enable_time_stop_including_mario);
|
||||
smlua_bind_function(L, "find_unimportant_object", smlua_func_find_unimportant_object);
|
||||
smlua_bind_function(L, "geo_offset_klepto_debug", smlua_func_geo_offset_klepto_debug);
|
||||
|
@ -10583,6 +10617,7 @@ void smlua_bind_functions_autogen(void) {
|
|||
smlua_bind_function(L, "random_f32_around_zero", smlua_func_random_f32_around_zero);
|
||||
smlua_bind_function(L, "set_mario_interact_hoot_if_in_range", smlua_func_set_mario_interact_hoot_if_in_range);
|
||||
smlua_bind_function(L, "set_time_stop_flags", smlua_func_set_time_stop_flags);
|
||||
smlua_bind_function(L, "set_time_stop_flags_if_alone", smlua_func_set_time_stop_flags_if_alone);
|
||||
smlua_bind_function(L, "signum_positive", smlua_func_signum_positive);
|
||||
smlua_bind_function(L, "spawn_base_star_with_no_lvl_exit", smlua_func_spawn_base_star_with_no_lvl_exit);
|
||||
smlua_bind_function(L, "spawn_mist_particles", smlua_func_spawn_mist_particles);
|
||||
|
|
Loading…
Reference in a new issue