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 (UNK_T, 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, u8 *arg2)
 
void HSD_SisLib_803A746C (HSD_Text *, s32, f32, f32)
 
s32 HSD_SisLib_803A70A0 (HSD_Text *,...)
 
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)
 
void HSD_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 ( UNK_T  ,
u8  ,
u8   
)

◆ 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,
u8 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 ,
  ... 
)

◆ 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,
  ... 
)

<

Todo:
what size is this?

<

Todo:
is this the correct usage of vaargs?

◆ 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()

void 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.54% match - needs register allocation fix (var_r4 allocated to r3 instead of r4) a generic allocator used by multiple data types

◆ HSD_SisLib_803A594C()

void HSD_SisLib_803A594C ( void *  ptr)
Todo:
Currently 92.39% match - needs register allocation fix in coalesce block (new_size/old_next register assignment differs)

◆ 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