mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2026-04-22 01:52:43 +00:00
made autogen build djui_hud_render_texture*
This commit is contained in:
parent
c79d59d8ec
commit
378b619fd6
10 changed files with 377 additions and 455 deletions
|
|
@ -128,7 +128,7 @@ override_disallowed_functions = {
|
|||
"src/game/camera.h": [ "update_camera", "init_camera", "stub_camera", "^reset_camera", "move_point_along_spline", "romhack_camera_init_settings", "romhack_camera_reset_settings" ],
|
||||
"src/game/behavior_actions.h": [ "bhv_dust_smoke_loop", "bhv_init_room" ],
|
||||
"src/pc/lua/utils/smlua_audio_utils.h": [ "smlua_audio_utils_override", "audio_custom_shutdown", "smlua_audio_custom_deinit", "audio_sample_destroy_pending_copies", "audio_custom_update_volume" ],
|
||||
"src/pc/djui/djui_hud_utils.h": [ "djui_hud_render_texture", "djui_hud_render_texture_raw", "djui_hud_render_texture_tile", "djui_hud_render_texture_tile_raw" ],
|
||||
"src/pc/djui/djui_hud_utils.h": [ "djui_hud_render_texture_raw", "djui_hud_render_texture_tile_raw" ],
|
||||
"src/pc/lua/utils/smlua_level_utils.h": [ "smlua_level_util_reset" ],
|
||||
"src/pc/lua/utils/smlua_text_utils.h": [ "smlua_text_utils_init", "smlua_text_utils_shutdown" ],
|
||||
"src/pc/lua/utils/smlua_anim_utils.h": [ "smlua_anim_util_reset", "smlua_anim_util_register_animation" ],
|
||||
|
|
@ -212,10 +212,6 @@ manual_index_documentation = """
|
|||
- [network_send_to](#network_send_to)
|
||||
- [network_send](#network_send)
|
||||
- [get_texture_info](#get_texture_info)
|
||||
- [djui_hud_render_texture](#djui_hud_render_texture)
|
||||
- [djui_hud_render_texture_tile](#djui_hud_render_texture_tile)
|
||||
- [djui_hud_render_texture_interpolated](#djui_hud_render_texture_interpolated)
|
||||
- [djui_hud_render_texture_tile_interpolated](#djui_hud_render_texture_tile_interpolated)
|
||||
- [texture_override_set](#texture_override_set)
|
||||
- [texture_override_reset](#texture_override_reset)
|
||||
- [smlua_anim_util_register_animation](#smlua_anim_util_register_animation)
|
||||
|
|
@ -372,96 +368,6 @@ Retrieves a texture by name.
|
|||
|
||||
<br />
|
||||
|
||||
## [djui_hud_render_texture](#djui_hud_render_texture)
|
||||
|
||||
Renders a texture to the screen.
|
||||
|
||||
### Lua Example
|
||||
`djui_hud_render_texture(texInfo, 0, 0, 1, 1)`
|
||||
|
||||
### Parameters
|
||||
| Field | Type |
|
||||
| ----- | ---- |
|
||||
| texInfo | [TextureInfo](structs.md#TextureInfo) |
|
||||
| x | `number` |
|
||||
| y | `number` |
|
||||
| scaleW | `number` |
|
||||
| scaleH | `number` |
|
||||
|
||||
### Returns
|
||||
- None
|
||||
|
||||
### C Prototype
|
||||
`void djui_hud_render_texture(struct TextureInfo* texInfo, f32 x, f32 y, f32 scaleW, f32 scaleH);`
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
## [djui_hud_render_texture_tile](#djui_hud_render_texture_tile)
|
||||
|
||||
Renders a tile of a texture to the screen.
|
||||
|
||||
### Lua Example
|
||||
`djui_hud_render_texture_tile(texInfo, 0, 0, 1, 1, 0, 0, 16, 16)`
|
||||
|
||||
### Parameters
|
||||
| Field | Type |
|
||||
| ----- | ---- |
|
||||
| texInfo | [TextureInfo](structs.md#TextureInfo) |
|
||||
| x | `number` |
|
||||
| y | `number` |
|
||||
| scaleW | `number` |
|
||||
| scaleH | `number` |
|
||||
| tileX | `number` |
|
||||
| tileY | `number` |
|
||||
| tileW | `number` |
|
||||
| tileH | `number` |
|
||||
|
||||
### Returns
|
||||
- None
|
||||
|
||||
### C Prototype
|
||||
`void djui_hud_render_texture_tile(struct TextureInfo* texInfo, f32 x, f32 y, f32 scaleW, f32 scaleH, u32 tileX, u32 tileY, u32 tileW, u32 tileH);`
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
## [djui_hud_render_texture_tile_interpolated](#djui_hud_render_texture_tile_interpolated)
|
||||
|
||||
Renders an interpolated tile of a texture to the screen.
|
||||
|
||||
### Lua Example
|
||||
`djui_hud_render_texture_tile_interpolated(texInfo, prevX, prevY, prevScaleW, prevScaleH, 0, 0, 1, 1, 0, 0, 16, 16)`
|
||||
|
||||
### Parameters
|
||||
| Field | Type |
|
||||
| ----- | ---- |
|
||||
| texInfo | [TextureInfo](structs.md#TextureInfo) |
|
||||
| prevX | `number` |
|
||||
| prevY | `number` |
|
||||
| prevScaleW | `number` |
|
||||
| prevScaleH | `number` |
|
||||
| x | `number` |
|
||||
| y | `number` |
|
||||
| scaleW | `number` |
|
||||
| scaleH | `number` |
|
||||
| tileX | `number` |
|
||||
| tileY | `number` |
|
||||
| tileW | `number` |
|
||||
| tileH | `number` |
|
||||
|
||||
### Returns
|
||||
- None
|
||||
|
||||
### C Prototype
|
||||
`void djui_hud_render_texture_tile_interpolated(struct TextureInfo* texInfo, f32 prevX, f32 prevY, f32 prevScaleW, f32 prevScaleH, f32 x, f32 y, f32 scaleW, f32 scaleH, u32 tileX, u32 tileY, u32 tileW, u32 tileH);`
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
## [texture_override_reset](#texture_override_reset)
|
||||
|
||||
Resets an overridden texture.
|
||||
|
|
@ -870,6 +776,9 @@ def build_param(fid, param, i):
|
|||
ptype = alter_type(param['type'])
|
||||
pid = param['identifier']
|
||||
|
||||
if param.get('texinfo', False):
|
||||
return ' struct TextureInfo *texInfo = get_texture_info_from_lua(L);\n'
|
||||
|
||||
if ptype in VEC_TYPES:
|
||||
if ptype == "Vec3f" and fid in SOUND_FUNCTIONS:
|
||||
return vec3f_sound_before.replace('$[IDENTIFIER]', str(pid)).replace('$[INDEX]', str(i))
|
||||
|
|
@ -1108,6 +1017,10 @@ def process_function(fname, line, description):
|
|||
param['out'] = True
|
||||
param_str = param_str[len('OUT'):].strip()
|
||||
|
||||
if param_str.startswith('TEXINFO '):
|
||||
param['texinfo'] = True
|
||||
param_str = param_str[len('TEXINFO'):].strip()
|
||||
|
||||
if param_str.endswith('*') or ' ' not in param_str:
|
||||
param['type'] = normalize_type(param_str)
|
||||
param['identifier'] = 'arg%d' % param_index
|
||||
|
|
|
|||
|
|
@ -4003,6 +4003,62 @@ function djui_hud_print_text_interpolated(message, prevX, prevY, prevScale, x, y
|
|||
-- ...
|
||||
end
|
||||
|
||||
--- @param texInfo TextureInfo
|
||||
--- @param x number
|
||||
--- @param y number
|
||||
--- @param scaleW number
|
||||
--- @param scaleH number
|
||||
--- Renders a DJUI HUD texture onto the screen
|
||||
function djui_hud_render_texture(texInfo, x, y, scaleW, scaleH)
|
||||
-- ...
|
||||
end
|
||||
|
||||
--- @param texInfo TextureInfo
|
||||
--- @param x number
|
||||
--- @param y number
|
||||
--- @param scaleW number
|
||||
--- @param scaleH number
|
||||
--- @param tileX integer
|
||||
--- @param tileY integer
|
||||
--- @param tileW integer
|
||||
--- @param tileH integer
|
||||
--- Renders a DJUI HUD texture tile onto the screen
|
||||
function djui_hud_render_texture_tile(texInfo, x, y, scaleW, scaleH, tileX, tileY, tileW, tileH)
|
||||
-- ...
|
||||
end
|
||||
|
||||
--- @param texInfo TextureInfo
|
||||
--- @param prevX number
|
||||
--- @param prevY number
|
||||
--- @param prevScaleW number
|
||||
--- @param prevScaleH number
|
||||
--- @param x number
|
||||
--- @param y number
|
||||
--- @param scaleW number
|
||||
--- @param scaleH number
|
||||
--- Renders an interpolated DJUI HUD texture onto the screen
|
||||
function djui_hud_render_texture_interpolated(texInfo, prevX, prevY, prevScaleW, prevScaleH, x, y, scaleW, scaleH)
|
||||
-- ...
|
||||
end
|
||||
|
||||
--- @param texInfo TextureInfo
|
||||
--- @param prevX number
|
||||
--- @param prevY number
|
||||
--- @param prevScaleW number
|
||||
--- @param prevScaleH number
|
||||
--- @param x number
|
||||
--- @param y number
|
||||
--- @param scaleW number
|
||||
--- @param scaleH number
|
||||
--- @param tileX integer
|
||||
--- @param tileY integer
|
||||
--- @param tileW integer
|
||||
--- @param tileH integer
|
||||
--- Renders an interpolated DJUI HUD texture tile onto the screen
|
||||
function djui_hud_render_texture_tile_interpolated(texInfo, prevX, prevY, prevScaleW, prevScaleH, x, y, scaleW, scaleH, tileX, tileY, tileW, tileH)
|
||||
-- ...
|
||||
end
|
||||
|
||||
--- @param x number
|
||||
--- @param y number
|
||||
--- @param width number
|
||||
|
|
|
|||
|
|
@ -3346,6 +3346,130 @@ Prints interpolated DJUI HUD text onto the screen
|
|||
|
||||
<br />
|
||||
|
||||
## [djui_hud_render_texture](#djui_hud_render_texture)
|
||||
|
||||
### Description
|
||||
Renders a DJUI HUD texture onto the screen
|
||||
|
||||
### Lua Example
|
||||
`djui_hud_render_texture(texInfo, x, y, scaleW, scaleH)`
|
||||
|
||||
### Parameters
|
||||
| Field | Type |
|
||||
| ----- | ---- |
|
||||
| texInfo | [TextureInfo](structs.md#TextureInfo) |
|
||||
| x | `number` |
|
||||
| y | `number` |
|
||||
| scaleW | `number` |
|
||||
| scaleH | `number` |
|
||||
|
||||
### Returns
|
||||
- None
|
||||
|
||||
### C Prototype
|
||||
`void djui_hud_render_texture(TEXINFO struct TextureInfo* texInfo, f32 x, f32 y, f32 scaleW, f32 scaleH);`
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
## [djui_hud_render_texture_tile](#djui_hud_render_texture_tile)
|
||||
|
||||
### Description
|
||||
Renders a DJUI HUD texture tile onto the screen
|
||||
|
||||
### Lua Example
|
||||
`djui_hud_render_texture_tile(texInfo, x, y, scaleW, scaleH, tileX, tileY, tileW, tileH)`
|
||||
|
||||
### Parameters
|
||||
| Field | Type |
|
||||
| ----- | ---- |
|
||||
| texInfo | [TextureInfo](structs.md#TextureInfo) |
|
||||
| x | `number` |
|
||||
| y | `number` |
|
||||
| scaleW | `number` |
|
||||
| scaleH | `number` |
|
||||
| tileX | `integer` |
|
||||
| tileY | `integer` |
|
||||
| tileW | `integer` |
|
||||
| tileH | `integer` |
|
||||
|
||||
### Returns
|
||||
- None
|
||||
|
||||
### C Prototype
|
||||
`void djui_hud_render_texture_tile(TEXINFO struct TextureInfo* texInfo, f32 x, f32 y, f32 scaleW, f32 scaleH, u32 tileX, u32 tileY, u32 tileW, u32 tileH);`
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
## [djui_hud_render_texture_interpolated](#djui_hud_render_texture_interpolated)
|
||||
|
||||
### Description
|
||||
Renders an interpolated DJUI HUD texture onto the screen
|
||||
|
||||
### Lua Example
|
||||
`djui_hud_render_texture_interpolated(texInfo, prevX, prevY, prevScaleW, prevScaleH, x, y, scaleW, scaleH)`
|
||||
|
||||
### Parameters
|
||||
| Field | Type |
|
||||
| ----- | ---- |
|
||||
| texInfo | [TextureInfo](structs.md#TextureInfo) |
|
||||
| prevX | `number` |
|
||||
| prevY | `number` |
|
||||
| prevScaleW | `number` |
|
||||
| prevScaleH | `number` |
|
||||
| x | `number` |
|
||||
| y | `number` |
|
||||
| scaleW | `number` |
|
||||
| scaleH | `number` |
|
||||
|
||||
### Returns
|
||||
- None
|
||||
|
||||
### C Prototype
|
||||
`void djui_hud_render_texture_interpolated(TEXINFO struct TextureInfo* texInfo, f32 prevX, f32 prevY, f32 prevScaleW, f32 prevScaleH, f32 x, f32 y, f32 scaleW, f32 scaleH);`
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
## [djui_hud_render_texture_tile_interpolated](#djui_hud_render_texture_tile_interpolated)
|
||||
|
||||
### Description
|
||||
Renders an interpolated DJUI HUD texture tile onto the screen
|
||||
|
||||
### Lua Example
|
||||
`djui_hud_render_texture_tile_interpolated(texInfo, prevX, prevY, prevScaleW, prevScaleH, x, y, scaleW, scaleH, tileX, tileY, tileW, tileH)`
|
||||
|
||||
### Parameters
|
||||
| Field | Type |
|
||||
| ----- | ---- |
|
||||
| texInfo | [TextureInfo](structs.md#TextureInfo) |
|
||||
| prevX | `number` |
|
||||
| prevY | `number` |
|
||||
| prevScaleW | `number` |
|
||||
| prevScaleH | `number` |
|
||||
| x | `number` |
|
||||
| y | `number` |
|
||||
| scaleW | `number` |
|
||||
| scaleH | `number` |
|
||||
| tileX | `integer` |
|
||||
| tileY | `integer` |
|
||||
| tileW | `integer` |
|
||||
| tileH | `integer` |
|
||||
|
||||
### Returns
|
||||
- None
|
||||
|
||||
### C Prototype
|
||||
`void djui_hud_render_texture_tile_interpolated(TEXINFO struct TextureInfo* texInfo, f32 prevX, f32 prevY, f32 prevScaleW, f32 prevScaleH, f32 x, f32 y, f32 scaleW, f32 scaleH, u32 tileX, u32 tileY, u32 tileW, u32 tileH);`
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
## [djui_hud_render_rect](#djui_hud_render_rect)
|
||||
|
||||
### Description
|
||||
|
|
|
|||
|
|
@ -15,10 +15,6 @@
|
|||
- [network_send_to](#network_send_to)
|
||||
- [network_send](#network_send)
|
||||
- [get_texture_info](#get_texture_info)
|
||||
- [djui_hud_render_texture](#djui_hud_render_texture)
|
||||
- [djui_hud_render_texture_tile](#djui_hud_render_texture_tile)
|
||||
- [djui_hud_render_texture_interpolated](#djui_hud_render_texture_interpolated)
|
||||
- [djui_hud_render_texture_tile_interpolated](#djui_hud_render_texture_tile_interpolated)
|
||||
- [texture_override_set](#texture_override_set)
|
||||
- [texture_override_reset](#texture_override_reset)
|
||||
- [smlua_anim_util_register_animation](#smlua_anim_util_register_animation)
|
||||
|
|
@ -785,6 +781,10 @@
|
|||
- [djui_hud_measure_text](functions-3.md#djui_hud_measure_text)
|
||||
- [djui_hud_print_text](functions-3.md#djui_hud_print_text)
|
||||
- [djui_hud_print_text_interpolated](functions-3.md#djui_hud_print_text_interpolated)
|
||||
- [djui_hud_render_texture](functions-3.md#djui_hud_render_texture)
|
||||
- [djui_hud_render_texture_tile](functions-3.md#djui_hud_render_texture_tile)
|
||||
- [djui_hud_render_texture_interpolated](functions-3.md#djui_hud_render_texture_interpolated)
|
||||
- [djui_hud_render_texture_tile_interpolated](functions-3.md#djui_hud_render_texture_tile_interpolated)
|
||||
- [djui_hud_render_rect](functions-3.md#djui_hud_render_rect)
|
||||
- [djui_hud_render_rect_interpolated](functions-3.md#djui_hud_render_rect_interpolated)
|
||||
- [get_current_fov](functions-3.md#get_current_fov)
|
||||
|
|
@ -2267,96 +2267,6 @@ Retrieves a texture by name.
|
|||
|
||||
<br />
|
||||
|
||||
## [djui_hud_render_texture](#djui_hud_render_texture)
|
||||
|
||||
Renders a texture to the screen.
|
||||
|
||||
### Lua Example
|
||||
`djui_hud_render_texture(texInfo, 0, 0, 1, 1)`
|
||||
|
||||
### Parameters
|
||||
| Field | Type |
|
||||
| ----- | ---- |
|
||||
| texInfo | [TextureInfo](structs.md#TextureInfo) |
|
||||
| x | `number` |
|
||||
| y | `number` |
|
||||
| scaleW | `number` |
|
||||
| scaleH | `number` |
|
||||
|
||||
### Returns
|
||||
- None
|
||||
|
||||
### C Prototype
|
||||
`void djui_hud_render_texture(struct TextureInfo* texInfo, f32 x, f32 y, f32 scaleW, f32 scaleH);`
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
## [djui_hud_render_texture_tile](#djui_hud_render_texture_tile)
|
||||
|
||||
Renders a tile of a texture to the screen.
|
||||
|
||||
### Lua Example
|
||||
`djui_hud_render_texture_tile(texInfo, 0, 0, 1, 1, 0, 0, 16, 16)`
|
||||
|
||||
### Parameters
|
||||
| Field | Type |
|
||||
| ----- | ---- |
|
||||
| texInfo | [TextureInfo](structs.md#TextureInfo) |
|
||||
| x | `number` |
|
||||
| y | `number` |
|
||||
| scaleW | `number` |
|
||||
| scaleH | `number` |
|
||||
| tileX | `number` |
|
||||
| tileY | `number` |
|
||||
| tileW | `number` |
|
||||
| tileH | `number` |
|
||||
|
||||
### Returns
|
||||
- None
|
||||
|
||||
### C Prototype
|
||||
`void djui_hud_render_texture_tile(struct TextureInfo* texInfo, f32 x, f32 y, f32 scaleW, f32 scaleH, u32 tileX, u32 tileY, u32 tileW, u32 tileH);`
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
## [djui_hud_render_texture_tile_interpolated](#djui_hud_render_texture_tile_interpolated)
|
||||
|
||||
Renders an interpolated tile of a texture to the screen.
|
||||
|
||||
### Lua Example
|
||||
`djui_hud_render_texture_tile_interpolated(texInfo, prevX, prevY, prevScaleW, prevScaleH, 0, 0, 1, 1, 0, 0, 16, 16)`
|
||||
|
||||
### Parameters
|
||||
| Field | Type |
|
||||
| ----- | ---- |
|
||||
| texInfo | [TextureInfo](structs.md#TextureInfo) |
|
||||
| prevX | `number` |
|
||||
| prevY | `number` |
|
||||
| prevScaleW | `number` |
|
||||
| prevScaleH | `number` |
|
||||
| x | `number` |
|
||||
| y | `number` |
|
||||
| scaleW | `number` |
|
||||
| scaleH | `number` |
|
||||
| tileX | `number` |
|
||||
| tileY | `number` |
|
||||
| tileW | `number` |
|
||||
| tileH | `number` |
|
||||
|
||||
### Returns
|
||||
- None
|
||||
|
||||
### C Prototype
|
||||
`void djui_hud_render_texture_tile_interpolated(struct TextureInfo* texInfo, f32 prevX, f32 prevY, f32 prevScaleW, f32 prevScaleH, f32 x, f32 y, f32 scaleW, f32 scaleH, u32 tileX, u32 tileY, u32 tileW, u32 tileH);`
|
||||
|
||||
[:arrow_up_small:](#)
|
||||
|
||||
<br />
|
||||
|
||||
## [texture_override_reset](#texture_override_reset)
|
||||
|
||||
Resets an overridden texture.
|
||||
|
|
|
|||
|
|
@ -512,15 +512,15 @@ void djui_hud_render_texture_tile_raw(const u8* texture, u32 bitSize, u32 width,
|
|||
gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
|
||||
}
|
||||
|
||||
void djui_hud_render_texture(struct TextureInfo* texInfo, f32 x, f32 y, f32 scaleW, f32 scaleH) {
|
||||
void djui_hud_render_texture(TEXINFO struct TextureInfo* texInfo, f32 x, f32 y, f32 scaleW, f32 scaleH) {
|
||||
djui_hud_render_texture_raw(texInfo->texture, texInfo->bitSize, texInfo->width, texInfo->height, x, y, scaleW, scaleH);
|
||||
}
|
||||
|
||||
void djui_hud_render_texture_tile(struct TextureInfo* texInfo, f32 x, f32 y, f32 scaleW, f32 scaleH, u32 tileX, u32 tileY, u32 tileW, u32 tileH) {
|
||||
void djui_hud_render_texture_tile(TEXINFO struct TextureInfo* texInfo, f32 x, f32 y, f32 scaleW, f32 scaleH, u32 tileX, u32 tileY, u32 tileW, u32 tileH) {
|
||||
djui_hud_render_texture_tile_raw(texInfo->texture, texInfo->bitSize, texInfo->width, texInfo->height, x, y, scaleW, scaleH, tileX, tileY, tileW, tileH);
|
||||
}
|
||||
|
||||
void djui_hud_render_texture_interpolated(struct TextureInfo* texInfo, f32 prevX, f32 prevY, f32 prevScaleW, f32 prevScaleH, f32 x, f32 y, f32 scaleW, f32 scaleH) {
|
||||
void djui_hud_render_texture_interpolated(TEXINFO struct TextureInfo* texInfo, f32 prevX, f32 prevY, f32 prevScaleW, f32 prevScaleH, f32 x, f32 y, f32 scaleW, f32 scaleH) {
|
||||
Gfx* savedHeadPos = gDisplayListHead;
|
||||
f32 savedZ = gDjuiHudUtilsZ;
|
||||
|
||||
|
|
@ -544,7 +544,7 @@ void djui_hud_render_texture_interpolated(struct TextureInfo* texInfo, f32 prevX
|
|||
interp->rotation = sRotation;
|
||||
}
|
||||
|
||||
void djui_hud_render_texture_tile_interpolated(struct TextureInfo* texInfo, f32 prevX, f32 prevY, f32 prevScaleW, f32 prevScaleH, f32 x, f32 y, f32 scaleW, f32 scaleH, u32 tileX, u32 tileY, u32 tileW, u32 tileH) {
|
||||
void djui_hud_render_texture_tile_interpolated(TEXINFO struct TextureInfo* texInfo, f32 prevX, f32 prevY, f32 prevScaleW, f32 prevScaleH, f32 x, f32 y, f32 scaleW, f32 scaleH, u32 tileX, u32 tileY, u32 tileW, u32 tileH) {
|
||||
Gfx* savedHeadPos = gDisplayListHead;
|
||||
f32 savedZ = gDjuiHudUtilsZ;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef DJUI_HUD_UTILS_H
|
||||
#define DJUI_HUD_UTILS_H
|
||||
|
||||
#define TEXINFO
|
||||
|
||||
enum HudUtilsResolution {
|
||||
RESOLUTION_DJUI,
|
||||
RESOLUTION_N64,
|
||||
|
|
@ -112,15 +114,15 @@ void djui_hud_print_text(const char* message, f32 x, f32 y, f32 scale);
|
|||
/* |description|Prints interpolated DJUI HUD text onto the screen|descriptionEnd| */
|
||||
void djui_hud_print_text_interpolated(const char* message, f32 prevX, f32 prevY, f32 prevScale, f32 x, f32 y, f32 scale);
|
||||
/* |description|Renders a DJUI HUD texture onto the screen|descriptionEnd| */
|
||||
void djui_hud_render_texture(struct TextureInfo* texInfo, f32 x, f32 y, f32 scaleW, f32 scaleH);
|
||||
void djui_hud_render_texture(TEXINFO struct TextureInfo* texInfo, f32 x, f32 y, f32 scaleW, f32 scaleH);
|
||||
void djui_hud_render_texture_raw(const u8* texture, u32 bitSize, u32 width, u32 height, f32 x, f32 y, f32 scaleW, f32 scaleH);
|
||||
/* |description|Renders a DJUI HUD texture tile onto the screen|descriptionEnd| */
|
||||
void djui_hud_render_texture_tile(struct TextureInfo* texInfo, f32 x, f32 y, f32 scaleW, f32 scaleH, u32 tileX, u32 tileY, u32 tileW, u32 tileH);
|
||||
void djui_hud_render_texture_tile(TEXINFO struct TextureInfo* texInfo, f32 x, f32 y, f32 scaleW, f32 scaleH, u32 tileX, u32 tileY, u32 tileW, u32 tileH);
|
||||
void djui_hud_render_texture_tile_raw(const u8* texture, u32 bitSize, u32 width, u32 height, f32 x, f32 y, f32 scaleW, f32 scaleH, u32 tileX, u32 tileY, u32 tileW, u32 tileH);
|
||||
/* |description|Renders an interpolated DJUI HUD texture onto the screen|descriptionEnd| */
|
||||
void djui_hud_render_texture_interpolated(struct TextureInfo* texInfo, f32 prevX, f32 prevY, f32 prevScaleW, f32 prevScaleH, f32 x, f32 y, f32 scaleW, f32 scaleH);
|
||||
void djui_hud_render_texture_interpolated(TEXINFO struct TextureInfo* texInfo, f32 prevX, f32 prevY, f32 prevScaleW, f32 prevScaleH, f32 x, f32 y, f32 scaleW, f32 scaleH);
|
||||
/* |description|Renders an interpolated DJUI HUD texture tile onto the screen|descriptionEnd| */
|
||||
void djui_hud_render_texture_tile_interpolated(struct TextureInfo* texInfo, f32 prevX, f32 prevY, f32 prevScaleW, f32 prevScaleH, f32 x, f32 y, f32 scaleW, f32 scaleH, u32 tileX, u32 tileY, u32 tileW, u32 tileH);
|
||||
void djui_hud_render_texture_tile_interpolated(TEXINFO struct TextureInfo* texInfo, f32 prevX, f32 prevY, f32 prevScaleW, f32 prevScaleH, f32 x, f32 y, f32 scaleW, f32 scaleH, u32 tileX, u32 tileY, u32 tileW, u32 tileH);
|
||||
/* |description|Renders a DJUI HUD rect onto the screen|descriptionEnd| */
|
||||
void djui_hud_render_rect(f32 x, f32 y, f32 width, f32 height);
|
||||
/* |description|Renders an interpolated DJUI HUD rect onto the screen|descriptionEnd| */
|
||||
|
|
|
|||
|
|
@ -444,266 +444,14 @@ int smlua_func_get_texture_info(lua_State* L) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_djui_hud_render_texture(lua_State* L) {
|
||||
if(!smlua_functions_valid_param_count(L, 5)) { return 0; }
|
||||
|
||||
struct TextureInfo tmpTexInfo = { 0 };
|
||||
struct TextureInfo* texInfo = &tmpTexInfo;
|
||||
|
||||
if (smlua_is_cobject(L, 1, LOT_TEXTUREINFO)) {
|
||||
texInfo = (struct TextureInfo*)smlua_to_cobject(L, 1, LOT_TEXTUREINFO);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture: Failed to convert parameter 1"); return 0; }
|
||||
} else {
|
||||
int top = lua_gettop(L);
|
||||
lua_pushvalue(L, 1);
|
||||
|
||||
lua_pushstring(L, "texture");
|
||||
lua_gettable(L, top+1);
|
||||
tmpTexInfo.texture = smlua_to_cpointer(L, lua_gettop(L), LVT_U8_P);
|
||||
lua_pop(L, 1);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture: Failed to convert parameter 1's 'texture' field"); return 0; }
|
||||
|
||||
tmpTexInfo.bitSize = smlua_get_integer_field(top+1, "bitSize");
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture: Failed to convert parameter 1's 'bitSize' field"); return 0; }
|
||||
|
||||
tmpTexInfo.width = smlua_get_integer_field(top+1, "width");
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture: Failed to convert parameter 1's 'width' field"); return 0; }
|
||||
|
||||
tmpTexInfo.height = smlua_get_integer_field(top+1, "height");
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture: Failed to convert parameter 1's 'height' field"); return 0; }
|
||||
|
||||
tmpTexInfo.name = smlua_get_string_field(top+1, "name");
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture: Failed to convert parameter 1's 'name' field"); return 0; }
|
||||
|
||||
lua_settop(L, top);
|
||||
}
|
||||
|
||||
f32 x = smlua_to_number(L, 2);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture: Failed to convert parameter 2"); return 0; }
|
||||
f32 y = smlua_to_number(L, 3);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture: Failed to convert parameter 3"); return 0; }
|
||||
f32 scaleW = smlua_to_number(L, 4);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture: Failed to convert parameter 4"); return 0; }
|
||||
f32 scaleH = smlua_to_number(L, 5);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture: Failed to convert parameter 5"); return 0; }
|
||||
|
||||
djui_hud_render_texture_raw(texInfo->texture, texInfo->bitSize, texInfo->width, texInfo->height, x, y, scaleW, scaleH);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_djui_hud_render_texture_tile(lua_State* L) {
|
||||
if(!smlua_functions_valid_param_count(L, 9)) { return 0; }
|
||||
|
||||
struct TextureInfo tmpTexInfo = { 0 };
|
||||
struct TextureInfo* texInfo = &tmpTexInfo;
|
||||
|
||||
if (smlua_is_cobject(L, 1, LOT_TEXTUREINFO)) {
|
||||
texInfo = (struct TextureInfo*)smlua_to_cobject(L, 1, LOT_TEXTUREINFO);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile: Failed to convert parameter 1"); return 0; }
|
||||
} else {
|
||||
int top = lua_gettop(L);
|
||||
lua_pushvalue(L, 1);
|
||||
|
||||
lua_pushstring(L, "texture");
|
||||
lua_gettable(L, top+1);
|
||||
tmpTexInfo.texture = smlua_to_cpointer(L, lua_gettop(L), LVT_U8_P);
|
||||
lua_pop(L, 1);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile: Failed to convert parameter 1's 'texture' field"); return 0; }
|
||||
|
||||
tmpTexInfo.bitSize = smlua_get_integer_field(top+1, "bitSize");
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile: Failed to convert parameter 1's 'bitSize' field"); return 0; }
|
||||
|
||||
tmpTexInfo.width = smlua_get_integer_field(top+1, "width");
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile: Failed to convert parameter 1's 'width' field"); return 0; }
|
||||
|
||||
tmpTexInfo.height = smlua_get_integer_field(top+1, "height");
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile: Failed to convert parameter 1's 'height' field"); return 0; }
|
||||
|
||||
tmpTexInfo.name = smlua_get_string_field(top+1, "name");
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile: Failed to convert parameter 1's 'name' field"); return 0; }
|
||||
|
||||
lua_settop(L, top);
|
||||
}
|
||||
|
||||
f32 x = smlua_to_number(L, 2);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile: Failed to convert parameter 2"); return 0; }
|
||||
f32 y = smlua_to_number(L, 3);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile: Failed to convert parameter 3"); return 0; }
|
||||
f32 scaleW = smlua_to_number(L, 4);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile: Failed to convert parameter 4"); return 0; }
|
||||
f32 scaleH = smlua_to_number(L, 5);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile: Failed to convert parameter 5"); return 0; }
|
||||
f32 tileX = smlua_to_number(L, 6);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile: Failed to convert parameter 6"); return 0; }
|
||||
f32 tileY = smlua_to_number(L, 7);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile: Failed to convert parameter 7"); return 0; }
|
||||
f32 tileW = smlua_to_number(L, 8);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile: Failed to convert parameter 8"); return 0; }
|
||||
f32 tileH = smlua_to_number(L, 9);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile: Failed to convert parameter 9"); return 0; }
|
||||
|
||||
djui_hud_render_texture_tile_raw(texInfo->texture, texInfo->bitSize, texInfo->width, texInfo->height, x, y, scaleW, scaleH, tileX, tileY, tileW, tileH);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_djui_hud_render_texture_interpolated(lua_State* L) {
|
||||
if(!smlua_functions_valid_param_count(L, 9)) { return 0; }
|
||||
|
||||
struct TextureInfo tmpTexInfo = { 0 };
|
||||
struct TextureInfo* texInfo = &tmpTexInfo;
|
||||
|
||||
if (smlua_is_cobject(L, 1, LOT_TEXTUREINFO)) {
|
||||
texInfo = (struct TextureInfo*)smlua_to_cobject(L, 1, LOT_TEXTUREINFO);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_interpolated: Failed to convert parameter 1"); return 0; }
|
||||
} else {
|
||||
int top = lua_gettop(L);
|
||||
lua_pushvalue(L, 1);
|
||||
|
||||
lua_pushstring(L, "texture");
|
||||
lua_gettable(L, top+1);
|
||||
tmpTexInfo.texture = smlua_to_cpointer(L, lua_gettop(L), LVT_U8_P);
|
||||
lua_pop(L, 1);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_interpolated: Failed to convert parameter 1's 'texture' field"); return 0; }
|
||||
|
||||
tmpTexInfo.bitSize = smlua_get_integer_field(top+1, "bitSize");
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_interpolated: Failed to convert parameter 1's 'bitSize' field"); return 0; }
|
||||
|
||||
tmpTexInfo.width = smlua_get_integer_field(top+1, "width");
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_interpolated: Failed to convert parameter 1's 'width' field"); return 0; }
|
||||
|
||||
tmpTexInfo.height = smlua_get_integer_field(top+1, "height");
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_interpolated: Failed to convert parameter 1's 'height' field"); return 0; }
|
||||
|
||||
tmpTexInfo.name = smlua_get_string_field(top+1, "name");
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_interpolated: Failed to convert parameter 1's 'name' field"); return 0; }
|
||||
|
||||
lua_settop(L, top);
|
||||
}
|
||||
|
||||
f32 prevX = smlua_to_number(L, 2);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_interpolated: Failed to convert parameter 2"); return 0; }
|
||||
f32 prevY = smlua_to_number(L, 3);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_interpolated: Failed to convert parameter 3"); return 0; }
|
||||
f32 prevScaleW = smlua_to_number(L, 4);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_interpolated: Failed to convert parameter 4"); return 0; }
|
||||
f32 prevScaleH = smlua_to_number(L, 5);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_interpolated: Failed to convert parameter 5"); return 0; }
|
||||
f32 x = smlua_to_number(L, 6);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_interpolated: Failed to convert parameter 6"); return 0; }
|
||||
f32 y = smlua_to_number(L, 7);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_interpolated: Failed to convert parameter 7"); return 0; }
|
||||
f32 scaleW = smlua_to_number(L, 8);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_interpolated: Failed to convert parameter 8"); return 0; }
|
||||
f32 scaleH = smlua_to_number(L, 9);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_interpolated: Failed to convert parameter 9"); return 0; }
|
||||
|
||||
djui_hud_render_texture_interpolated(texInfo, prevX, prevY, prevScaleW, prevScaleH, x, y, scaleW, scaleH);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_djui_hud_render_texture_tile_interpolated(lua_State* L) {
|
||||
if(!smlua_functions_valid_param_count(L, 13)) { return 0; }
|
||||
|
||||
struct TextureInfo tmpTexInfo = { 0 };
|
||||
struct TextureInfo* texInfo = &tmpTexInfo;
|
||||
|
||||
if (smlua_is_cobject(L, 1, LOT_TEXTUREINFO)) {
|
||||
texInfo = (struct TextureInfo*)smlua_to_cobject(L, 1, LOT_TEXTUREINFO);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile_interpolated: Failed to convert parameter 1"); return 0; }
|
||||
} else {
|
||||
int top = lua_gettop(L);
|
||||
lua_pushvalue(L, 1);
|
||||
|
||||
lua_pushstring(L, "texture");
|
||||
lua_gettable(L, top+1);
|
||||
tmpTexInfo.texture = smlua_to_cpointer(L, lua_gettop(L), LVT_U8_P);
|
||||
lua_pop(L, 1);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile_interpolated: Failed to convert parameter 1's 'texture' field"); return 0; }
|
||||
|
||||
tmpTexInfo.bitSize = smlua_get_integer_field(top+1, "bitSize");
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile_interpolated: Failed to convert parameter 1's 'bitSize' field"); return 0; }
|
||||
|
||||
tmpTexInfo.width = smlua_get_integer_field(top+1, "width");
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile_interpolated: Failed to convert parameter 1's 'width' field"); return 0; }
|
||||
|
||||
tmpTexInfo.height = smlua_get_integer_field(top+1, "height");
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile_interpolated: Failed to convert parameter 1's 'height' field"); return 0; }
|
||||
|
||||
tmpTexInfo.name = smlua_get_string_field(top+1, "name");
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile_interpolated: Failed to convert parameter 1's 'name' field"); return 0; }
|
||||
|
||||
lua_settop(L, top);
|
||||
}
|
||||
|
||||
f32 prevX = smlua_to_number(L, 2);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile_interpolated: Failed to convert parameter 2"); return 0; }
|
||||
f32 prevY = smlua_to_number(L, 3);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile_interpolated: Failed to convert parameter 3"); return 0; }
|
||||
f32 prevScaleW = smlua_to_number(L, 4);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile_interpolated: Failed to convert parameter 4"); return 0; }
|
||||
f32 prevScaleH = smlua_to_number(L, 5);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile_interpolated: Failed to convert parameter 5"); return 0; }
|
||||
f32 x = smlua_to_number(L, 6);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile_interpolated: Failed to convert parameter 6"); return 0; }
|
||||
f32 y = smlua_to_number(L, 7);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile_interpolated: Failed to convert parameter 7"); return 0; }
|
||||
f32 scaleW = smlua_to_number(L, 8);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile_interpolated: Failed to convert parameter 8"); return 0; }
|
||||
f32 scaleH = smlua_to_number(L, 9);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile_interpolated: Failed to convert parameter 9"); return 0; }
|
||||
f32 tileX = smlua_to_number(L, 10);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile_interpolated: Failed to convert parameter 10"); return 0; }
|
||||
f32 tileY = smlua_to_number(L, 11);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile_interpolated: Failed to convert parameter 11"); return 0; }
|
||||
f32 tileW = smlua_to_number(L, 12);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile_interpolated: Failed to convert parameter 12"); return 0; }
|
||||
f32 tileH = smlua_to_number(L, 13);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("djui_hud_render_texture_tile_interpolated: Failed to convert parameter 13"); return 0; }
|
||||
|
||||
djui_hud_render_texture_tile_interpolated(texInfo, prevX, prevY, prevScaleW, prevScaleH, x, y, scaleW, scaleH, tileX, tileY, tileW, tileH);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_texture_override_set(lua_State* L) {
|
||||
if (!smlua_functions_valid_param_count(L, 2)) { return 0; }
|
||||
|
||||
const char* textureName = smlua_to_string(L, 1);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("texture_override_set: Failed to convert parameter 1"); return 0; }
|
||||
|
||||
struct TextureInfo tmpOverrideTexInfo = { 0 };
|
||||
struct TextureInfo* overrideTexInfo = &tmpOverrideTexInfo;
|
||||
|
||||
if (smlua_is_cobject(L, 2, LOT_TEXTUREINFO)) {
|
||||
overrideTexInfo = (struct TextureInfo*)smlua_to_cobject(L, 2, LOT_TEXTUREINFO);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("texture_override_set: Failed to convert parameter 2"); return 0; }
|
||||
} else {
|
||||
int top = lua_gettop(L);
|
||||
lua_pushvalue(L, 2);
|
||||
|
||||
lua_pushstring(L, "texture");
|
||||
lua_gettable(L, top+1);
|
||||
tmpOverrideTexInfo.texture = smlua_to_cpointer(L, lua_gettop(L), LVT_U8_P);
|
||||
lua_pop(L, 1);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("texture_override_set: Failed to convert parameter 2's 'texture' field"); return 0; }
|
||||
|
||||
tmpOverrideTexInfo.bitSize = smlua_get_integer_field(top+1, "bitSize");
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("texture_override_set: Failed to convert parameter 2's 'bitSize' field"); return 0; }
|
||||
|
||||
tmpOverrideTexInfo.width = smlua_get_integer_field(top+1, "width");
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("texture_override_set: Failed to convert parameter 2's 'width' field"); return 0; }
|
||||
|
||||
tmpOverrideTexInfo.height = smlua_get_integer_field(top+1, "height");
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("texture_override_set: Failed to convert parameter 2's 'height' field"); return 0; }
|
||||
|
||||
tmpOverrideTexInfo.name = smlua_get_string_field(top+1, "name");
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("texture_override_set: Failed to convert parameter 2's 'name' field"); return 0; }
|
||||
|
||||
lua_settop(L, top);
|
||||
}
|
||||
struct TextureInfo *overrideTexInfo = get_texture_info_from_lua(L);
|
||||
if (!overrideTexInfo || !gSmLuaConvertSuccess) { LOG_LUA("texture_override_set: Failed to convert parameter 2"); return 0; }
|
||||
|
||||
dynos_texture_override_set(textureName, overrideTexInfo);
|
||||
|
||||
|
|
@ -1274,10 +1022,6 @@ void smlua_bind_functions(void) {
|
|||
smlua_bind_function(L, "set_exclamation_box_contents", smlua_func_set_exclamation_box_contents);
|
||||
smlua_bind_function(L, "get_exclamation_box_contents", smlua_func_get_exclamation_box_contents);
|
||||
smlua_bind_function(L, "get_texture_info", smlua_func_get_texture_info);
|
||||
smlua_bind_function(L, "djui_hud_render_texture", smlua_func_djui_hud_render_texture);
|
||||
smlua_bind_function(L, "djui_hud_render_texture_tile", smlua_func_djui_hud_render_texture_tile);
|
||||
smlua_bind_function(L, "djui_hud_render_texture_interpolated", smlua_func_djui_hud_render_texture_interpolated);
|
||||
smlua_bind_function(L, "djui_hud_render_texture_tile_interpolated", smlua_func_djui_hud_render_texture_tile_interpolated);
|
||||
smlua_bind_function(L, "texture_override_set", smlua_func_texture_override_set);
|
||||
smlua_bind_function(L, "texture_override_reset", smlua_func_texture_override_reset);
|
||||
smlua_bind_function(L, "level_script_parse", smlua_func_level_script_parse);
|
||||
|
|
|
|||
|
|
@ -12710,6 +12710,138 @@ int smlua_func_djui_hud_print_text_interpolated(lua_State* L) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_djui_hud_render_texture(lua_State* L) {
|
||||
if (L == NULL) { return 0; }
|
||||
|
||||
int top = lua_gettop(L);
|
||||
if (top != 5) {
|
||||
LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "djui_hud_render_texture", 5, top);
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct TextureInfo *texInfo = get_texture_info_from_lua(L);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "djui_hud_render_texture"); return 0; }
|
||||
f32 x = smlua_to_number(L, 2);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "djui_hud_render_texture"); return 0; }
|
||||
f32 y = smlua_to_number(L, 3);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "djui_hud_render_texture"); return 0; }
|
||||
f32 scaleW = smlua_to_number(L, 4);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "djui_hud_render_texture"); return 0; }
|
||||
f32 scaleH = smlua_to_number(L, 5);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "djui_hud_render_texture"); return 0; }
|
||||
|
||||
djui_hud_render_texture(texInfo, x, y, scaleW, scaleH);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_djui_hud_render_texture_tile(lua_State* L) {
|
||||
if (L == NULL) { return 0; }
|
||||
|
||||
int top = lua_gettop(L);
|
||||
if (top != 9) {
|
||||
LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "djui_hud_render_texture_tile", 9, top);
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct TextureInfo *texInfo = get_texture_info_from_lua(L);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "djui_hud_render_texture_tile"); return 0; }
|
||||
f32 x = smlua_to_number(L, 2);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "djui_hud_render_texture_tile"); return 0; }
|
||||
f32 y = smlua_to_number(L, 3);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "djui_hud_render_texture_tile"); return 0; }
|
||||
f32 scaleW = smlua_to_number(L, 4);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "djui_hud_render_texture_tile"); return 0; }
|
||||
f32 scaleH = smlua_to_number(L, 5);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "djui_hud_render_texture_tile"); return 0; }
|
||||
u32 tileX = smlua_to_integer(L, 6);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "djui_hud_render_texture_tile"); return 0; }
|
||||
u32 tileY = smlua_to_integer(L, 7);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 7, "djui_hud_render_texture_tile"); return 0; }
|
||||
u32 tileW = smlua_to_integer(L, 8);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 8, "djui_hud_render_texture_tile"); return 0; }
|
||||
u32 tileH = smlua_to_integer(L, 9);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 9, "djui_hud_render_texture_tile"); return 0; }
|
||||
|
||||
djui_hud_render_texture_tile(texInfo, x, y, scaleW, scaleH, tileX, tileY, tileW, tileH);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_djui_hud_render_texture_interpolated(lua_State* L) {
|
||||
if (L == NULL) { return 0; }
|
||||
|
||||
int top = lua_gettop(L);
|
||||
if (top != 9) {
|
||||
LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "djui_hud_render_texture_interpolated", 9, top);
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct TextureInfo *texInfo = get_texture_info_from_lua(L);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "djui_hud_render_texture_interpolated"); return 0; }
|
||||
f32 prevX = smlua_to_number(L, 2);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "djui_hud_render_texture_interpolated"); return 0; }
|
||||
f32 prevY = smlua_to_number(L, 3);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "djui_hud_render_texture_interpolated"); return 0; }
|
||||
f32 prevScaleW = smlua_to_number(L, 4);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "djui_hud_render_texture_interpolated"); return 0; }
|
||||
f32 prevScaleH = smlua_to_number(L, 5);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "djui_hud_render_texture_interpolated"); return 0; }
|
||||
f32 x = smlua_to_number(L, 6);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "djui_hud_render_texture_interpolated"); return 0; }
|
||||
f32 y = smlua_to_number(L, 7);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 7, "djui_hud_render_texture_interpolated"); return 0; }
|
||||
f32 scaleW = smlua_to_number(L, 8);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 8, "djui_hud_render_texture_interpolated"); return 0; }
|
||||
f32 scaleH = smlua_to_number(L, 9);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 9, "djui_hud_render_texture_interpolated"); return 0; }
|
||||
|
||||
djui_hud_render_texture_interpolated(texInfo, prevX, prevY, prevScaleW, prevScaleH, x, y, scaleW, scaleH);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_djui_hud_render_texture_tile_interpolated(lua_State* L) {
|
||||
if (L == NULL) { return 0; }
|
||||
|
||||
int top = lua_gettop(L);
|
||||
if (top != 13) {
|
||||
LOG_LUA_LINE("Improper param count for '%s': Expected %u, Received %u", "djui_hud_render_texture_tile_interpolated", 13, top);
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct TextureInfo *texInfo = get_texture_info_from_lua(L);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 1, "djui_hud_render_texture_tile_interpolated"); return 0; }
|
||||
f32 prevX = smlua_to_number(L, 2);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 2, "djui_hud_render_texture_tile_interpolated"); return 0; }
|
||||
f32 prevY = smlua_to_number(L, 3);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 3, "djui_hud_render_texture_tile_interpolated"); return 0; }
|
||||
f32 prevScaleW = smlua_to_number(L, 4);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 4, "djui_hud_render_texture_tile_interpolated"); return 0; }
|
||||
f32 prevScaleH = smlua_to_number(L, 5);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 5, "djui_hud_render_texture_tile_interpolated"); return 0; }
|
||||
f32 x = smlua_to_number(L, 6);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 6, "djui_hud_render_texture_tile_interpolated"); return 0; }
|
||||
f32 y = smlua_to_number(L, 7);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 7, "djui_hud_render_texture_tile_interpolated"); return 0; }
|
||||
f32 scaleW = smlua_to_number(L, 8);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 8, "djui_hud_render_texture_tile_interpolated"); return 0; }
|
||||
f32 scaleH = smlua_to_number(L, 9);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 9, "djui_hud_render_texture_tile_interpolated"); return 0; }
|
||||
u32 tileX = smlua_to_integer(L, 10);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 10, "djui_hud_render_texture_tile_interpolated"); return 0; }
|
||||
u32 tileY = smlua_to_integer(L, 11);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 11, "djui_hud_render_texture_tile_interpolated"); return 0; }
|
||||
u32 tileW = smlua_to_integer(L, 12);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 12, "djui_hud_render_texture_tile_interpolated"); return 0; }
|
||||
u32 tileH = smlua_to_integer(L, 13);
|
||||
if (!gSmLuaConvertSuccess) { LOG_LUA("Failed to convert parameter %u for function '%s'", 13, "djui_hud_render_texture_tile_interpolated"); return 0; }
|
||||
|
||||
djui_hud_render_texture_tile_interpolated(texInfo, prevX, prevY, prevScaleW, prevScaleH, x, y, scaleW, scaleH, tileX, tileY, tileW, tileH);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int smlua_func_djui_hud_render_rect(lua_State* L) {
|
||||
if (L == NULL) { return 0; }
|
||||
|
||||
|
|
@ -35687,6 +35819,10 @@ void smlua_bind_functions_autogen(void) {
|
|||
smlua_bind_function(L, "djui_hud_measure_text", smlua_func_djui_hud_measure_text);
|
||||
smlua_bind_function(L, "djui_hud_print_text", smlua_func_djui_hud_print_text);
|
||||
smlua_bind_function(L, "djui_hud_print_text_interpolated", smlua_func_djui_hud_print_text_interpolated);
|
||||
smlua_bind_function(L, "djui_hud_render_texture", smlua_func_djui_hud_render_texture);
|
||||
smlua_bind_function(L, "djui_hud_render_texture_tile", smlua_func_djui_hud_render_texture_tile);
|
||||
smlua_bind_function(L, "djui_hud_render_texture_interpolated", smlua_func_djui_hud_render_texture_interpolated);
|
||||
smlua_bind_function(L, "djui_hud_render_texture_tile_interpolated", smlua_func_djui_hud_render_texture_tile_interpolated);
|
||||
smlua_bind_function(L, "djui_hud_render_rect", smlua_func_djui_hud_render_rect);
|
||||
smlua_bind_function(L, "djui_hud_render_rect_interpolated", smlua_func_djui_hud_render_rect_interpolated);
|
||||
smlua_bind_function(L, "get_current_fov", smlua_func_get_current_fov);
|
||||
|
|
|
|||
|
|
@ -641,6 +641,41 @@ LuaFunction smlua_get_any_function_mod_variable(const char *variable) {
|
|||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
struct TextureInfo *get_texture_info_from_lua(lua_State *L) {
|
||||
static struct TextureInfo tmpTexInfo = { 0 }; // Static should be okay
|
||||
struct TextureInfo *texInfo = &tmpTexInfo;
|
||||
|
||||
if (smlua_is_cobject(L, 1, LOT_TEXTUREINFO)) {
|
||||
return smlua_to_cobject(L, 1, LOT_TEXTUREINFO);
|
||||
} else {
|
||||
int top = lua_gettop(L);
|
||||
lua_pushvalue(L, 1);
|
||||
|
||||
lua_pushstring(L, "texture");
|
||||
lua_gettable(L, top + 1);
|
||||
tmpTexInfo.texture = smlua_to_cpointer(L, lua_gettop(L), LVT_U8_P);
|
||||
lua_pop(L, 1);
|
||||
if (!gSmLuaConvertSuccess) { return NULL; }
|
||||
|
||||
tmpTexInfo.bitSize = smlua_get_integer_field(top + 1, "bitSize");
|
||||
if (!gSmLuaConvertSuccess) { return NULL; }
|
||||
|
||||
tmpTexInfo.width = smlua_get_integer_field(top + 1, "width");
|
||||
if (!gSmLuaConvertSuccess) { return NULL; }
|
||||
|
||||
tmpTexInfo.height = smlua_get_integer_field(top + 1, "height");
|
||||
if (!gSmLuaConvertSuccess) { return NULL; }
|
||||
|
||||
tmpTexInfo.name = smlua_get_string_field(top + 1, "name");
|
||||
if (!gSmLuaConvertSuccess) { return NULL; }
|
||||
|
||||
lua_settop(L, top);
|
||||
}
|
||||
return texInfo;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
const char* smlua_lnt_to_str(struct LSTNetworkType* lnt) {
|
||||
static char sLntStr[32] = "";
|
||||
switch (lnt->type) {
|
||||
|
|
|
|||
|
|
@ -50,6 +50,8 @@ s64 smlua_get_any_integer_mod_variable(const char* variable);
|
|||
LuaFunction smlua_get_function_mod_variable(u16 modIndex, const char *variable);
|
||||
LuaFunction smlua_get_any_function_mod_variable(const char *variable);
|
||||
|
||||
struct TextureInfo *get_texture_info_from_lua(lua_State *L);
|
||||
|
||||
void smlua_logline(void);
|
||||
void smlua_dump_stack(void);
|
||||
void smlua_dump_globals(void);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue