mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2024-11-22 03:55:11 +00:00
Add ability to get global timer and set HUD flash
This commit is contained in:
parent
5c3ebadb8e
commit
815bbe0053
6 changed files with 154 additions and 20 deletions
|
@ -8744,6 +8744,11 @@ function get_fog_intensity()
|
|||
-- ...
|
||||
end
|
||||
|
||||
--- @return integer
|
||||
function get_global_timer()
|
||||
-- ...
|
||||
end
|
||||
|
||||
--- @return boolean
|
||||
function get_got_file_coin_hi_score()
|
||||
-- ...
|
||||
|
@ -8850,6 +8855,11 @@ function gfx_get_adjust_for_aspect_ratio()
|
|||
-- ...
|
||||
end
|
||||
|
||||
--- @return integer
|
||||
function hud_get_flash()
|
||||
-- ...
|
||||
end
|
||||
|
||||
--- @param type HudDisplayValue
|
||||
--- @return integer
|
||||
function hud_get_value(type)
|
||||
|
@ -8890,6 +8900,12 @@ function hud_render_power_meter_interpolated(health, prevX, prevY, prevWidth, pr
|
|||
-- ...
|
||||
end
|
||||
|
||||
--- @param value integer
|
||||
--- @return nil
|
||||
function hud_set_flash(value)
|
||||
-- ...
|
||||
end
|
||||
|
||||
--- @param type HudDisplayValue
|
||||
--- @param value integer
|
||||
--- @return nil
|
||||
|
|
|
@ -869,6 +869,24 @@
|
|||
|
||||
<br />
|
||||
|
||||
## [get_global_timer](#get_global_timer)
|
||||
|
||||
### Lua Example
|
||||
`local integerValue = get_global_timer()`
|
||||
|
||||
### Parameters
|
||||
- None
|
||||
|
||||
### Returns
|
||||
- `integer`
|
||||
|
||||
### C Prototype
|
||||
`u32 get_global_timer(void);`
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
## [get_got_file_coin_hi_score](#get_got_file_coin_hi_score)
|
||||
|
||||
### Lua Example
|
||||
|
@ -1230,6 +1248,24 @@
|
|||
|
||||
<br />
|
||||
|
||||
## [hud_get_flash](#hud_get_flash)
|
||||
|
||||
### Lua Example
|
||||
`local integerValue = hud_get_flash()`
|
||||
|
||||
### Parameters
|
||||
- None
|
||||
|
||||
### Returns
|
||||
- `integer`
|
||||
|
||||
### C Prototype
|
||||
`s8 hud_get_flash(void);`
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
## [hud_get_value](#hud_get_value)
|
||||
|
||||
### Lua Example
|
||||
|
@ -1338,6 +1374,26 @@
|
|||
|
||||
<br />
|
||||
|
||||
## [hud_set_flash](#hud_set_flash)
|
||||
|
||||
### Lua Example
|
||||
`hud_set_flash(value)`
|
||||
|
||||
### Parameters
|
||||
| Field | Type |
|
||||
| ----- | ---- |
|
||||
| value | `integer` |
|
||||
|
||||
### Returns
|
||||
- None
|
||||
|
||||
### C Prototype
|
||||
`void hud_set_flash(s8 value);`
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
## [hud_set_value](#hud_set_value)
|
||||
|
||||
### Lua Example
|
||||
|
|
|
@ -1642,6 +1642,7 @@
|
|||
- [get_environment_region](functions-5.md#get_environment_region)
|
||||
- [get_fog_color](functions-5.md#get_fog_color)
|
||||
- [get_fog_intensity](functions-5.md#get_fog_intensity)
|
||||
- [get_global_timer](functions-5.md#get_global_timer)
|
||||
- [get_got_file_coin_hi_score](functions-5.md#get_got_file_coin_hi_score)
|
||||
- [get_hand_foot_pos_x](functions-5.md#get_hand_foot_pos_x)
|
||||
- [get_hand_foot_pos_y](functions-5.md#get_hand_foot_pos_y)
|
||||
|
@ -1661,11 +1662,13 @@
|
|||
- [get_vertex_color](functions-5.md#get_vertex_color)
|
||||
- [gfx_enable_adjust_for_aspect_ratio](functions-5.md#gfx_enable_adjust_for_aspect_ratio)
|
||||
- [gfx_get_adjust_for_aspect_ratio](functions-5.md#gfx_get_adjust_for_aspect_ratio)
|
||||
- [hud_get_flash](functions-5.md#hud_get_flash)
|
||||
- [hud_get_value](functions-5.md#hud_get_value)
|
||||
- [hud_hide](functions-5.md#hud_hide)
|
||||
- [hud_is_hidden](functions-5.md#hud_is_hidden)
|
||||
- [hud_render_power_meter](functions-5.md#hud_render_power_meter)
|
||||
- [hud_render_power_meter_interpolated](functions-5.md#hud_render_power_meter_interpolated)
|
||||
- [hud_set_flash](functions-5.md#hud_set_flash)
|
||||
- [hud_set_value](functions-5.md#hud_set_value)
|
||||
- [hud_show](functions-5.md#hud_show)
|
||||
- [is_game_paused](functions-5.md#is_game_paused)
|
||||
|
|
|
@ -28890,6 +28890,21 @@ int smlua_func_get_fog_intensity(UNUSED lua_State* L) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_get_global_timer(UNUSED lua_State* L) {
|
||||
if (L == NULL) { return 0; }
|
||||
|
||||
int top = lua_gettop(L);
|
||||
if (top != 0) {
|
||||
LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "get_global_timer", 0, top);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
lua_pushinteger(L, get_global_timer());
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_get_got_file_coin_hi_score(UNUSED lua_State* L) {
|
||||
if (L == NULL) { return 0; }
|
||||
|
||||
|
@ -29197,6 +29212,21 @@ int smlua_func_gfx_get_adjust_for_aspect_ratio(UNUSED lua_State* L) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_hud_get_flash(UNUSED lua_State* L) {
|
||||
if (L == NULL) { return 0; }
|
||||
|
||||
int top = lua_gettop(L);
|
||||
if (top != 0) {
|
||||
LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "hud_get_flash", 0, top);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
lua_pushinteger(L, hud_get_flash());
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_hud_get_value(lua_State* L) {
|
||||
if (L == NULL) { return 0; }
|
||||
|
||||
|
@ -29302,6 +29332,23 @@ int smlua_func_hud_render_power_meter_interpolated(lua_State* L) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_hud_set_flash(lua_State* L) {
|
||||
if (L == NULL) { return 0; }
|
||||
|
||||
int top = lua_gettop(L);
|
||||
if (top != 1) {
|
||||
LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "hud_set_flash", 1, top);
|
||||
return 0;
|
||||
}
|
||||
|
||||
s8 value = smlua_to_integer(L, 1);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "hud_set_flash"); return 0; }
|
||||
|
||||
hud_set_flash(value);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_hud_set_value(lua_State* L) {
|
||||
if (L == NULL) { return 0; }
|
||||
|
||||
|
@ -32975,6 +33022,7 @@ void smlua_bind_functions_autogen(void) {
|
|||
smlua_bind_function(L, "get_environment_region", smlua_func_get_environment_region);
|
||||
smlua_bind_function(L, "get_fog_color", smlua_func_get_fog_color);
|
||||
smlua_bind_function(L, "get_fog_intensity", smlua_func_get_fog_intensity);
|
||||
smlua_bind_function(L, "get_global_timer", smlua_func_get_global_timer);
|
||||
smlua_bind_function(L, "get_got_file_coin_hi_score", smlua_func_get_got_file_coin_hi_score);
|
||||
smlua_bind_function(L, "get_hand_foot_pos_x", smlua_func_get_hand_foot_pos_x);
|
||||
smlua_bind_function(L, "get_hand_foot_pos_y", smlua_func_get_hand_foot_pos_y);
|
||||
|
@ -32994,11 +33042,13 @@ void smlua_bind_functions_autogen(void) {
|
|||
smlua_bind_function(L, "get_vertex_color", smlua_func_get_vertex_color);
|
||||
smlua_bind_function(L, "gfx_enable_adjust_for_aspect_ratio", smlua_func_gfx_enable_adjust_for_aspect_ratio);
|
||||
smlua_bind_function(L, "gfx_get_adjust_for_aspect_ratio", smlua_func_gfx_get_adjust_for_aspect_ratio);
|
||||
smlua_bind_function(L, "hud_get_flash", smlua_func_hud_get_flash);
|
||||
smlua_bind_function(L, "hud_get_value", smlua_func_hud_get_value);
|
||||
smlua_bind_function(L, "hud_hide", smlua_func_hud_hide);
|
||||
smlua_bind_function(L, "hud_is_hidden", smlua_func_hud_is_hidden);
|
||||
smlua_bind_function(L, "hud_render_power_meter", smlua_func_hud_render_power_meter);
|
||||
smlua_bind_function(L, "hud_render_power_meter_interpolated", smlua_func_hud_render_power_meter_interpolated);
|
||||
smlua_bind_function(L, "hud_set_flash", smlua_func_hud_set_flash);
|
||||
smlua_bind_function(L, "hud_set_value", smlua_func_hud_set_value);
|
||||
smlua_bind_function(L, "hud_show", smlua_func_hud_show);
|
||||
smlua_bind_function(L, "is_game_paused", smlua_func_is_game_paused);
|
||||
|
|
|
@ -172,17 +172,18 @@ void hud_set_value(enum HudDisplayValue type, s32 value) {
|
|||
}
|
||||
}
|
||||
|
||||
extern const u8 texture_power_meter_left_side[];
|
||||
extern const u8 texture_power_meter_right_side[];
|
||||
extern const u8 texture_power_meter_full[];
|
||||
extern const u8 texture_power_meter_seven_segments[];
|
||||
extern const u8 texture_power_meter_six_segments[];
|
||||
extern const u8 texture_power_meter_five_segments[];
|
||||
extern const u8 texture_power_meter_four_segments[];
|
||||
extern const u8 texture_power_meter_three_segments[];
|
||||
extern const u8 texture_power_meter_two_segments[];
|
||||
extern const u8 texture_power_meter_one_segments[];
|
||||
|
||||
void hud_render_power_meter(s32 health, f32 x, f32 y, f32 width, f32 height) {
|
||||
extern const u8 texture_power_meter_left_side[];
|
||||
extern const u8 texture_power_meter_right_side[];
|
||||
extern const u8 texture_power_meter_full[];
|
||||
extern const u8 texture_power_meter_seven_segments[];
|
||||
extern const u8 texture_power_meter_six_segments[];
|
||||
extern const u8 texture_power_meter_five_segments[];
|
||||
extern const u8 texture_power_meter_four_segments[];
|
||||
extern const u8 texture_power_meter_three_segments[];
|
||||
extern const u8 texture_power_meter_two_segments[];
|
||||
extern const u8 texture_power_meter_one_segments[];
|
||||
static struct TextureInfo sPowerMeterTexturesInfo[] = {
|
||||
{ (u8*)texture_power_meter_left_side, 8, 32, 64, "texture_power_meter_left_side" },
|
||||
{ (u8*)texture_power_meter_right_side, 8, 32, 64, "texture_power_meter_right_side" },
|
||||
|
@ -204,16 +205,6 @@ void hud_render_power_meter(s32 health, f32 x, f32 y, f32 width, f32 height) {
|
|||
}
|
||||
|
||||
void hud_render_power_meter_interpolated(s32 health, f32 prevX, f32 prevY, f32 prevWidth, f32 prevHeight, f32 x, f32 y, f32 width, f32 height) {
|
||||
extern const u8 texture_power_meter_left_side[];
|
||||
extern const u8 texture_power_meter_right_side[];
|
||||
extern const u8 texture_power_meter_full[];
|
||||
extern const u8 texture_power_meter_seven_segments[];
|
||||
extern const u8 texture_power_meter_six_segments[];
|
||||
extern const u8 texture_power_meter_five_segments[];
|
||||
extern const u8 texture_power_meter_four_segments[];
|
||||
extern const u8 texture_power_meter_three_segments[];
|
||||
extern const u8 texture_power_meter_two_segments[];
|
||||
extern const u8 texture_power_meter_one_segments[];
|
||||
static struct TextureInfo sPowerMeterTexturesInfo[] = {
|
||||
{ (u8*)texture_power_meter_left_side, 8, 32, 64, "texture_power_meter_left_side" },
|
||||
{ (u8*)texture_power_meter_right_side, 8, 32, 64, "texture_power_meter_right_side" },
|
||||
|
@ -243,6 +234,14 @@ void hud_render_power_meter_interpolated(s32 health, f32 prevX, f32 prevY, f32 p
|
|||
}
|
||||
}
|
||||
|
||||
s8 hud_get_flash(void) {
|
||||
return gHudFlash;
|
||||
}
|
||||
|
||||
void hud_set_flash(s8 value) {
|
||||
gHudFlash = value;
|
||||
}
|
||||
|
||||
///
|
||||
|
||||
struct CameraOverride {
|
||||
|
@ -622,6 +621,12 @@ void set_override_envfx(s32 envfx) {
|
|||
|
||||
///
|
||||
|
||||
u32 get_global_timer(void) {
|
||||
return gGlobalTimer;
|
||||
}
|
||||
|
||||
///
|
||||
|
||||
bool get_coop_compatibility_enabled(void) {
|
||||
return configCoopCompatibility;
|
||||
}
|
||||
|
|
|
@ -68,6 +68,8 @@ s32 hud_get_value(enum HudDisplayValue type);
|
|||
void hud_set_value(enum HudDisplayValue type, s32 value);
|
||||
void hud_render_power_meter(s32 health, f32 x, f32 y, f32 width, f32 height);
|
||||
void hud_render_power_meter_interpolated(s32 health, f32 prevX, f32 prevY, f32 prevWidth, f32 prevHeight, f32 x, f32 y, f32 width, f32 height);
|
||||
s8 hud_get_flash(void);
|
||||
void hud_set_flash(s8 value);
|
||||
|
||||
void camera_reset_overrides(void);
|
||||
void camera_freeze(void);
|
||||
|
@ -153,6 +155,8 @@ struct DateTime* get_date_and_time(void);
|
|||
u16 get_envfx(void);
|
||||
void set_override_envfx(s32 envfx);
|
||||
|
||||
u32 get_global_timer(void);
|
||||
|
||||
bool get_coop_compatibility_enabled(void);
|
||||
|
||||
bool gfx_get_adjust_for_aspect_ratio(void);
|
||||
|
|
Loading…
Reference in a new issue