mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2024-11-22 12:05:11 +00:00
Add set_mario_y_vel_based_on_fspeed() to lua
This commit is contained in:
parent
b7be386200
commit
4a9e618efe
5 changed files with 49 additions and 1 deletions
|
@ -1224,6 +1224,14 @@ function set_mario_animation(m, targetAnimID)
|
||||||
-- ...
|
-- ...
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--- @param m MarioState
|
||||||
|
--- @param initialVelY number
|
||||||
|
--- @param multiplier number
|
||||||
|
--- @return nil
|
||||||
|
function set_mario_y_vel_based_on_fspeed(m, initialVelY, multiplier)
|
||||||
|
-- ...
|
||||||
|
end
|
||||||
|
|
||||||
--- @param m MarioState
|
--- @param m MarioState
|
||||||
--- @return nil
|
--- @return nil
|
||||||
function set_steep_jump_action(m)
|
function set_steep_jump_action(m)
|
||||||
|
|
|
@ -220,6 +220,7 @@
|
||||||
- [set_mario_action](#set_mario_action)
|
- [set_mario_action](#set_mario_action)
|
||||||
- [set_mario_anim_with_accel](#set_mario_anim_with_accel)
|
- [set_mario_anim_with_accel](#set_mario_anim_with_accel)
|
||||||
- [set_mario_animation](#set_mario_animation)
|
- [set_mario_animation](#set_mario_animation)
|
||||||
|
- [set_mario_y_vel_based_on_fspeed](#set_mario_y_vel_based_on_fspeed)
|
||||||
- [set_steep_jump_action](#set_steep_jump_action)
|
- [set_steep_jump_action](#set_steep_jump_action)
|
||||||
- [set_water_plunge_action](#set_water_plunge_action)
|
- [set_water_plunge_action](#set_water_plunge_action)
|
||||||
- [transition_submerged_to_walking](#transition_submerged_to_walking)
|
- [transition_submerged_to_walking](#transition_submerged_to_walking)
|
||||||
|
@ -4578,6 +4579,28 @@ The `reliable` field will ensure that the packet arrives, but should be used spa
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
|
## [set_mario_y_vel_based_on_fspeed](#set_mario_y_vel_based_on_fspeed)
|
||||||
|
|
||||||
|
### Lua Example
|
||||||
|
`set_mario_y_vel_based_on_fspeed(m, initialVelY, multiplier)`
|
||||||
|
|
||||||
|
### Parameters
|
||||||
|
| Field | Type |
|
||||||
|
| ----- | ---- |
|
||||||
|
| m | [MarioState](structs.md#MarioState) |
|
||||||
|
| initialVelY | `number` |
|
||||||
|
| multiplier | `number` |
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
- None
|
||||||
|
|
||||||
|
### C Prototype
|
||||||
|
`void set_mario_y_vel_based_on_fspeed(struct MarioState *m, f32 initialVelY, f32 multiplier);`
|
||||||
|
|
||||||
|
[:arrow_up_small:](#)
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
## [set_steep_jump_action](#set_steep_jump_action)
|
## [set_steep_jump_action](#set_steep_jump_action)
|
||||||
|
|
||||||
### Lua Example
|
### Lua Example
|
||||||
|
|
|
@ -842,7 +842,7 @@ void set_steep_jump_action(struct MarioState *m) {
|
||||||
/**
|
/**
|
||||||
* Sets Mario's vertical speed from his forward speed.
|
* Sets Mario's vertical speed from his forward speed.
|
||||||
*/
|
*/
|
||||||
static void set_mario_y_vel_based_on_fspeed(struct MarioState *m, f32 initialVelY, f32 multiplier) {
|
void set_mario_y_vel_based_on_fspeed(struct MarioState *m, f32 initialVelY, f32 multiplier) {
|
||||||
// get_additive_y_vel_for_jumps is always 0 and a stubbed function.
|
// get_additive_y_vel_for_jumps is always 0 and a stubbed function.
|
||||||
// It was likely trampoline related based on code location.
|
// It was likely trampoline related based on code location.
|
||||||
m->vel[1] = initialVelY + get_additive_y_vel_for_jumps() + m->forwardVel * multiplier;
|
m->vel[1] = initialVelY + get_additive_y_vel_for_jumps() + m->forwardVel * multiplier;
|
||||||
|
|
|
@ -42,6 +42,7 @@ f32 find_floor_height_relative_polar(struct MarioState *m, s16 angleFromMario, f
|
||||||
s16 find_floor_slope(struct MarioState *m, s16 yawOffset);
|
s16 find_floor_slope(struct MarioState *m, s16 yawOffset);
|
||||||
void update_mario_sound_and_camera(struct MarioState *m);
|
void update_mario_sound_and_camera(struct MarioState *m);
|
||||||
void set_steep_jump_action(struct MarioState *m);
|
void set_steep_jump_action(struct MarioState *m);
|
||||||
|
void set_mario_y_vel_based_on_fspeed(struct MarioState *m, f32 initialVelY, f32 multiplier);
|
||||||
u32 set_mario_action(struct MarioState *m, u32 action, u32 actionArg);
|
u32 set_mario_action(struct MarioState *m, u32 action, u32 actionArg);
|
||||||
s32 set_jump_from_landing(struct MarioState *m);
|
s32 set_jump_from_landing(struct MarioState *m);
|
||||||
s32 set_jumping_action(struct MarioState *m, u32 action, u32 actionArg);
|
s32 set_jumping_action(struct MarioState *m, u32 action, u32 actionArg);
|
||||||
|
|
|
@ -2963,6 +2963,21 @@ int smlua_func_set_mario_animation(lua_State* L) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int smlua_func_set_mario_y_vel_based_on_fspeed(lua_State* L) {
|
||||||
|
if(!smlua_functions_valid_param_count(L, 3)) { return 0; }
|
||||||
|
|
||||||
|
struct MarioState* m = (struct MarioState*)smlua_to_cobject(L, 1, LOT_MARIOSTATE);
|
||||||
|
if (!gSmLuaConvertSuccess) { return 0; }
|
||||||
|
f32 initialVelY = smlua_to_number(L, 2);
|
||||||
|
if (!gSmLuaConvertSuccess) { return 0; }
|
||||||
|
f32 multiplier = smlua_to_number(L, 3);
|
||||||
|
if (!gSmLuaConvertSuccess) { return 0; }
|
||||||
|
|
||||||
|
set_mario_y_vel_based_on_fspeed(m, initialVelY, multiplier);
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
int smlua_func_set_steep_jump_action(lua_State* L) {
|
int smlua_func_set_steep_jump_action(lua_State* L) {
|
||||||
if(!smlua_functions_valid_param_count(L, 1)) { return 0; }
|
if(!smlua_functions_valid_param_count(L, 1)) { return 0; }
|
||||||
|
|
||||||
|
@ -10110,6 +10125,7 @@ void smlua_bind_functions_autogen(void) {
|
||||||
smlua_bind_function(L, "set_mario_action", smlua_func_set_mario_action);
|
smlua_bind_function(L, "set_mario_action", smlua_func_set_mario_action);
|
||||||
smlua_bind_function(L, "set_mario_anim_with_accel", smlua_func_set_mario_anim_with_accel);
|
smlua_bind_function(L, "set_mario_anim_with_accel", smlua_func_set_mario_anim_with_accel);
|
||||||
smlua_bind_function(L, "set_mario_animation", smlua_func_set_mario_animation);
|
smlua_bind_function(L, "set_mario_animation", smlua_func_set_mario_animation);
|
||||||
|
smlua_bind_function(L, "set_mario_y_vel_based_on_fspeed", smlua_func_set_mario_y_vel_based_on_fspeed);
|
||||||
smlua_bind_function(L, "set_steep_jump_action", smlua_func_set_steep_jump_action);
|
smlua_bind_function(L, "set_steep_jump_action", smlua_func_set_steep_jump_action);
|
||||||
smlua_bind_function(L, "set_water_plunge_action", smlua_func_set_water_plunge_action);
|
smlua_bind_function(L, "set_water_plunge_action", smlua_func_set_water_plunge_action);
|
||||||
smlua_bind_function(L, "transition_submerged_to_walking", smlua_func_transition_submerged_to_walking);
|
smlua_bind_function(L, "transition_submerged_to_walking", smlua_func_transition_submerged_to_walking);
|
||||||
|
|
Loading…
Reference in a new issue