72 lines
1.3 KiB
C
72 lines
1.3 KiB
C
#include <ultra64.h>
|
|
#include "functions.h"
|
|
#include "variables.h"
|
|
#include "structs.h"
|
|
|
|
/* .bss */
|
|
s32 D_80383150;
|
|
s32 pad_80383154;
|
|
struct {
|
|
u8 unk0;
|
|
char *ptr;
|
|
s32 index;
|
|
}
|
|
s_dialogBin;
|
|
|
|
s32 func_8031B5B0(void) {
|
|
return s_dialogBin.unk0;
|
|
}
|
|
|
|
s32 func_8031B5BC(void){ return 1; }
|
|
|
|
void func_8031B5C4(s32 arg0) {
|
|
if ((arg0 >= 0) && (arg0 < func_8031B5BC())) {
|
|
s_dialogBin.unk0 = (s8) arg0;
|
|
}
|
|
D_80383150 = 1;
|
|
}
|
|
|
|
bool func_8031B604(char *arg0) {
|
|
return (arg0[0] == 0xFD) && (arg0[1] == 0x6A);
|
|
}
|
|
|
|
void func_8031B62C(void) {
|
|
s_dialogBin.unk0 = (u8)0;
|
|
}
|
|
|
|
s32 func_8031B638(void) {
|
|
return D_80383150;
|
|
}
|
|
|
|
void dialogBin_initialize(void){
|
|
s_dialogBin.ptr = NULL;
|
|
s_dialogBin.index = -1;
|
|
}
|
|
|
|
void dialogBin_update(void){}
|
|
|
|
void dialogBin_terminate(void){}
|
|
|
|
char *dialogBin_get(enum asset_e text_id) {
|
|
char *sp1C;
|
|
char *var_v0;
|
|
s32 var_a0; //offset where text starts (normally 0x3)
|
|
|
|
//get text_bin from asset cache
|
|
s_dialogBin.ptr = assetcache_get(text_id);
|
|
sp1C = s_dialogBin.ptr + 1;
|
|
sp1C += func_8031B5B0()*2;
|
|
var_a0 = *(sp1C++);
|
|
var_a0 += *(sp1C++)<< 8;
|
|
if(sp1C);
|
|
var_v0 = s_dialogBin.ptr + var_a0;
|
|
s_dialogBin.index = text_id;
|
|
return var_v0;
|
|
}
|
|
|
|
void dialogBin_release(s32 arg0){
|
|
assetcache_release(s_dialogBin.ptr);
|
|
s_dialogBin.ptr = NULL;
|
|
s_dialogBin.index = -1;
|
|
}
|