SSBM Decomp
Loading...
Searching...
No Matches
sislib.h
Go to the documentation of this file.
1#ifndef SYSDOLPHIN_BASELIB_SISLIB_H
2#define SYSDOLPHIN_BASELIB_SISLIB_H
3
4#include <placeholder.h>
5#include <platform.h>
6
7#include "baselib/archive.h"
8#include "baselib/cobj.h"
9
10#include "baselib/forward.h"
11
12#include "dolphin/gx/GXStruct.h"
13
14#include <dolphin/mtx.h>
15
16typedef struct _TextGlyphTexture {
17 /*0x00*/ u8 data[512];
19
21 /*0x00*/ u8 left;
22 /*0x01*/ u8 right;
23};
24
25typedef struct SIS {
28} SIS;
29
30// @todo: give actual names?
36
37struct HSD_Text {
38 // these get passed to the text initializer HSD_SisLib_803A5ACC
39 f32 x0; // global x position, 0,0 at center
40 f32 x4; // global y position
41 f32 x8; // scale that happens from the origin after the translation of x0,
42 // x4
43 f32 xC; // scale that happens on the X axis from the left side of the text
44 f32 x10; // unknown, no effect observed so far
45
46 Vec4 x14;
47 Vec2 x24; // font size, 1.0 being 100% of the screen?
48 U8Vec4 x2C;
49 U8Vec4 x30;
50 Vec2 x34;
51 Vec2 x3C;
52 u16 x44;
53 u16 x46;
54 u8 x48;
55 u8 x49;
56 u8 x4A;
57 u8 x4B;
58 u8 x4C; // whether to test for Z depth?
59 u8 x4D;
60 u8 x4E;
61 u8 x4F; // which font to select from the array HSD_SisLib_804D1124
64 void (*x58)(void*); // callback in the text renderer (HSD_SisLib_803A84BC)
65 SIS* x5C; // could just be a byte pointer?
68 char* x68;
69 u16 x6C;
70 u16 x6E;
71 f32 x70;
72 f32 x74;
73 Vec2 x78;
74 Vec2 x80;
75 f32 x88;
76 U8Vec4 x8C;
77 u16 x90;
78 u16 x92;
79 u32 x94;
80 u32 x98;
81 u8 x9C;
82 u8 x9D;
83 u8 x9E;
84 u8 x9F;
85};
86
97
98extern s8 HSD_SisLib_804D6390[4];
99extern SIS* HSD_SisLib_804D1124[5];
100extern u32 lbl_8040C8C0[144];
101extern u32 HSD_SisLib_8040C680[144];
102
107
109UNK_T func_804A70A0(UNK_T, s32, u32, s32, s32, s32, s32, s32, f64, f64, f64,
110 f64, f64, f64, f64, f64);
113void HSD_SisLib_803A84BC(HSD_GObj*, int);
115void HSD_SisLib_803A8134(void*, HSD_Text*, f32*, f32*);
119void HSD_SisLib_803A7548(HSD_Text*, int, float, float);
120void HSD_SisLib_803A74F0(HSD_Text*, s32 arg1, u8* arg2);
121void HSD_SisLib_803A746C(HSD_Text*, s32, f32, f32);
123u32 lbl_803A6FEC(s32, s32, bool);
124int HSD_SisLib_803A6B98(HSD_Text* arg0, float, float, void*, ...);
125s32 HSD_SisLib_803A67EC(u8*, u8*);
126HSD_Text* HSD_SisLib_803A6754(int arg0, s32 arg1);
127void HSD_SisLib_803A660C(s32, s32, s32);
128void HSD_SisLib_803A6530(s32, s32, s32);
129void HSD_SisLib_803A6478(u8*, u8*);
130void HSD_SisLib_803A6368(HSD_Text*, s32);
131void HSD_SisLib_803A62A0(s32, char*, char*);
132s32 HSD_SisLib_803A611C(int, HSD_GObj*, u16, u8, u8, u8, u8, u32);
133void lbl_803A60EC(void);
134HSD_Text* HSD_SisLib_803A5ACC(int, s32, f32, f32, f32, f32, f32);
135void* HSD_SisLib_803A5798(s32);
136void HSD_SisLib_803A594C(void*);
138void HSD_SisLib_803A5A2C(void*);
139void HSD_SisLib_803A5D30(void);
140void HSD_SisLib_803A5DA0(s32);
141void HSD_SisLib_803A5E70(void);
142void HSD_SisLib_803A5F50(s32);
143void HSD_SisLib_803A5FBC(void);
144void fn_803A60EC(void*);
145u8* fn_803A6FEC(u8*, s32, s32*);
146// void *HSD_SisLib_803A84BC(HSD_GObj *, s32);
147
148#endif
#define UNK_T
Definition placeholder.h:32
void HSD_SisLib_803A5A2C(void *)
Definition sislib.c:217
void HSD_SisLib_803A6368(HSD_Text *, s32)
Definition sislib.c:583
int HSD_SisLib_803A6B98(HSD_Text *arg0, float, float, void *,...)
Definition sislib.c:906
void HSD_SisLib_803A594C(void *)
Definition sislib.c:168
void HSD_SisLib_803A947C(HSD_Archive *)
Definition sislib.c:1968
void HSD_SisLib_803A62A0(s32, char *, char *)
Definition sislib.c:564
UNK_T func_804A70A0(UNK_T, s32, u32, s32, s32, s32, s32, s32, f64, f64, f64, f64, f64, f64, f64, f64)
s32 HSD_SisLib_803A611C(int, HSD_GObj *, u16, u8, u8, u8, u8, u32)
Definition sislib.c:506
void HSD_SisLib_803A8134(void *, HSD_Text *, f32 *, f32 *)
Definition sislib.c:1199
SIS * HSD_SisLib_804D1124[5]
Definition sislib.c:76
HSD_Text * HSD_SisLib_803A5ACC(int, s32, f32, f32, f32, f32, f32)
Definition sislib.c:329
void fn_803A60EC(void *)
Definition sislib.c:494
HSD_Text * HSD_SisLib_803A6754(int arg0, s32 arg1)
Definition sislib.c:686
void HSD_SisLib_803A6048(size_t)
void * HSD_SisLib_803A5798(s32)
Definition sislib.c:81
void HSD_SisLib_803A746C(HSD_Text *, s32, f32, f32)
Definition sislib.c:1152
HSD_Text * HSD_SisLib_804D7978
Definition sislib.c:61
u32 lbl_8040C8C0[144]
void HSD_SisLib_803A5D30(void)
Definition sislib.c:270
s32 HSD_SisLib_803A7F0C(HSD_Text *, s32)
Definition sislib.c:1419
void HSD_SisLib_803A5F50(s32)
Definition sislib.c:444
void HSD_SisLib_803A5FBC(void)
Definition sislib.c:457
void HSD_SisLib_803A5E70(void)
Definition sislib.c:419
u8 * fn_803A6FEC(u8 *, s32, s32 *)
Definition sislib.c:1097
void HSD_SisLib_803A6478(u8 *, u8 *)
Definition sislib.c:621
void HSD_SisLib_803A7664(UNK_T)
void HSD_SisLib_803A660C(s32, s32, s32)
Definition sislib.c:653
sislib_UnkAllocData * HSD_SisLib_804D7974
Definition sislib.c:60
HSD_Archive * HSD_SisLib_803A945C(char *)
Definition sislib.c:1963
sislib_UnkAlloc3 * HSD_SisLib_804D797C
Definition sislib.c:62
void HSD_SisLib_803A5CC4(HSD_Text *)
Definition sislib.c:252
void HSD_SisLib_803A6530(s32, s32, s32)
Definition sislib.c:647
s32 HSD_SisLib_803A67EC(u8 *, u8 *)
Definition sislib.c:710
void HSD_SisLib_803A74F0(HSD_Text *, s32 arg1, u8 *arg2)
Definition sislib.c:1171
void HSD_SisLib_803A75E0(UNK_T, s32)
void HSD_SisLib_803A84BC(HSD_GObj *, int)
Definition sislib.c:1446
void HSD_SisLib_803A5DA0(s32)
Definition sislib.c:302
s8 HSD_SisLib_804D6390[4]
Definition sislib.c:77
sislib_UnkAllocData * HSD_SisLib_804D7970
Definition sislib.c:59
u32 HSD_SisLib_8040C680[144]
s32 HSD_SisLib_803A70A0(HSD_Text *,...)
void lbl_803A60EC(void)
void HSD_SisLib_803A7548(HSD_Text *, int, float, float)
Definition sislib.c:1186
u32 lbl_803A6FEC(s32, s32, bool)
void HSD_SisLib_803A7684(UNK_T, u8, u8)
Definition archive.h:34
was using this to try and fix some matches, unsuccessfully
Definition gobj.h:26
Definition sislib.h:37
u16 x46
Definition sislib.h:53
u32 x94
Definition sislib.h:79
f32 xC
Definition sislib.h:43
u8 x9D
Definition sislib.h:82
U8Vec4 x2C
Definition sislib.h:48
Vec2 x34
Definition sislib.h:50
Vec4 x14
Definition sislib.h:46
u8 x4C
Definition sislib.h:58
f32 x88
Definition sislib.h:75
void(* x58)(void *)
Definition sislib.h:64
u16 x6E
Definition sislib.h:70
u16 x92
Definition sislib.h:78
Vec2 x24
Definition sislib.h:47
HSD_GObj * x54
Definition sislib.h:63
u16 x6C
Definition sislib.h:69
UNK_T x60
Definition sislib.h:66
Vec2 x78
Definition sislib.h:73
f32 x0
Definition sislib.h:39
u16 x44
Definition sislib.h:52
u8 x4E
Definition sislib.h:60
f32 x10
Definition sislib.h:44
U8Vec4 x8C
Definition sislib.h:76
U8Vec4 x30
Definition sislib.h:49
HSD_Text * x50
Definition sislib.h:62
SIS * x5C
Definition sislib.h:65
u8 x9E
Definition sislib.h:83
f32 x70
Definition sislib.h:71
char * x68
Definition sislib.h:68
u8 x4F
Definition sislib.h:61
u8 x9F
Definition sislib.h:84
sislib_UnkAllocData * x64
Definition sislib.h:67
f32 x74
Definition sislib.h:72
u16 x90
Definition sislib.h:77
Vec2 x3C
Definition sislib.h:51
u8 x48
Definition sislib.h:54
u32 x98
Definition sislib.h:80
f32 x4
Definition sislib.h:40
f32 x8
Definition sislib.h:41
u8 x4D
Definition sislib.h:59
u8 x9C
Definition sislib.h:81
Vec2 x80
Definition sislib.h:74
u8 x4A
Definition sislib.h:56
u8 x4B
Definition sislib.h:57
u8 x49
Definition sislib.h:55
Definition sislib.h:25
TextKerning * kerning
Definition sislib.h:26
TextGlyphTexture * textures
Definition sislib.h:27
Definition sislib.h:16
Definition sislib.h:20
u8 left
Definition sislib.h:21
u8 right
Definition sislib.h:22
Definition sislib.h:87
sislib_UnkAlloc3 * x0
Definition sislib.h:88
u16 x8
Definition sislib.h:90
u8 xE
Definition sislib.h:94
u8 xC
Definition sislib.h:92
u8 xF
Definition sislib.h:95
u8 xD
Definition sislib.h:93
HSD_GObj * x4
Definition sislib.h:89
u16 xA
Definition sislib.h:91
Definition sislib.h:31
HSD_Text * data_1
Definition sislib.h:33
u32 size
Definition sislib.h:34
sislib_UnkAllocData * data_0
Definition sislib.h:32