fix malloc sizes of HuMemDirectMalloc calls (#579)
This commit is contained in:
parent
887cb00c5b
commit
086800b79a
|
|
@ -69,7 +69,8 @@
|
|||
"msghndlr.h": "c",
|
||||
"dispatch.h": "c",
|
||||
"trk.h": "c",
|
||||
"debuggerdriver.h": "c"
|
||||
"debuggerdriver.h": "c",
|
||||
"mpexdll.h": "c"
|
||||
},
|
||||
"search.useIgnoreFiles": false,
|
||||
"search.exclude": {
|
||||
|
|
@ -142,4 +143,4 @@
|
|||
"C_Cpp_Runner.showCompilationTime": false,
|
||||
"C_Cpp_Runner.useLinkTimeOptimization": false,
|
||||
"C_Cpp_Runner.msvcSecureNoWarnings": false
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@ typedef struct _unkStruct {
|
|||
HsfVector2f unk1C;
|
||||
Vec unk24;
|
||||
float unk30;
|
||||
float unk34;
|
||||
} unkStruct;
|
||||
|
||||
typedef struct _unkStruct2 {
|
||||
|
|
|
|||
|
|
@ -71,13 +71,13 @@ typedef struct anim_bmp_data {
|
|||
} AnimBmpData;
|
||||
|
||||
typedef struct anim_data {
|
||||
s16 bankNum;
|
||||
s16 patNum;
|
||||
s16 bmpNum;
|
||||
s16 useNum;
|
||||
AnimBankData *bank;
|
||||
AnimPatData *pat;
|
||||
AnimBmpData *bmp;
|
||||
} AnimData;
|
||||
/* 0x00 */ s16 bankNum;
|
||||
/* 0x02 */ s16 patNum;
|
||||
/* 0x04 */ s16 bmpNum;
|
||||
/* 0x06 */ s16 useNum;
|
||||
/* 0x08 */ AnimBankData *bank;
|
||||
/* 0x0C */ AnimPatData *pat;
|
||||
/* 0x10 */ AnimBmpData *bmp;
|
||||
} AnimData; //sizeof 0x14
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
#include "REL/instDll.h"
|
||||
|
||||
#define FONT_CHAR_MAX 100
|
||||
|
||||
static s32 FontCharFile[0xC6] = {
|
||||
0,
|
||||
0,
|
||||
|
|
@ -227,9 +229,9 @@ s32 FontCreate(SeqWork *work, char *mess, s16 jp_flag)
|
|||
if (grpNo == 0x10) {
|
||||
return -1;
|
||||
}
|
||||
animP = HuMemDirectMalloc(HEAP_SYSTEM, 0x190);
|
||||
posX = HuMemDirectMalloc(HEAP_SYSTEM, 0xC8);
|
||||
posY = HuMemDirectMalloc(HEAP_SYSTEM, 0xC8);
|
||||
animP = HuMemDirectMalloc(HEAP_SYSTEM, (FONT_CHAR_MAX * sizeof(AnimData*)));
|
||||
posX = HuMemDirectMalloc(HEAP_SYSTEM, FONT_CHAR_MAX * sizeof(*posX));
|
||||
posY = HuMemDirectMalloc(HEAP_SYSTEM, FONT_CHAR_MAX * sizeof(*posY));
|
||||
|
||||
for (str = mess, len = 0, charNum = 0; str[0] != 0; str++) {
|
||||
if (str[0] == 0x20 || str[0] == 0x10) {
|
||||
|
|
|
|||
|
|
@ -661,7 +661,7 @@ void fn_1_2064(void)
|
|||
|
||||
for (var_r30 = 0; var_r30 < 0x17; var_r30++) {
|
||||
temp_r26 = HuPrcChildCreate(fn_1_1DBC, 0x2000, 0x1000, 0, HuPrcCurrentGet());
|
||||
var_r27 = HuMemDirectMalloc(HEAP_DATA, 0x18);
|
||||
var_r27 = HuMemDirectMalloc(HEAP_DATA, sizeof(unkStruct4));
|
||||
temp_r26->user_data = var_r27;
|
||||
var_r27->unk0 = temp_r31->unk4;
|
||||
var_r27->unk4 = var_r30;
|
||||
|
|
@ -692,7 +692,7 @@ s32 fn_1_2708(void)
|
|||
if (var_r31 >= 0x20) {
|
||||
var_r31 = -1;
|
||||
}
|
||||
lbl_1_bss_278[var_r31] = HuMemDirectMalloc(HEAP_DATA, 0x34);
|
||||
lbl_1_bss_278[var_r31] = HuMemDirectMalloc(HEAP_DATA, sizeof(unkStruct));
|
||||
lbl_1_bss_278[var_r31]->unk6 = -1;
|
||||
lbl_1_bss_278[var_r31]->unkA = 0;
|
||||
return var_r31;
|
||||
|
|
|
|||
|
|
@ -640,7 +640,7 @@ void fn_1_2470(omObjData *arg0)
|
|||
temp_r29 = &Hu3DData[temp_r26];
|
||||
temp_r28 = temp_r29->hsfData->root;
|
||||
lbl_1_bss_60 = temp_r28->data.childrenCount;
|
||||
lbl_1_bss_64 = HuMemDirectMalloc(HEAP_DATA, lbl_1_bss_60 * 64);
|
||||
lbl_1_bss_64 = HuMemDirectMalloc(HEAP_DATA, lbl_1_bss_60 * sizeof(unkStruct6));
|
||||
OSReport("Koopa Object Count %d\n", temp_r29->hsfData->objectCnt);
|
||||
|
||||
for (var_r30 = 0; var_r30 < lbl_1_bss_60; var_r30++) {
|
||||
|
|
|
|||
|
|
@ -13,7 +13,9 @@
|
|||
|
||||
#include "REL/mpexDll.h"
|
||||
|
||||
static s32 fontDataTbl[0xC6] = {
|
||||
#define FONT_CHAR_MAX 100
|
||||
|
||||
static s32 FontCharFile[0xC6] = {
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
|
@ -214,127 +216,126 @@ static s32 fontDataTbl[0xC6] = {
|
|||
0x140025,
|
||||
};
|
||||
|
||||
s32 fn_1_1CB80(SeqWork *arg0, u8 *arg1, s16 arg2)
|
||||
s32 fn_1_1CB80(SeqWork *arg0, char *arg1, s16 arg2)
|
||||
{
|
||||
u8 *var_r31;
|
||||
s16 var_r30;
|
||||
s16 *var_r29;
|
||||
s16 var_r28;
|
||||
s32 *var_r27;
|
||||
s16 var_r26;
|
||||
s32 var_r25;
|
||||
s16 var_r23;
|
||||
s16 *var_r22;
|
||||
AnimData **var_r21;
|
||||
s16 var_r20;
|
||||
s16 var_r19;
|
||||
char *str;
|
||||
s16 len;
|
||||
s16 *posY;
|
||||
s16 charNum;
|
||||
s32 *fileTbl;
|
||||
s16 i;
|
||||
s16 grpNo;
|
||||
s32 file;
|
||||
s16 *posX;
|
||||
AnimData **animP;
|
||||
s16 gid;
|
||||
s16 sprid;
|
||||
|
||||
var_r27 = fontDataTbl;
|
||||
fileTbl = FontCharFile;
|
||||
|
||||
for (var_r23 = 0; var_r23 < 0x10; var_r23++) {
|
||||
if (arg0->spr_grp[var_r23] == -1) {
|
||||
for (grpNo = 0; grpNo < 0x10; grpNo++) {
|
||||
if (arg0->spr_grp[grpNo] == -1) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (var_r23 == 0x10) {
|
||||
if (grpNo == 0x10) {
|
||||
return -1;
|
||||
}
|
||||
var_r21 = HuMemDirectMalloc(HEAP_SYSTEM, 0x190);
|
||||
var_r22 = HuMemDirectMalloc(HEAP_SYSTEM, 0xC8);
|
||||
var_r29 = HuMemDirectMalloc(HEAP_SYSTEM, 0xC8);
|
||||
animP = HuMemDirectMalloc(HEAP_SYSTEM, (FONT_CHAR_MAX * sizeof(AnimData*)));
|
||||
posX = HuMemDirectMalloc(HEAP_SYSTEM, FONT_CHAR_MAX * sizeof(*posX));
|
||||
posY = HuMemDirectMalloc(HEAP_SYSTEM, FONT_CHAR_MAX * sizeof(*posY));
|
||||
|
||||
for (var_r31 = arg1, var_r30 = 0, var_r28 = 0; var_r31[0] != 0; var_r31++) {
|
||||
if (var_r31[0] == 0x20 || var_r31[0] == 0x10) {
|
||||
var_r30 += 0xE;
|
||||
for (str = arg1, len = 0, charNum = 0; str[0] != 0; str++) {
|
||||
if (str[0] == 0x20 || str[0] == 0x10) {
|
||||
len += 0xE;
|
||||
}
|
||||
else if (var_r31[0] < 0x30 || var_r31[0] == 0x80 || var_r31[0] == 0x81) {
|
||||
else if (str[0] < 0x30 || str[0] == 0x80 || str[0] == 0x81) {
|
||||
continue;
|
||||
}
|
||||
else {
|
||||
if (var_r31[1] == 0x80) {
|
||||
if ((var_r31[0] >= 0x96) && (var_r31[0] <= 0xA4)) {
|
||||
var_r25 = var_r27[var_r31[0] + 0x6A];
|
||||
if (str[1] == 0x80) {
|
||||
if ((str[0] >= 0x96) && (str[0] <= 0xA4)) {
|
||||
file = fileTbl[str[0] + 0x6A];
|
||||
}
|
||||
else if ((var_r31[0] >= 0xAA) && (var_r31[0] <= 0xAE)) {
|
||||
var_r25 = var_r27[var_r31[0] + 0x65];
|
||||
else if ((str[0] >= 0xAA) && (str[0] <= 0xAE)) {
|
||||
file = fileTbl[str[0] + 0x65];
|
||||
}
|
||||
else if ((var_r31[0] >= 0xD6) && (var_r31[0] <= 0xE4)) {
|
||||
var_r25 = var_r27[var_r31[0] + 0x43];
|
||||
else if ((str[0] >= 0xD6) && (str[0] <= 0xE4)) {
|
||||
file = fileTbl[str[0] + 0x43];
|
||||
}
|
||||
else if ((var_r31[0] >= 0xEA) && (var_r31[0] <= 0xEE)) {
|
||||
var_r25 = var_r27[var_r31[0] + 0x3E];
|
||||
else if ((str[0] >= 0xEA) && (str[0] <= 0xEE)) {
|
||||
file = fileTbl[str[0] + 0x3E];
|
||||
}
|
||||
}
|
||||
else if (var_r31[1] == 0x81) {
|
||||
if ((var_r31[0] >= 0xAA) && (var_r31[0] <= 0xAE)) {
|
||||
var_r25 = var_r27[var_r31[0] + 0x6A];
|
||||
else if (str[1] == 0x81) {
|
||||
if ((str[0] >= 0xAA) && (str[0] <= 0xAE)) {
|
||||
file = fileTbl[str[0] + 0x6A];
|
||||
}
|
||||
else if ((var_r31[0] >= 0xEA) && (var_r31[0] <= 0xEE)) {
|
||||
var_r25 = var_r27[var_r31[0] + 0x43];
|
||||
else if ((str[0] >= 0xEA) && (str[0] <= 0xEE)) {
|
||||
file = fileTbl[str[0] + 0x43];
|
||||
}
|
||||
}
|
||||
else {
|
||||
var_r25 = var_r27[var_r31[0]];
|
||||
file = fileTbl[str[0]];
|
||||
}
|
||||
var_r21[var_r28] = HuSprAnimReadFile(var_r25);
|
||||
var_r22[var_r28] = var_r30;
|
||||
if ((var_r31[0] >= 0x61) && (var_r31[0] <= 0x7A)) {
|
||||
var_r29[var_r28] = 2;
|
||||
var_r30 += 0x12;
|
||||
animP[charNum] = HuSprAnimReadFile(file);
|
||||
posX[charNum] = len;
|
||||
if ((str[0] >= 0x61) && (str[0] <= 0x7A)) {
|
||||
posY[charNum] = 2;
|
||||
len += 0x12;
|
||||
}
|
||||
else if ((var_r31[0] == 0xC2) || (var_r31[0] == 0xC3)) {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 0x12;
|
||||
else if ((str[0] == 0xC2) || (str[0] == 0xC3)) {
|
||||
posY[charNum] = 0;
|
||||
len += 0x12;
|
||||
}
|
||||
else if (var_r31[0] == 0x5C) {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 8;
|
||||
else if (str[0] == 0x5C) {
|
||||
posY[charNum] = 0;
|
||||
len += 8;
|
||||
}
|
||||
else if ((var_r31[0] >= 0x87) && (var_r31[0] <= 0x8F)) {
|
||||
var_r29[var_r28] = 4;
|
||||
var_r30 += 0x18;
|
||||
else if ((str[0] >= 0x87) && (str[0] <= 0x8F)) {
|
||||
posY[charNum] = 4;
|
||||
len += 0x18;
|
||||
}
|
||||
else if ((var_r31[0] >= 0xC7) && (var_r31[0] <= 0xCF)) {
|
||||
var_r29[var_r28] = 4;
|
||||
var_r30 += 0x18;
|
||||
else if ((str[0] >= 0xC7) && (str[0] <= 0xCF)) {
|
||||
posY[charNum] = 4;
|
||||
len += 0x18;
|
||||
}
|
||||
else if ((var_r31[0] == 0x3D) || (var_r31[0] == 0x84)) {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 0x14;
|
||||
else if ((str[0] == 0x3D) || (str[0] == 0x84)) {
|
||||
posY[charNum] = 0;
|
||||
len += 0x14;
|
||||
}
|
||||
else {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 0x1C;
|
||||
posY[charNum] = 0;
|
||||
len += 0x1C;
|
||||
}
|
||||
var_r28++;
|
||||
charNum++;
|
||||
}
|
||||
}
|
||||
var_r20 = HuSprGrpCreate(var_r28);
|
||||
arg0->spr_grp[var_r23] = var_r20;
|
||||
arg0->alt_word_len = var_r30;
|
||||
var_r30 = (var_r30 / 2) - 0xE;
|
||||
for (var_r26 = 0; var_r26 < var_r28; var_r26++) {
|
||||
var_r19 = HuSprCreate(var_r21[var_r26], 0, 0);
|
||||
HuSprGrpMemberSet(var_r20, var_r26, var_r19);
|
||||
HuSprPosSet(var_r20, var_r26, var_r22[var_r26] - var_r30, var_r29[var_r26]);
|
||||
gid = HuSprGrpCreate(charNum);
|
||||
arg0->spr_grp[grpNo] = gid;
|
||||
arg0->alt_word_len = len;
|
||||
len = (len / 2) - 0xE;
|
||||
for (i = 0; i < charNum; i++) {
|
||||
sprid = HuSprCreate(animP[i], 0, 0);
|
||||
HuSprGrpMemberSet(gid, i, sprid);
|
||||
HuSprPosSet(gid, i, posX[i] - len, posY[i]);
|
||||
}
|
||||
|
||||
arg0->word_len = var_r28;
|
||||
HuMemDirectFree(var_r21);
|
||||
HuMemDirectFree(var_r22);
|
||||
HuMemDirectFree(var_r29);
|
||||
return var_r20;
|
||||
arg0->word_len = charNum;
|
||||
HuMemDirectFree(animP);
|
||||
HuMemDirectFree(posX);
|
||||
HuMemDirectFree(posY);
|
||||
return gid;
|
||||
}
|
||||
|
||||
s32 fn_1_1D02C(s32 arg0)
|
||||
{
|
||||
SeqWork sp10;
|
||||
s16 spC[2];
|
||||
|
||||
u8 *var_r31;
|
||||
char *var_r31;
|
||||
s32 var_r30;
|
||||
s16 var_r29;
|
||||
u8 *var_r28;
|
||||
char *var_r28;
|
||||
s32 var_r27;
|
||||
s32 var_r26;
|
||||
s16 var_r25;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@
|
|||
|
||||
#include "REL/ztardll.h"
|
||||
|
||||
#define FONT_CHAR_MAX 100
|
||||
|
||||
#if VERSION_ENG
|
||||
s32 lbl_1_data_B0[0xC6] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, DATA_MAKE_NUM(DATADIR_INSTFONT, 0x00), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x01), DATA_MAKE_NUM(DATADIR_INSTFONT, 0x02),
|
||||
|
|
@ -107,156 +109,158 @@ s32 lbl_1_data_B0[0x132] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|||
|
||||
s32 fn_1_7754(SeqWork *work, char *mess)
|
||||
{
|
||||
char *var_r31;
|
||||
s16 var_r30;
|
||||
s16 *var_r29;
|
||||
s16 var_r28;
|
||||
s32 *var_r27;
|
||||
s16 var_r26;
|
||||
s16 var_r25;
|
||||
s32 var_r24;
|
||||
s16 *var_r22;
|
||||
AnimData **var_r21;
|
||||
s16 var_r20;
|
||||
s16 var_r19;
|
||||
char* str;
|
||||
s16 len;
|
||||
s16* posY;
|
||||
s16 charNum;
|
||||
s32* fileTbl;
|
||||
s16 i;
|
||||
s16 grpNo;
|
||||
s32 file;
|
||||
s16 *posX;
|
||||
AnimData **animP;
|
||||
s16 gid;
|
||||
s16 sprid;
|
||||
s32 var_r19_2;
|
||||
|
||||
var_r27 = lbl_1_data_B0;
|
||||
for (var_r25 = 0; var_r25 < 0x10; var_r25++) {
|
||||
if (work->spr_grp[var_r25] == -1) {
|
||||
fileTbl = lbl_1_data_B0;
|
||||
for (grpNo = 0; grpNo < 0x10; grpNo++) {
|
||||
if (work->spr_grp[grpNo] == -1) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (var_r25 == 0x10) {
|
||||
if (grpNo == 0x10) {
|
||||
return -1;
|
||||
}
|
||||
var_r21 = HuMemDirectMalloc(HEAP_SYSTEM, 0x190);
|
||||
var_r22 = HuMemDirectMalloc(HEAP_SYSTEM, 0xC8);
|
||||
var_r29 = HuMemDirectMalloc(HEAP_SYSTEM, 0xC8);
|
||||
for (var_r31 = mess, var_r30 = 0, var_r28 = 0; var_r31[0] != 0; var_r31++) {
|
||||
if (var_r31[0] == 0x20 || var_r31[0] == 0x10) {
|
||||
var_r30 += VERSION_JP ? 0x1C : 0xE;
|
||||
|
||||
animP = HuMemDirectMalloc(HEAP_SYSTEM, (FONT_CHAR_MAX * sizeof(AnimData*)));
|
||||
posX = HuMemDirectMalloc(HEAP_SYSTEM, FONT_CHAR_MAX * sizeof(*posX));
|
||||
posY = HuMemDirectMalloc(HEAP_SYSTEM, FONT_CHAR_MAX * sizeof(*posY));
|
||||
|
||||
for (str = mess, len = 0, charNum = 0; str[0] != 0; str++) {
|
||||
if (str[0] == 0x20 || str[0] == 0x10) {
|
||||
len += VERSION_JP ? 0x1C : 0xE;
|
||||
}
|
||||
#if VERSION_PAL
|
||||
else if (*var_r31 >= 0x30) {
|
||||
var_r19_2 = var_r27[*var_r31];
|
||||
var_r21[var_r28] = HuSprAnimReadFile(var_r19_2);
|
||||
var_r22[var_r28] = var_r30;
|
||||
if ((*var_r31 >= 0x61) && (*var_r31 <= 0x7A)) {
|
||||
var_r29[var_r28] = 2;
|
||||
var_r30 += 0x12;
|
||||
else if (*str >= 0x30) {
|
||||
var_r19_2 = fileTbl[*str];
|
||||
animP[charNum] = HuSprAnimReadFile(var_r19_2);
|
||||
posX[charNum] = len;
|
||||
if ((*str >= 0x61) && (*str <= 0x7A)) {
|
||||
posY[charNum] = 2;
|
||||
len += 0x12;
|
||||
}
|
||||
else if ((*var_r31 == 0xC2) || (*var_r31 == 0xC3) || (*var_r31 == 0xC7)) {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 0x12;
|
||||
else if ((*str == 0xC2) || (*str == 0xC3) || (*str == 0xC7)) {
|
||||
posY[charNum] = 0;
|
||||
len += 0x12;
|
||||
}
|
||||
else if (*var_r31 == 0xC6) {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 0x18;
|
||||
else if (*str == 0xC6) {
|
||||
posY[charNum] = 0;
|
||||
len += 0x18;
|
||||
}
|
||||
else if (*var_r31 == 0x5C) {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 8;
|
||||
else if (*str == 0x5C) {
|
||||
posY[charNum] = 0;
|
||||
len += 8;
|
||||
}
|
||||
else if ((*var_r31 >= 0x90) && (*var_r31 <= 0x9F)) {
|
||||
var_r29[var_r28] = -2;
|
||||
var_r30 += 0x18;
|
||||
else if ((*str >= 0x90) && (*str <= 0x9F)) {
|
||||
posY[charNum] = -2;
|
||||
len += 0x18;
|
||||
}
|
||||
else if ((*var_r31 >= 0xD0) && (*var_r31 <= 0xEF)) {
|
||||
var_r29[var_r28] = -2;
|
||||
var_r30 += 0x12;
|
||||
else if ((*str >= 0xD0) && (*str <= 0xEF)) {
|
||||
posY[charNum] = -2;
|
||||
len += 0x12;
|
||||
}
|
||||
else if ((*var_r31 == 0x3D) || (*var_r31 == 0x84)) {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 0x14;
|
||||
else if ((*str == 0x3D) || (*str == 0x84)) {
|
||||
posY[charNum] = 0;
|
||||
len += 0x14;
|
||||
}
|
||||
else {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 0x1C;
|
||||
posY[charNum] = 0;
|
||||
len += 0x1C;
|
||||
}
|
||||
var_r28++;
|
||||
charNum++;
|
||||
}
|
||||
#else
|
||||
else if (var_r31[0] < 0x30) {
|
||||
else if (str[0] < 0x30) {
|
||||
}
|
||||
else if (var_r31[0] == 0x80) {
|
||||
else if (str[0] == 0x80) {
|
||||
}
|
||||
else if (var_r31[0] == 0x81) {
|
||||
else if (str[0] == 0x81) {
|
||||
}
|
||||
else {
|
||||
if (var_r31[1] == 0x80) {
|
||||
if ((var_r31[0] >= 0x96) && (var_r31[0] <= 0xA4)) {
|
||||
var_r24 = var_r27[var_r31[0] + 0x6A];
|
||||
if (str[1] == 0x80) {
|
||||
if ((str[0] >= 0x96) && (str[0] <= 0xA4)) {
|
||||
file = fileTbl[str[0] + 0x6A];
|
||||
}
|
||||
else if ((var_r31[0] >= 0xAA) && (var_r31[0] <= 0xAE)) {
|
||||
var_r24 = var_r27[var_r31[0] + 0x65];
|
||||
else if ((str[0] >= 0xAA) && (str[0] <= 0xAE)) {
|
||||
file = fileTbl[str[0] + 0x65];
|
||||
}
|
||||
else if ((var_r31[0] >= 0xD6) && (var_r31[0] <= 0xE4)) {
|
||||
var_r24 = var_r27[var_r31[0] + 0x43];
|
||||
else if ((str[0] >= 0xD6) && (str[0] <= 0xE4)) {
|
||||
file = fileTbl[str[0] + 0x43];
|
||||
}
|
||||
else if ((var_r31[0] >= 0xEA) && (var_r31[0] <= 0xEE)) {
|
||||
var_r24 = var_r27[var_r31[0] + 0x3E];
|
||||
else if ((str[0] >= 0xEA) && (str[0] <= 0xEE)) {
|
||||
file = fileTbl[str[0] + 0x3E];
|
||||
}
|
||||
}
|
||||
else if (var_r31[1] == 0x81) {
|
||||
if ((var_r31[0] >= 0xAA) && (var_r31[0] <= 0xAE)) {
|
||||
var_r24 = var_r27[var_r31[0] + 0x6A];
|
||||
else if (str[1] == 0x81) {
|
||||
if ((str[0] >= 0xAA) && (str[0] <= 0xAE)) {
|
||||
file = fileTbl[str[0] + 0x6A];
|
||||
}
|
||||
else if ((var_r31[0] >= 0xEA) && (var_r31[0] <= 0xEE)) {
|
||||
var_r24 = var_r27[var_r31[0] + 0x43];
|
||||
else if ((str[0] >= 0xEA) && (str[0] <= 0xEE)) {
|
||||
file = fileTbl[str[0] + 0x43];
|
||||
}
|
||||
}
|
||||
else {
|
||||
var_r24 = var_r27[var_r31[0]];
|
||||
file = fileTbl[str[0]];
|
||||
}
|
||||
var_r21[var_r28] = HuSprAnimReadFile(var_r24);
|
||||
var_r22[var_r28] = var_r30;
|
||||
if ((var_r31[0] >= 0x61) && (var_r31[0] <= 0x7A)) {
|
||||
var_r29[var_r28] = 2;
|
||||
var_r30 += 0x12;
|
||||
animP[charNum] = HuSprAnimReadFile(file);
|
||||
posX[charNum] = len;
|
||||
if ((str[0] >= 0x61) && (str[0] <= 0x7A)) {
|
||||
posY[charNum] = 2;
|
||||
len += 0x12;
|
||||
}
|
||||
else if ((var_r31[0] == 0xC2) || (var_r31[0] == 0xC3)) {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 0x12;
|
||||
else if ((str[0] == 0xC2) || (str[0] == 0xC3)) {
|
||||
posY[charNum] = 0;
|
||||
len += 0x12;
|
||||
}
|
||||
else if (var_r31[0] == 0x5C) {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 8;
|
||||
else if (str[0] == 0x5C) {
|
||||
posY[charNum] = 0;
|
||||
len += 8;
|
||||
}
|
||||
else if ((var_r31[0] >= 0x87) && (var_r31[0] <= 0x8F)) {
|
||||
var_r29[var_r28] = 4;
|
||||
var_r30 += 0x18;
|
||||
else if ((str[0] >= 0x87) && (str[0] <= 0x8F)) {
|
||||
posY[charNum] = 4;
|
||||
len += 0x18;
|
||||
}
|
||||
else if ((var_r31[0] >= 0xC7) && (var_r31[0] <= 0xCF)) {
|
||||
var_r29[var_r28] = 4;
|
||||
var_r30 += 0x18;
|
||||
else if ((str[0] >= 0xC7) && (str[0] <= 0xCF)) {
|
||||
posY[charNum] = 4;
|
||||
len += 0x18;
|
||||
}
|
||||
#if !VERSION_JP
|
||||
else if ((var_r31[0] == 0x3D) || (var_r31[0] == 0x84)) {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 0x14;
|
||||
else if ((str[0] == 0x3D) || (str[0] == 0x84)) {
|
||||
posY[charNum] = 0;
|
||||
len += 0x14;
|
||||
}
|
||||
#endif
|
||||
else {
|
||||
var_r29[var_r28] = 0;
|
||||
var_r30 += 0x1C;
|
||||
posY[charNum] = 0;
|
||||
len += 0x1C;
|
||||
}
|
||||
var_r28++;
|
||||
charNum++;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
var_r20 = HuSprGrpCreate(var_r28);
|
||||
work->spr_grp[var_r25] = var_r20;
|
||||
work->alt_word_len = var_r30;
|
||||
var_r30 = (var_r30 / 2) - 0xE;
|
||||
for (var_r26 = 0; var_r26 < var_r28; var_r26++) {
|
||||
var_r19 = HuSprCreate(var_r21[var_r26], 0, 0);
|
||||
HuSprGrpMemberSet(var_r20, var_r26, var_r19);
|
||||
HuSprPosSet(var_r20, var_r26, var_r22[var_r26] - var_r30, var_r29[var_r26]);
|
||||
gid = HuSprGrpCreate(charNum);
|
||||
work->spr_grp[grpNo] = gid;
|
||||
work->alt_word_len = len;
|
||||
len = (len / 2) - 0xE;
|
||||
for (i = 0; i < charNum; i++) {
|
||||
sprid = HuSprCreate(animP[i], 0, 0);
|
||||
HuSprGrpMemberSet(gid, i, sprid);
|
||||
HuSprPosSet(gid, i, posX[i] - len, posY[i]);
|
||||
}
|
||||
work->word_len = var_r28;
|
||||
HuMemDirectFree(var_r21);
|
||||
HuMemDirectFree(var_r22);
|
||||
HuMemDirectFree(var_r29);
|
||||
return var_r25;
|
||||
work->word_len = charNum;
|
||||
HuMemDirectFree(animP);
|
||||
HuMemDirectFree(posX);
|
||||
HuMemDirectFree(posY);
|
||||
return grpNo;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@
|
|||
#include "game/wipe.h"
|
||||
#include "game/gamework_data.h"
|
||||
|
||||
#define MUSIC_HEAP_SIZE 0x13FC00
|
||||
|
||||
static int HuSePlay(int seId, MSM_SEPARAM *param);
|
||||
|
||||
extern s16 omSysExitReq;
|
||||
|
|
@ -32,7 +34,6 @@ static char *lbl_8012E9AC[] = {
|
|||
""
|
||||
};
|
||||
|
||||
|
||||
void HuAudInit(void)
|
||||
{
|
||||
MSM_INIT msmInit;
|
||||
|
|
@ -41,8 +42,8 @@ void HuAudInit(void)
|
|||
s32 result;
|
||||
s16 i;
|
||||
|
||||
msmInit.heap = HuMemDirectMalloc(HEAP_MUSIC, 0x13FC00);
|
||||
msmInit.heapSize = 0x13FC00;
|
||||
msmInit.heap = HuMemDirectMalloc(HEAP_MUSIC, MUSIC_HEAP_SIZE);
|
||||
msmInit.heapSize = MUSIC_HEAP_SIZE;
|
||||
msmInit.msmPath = "/sound/mpgcsnd.msm";
|
||||
msmInit.pdtPath = "/sound/mpgcstr.pdt";
|
||||
msmInit.open = NULL;
|
||||
|
|
|
|||
|
|
@ -17,6 +17,8 @@
|
|||
#include "math.h"
|
||||
#include "ext_math.h"
|
||||
|
||||
#define SHADOW_HEAP_SIZE 0x9000
|
||||
|
||||
ModelData Hu3DData[HU3D_MODEL_MAX];
|
||||
CameraData Hu3DCamera[HU3D_CAM_MAX];
|
||||
static s16 layerNum[8];
|
||||
|
|
@ -1876,7 +1878,7 @@ void Hu3DFogClear(void) {
|
|||
void Hu3DShadowCreate(f32 arg8, f32 arg9, f32 argA) {
|
||||
Hu3DShadowData.unk_02 = 0xC0;
|
||||
if (Hu3DShadowData.unk_04 == 0) {
|
||||
Hu3DShadowData.unk_04 = HuMemDirectMalloc(HEAP_DATA, 0x9000);
|
||||
Hu3DShadowData.unk_04 = HuMemDirectMalloc(HEAP_DATA, SHADOW_HEAP_SIZE);
|
||||
}
|
||||
Hu3DShadowData.unk_08.x = arg8;
|
||||
Hu3DShadowData.unk_08.y = arg9;
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@
|
|||
|
||||
#include "string.h"
|
||||
|
||||
#define THP_DECODE_STACK_SIZE 0x2000
|
||||
|
||||
static void THPTestProc(void);
|
||||
static void THPViewFunc(ModelData *arg0, Mtx arg1);
|
||||
static void THPViewSprFunc(HuSprite *arg0);
|
||||
|
|
@ -153,8 +155,8 @@ static void THPTestProc(void)
|
|||
HuPrcVSleep();
|
||||
}
|
||||
HuPrcVSleep();
|
||||
decodeStackP = HuMemDirectMalloc(HEAP_SYSTEM, 0x2000);
|
||||
decodeThread = OSSetIdleFunction(THPDecodeFunc, NULL, decodeStackP + 0x2000, 0x2000);
|
||||
decodeStackP = HuMemDirectMalloc(HEAP_SYSTEM, THP_DECODE_STACK_SIZE);
|
||||
decodeThread = OSSetIdleFunction(THPDecodeFunc, NULL, (decodeStackP + THP_DECODE_STACK_SIZE), THP_DECODE_STACK_SIZE);
|
||||
decodeRate = 0;
|
||||
THPStart = 1;
|
||||
if (SimpleControl.unk19C == 1) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue