SSBM Decomp
Loading...
Searching...
No Matches
sislib.h File Reference
#include <placeholder.h>
#include <platform.h>
#include "baselib/archive.h"
#include "baselib/cobj.h"
#include "baselib/forward.h"
#include "dolphin/gx/GXStruct.h"
#include <dolphin/mtx.h>

Go to the source code of this file.

Data Structures

struct  TextGlyphTexture
struct  TextKerning
struct  SIS
struct  sislib_UnkAllocData
struct  sisLib_803A7664_t
struct  HSD_Text
struct  sislib_UnkAlloc3

Functions

void HSD_SisLib_803A6048 (size_t)
UNK_T func_804A70A0 (UNK_T, s32, u32, s32, s32, s32, s32, s32, f64, f64, f64, f64, f64, f64, f64, f64)
void HSD_SisLib_803A947C (HSD_Archive *)
HSD_ArchiveHSD_SisLib_803A945C (char *)
void HSD_SisLib_803A84BC (HSD_GObj *, int)
s32 HSD_SisLib_803A7F0C (HSD_Text *, s32)
void HSD_SisLib_803A8134 (void *, HSD_Text *, f32 *, f32 *)
void HSD_SisLib_803A7684 (HSD_Text *, u8 *, u8)
void HSD_SisLib_803A7664 (HSD_Text *)
void HSD_SisLib_803A75E0 (HSD_Text *, s32)
void HSD_SisLib_803A7548 (HSD_Text *, int, float, float)
void HSD_SisLib_803A74F0 (HSD_Text *, s32 arg1, GXColor *arg2)
void HSD_SisLib_803A746C (HSD_Text *, s32, f32, f32)
s32 HSD_SisLib_803A70A0 (HSD_Text *, s32 entry_idx, char *fmt,...)
u32 lbl_803A6FEC (s32, s32, bool)
int HSD_SisLib_803A6B98 (HSD_Text *arg0, float, float, const char *,...)
s32 HSD_SisLib_803A67EC (u8 *, u8 *)
 Converts ASCII to "SIS" format.
HSD_TextHSD_SisLib_803A6754 (int arg0, s32 arg1)
void HSD_SisLib_803A660C (s32, s32, s32)
u8HSD_SisLib_803A6530 (s32, s32, s32)
u8HSD_SisLib_803A6478 (u8 *, u8 *)
void HSD_SisLib_803A6368 (HSD_Text *, s32)
void HSD_SisLib_803A62A0 (s32, char *, char *)
s32 HSD_SisLib_803A611C (int, HSD_GObj *, u16, u8, u8, u8, u8, u32)
void lbl_803A60EC (void)
HSD_TextHSD_SisLib_803A5ACC (int, s32, f32, f32, f32, f32, f32)
void * HSD_SisLib_803A5798 (s32)
void HSD_SisLib_803A594C (void *)
void HSD_SisLib_803A5CC4 (HSD_Text *)
void HSD_SisLib_803A5A2C (void *)
void HSD_SisLib_803A5D30 (void)
void HSD_SisLib_803A5DA0 (s32)
void HSD_SisLib_803A5E70 (void)
void HSD_SisLib_803A5F50 (s32)
void HSD_SisLib_803A5FBC (void)
void fn_803A60EC (void *)
 GObj "remove" function callback.
u8fn_803A6FEC (u8 *, s32, s32 *)

Variables

s8 HSD_SisLib_804D6390 [4]
SISHSD_SisLib_804D1124 [5]
u32 lbl_8040C8C0 [144]
u32 HSD_SisLib_8040C680 [144]
sislib_UnkAllocDataHSD_SisLib_804D7970
sislib_UnkAllocDataHSD_SisLib_804D7974
HSD_TextHSD_SisLib_804D7978
sislib_UnkAlloc3HSD_SisLib_804D797C

Function Documentation

◆ HSD_SisLib_803A6048()

void HSD_SisLib_803A6048 ( size_t )

◆ func_804A70A0()

UNK_T func_804A70A0 ( UNK_T ,
s32 ,
u32 ,
s32 ,
s32 ,
s32 ,
s32 ,
s32 ,
f64 ,
f64 ,
f64 ,
f64 ,
f64 ,
f64 ,
f64 ,
f64  )

◆ HSD_SisLib_803A947C()

void HSD_SisLib_803A947C ( HSD_Archive * archive)

◆ HSD_SisLib_803A945C()

HSD_Archive * HSD_SisLib_803A945C ( char * path)

◆ HSD_SisLib_803A84BC()

void HSD_SisLib_803A84BC ( HSD_GObj * gobj,
int pass )

◆ HSD_SisLib_803A7F0C()

s32 HSD_SisLib_803A7F0C ( HSD_Text * text,
s32 flags )

◆ HSD_SisLib_803A8134()

void HSD_SisLib_803A8134 ( void * sis_data,
HSD_Text * text,
f32 * out_width,
f32 * out_height )

◆ HSD_SisLib_803A7684()

void HSD_SisLib_803A7684 ( HSD_Text * text,
u8 * cursor,
u8 flags )

◆ HSD_SisLib_803A7664()

void HSD_SisLib_803A7664 ( HSD_Text * text)

◆ HSD_SisLib_803A75E0()

void HSD_SisLib_803A75E0 ( HSD_Text * text,
s32 entry_idx )

◆ HSD_SisLib_803A7548()

void HSD_SisLib_803A7548 ( HSD_Text * text,
int entry_idx,
float scale_x,
float scale_y )

◆ HSD_SisLib_803A74F0()

void HSD_SisLib_803A74F0 ( HSD_Text * text,
s32 arg1,
GXColor * arg2 )

◆ HSD_SisLib_803A746C()

void HSD_SisLib_803A746C ( HSD_Text * text,
s32 entry_idx,
f32 new_x,
f32 new_y )

◆ HSD_SisLib_803A70A0()

s32 HSD_SisLib_803A70A0 ( HSD_Text * text,
s32 entry_idx,
char * fmt,
... )

◆ lbl_803A6FEC()

u32 lbl_803A6FEC ( s32 ,
s32 ,
bool  )

◆ HSD_SisLib_803A6B98()

int HSD_SisLib_803A6B98 ( HSD_Text * arg0,
float x,
float y,
const char * fmt,
... )

◆ HSD_SisLib_803A67EC()

s32 HSD_SisLib_803A67EC ( u8 * data,
u8 * string )

Converts ASCII to "SIS" format.

  • Maps ASCII characters to SIS characters by using byte pair lookup tables
    Parameters
    dataoutput buffer for the converted string
    stringASCII string to be converted
    Returns
    length of encoded string

◆ HSD_SisLib_803A6754()

HSD_Text * HSD_SisLib_803A6754 ( int arg0,
s32 arg1 )

<

Todo
This being a byte store means one of my assumptions is wrong;

<

Todo
Do any other Data struct usages have a 0xC member?

◆ HSD_SisLib_803A660C()

void HSD_SisLib_803A660C ( s32 font_idx,
s32 dst_idx,
s32 src_idx )

◆ HSD_SisLib_803A6530()

u8 * HSD_SisLib_803A6530 ( s32 font_idx,
s32 dst_idx,
s32 src_idx )

◆ HSD_SisLib_803A6478()

u8 * HSD_SisLib_803A6478 ( u8 * dst,
u8 * src )

◆ HSD_SisLib_803A6368()

void HSD_SisLib_803A6368 ( HSD_Text * text,
s32 sis_idx )

◆ HSD_SisLib_803A62A0()

void HSD_SisLib_803A62A0 ( s32 font_idx,
char * archive_name,
char * symbol_name )

◆ HSD_SisLib_803A611C()

s32 HSD_SisLib_803A611C ( int font_idx,
HSD_GObj * parent_gobj,
u16 class_id,
u8 p_link,
u8 p_prio,
u8 gx_link,
u8 gx_prio,
u32 render_prio )

◆ lbl_803A60EC()

void lbl_803A60EC ( void )

◆ HSD_SisLib_803A5ACC()

HSD_Text * HSD_SisLib_803A5ACC ( int font_idx,
s32 context_id,
f32 pos_x,
f32 pos_y,
f32 pos_z,
f32 box_w,
f32 box_h )

this is the context id that comes from HSD_SisLib_803A611C, it essentially tells us which camera to use

◆ HSD_SisLib_803A5798()

void * HSD_SisLib_803A5798 ( s32 size)
Todo
Currently 99.40% match - remaining diffs are register allocation (HSD_SisLib_804D7970 ptr in r3 instead of r4) plus the "" literal pooling to HSD_SisLib_804D6390, both link/regalloc-resolved a generic allocator used by multiple data types

◆ HSD_SisLib_803A594C()

void HSD_SisLib_803A594C ( void * ptr)
Todo
Currently 92.57% match - register allocation/scheduling in coalesce block: compiler reassociates new_size add and reuses free_cur reg for old_next instead of the alloc_cur->size reg

◆ HSD_SisLib_803A5CC4()

void HSD_SisLib_803A5CC4 ( HSD_Text * text)

◆ HSD_SisLib_803A5A2C()

void HSD_SisLib_803A5A2C ( void * ptr)

◆ HSD_SisLib_803A5D30()

void HSD_SisLib_803A5D30 ( void )

◆ HSD_SisLib_803A5DA0()

void HSD_SisLib_803A5DA0 ( s32 font_idx)

◆ HSD_SisLib_803A5E70()

void HSD_SisLib_803A5E70 ( void )

◆ HSD_SisLib_803A5F50()

void HSD_SisLib_803A5F50 ( s32 font_idx)

◆ HSD_SisLib_803A5FBC()

void HSD_SisLib_803A5FBC ( void )

◆ fn_803A60EC()

void fn_803A60EC ( void * gobj)

GObj "remove" function callback.

◆ fn_803A6FEC()

u8 * fn_803A6FEC ( u8 * sis_data,
s32 entry_idx,
s32 * out_size )
Todo
there seems to be a file boundary before this function, because its data section is 8-byte aligned after the previous C strings

Variable Documentation

◆ HSD_SisLib_804D6390

s8 HSD_SisLib_804D6390[4]
extern

◆ HSD_SisLib_804D1124

SIS* HSD_SisLib_804D1124[5]
extern

◆ lbl_8040C8C0

u32 lbl_8040C8C0[144]
extern

◆ HSD_SisLib_8040C680

u32 HSD_SisLib_8040C680[144]
extern

◆ HSD_SisLib_804D7970

sislib_UnkAllocData* HSD_SisLib_804D7970
extern

◆ HSD_SisLib_804D7974

sislib_UnkAllocData* HSD_SisLib_804D7974
extern

◆ HSD_SisLib_804D7978

HSD_Text* HSD_SisLib_804D7978
extern

◆ HSD_SisLib_804D797C

sislib_UnkAlloc3* HSD_SisLib_804D797C
extern