Rename a heap of file functions

This commit is contained in:
Ryan Dwyer 2022-03-19 14:23:26 +10:00
parent 50be7d5a17
commit 66914659ff
22 changed files with 320 additions and 280 deletions

View File

@ -3532,7 +3532,7 @@ void bgLoadFile(void *memaddr, u32 offset, u32 len)
if (var8007fc04) {
bcopy(var8007fc08 + offset, memaddr, len);
} else {
func0f166ff0(g_Stages[g_StageIndex].bgfileid, memaddr, offset, len);
fileLoadPartToAddr(g_Stages[g_StageIndex].bgfileid, memaddr, offset, len);
}
}

View File

@ -12149,7 +12149,7 @@ glabel bgun0f09e144
/* f09e19c: 8e5815bc */ lw $t8,0x15bc($s2)
/* f09e1a0: af100000 */ sw $s0,0x0($t8)
/* f09e1a4: 964415b2 */ lhu $a0,0x15b2($s2)
/* f09e1a8: 0fc59c15 */ jal fileGetInflatedLength
/* f09e1a8: 0fc59c15 */ jal fileGetInflatedSize
/* f09e1ac: afa30064 */ sw $v1,0x64($sp)
/* f09e1b0: 2443003f */ addiu $v1,$v0,0x3f
/* f09e1b4: 3479003f */ ori $t9,$v1,0x3f
@ -12165,14 +12165,14 @@ glabel bgun0f09e144
/* f09e1d8: a02bd9a0 */ sb $t3,%lo(g_LoadType)($at)
/* f09e1dc: 964415b2 */ lhu $a0,0x15b2($s2)
/* f09e1e0: 24050011 */ addiu $a1,$zero,0x11
/* f09e1e4: 0fc59c80 */ jal func0f167200
/* f09e1e4: 0fc59c80 */ jal fileLoadToAddr
/* f09e1e8: 8fa60064 */ lw $a2,0x64($sp)
/* f09e1ec: 00408825 */ or $s1,$v0,$zero
/* f09e1f0: 0fc59ca0 */ jal fileGetSize
/* f09e1f0: 0fc59ca0 */ jal fileGetLoadedSize
/* f09e1f4: 964415b2 */ lhu $a0,0x15b2($s2)
/* f09e1f8: 24470e00 */ addiu $a3,$v0,0xe00
/* f09e1fc: 964415b2 */ lhu $a0,0x15b2($s2)
/* f09e200: 0fc59ca0 */ jal fileGetSize
/* f09e200: 0fc59ca0 */ jal fileGetLoadedSize
/* f09e204: afa7006c */ sw $a3,0x6c($sp)
/* f09e208: 964c15b2 */ lhu $t4,0x15b2($s2)
/* f09e20c: 8fa7006c */ lw $a3,0x6c($sp)
@ -12301,13 +12301,13 @@ glabel bgun0f09e144
/* f09e3e4: 02202025 */ or $a0,$s1,$zero
/* f09e3e8: 0fc69d58 */ jal func0f1a7560
/* f09e3ec: 02203825 */ or $a3,$s1,$zero
/* f09e3f0: 0fc59c15 */ jal fileGetInflatedLength
/* f09e3f0: 0fc59c15 */ jal fileGetInflatedSize
/* f09e3f4: 964415b2 */ lhu $a0,0x15b2($s2)
/* f09e3f8: 0fc59ca0 */ jal fileGetSize
/* f09e3f8: 0fc59ca0 */ jal fileGetLoadedSize
/* f09e3fc: 964415b2 */ lhu $a0,0x15b2($s2)
/* f09e400: 0fc59ca0 */ jal fileGetSize
/* f09e400: 0fc59ca0 */ jal fileGetLoadedSize
/* f09e404: 964415b2 */ lhu $a0,0x15b2($s2)
/* f09e408: 0fc59ca0 */ jal fileGetSize
/* f09e408: 0fc59ca0 */ jal fileGetLoadedSize
/* f09e40c: 964415b2 */ lhu $a0,0x15b2($s2)
/* f09e410: 0c008b49 */ jal modelCalculateRwDataLen
/* f09e414: 02202025 */ or $a0,$s1,$zero
@ -12399,7 +12399,7 @@ glabel bgun0f09e144
/* f09c0c4: ac710000 */ sw $s1,0x0($v1)
/* f09c0c8: 8e9815bc */ lw $t8,0x15bc($s4)
/* f09c0cc: af100000 */ sw $s0,0x0($t8)
/* f09c0d0: 0fc58635 */ jal fileGetInflatedLength
/* f09c0d0: 0fc58635 */ jal fileGetInflatedSize
/* f09c0d4: 968415b2 */ lhu $a0,0x15b2($s4)
/* f09c0d8: 2443003f */ addiu $v1,$v0,0x3f
/* f09c0dc: 3479003f */ ori $t9,$v1,0x3f
@ -12415,13 +12415,13 @@ glabel bgun0f09e144
/* f09c100: a029f2c0 */ sb $t1,-0xd40($at)
/* f09c104: 968415b2 */ lhu $a0,0x15b2($s4)
/* f09c108: 24050011 */ addiu $a1,$zero,0x11
/* f09c10c: 0fc586cd */ jal func0f167200
/* f09c10c: 0fc586cd */ jal fileLoadToAddr
/* f09c110: 02203025 */ or $a2,$s1,$zero
/* f09c114: 00409825 */ or $s3,$v0,$zero
/* f09c118: 0fc586ed */ jal fileGetSize
/* f09c118: 0fc586ed */ jal fileGetLoadedSize
/* f09c11c: 968415b2 */ lhu $a0,0x15b2($s4)
/* f09c120: 24520e00 */ addiu $s2,$v0,0xe00
/* f09c124: 0fc586ed */ jal fileGetSize
/* f09c124: 0fc586ed */ jal fileGetLoadedSize
/* f09c128: 968415b2 */ lhu $a0,0x15b2($s4)
/* f09c12c: 968a15b2 */ lhu $t2,0x15b2($s4)
/* f09c130: 3c0c800b */ lui $t4,0x800b
@ -12544,13 +12544,13 @@ glabel bgun0f09e144
/* f09c2f0: 02602025 */ or $a0,$s3,$zero
/* f09c2f4: 0c009114 */ jal func0f1a7560
/* f09c2f8: 02603825 */ or $a3,$s3,$zero
/* f09c2fc: 0fc58635 */ jal fileGetInflatedLength
/* f09c2fc: 0fc58635 */ jal fileGetInflatedSize
/* f09c300: 968415b2 */ lhu $a0,0x15b2($s4)
/* f09c304: 0fc586ed */ jal fileGetSize
/* f09c304: 0fc586ed */ jal fileGetLoadedSize
/* f09c308: 968415b2 */ lhu $a0,0x15b2($s4)
/* f09c30c: 0fc586ed */ jal fileGetSize
/* f09c30c: 0fc586ed */ jal fileGetLoadedSize
/* f09c310: 968415b2 */ lhu $a0,0x15b2($s4)
/* f09c314: 0fc586ed */ jal fileGetSize
/* f09c314: 0fc586ed */ jal fileGetLoadedSize
/* f09c318: 968415b2 */ lhu $a0,0x15b2($s4)
/* f09c31c: 0c008f6f */ jal modelCalculateRwDataLen
/* f09c320: 02602025 */ or $a0,$s3,$zero

View File

@ -10,6 +10,44 @@
#include "data.h"
#include "types.h"
/**
* This file contains functions relating to ROM asset files.
*
* Asset files include:
* - BG segment files
* - Lang files
* - MP3 files
* - Model files
* - Pad files
* - Stage setup files
* - Tile files
*
* The following are not implemented as asset files and are therefore not
* managed here:
* - Animations
* - Music
* - Textures
*
* The file system does not keep track of which files are loaded, nor does it
* maintain a list of pointers to loaded file data. All load operations either
* require the caller to pass a destination pointer, or the file system can make
* its own allocation and return the pointer. It does not store the pointer in
* either case.
*
* Most file types are compressed. This is abstracted away, so from the caller's
* perspect they just call a load function and they receive an inflated file.
* Exceptions to this are:
* - BG files, which contain multiple compressed parts. The caller uses
* fileLoadPartToAddr which loads a slice of the file without inflation.
* - MP3 files, which are not compressed. The caller retrieves the ROM start and
* end addresses from the file system, then gives that to the MP3 system which
* does its own DMA operations.
*
* It is likely that during development files could be alternatively loaded
* from the host computer. This code no longer exists, but there are some unused
* functions that support this theory.
*/
extern void *_file_bg_sev_seg;
extern void *_file_bg_silo_seg;
extern void *_file_bg_stat_seg;
@ -2044,7 +2082,7 @@ struct fileinfo g_FileInfo[NUM_FILES];
u32 var800aa570;
#endif
void *filetable[] = {
void *g_FileTable[] = {
/*0x0000*/ NULL,
/*0x0001*/ &_file_bg_sev_seg,
/*0x0002*/ &_file_bg_silo_seg,
@ -4070,57 +4108,59 @@ void *filetable[] = {
u32 fileGetRomAddress(s32 filenum)
{
return (u32)filetable[filenum];
return (u32)g_FileTable[filenum];
}
u32 fileGetRomSizeByTableAddress(u32 *filetableaddr)
{
u32 difference;
u32 size;
if (filetableaddr[1]) {
difference = filetableaddr[1] - filetableaddr[0];
size = filetableaddr[1] - filetableaddr[0];
} else {
difference = 0;
size = 0;
}
return difference;
return size;
}
s32 fileGetRomSizeByFileNum(s32 filenum)
s32 fileGetRomSize(s32 filenum)
{
return fileGetRomSizeByTableAddress((u32 *)&filetable[filenum]);
return fileGetRomSizeByTableAddress((u32 *)&g_FileTable[filenum]);
}
u32 func0f166ea8(u32 *filetableaddr)
u32 file0f166ea8(u32 *filetableaddr)
{
return 0;
}
#if VERSION >= VERSION_NTSC_1_0
void func0f166eb4(void *dst, u32 scratchlen, u32 *romaddrptr, struct fileinfo *info)
void fileLoad(void *dst, u32 allocationlen, u32 *romaddrptr, struct fileinfo *info)
{
u32 romsize = fileGetRomSizeByTableAddress(romaddrptr);
u8 buffer[5 * 1024];
u32 tmp;
if (scratchlen == 0) {
if (allocationlen == 0) {
// DMA with no inflate
dmaExec(dst, *romaddrptr, romsize);
} else {
// DMA the compressed data to scratch space then inflate
u32 scratchaddr = ((u32)dst + scratchlen) - (romsize + 7 & 0xfffffff8);
u32 scratchaddr = ((u32)dst + allocationlen) - (romsize + 7 & 0xfffffff8);
if (scratchaddr - (u32)dst < 8) {
info->size = 0;
info->loadedsize = 0;
} else {
dmaExec((void *)scratchaddr, *romaddrptr, romsize);
info->size = ALIGN16(rzipInflate((void *)scratchaddr, dst, buffer));
info->loadedsize = ALIGN16(rzipInflate((void *)scratchaddr, dst, buffer));
}
}
}
#else
void fileLoad(void *dst, u32 allocationlen, u32 *romaddrptr, struct fileinfo *info);
GLOBAL_ASM(
glabel func0f166eb4
glabel fileLoad
/* f1616b4: 27bdeb20 */ addiu $sp,$sp,-5344
/* f1616b8: afbf003c */ sw $ra,0x3c($sp)
/* f1616bc: afb00038 */ sw $s0,0x38($sp)
@ -4211,17 +4251,17 @@ glabel func0f166eb4
#if VERSION >= VERSION_JPN_FINAL
GLOBAL_ASM(
glabel func0f166f74
glabel filesResetAndPrint
/* f166f74: 27bdffd0 */ addiu $sp,$sp,-48
/* f166f78: afb20020 */ sw $s2,0x20($sp)
/* f166f7c: afb1001c */ sw $s1,0x1c($sp)
/* f166f80: afb40028 */ sw $s4,0x28($sp)
/* f166f84: afb00018 */ sw $s0,0x18($sp)
/* f166f88: 3c11800a */ lui $s1,%hi(g_FileInfo)
/* f166f8c: 3c128008 */ lui $s2,%hi(filetable)
/* f166f8c: 3c128008 */ lui $s2,%hi(g_FileTable)
/* f166f90: afbf002c */ sw $ra,0x2c($sp)
/* f166f94: afb30024 */ sw $s3,0x24($sp)
/* f166f98: 26522060 */ addiu $s2,$s2,%lo(filetable)
/* f166f98: 26522060 */ addiu $s2,$s2,%lo(g_FileTable)
/* f166f9c: 26316680 */ addiu $s1,$s1,%lo(g_FileInfo)
/* f166fa0: 24100001 */ addiu $s0,$zero,0x1
/* f166fa4: 241407de */ addiu $s4,$zero,0x7e0
@ -4247,17 +4287,17 @@ glabel func0f166f74
);
#elif VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel func0f166f74
glabel filesResetAndPrint
/* f166f74: 27bdffd0 */ addiu $sp,$sp,-48
/* f166f78: afb20020 */ sw $s2,0x20($sp)
/* f166f7c: afb1001c */ sw $s1,0x1c($sp)
/* f166f80: afb40028 */ sw $s4,0x28($sp)
/* f166f84: afb00018 */ sw $s0,0x18($sp)
/* f166f88: 3c11800a */ lui $s1,%hi(g_FileInfo)
/* f166f8c: 3c128008 */ lui $s2,%hi(filetable)
/* f166f8c: 3c128008 */ lui $s2,%hi(g_FileTable)
/* f166f90: afbf002c */ sw $ra,0x2c($sp)
/* f166f94: afb30024 */ sw $s3,0x24($sp)
/* f166f98: 26522060 */ addiu $s2,$s2,%lo(filetable)
/* f166f98: 26522060 */ addiu $s2,$s2,%lo(g_FileTable)
/* f166f9c: 26316680 */ addiu $s1,$s1,%lo(g_FileInfo)
/* f166fa0: 24100001 */ addiu $s0,$zero,0x1
/* f166fa4: 241407de */ addiu $s4,$zero,0x7de
@ -4283,17 +4323,17 @@ glabel func0f166f74
);
#else
GLOBAL_ASM(
glabel func0f166f74
glabel filesResetAndPrint
/* f166f74: 27bdffd0 */ addiu $sp,$sp,-48
/* f166f78: afb20020 */ sw $s2,0x20($sp)
/* f166f7c: afb1001c */ sw $s1,0x1c($sp)
/* f166f80: afb40028 */ sw $s4,0x28($sp)
/* f166f84: afb00018 */ sw $s0,0x18($sp)
/* f166f88: 3c11800a */ lui $s1,%hi(g_FileInfo)
/* f166f8c: 3c128008 */ lui $s2,%hi(filetable)
/* f166f8c: 3c128008 */ lui $s2,%hi(g_FileTable)
/* f166f90: afbf002c */ sw $ra,0x2c($sp)
/* f166f94: afb30024 */ sw $s3,0x24($sp)
/* f166f98: 26522060 */ addiu $s2,$s2,%lo(filetable)
/* f166f98: 26522060 */ addiu $s2,$s2,%lo(g_FileTable)
/* f166f9c: 26316680 */ addiu $s1,$s1,%lo(g_FileInfo)
/* f166fa0: 24100001 */ addiu $s0,$zero,0x1
/* f166fa4: 241407de */ addiu $s4,$zero,0x7dd
@ -4319,33 +4359,33 @@ glabel func0f166f74
);
#endif
//void func0f166f74(void)
//void filesResetAndPrint(void)
//{
// s32 i;
//
// for (i = 1; i < NUM_FILES; i++) {
// g_FileInfo[i].size = 0;
// g_FileInfo[i].unk04 = 0;
// g_FileInfo[i].loadedsize = 0;
// g_FileInfo[i].allocsize = 0;
//
// fileGetRomSizeByTableAddress(&filetable[i]);
// fileGetRomSizeByTableAddress(&g_FileTable[i]);
// }
//}
void func0f166ff0(u16 filenum, void *memaddr, s32 offset, u32 len)
void fileLoadPartToAddr(u16 filenum, void *memaddr, s32 offset, u32 len)
{
u32 stack[2];
if (fileGetRomSizeByTableAddress((u32 *)&filetable[filenum])) {
dmaExec(memaddr, (u32)filetable[filenum] + offset, len);
if (fileGetRomSizeByTableAddress((u32 *)&g_FileTable[filenum])) {
dmaExec(memaddr, (u32)g_FileTable[filenum] + offset, len);
}
}
#if VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel fileGetInflatedLength
glabel fileGetInflatedSize
/* f167054: 27bdff78 */ addiu $sp,$sp,-136
/* f167058: 3c0f8008 */ lui $t7,%hi(filetable)
/* f16705c: 25ef2060 */ addiu $t7,$t7,%lo(filetable)
/* f167058: 3c0f8008 */ lui $t7,%hi(g_FileTable)
/* f16705c: 25ef2060 */ addiu $t7,$t7,%lo(g_FileTable)
/* f167060: 00047080 */ sll $t6,$a0,0x2
/* f167064: afbf001c */ sw $ra,0x1c($sp)
/* f167068: afb00018 */ sw $s0,0x18($sp)
@ -4355,7 +4395,7 @@ glabel fileGetInflatedLength
/* f167078: 2401fff0 */ addiu $at,$zero,-16
/* f16707c: 14a0000c */ bnez $a1,.L0f1670b0
/* f167080: 24060040 */ addiu $a2,$zero,0x40
/* f167084: 0fc59baa */ jal func0f166ea8
/* f167084: 0fc59baa */ jal file0f166ea8
/* f167088: 00000000 */ nop
/* f16708c: 27b00044 */ addiu $s0,$sp,0x44
/* f167090: 2401fff0 */ addiu $at,$zero,-16
@ -4392,7 +4432,7 @@ glabel fileGetInflatedLength
);
#else
GLOBAL_ASM(
glabel fileGetInflatedLength
glabel fileGetInflatedSize
/* f1618d4: 27bdfeb8 */ addiu $sp,$sp,-328
/* f1618d8: 3c0f8008 */ lui $t7,0x8008
/* f1618dc: 25ef48c0 */ addiu $t7,$t7,0x48c0
@ -4405,7 +4445,7 @@ glabel fileGetInflatedLength
/* f1618f8: 2401fff0 */ addiu $at,$zero,-16
/* f1618fc: 14a0000c */ bnez $a1,.NB0f161930
/* f161900: 24060040 */ addiu $a2,$zero,0x40
/* f161904: 0fc585aa */ jal func0f166ea8
/* f161904: 0fc585aa */ jal file0f166ea8
/* f161908: 00000000 */ sll $zero,$zero,0x0
/* f16190c: 27b00104 */ addiu $s0,$sp,0x104
/* f161910: 2401fff0 */ addiu $at,$zero,-16
@ -4487,20 +4527,20 @@ glabel fileGetInflatedLength
);
#endif
//u32 fileGetInflatedLength(u32 filenum)
//u32 fileGetInflatedSize(u32 filenum)
//{
// u8 buffer[0x50];
// u8 *alignedbuffer;
// void *romaddr;
// u32 tmp;
//
// romaddr = filetable[filenum];
// romaddr = g_FileTable[filenum];
// alignedbuffer = buffer;
//
// if (romaddr == NULL) {
// alignedbuffer = (u8 *)(((u32)alignedbuffer) & ~0xf);
//
// stub0f175f58(func0f166ea8((u32 *) &filetable[filenum]), (u32)alignedbuffer, 16);
// stub0f175f58(file0f166ea8((u32 *) &g_FileTable[filenum]), (u32)alignedbuffer, 16);
// } else {
// alignedbuffer = (u8 *)(((u32)alignedbuffer) & ~0xf);
// dmaExec((void *)alignedbuffer, romaddr, 0x40);
@ -4514,7 +4554,7 @@ glabel fileGetInflatedLength
//}
GLOBAL_ASM(
glabel func0f1670fc
glabel fileLoadToNew
/* f1670fc: 27bdffd0 */ addiu $sp,$sp,-48
/* f167100: 24010011 */ addiu $at,$zero,0x11
/* f167104: afbf001c */ sw $ra,0x1c($sp)
@ -4534,7 +4574,7 @@ glabel func0f1670fc
/* f167138: 8e080000 */ lw $t0,0x0($s0)
/* f16713c: 5500000e */ bnezl $t0,.L0f167178
/* f167140: 8e040000 */ lw $a0,0x0($s0)
/* f167144: 0fc59c15 */ jal fileGetInflatedLength
/* f167144: 0fc59c15 */ jal fileGetInflatedSize
/* f167148: 01e02025 */ or $a0,$t7,$zero
/* f16714c: 24490020 */ addiu $t1,$v0,0x20
/* f167150: 2401fff0 */ addiu $at,$zero,-16
@ -4553,14 +4593,14 @@ glabel func0f1670fc
/* f16717c: 24050004 */ addiu $a1,$zero,0x4
/* f167180: afa20024 */ sw $v0,0x24($sp)
/* f167184: 8e050000 */ lw $a1,0x0($s0)
/* f167188: 3c198008 */ lui $t9,%hi(filetable)
/* f16718c: 27392060 */ addiu $t9,$t9,%lo(filetable)
/* f167188: 3c198008 */ lui $t9,%hi(g_FileTable)
/* f16718c: 27392060 */ addiu $t9,$t9,%lo(g_FileTable)
/* f167190: ae050004 */ sw $a1,0x4($s0)
/* f167194: 8fae0030 */ lw $t6,0x30($sp)
/* f167198: 00402025 */ or $a0,$v0,$zero
/* f16719c: 02003825 */ or $a3,$s0,$zero
/* f1671a0: 000ec080 */ sll $t8,$t6,0x2
/* f1671a4: 0fc59bad */ jal func0f166eb4
/* f1671a4: 0fc59bad */ jal fileLoad
/* f1671a8: 03193021 */ addu $a2,$t8,$t9
/* f1671ac: 8fa80034 */ lw $t0,0x34($sp)
/* f1671b0: 24010011 */ addiu $at,$zero,0x11
@ -4582,39 +4622,39 @@ glabel func0f1670fc
/* f1671e4: 03e00008 */ jr $ra
/* f1671e8: 27bd0030 */ addiu $sp,$sp,0x30
/* f1671ec: 00047080 */ sll $t6,$a0,0x2
/* f1671f0: 3c018008 */ lui $at,%hi(filetable)
/* f1671f0: 3c018008 */ lui $at,%hi(g_FileTable)
/* f1671f4: 002e0821 */ addu $at,$at,$t6
/* f1671f8: 03e00008 */ jr $ra
/* f1671fc: ac202060 */ sw $zero,%lo(filetable)($at)
/* f1671fc: ac202060 */ sw $zero,%lo(g_FileTable)($at)
);
//void *func0f1670fc(u32 filenum, u32 arg1)
//void *fileLoadToNew(u32 filenum, u32 method)
//{
// struct fileinfo *info;
// u32 stack;
// void *ptr;
//
// if (arg1 == 0x11 || arg1 == 0x22) {
// if (method == FILELOADMETHOD_EXTRAMEM || method == FILELOADMETHOD_DEFAULT) {
// // 124
// info = &g_FileInfo[filenum];
//
// // 13c
// if (info->unk00 == 0) {
// info->unk00 = (fileGetInflatedLength(filenum) + 0x20) & 0xfffffff0;
// if (info->loadedsize == 0) {
// info->loadedsize = (fileGetInflatedSize(filenum) + 0x20) & 0xfffffff0;
//
// // 164
// if (arg1 == 0x11) {
// info->unk00 += 0x8000;
// if (method == FILELOADMETHOD_EXTRAMEM) {
// info->loadedsize += 0x8000;
// }
// }
//
// // 174
// ptr = mempAlloc(info->unk00, MEMPOOL_STAGE);
// info->unk04 = info->unk00;
// func0f166eb4(ptr, info->unk00, &filetable[filenum], info);
// ptr = mempAlloc(info->loadedsize, MEMPOOL_STAGE);
// info->allocsize = info->loadedsize;
// fileLoad(ptr, info->loadedsize, &g_FileTable[filenum], info);
//
// if (arg1 != 0x11) {
// mempRealloc(ptr, info->unk00, MEMPOOL_STAGE);
// if (method != FILELOADMETHOD_EXTRAMEM) {
// mempRealloc(ptr, info->loadedsize, MEMPOOL_STAGE);
// }
// } else {
// while (true) {
@ -4626,7 +4666,7 @@ glabel func0f1670fc
//}
GLOBAL_ASM(
glabel func0f167200
glabel fileLoadToAddr
/* f167200: 27bdffe8 */ addiu $sp,$sp,-24
/* f167204: 24010011 */ addiu $at,$zero,0x11
/* f167208: afbf0014 */ sw $ra,0x14($sp)
@ -4646,12 +4686,12 @@ glabel func0f167200
/* f16723c: 01f83821 */ addu $a3,$t7,$t8
/* f167240: acf90004 */ sw $t9,0x4($a3)
/* f167244: 8fa80018 */ lw $t0,0x18($sp)
/* f167248: 3c0a8008 */ lui $t2,%hi(filetable)
/* f16724c: 254a2060 */ addiu $t2,$t2,%lo(filetable)
/* f167248: 3c0a8008 */ lui $t2,%hi(g_FileTable)
/* f16724c: 254a2060 */ addiu $t2,$t2,%lo(g_FileTable)
/* f167250: 00084880 */ sll $t1,$t0,0x2
/* f167254: 012a3021 */ addu $a2,$t1,$t2
/* f167258: 8fa50024 */ lw $a1,0x24($sp)
/* f16725c: 0fc59bad */ jal func0f166eb4
/* f16725c: 0fc59bad */ jal fileLoad
/* f167260: 8fa40020 */ lw $a0,0x20($sp)
/* f167264: 10000003 */ b .L0f167274
/* f167268: 8fbf0014 */ lw $ra,0x14($sp)
@ -4665,12 +4705,12 @@ glabel func0f167200
);
// Mismatch: Reordered instructions, most likely related to debug ifdefs.
//void *func0f167200(s32 filenum, s32 arg1, u8 *ptr, u32 size)
//void *fileLoadToAddr(s32 filenum, s32 method, u8 *ptr, u32 size)
//{
// if (arg1 == 0x11 || arg1 == 0x22) {
// g_FileInfo[filenum].unk04 = size;
// if (method == FILELOADMETHOD_EXTRAMEM || method == FILELOADMETHOD_DEFAULT) {
// g_FileInfo[filenum].allocsize = size;
//
// func0f166eb4(ptr, size, &filetable[filenum], &g_FileInfo[filenum]);
// fileLoad(ptr, size, &g_FileTable[filenum], &g_FileInfo[filenum]);
// } else {
// while (1);
// }
@ -4678,39 +4718,39 @@ glabel func0f167200
// return ptr;
//}
u32 fileGetSize(s32 filenum)
u32 fileGetLoadedSize(s32 filenum)
{
return g_FileInfo[filenum].size;
return g_FileInfo[filenum].loadedsize;
}
u32 fileGetUnk04(s32 filenum)
u32 fileGetAllocationSize(s32 filenum)
{
return g_FileInfo[filenum].unk04;
return g_FileInfo[filenum].allocsize;
}
void func0f1672a8(s32 filenum, void *ptr, u32 size, bool resizing)
void fileSetSize(s32 filenum, void *ptr, u32 size, bool reallocate)
{
g_FileInfo[filenum].size = size;
g_FileInfo[filenum].unk04 = size;
g_FileInfo[filenum].loadedsize = size;
g_FileInfo[filenum].allocsize = size;
if (resizing) {
mempRealloc(ptr, g_FileInfo[filenum].size, MEMPOOL_STAGE);
if (reallocate) {
mempRealloc(ptr, g_FileInfo[filenum].loadedsize, MEMPOOL_STAGE);
}
}
void func0f1672f0(u8 arg0)
void filesReset(u8 arg0)
{
s32 i;
// Minus 1 because the last entry in the file table is just a marker
for (i = 1; i < ARRAYCOUNT(filetable) - 1; i++) {
for (i = 1; i < ARRAYCOUNT(g_FileTable) - 1; i++) {
if (arg0 == 4) {
g_FileInfo[i].size = 0;
g_FileInfo[i].loadedsize = 0;
}
}
}
void func0f167330(void)
{
func0f1672f0(5);
filesReset(5);
}

View File

@ -59,7 +59,7 @@ glabel stageLoadCommonLang
/* f00b454: 8fa30018 */ lw $v1,0x18($sp)
/* f00b458: ac224774 */ sw $v0,0x4774($at)
/* f00b45c: 3c018008 */ lui $at,0x8008
/* f00b460: 0fc5bab6 */ jal lang0f16f6ecpf
/* f00b460: 0fc5bab6 */ jal langReload
/* f00b464: ac23477c */ sw $v1,0x477c($at)
/* f00b468: 8fbf0014 */ lw $ra,0x14($sp)
/* f00b46c: 27bd0020 */ addiu $sp,$sp,0x20
@ -118,7 +118,7 @@ glabel stageLoadCommonLang
/* f00b3d4: 8fa30018 */ lw $v1,0x18($sp)
/* f00b3d8: ac224664 */ sw $v0,0x4664($at)
/* f00b3dc: 3c018008 */ lui $at,0x8008
/* f00b3e0: 0fc5bdbb */ jal lang0f16f6ecpf
/* f00b3e0: 0fc5bdbb */ jal langReload
/* f00b3e4: ac23466c */ sw $v1,0x466c($at)
/* f00b3e8: 8fbf0014 */ lw $ra,0x14($sp)
/* f00b3ec: 27bd0020 */ addiu $sp,$sp,0x20
@ -177,7 +177,7 @@ glabel stageLoadCommonLang
/* f00b3d4: 8fa30018 */ lw $v1,0x18($sp)
/* f00b3d8: ac2265f4 */ sw $v0,0x65f4($at)
/* f00b3dc: 3c018008 */ lui $at,0x8008
/* f00b3e0: 0fc5c07b */ jal lang0f16f6ecpf
/* f00b3e0: 0fc5c07b */ jal langReload
/* f00b3e4: ac2365fc */ sw $v1,0x65fc($at)
/* f00b3e8: 8fbf0014 */ lw $ra,0x14($sp)
/* f00b3ec: 27bd0020 */ addiu $sp,$sp,0x20
@ -193,15 +193,15 @@ void stageLoadCommonLang(s32 stagenum)
g_LangBanks[i] = NULL;
}
g_LangBanks[LANGBANK_GUN] = func0f1670fc(langGetFileId(LANGBANK_GUN), 0x22);
g_LangBanks[LANGBANK_MPMENU] = func0f1670fc(langGetFileId(LANGBANK_MPMENU), 0x22);
g_LangBanks[LANGBANK_PROPOBJ] = func0f1670fc(langGetFileId(LANGBANK_PROPOBJ), 0x22);
g_LangBanks[LANGBANK_MPWEAPONS] = func0f1670fc(langGetFileId(LANGBANK_MPWEAPONS), 0x22);
g_LangBanks[LANGBANK_OPTIONS] = func0f1670fc(langGetFileId(LANGBANK_OPTIONS), 0x22);
g_LangBanks[LANGBANK_MISC] = func0f1670fc(langGetFileId(LANGBANK_MISC), 0x22);
g_LangBanks[LANGBANK_GUN] = fileLoadToNew(langGetFileId(LANGBANK_GUN), FILELOADMETHOD_DEFAULT);
g_LangBanks[LANGBANK_MPMENU] = fileLoadToNew(langGetFileId(LANGBANK_MPMENU), FILELOADMETHOD_DEFAULT);
g_LangBanks[LANGBANK_PROPOBJ] = fileLoadToNew(langGetFileId(LANGBANK_PROPOBJ), FILELOADMETHOD_DEFAULT);
g_LangBanks[LANGBANK_MPWEAPONS] = fileLoadToNew(langGetFileId(LANGBANK_MPWEAPONS), FILELOADMETHOD_DEFAULT);
g_LangBanks[LANGBANK_OPTIONS] = fileLoadToNew(langGetFileId(LANGBANK_OPTIONS), FILELOADMETHOD_DEFAULT);
g_LangBanks[LANGBANK_MISC] = fileLoadToNew(langGetFileId(LANGBANK_MISC), FILELOADMETHOD_DEFAULT);
if (stagenum == STAGE_CREDITS) {
g_LangBanks[LANGBANK_TITLE] = func0f1670fc(langGetFileId(LANGBANK_TITLE), 0x22);
g_LangBanks[LANGBANK_TITLE] = fileLoadToNew(langGetFileId(LANGBANK_TITLE), FILELOADMETHOD_DEFAULT);
}
}
#endif

View File

@ -3214,9 +3214,9 @@ glabel setupLoadBriefing
/* f00e9f4: 24050022 */ addiu $a1,$zero,0x22
/* f00e9f8: 02403025 */ or $a2,$s2,$zero
/* f00e9fc: 02a03825 */ or $a3,$s5,$zero
/* f00ea00: 0fc59c80 */ jal func0f167200
/* f00ea00: 0fc59c80 */ jal fileLoadToAddr
/* f00ea04: 00808025 */ or $s0,$a0,$zero
/* f00ea08: 0fc59ca0 */ jal fileGetSize
/* f00ea08: 0fc59ca0 */ jal fileGetLoadedSize
/* f00ea0c: 02002025 */ or $a0,$s0,$zero
/* f00ea10: 02428021 */ addu $s0,$s2,$v0
/* f00ea14: 02a2a023 */ subu $s4,$s5,$v0
@ -3225,7 +3225,7 @@ glabel setupLoadBriefing
/* f00ea20: a622001a */ sh $v0,0x1a($s1)
/* f00ea24: 3044ffff */ andi $a0,$v0,0xffff
/* f00ea28: 02002825 */ or $a1,$s0,$zero
/* f00ea2c: 0fc5b9d9 */ jal langSetBank
/* f00ea2c: 0fc5b9d9 */ jal langLoadToAddr
/* f00ea30: 02803025 */ or $a2,$s4,$zero
/* f00ea34: 8e580010 */ lw $t8,0x10($s2)
/* f00ea38: 02589821 */ addu $s3,$s2,$t8
@ -3349,9 +3349,9 @@ glabel setupLoadBriefing
/* f00e9f4: 24050022 */ addiu $a1,$zero,0x22
/* f00e9f8: 02403025 */ or $a2,$s2,$zero
/* f00e9fc: 02a03825 */ or $a3,$s5,$zero
/* f00ea00: 0fc59c80 */ jal func0f167200
/* f00ea00: 0fc59c80 */ jal fileLoadToAddr
/* f00ea04: 00808025 */ or $s0,$a0,$zero
/* f00ea08: 0fc59ca0 */ jal fileGetSize
/* f00ea08: 0fc59ca0 */ jal fileGetLoadedSize
/* f00ea0c: 02002025 */ or $a0,$s0,$zero
/* f00ea10: 02428021 */ addu $s0,$s2,$v0
/* f00ea14: 02a2a023 */ subu $s4,$s5,$v0
@ -3360,7 +3360,7 @@ glabel setupLoadBriefing
/* f00ea20: a622001a */ sh $v0,0x1a($s1)
/* f00ea24: 3044ffff */ andi $a0,$v0,0xffff
/* f00ea28: 02002825 */ or $a1,$s0,$zero
/* f00ea2c: 0fc5b9d9 */ jal langSetBank
/* f00ea2c: 0fc5b9d9 */ jal langLoadToAddr
/* f00ea30: 02803025 */ or $a2,$s4,$zero
/* f00ea34: 8e580010 */ lw $t8,0x10($s2)
/* f00ea38: 02589821 */ addu $s3,$s2,$t8
@ -3474,16 +3474,16 @@ glabel setupLoadBriefing
//
// if (g_Stages[stageindex].setupfileid);
//
// func0f167200(setupfilenum, 0x22, buffer, bufferlen);
// fileLoadToAddr(setupfilenum, FILELOADMETHOD_DEFAULT, buffer, bufferlen);
//
// setup = (struct stagesetup *)buffer;
// setupfilesize = fileGetSize(setupfilenum);
// setupfilesize = fileGetLoadedSize(setupfilenum);
// langbuffer = &buffer[setupfilesize];
// langbufferlen = bufferlen - setupfilesize;
//
// briefing->langbank = langGetLangBankIndexFromStagenum(stagenum);
//
// langSetBank(briefing->langbank, langbuffer, langbufferlen);
// langLoadToAddr(briefing->langbank, langbuffer, langbufferlen);
//
// obj = (struct defaultobj *)((u32)setup + (u32)setup->props);
//
@ -3563,9 +3563,9 @@ void setupLoadFiles(s32 stagenum)
g_LoadType = LOADTYPE_SETUP;
g_GeCreditsData = (u8 *)func0f1670fc(filenum, 0x22);
g_GeCreditsData = (u8 *)fileLoadToNew(filenum, FILELOADMETHOD_DEFAULT);
setup = (struct stagesetup *)g_GeCreditsData;
langSetBankSimple(langGetLangBankIndexFromStagenum(stagenum));
langLoad(langGetLangBankIndexFromStagenum(stagenum));
g_StageSetup.intro = (s32 *)((u32)setup + (u32)setup->intro);
g_StageSetup.props = (u32 *)((u32)setup + (u32)setup->props);
@ -3574,7 +3574,7 @@ void setupLoadFiles(s32 stagenum)
g_LoadType = LOADTYPE_PADS;
g_StageSetup.padfiledata = func0f1670fc(g_Stages[g_StageIndex].padsfileid, 0x22);
g_StageSetup.padfiledata = fileLoadToNew(g_Stages[g_StageIndex].padsfileid, FILELOADMETHOD_DEFAULT);
g_StageSetup.waypoints = NULL;
g_StageSetup.waygroups = NULL;

View File

@ -16,7 +16,7 @@ void stageLoadTiles(void)
}
g_LoadType = LOADTYPE_TILES;
g_TileFileData.u8 = func0f1670fc(g_Stages[index].tilefileid, 0x22);
g_TileFileData.u8 = fileLoadToNew(g_Stages[index].tilefileid, FILELOADMETHOD_DEFAULT);
g_TileNumRooms = *g_TileFileData.u32;
g_TileRooms = g_TileFileData.u32 + 1;

View File

@ -158,7 +158,7 @@ u32 bodyGetRace(s32 bodynum)
bool bodyLoad(s32 bodynum)
{
if (!g_HeadsAndBodies[bodynum].filedata) {
g_HeadsAndBodies[bodynum].filedata = fileLoad(g_HeadsAndBodies[bodynum].filenum);
g_HeadsAndBodies[bodynum].filedata = modeldefLoadToNew(g_HeadsAndBodies[bodynum].filenum);
return true;
}
@ -218,7 +218,7 @@ glabel var7f1a8a84
/* f02cf10: 8d03000c */ lw $v1,0xc($t0)
/* f02cf14: 54600007 */ bnezl $v1,.L0f02cf34
/* f02cf18: afa30050 */ sw $v1,0x50($sp)
/* f02cf1c: 0fc69e11 */ jal fileLoad
/* f02cf1c: 0fc69e11 */ jal modeldefLoadToNew
/* f02cf20: 95040002 */ lhu $a0,0x2($t0)
/* f02cf24: 8fa4001c */ lw $a0,0x1c($sp)
/* f02cf28: 00401825 */ or $v1,$v0,$zero
@ -273,7 +273,7 @@ glabel var7f1a8a84
/* f02cfe4: 000d6880 */ sll $t5,$t5,0x2
/* f02cfe8: 3c048008 */ lui $a0,%hi(g_HeadsAndBodies+0x2)
/* f02cfec: 008d2021 */ addu $a0,$a0,$t5
/* f02cff0: 0fc69e11 */ jal fileLoad
/* f02cff0: 0fc69e11 */ jal modeldefLoadToNew
/* f02cff4: 9484cf06 */ lhu $a0,%lo(g_HeadsAndBodies+0x2)($a0)
/* f02cff8: 8fa5004c */ lw $a1,0x4c($sp)
/* f02cffc: 3c0e8008 */ lui $t6,%hi(g_HeadsAndBodies)
@ -302,7 +302,7 @@ glabel var7f1a8a84
/* f02d054: 8c64000c */ lw $a0,0xc($v1)
/* f02d058: 5480000d */ bnezl $a0,.L0f02d090
/* f02d05c: afa40054 */ sw $a0,0x54($sp)
/* f02d060: 0fc69e11 */ jal fileLoad
/* f02d060: 0fc69e11 */ jal modeldefLoadToNew
/* f02d064: 94640002 */ lhu $a0,0x2($v1)
/* f02d068: 8fa7004c */ lw $a3,0x4c($sp)
/* f02d06c: 3c0a8008 */ lui $t2,%hi(g_HeadsAndBodies)
@ -518,7 +518,7 @@ glabel var7f1a8a84
//
// if (bodyfiledata == NULL) {
// if (g_HeadsAndBodies[bodynum].filedata == NULL) {
// g_HeadsAndBodies[bodynum].filedata = fileLoad(g_HeadsAndBodies[bodynum].filenum);
// g_HeadsAndBodies[bodynum].filedata = modeldefLoadToNew(g_HeadsAndBodies[bodynum].filenum);
// }
//
// bodyfiledata = g_HeadsAndBodies[bodynum].filedata;
@ -537,13 +537,13 @@ glabel var7f1a8a84
// } else if (headnum > 0) {
// if (headfiledata == NULL) {
// if (g_Vars.normmplayerisrunning && !IS4MB()) {
// headfiledata = fileLoad(g_HeadsAndBodies[headnum].filenum);
// headfiledata = modeldefLoadToNew(g_HeadsAndBodies[headnum].filenum);
// g_HeadsAndBodies[headnum].filedata = headfiledata;
// g_FileInfo[g_HeadsAndBodies[headnum].filenum].size = 0;
// bodyCalculateHeadOffset(headfiledata, headnum, bodynum);
// } else {
// if (g_HeadsAndBodies[headnum].filedata == NULL) {
// g_HeadsAndBodies[headnum].filedata = fileLoad(g_HeadsAndBodies[headnum].filenum);
// g_HeadsAndBodies[headnum].filedata = modeldefLoadToNew(g_HeadsAndBodies[headnum].filenum);
// }
//
// headfiledata = g_HeadsAndBodies[headnum].filedata;

View File

@ -152,7 +152,7 @@ u32 setupGetCommandIndexByProp(struct prop *prop)
bool modelLoad(s32 propnum)
{
if (g_ModelStates[propnum].filedata == NULL) {
g_ModelStates[propnum].filedata = fileLoad(g_ModelStates[propnum].fileid);
g_ModelStates[propnum].filedata = modeldefLoadToNew(g_ModelStates[propnum].fileid);
modelCalculateRwDataLen(g_ModelStates[propnum].filedata);
return true;
}

View File

@ -6244,7 +6244,7 @@ s32 propsndGetDuration60(s32 channelnum)
&& (channel->flags & AUDIOCHANNELFLAG_IDLE) == 0
&& (channel->flags & AUDIOCHANNELFLAG_0010)) {
s32 soundnum = channel->soundnum26;
return fileGetRomSizeByFileNum(soundnum & 0x7ff) * 60 / (1024 * 24 / 8);
return fileGetRomSize(soundnum & 0x7ff) * 60 / (1024 * 24 / 8);
}
return -1;

View File

@ -16,13 +16,13 @@ void func0f175f98(void)
{
func0f167330();
mempResetPool(MEMPOOL_5);
func0f1672f0(5);
filesReset(5);
}
void func0f175fc8(void)
{
mempDisablePool(MEMPOOL_5);
func0f1672f0(5);
filesReset(5);
}
char *func0f175ff0(void)

View File

@ -123,10 +123,10 @@ glabel func0f1a7560
/* f1a7594: afb40030 */ sw $s4,0x30($sp)
/* f1a7598: afb00020 */ sw $s0,0x20($sp)
/* f1a759c: afa50094 */ sw $a1,0x94($sp)
/* f1a75a0: 0fc59ca5 */ jal fileGetUnk04
/* f1a75a0: 0fc59ca5 */ jal fileGetAllocationSize
/* f1a75a4: afa40058 */ sw $a0,0x58($sp)
/* f1a75a8: 00408025 */ or $s0,$v0,$zero
/* f1a75ac: 0fc59ca0 */ jal fileGetSize
/* f1a75ac: 0fc59ca0 */ jal fileGetLoadedSize
/* f1a75b0: 8fa40058 */ lw $a0,0x58($sp)
/* f1a75b4: afa20088 */ sw $v0,0x88($sp)
/* f1a75b8: afa00074 */ sw $zero,0x74($sp)
@ -215,7 +215,7 @@ glabel func0f1a7560
/* f1a76ec: 01603025 */ or $a2,$t3,$zero
/* f1a76f0: 8fa40058 */ lw $a0,0x58($sp)
/* f1a76f4: 02602825 */ or $a1,$s3,$zero
/* f1a76f8: 0fc59caa */ jal func0f1672a8
/* f1a76f8: 0fc59caa */ jal fileSetSize
/* f1a76fc: 8fa700a4 */ lw $a3,0xa4($sp)
.L0f1a7700:
/* f1a7700: 8fbf0044 */ lw $ra,0x44($sp)
@ -246,31 +246,31 @@ void modelPromoteTypeToPointer(struct modelfiledata *filedata)
}
}
struct modelfiledata *func0f1a7794(u16 fileid, u8 *arg1, s32 arg2, s32 *arg3)
struct modelfiledata *modeldefLoad(u16 fileid, u8 *dst, s32 size, s32 *arg3)
{
struct modelfiledata *filedata;
g_LoadType = LOADTYPE_MODEL;
if (arg1) {
filedata = func0f167200(fileid, 0x11, arg1, arg2);
if (dst) {
filedata = fileLoadToAddr(fileid, FILELOADMETHOD_EXTRAMEM, dst, size);
} else {
filedata = func0f1670fc(fileid, 0x11);
filedata = fileLoadToNew(fileid, FILELOADMETHOD_EXTRAMEM);
}
modelPromoteTypeToPointer(filedata);
modelPromoteOffsetsToPointers(filedata, 0x5000000, (u32) filedata);
func0f1a7560(filedata, fileid, 0x5000000, filedata, arg3, arg1 == NULL);
func0f1a7560(filedata, fileid, 0x5000000, filedata, arg3, dst == NULL);
return filedata;
}
void *fileLoad(u16 fileid)
void *modeldefLoadToNew(u16 fileid)
{
return func0f1a7794(fileid, 0, 0, 0);
return modeldefLoad(fileid, NULL, 0, NULL);
}
void *func0f1a7878(u16 fileid, u8 *arg1, s32 arg2)
void *modeldefLoadToAddr(u16 fileid, u8 *dst, s32 size)
{
return func0f1a7794(fileid, arg1, arg2, 0);
return modeldefLoad(fileid, dst, size, NULL);
}

View File

@ -647,29 +647,29 @@ s32 langGetFileId(s32 bank)
return g_LangFiles[bank] + langGetFileNumOffset();
}
void langSetBankSimple(s32 bank)
void langLoad(s32 bank)
{
#if VERSION >= VERSION_PAL_BETA
s32 len = fileGetInflatedLength(langGetFileId(bank));
s32 len = fileGetInflatedSize(langGetFileId(bank));
if (var80084664pf + len + var8008466cpf - var80084668pf >= 0) {
s32 len2 = var80084664pf + var8008466cpf - var80084668pf;
len2 = len2 / 32 * 32;
g_LangBanks[bank] = func0f167200(langGetFileId(bank), 0x22, (u8 *)var80084668pf, len2);
g_LangBanks[bank] = fileLoadToAddr(langGetFileId(bank), FILELOADMETHOD_DEFAULT, (u8 *)var80084668pf, len2);
var80084668pf = align32(var80084668pf + len);
} else {
CRASH();
}
#else
s32 file_id = langGetFileId(bank);
g_LangBanks[bank] = func0f1670fc(file_id, 0x22);
g_LangBanks[bank] = fileLoadToNew(file_id, FILELOADMETHOD_DEFAULT);
#endif
}
void langSetBank(s32 bank, u8 *arg1, s32 arg2)
void langLoadToAddr(s32 bank, u8 *dst, s32 size)
{
s32 file_id = langGetFileId(bank);
g_LangBanks[bank] = func0f167200(file_id, 0x22, arg1, arg2);
g_LangBanks[bank] = fileLoadToAddr(file_id, FILELOADMETHOD_DEFAULT, dst, size);
}
void langClearBank(s32 bank)
@ -704,15 +704,15 @@ char *langGet(s32 textid)
}
#if VERSION >= VERSION_PAL_BETA
void lang0f16f6ecpf(void)
void langReload(void)
{
s32 i;
var80084668pf = align32(var80084664pf);
for (i = 0; i < 69; i++) {
for (i = 0; i < ARRAYCOUNT(g_LangBanks); i++) {
if (g_LangBanks[i] != NULL) {
langSetBankSimple(i);
langLoad(i);
}
}
}
@ -753,7 +753,7 @@ void langSetEuropean(u32 arg0)
break;
}
lang0f16f6ecpf();
langReload();
if (hasoptionslang) {
mpSetTeamNamesToDefault(teams);
@ -766,6 +766,6 @@ void langSetJpnEnabled(bool enable)
{
g_Jpn = enable ? true : false;
lang0f16f6ecpf();
langReload();
}
#endif

View File

@ -4123,7 +4123,7 @@ glabel var7f1b3658jf
/* f0f4718: 96220002 */ lhu $v0,0x2($s1)
/* f0f471c: 00402025 */ move $a0,$v0
/* f0f4720: a7a2040a */ sh $v0,0x40a($sp)
/* f0f4724: 0fc59d19 */ jal fileGetInflatedLength
/* f0f4724: 0fc59d19 */ jal fileGetInflatedSize
/* f0f4728: afa2003c */ sw $v0,0x3c($sp)
/* f0f472c: 8e2a0000 */ lw $t2,0x0($s1)
/* f0f4730: 2443003f */ addiu $v1,$v0,0x3f
@ -4144,7 +4144,7 @@ glabel var7f1b3658jf
/* f0f4768: 000f7880 */ sll $t7,$t7,0x2
/* f0f476c: 022f8821 */ addu $s1,$s1,$t7
/* f0f4770: 9631d506 */ lhu $s1,-0x2afa($s1)
/* f0f4774: 0fc59d19 */ jal fileGetInflatedLength
/* f0f4774: 0fc59d19 */ jal fileGetInflatedSize
/* f0f4778: 02202025 */ move $a0,$s1
/* f0f477c: 8fb80420 */ lw $t8,0x420($sp)
/* f0f4780: 2459003f */ addiu $t9,$v0,0x3f
@ -4168,10 +4168,10 @@ glabel var7f1b3658jf
/* f0f47c4: 8faf0404 */ lw $t7,0x404($sp)
/* f0f47c8: a60f056a */ sh $t7,0x56a($s0)
/* f0f47cc: 8fa60420 */ lw $a2,0x420($sp)
/* f0f47d0: 0fc6a0c5 */ jal func0f1a7794
/* f0f47d0: 0fc6a0c5 */ jal modeldefLoad
/* f0f47d4: 97a4040a */ lhu $a0,0x40a($sp)
/* f0f47d8: ae020054 */ sw $v0,0x54($s0)
/* f0f47dc: 0fc59da4 */ jal fileGetSize
/* f0f47dc: 0fc59da4 */ jal fileGetLoadedSize
/* f0f47e0: 8fa4003c */ lw $a0,0x3c($sp)
/* f0f47e4: 2443003f */ addiu $v1,$v0,0x3f
/* f0f47e8: 3479003f */ ori $t9,$v1,0x3f
@ -4191,10 +4191,10 @@ glabel var7f1b3658jf
/* f0f481c: afb10040 */ sw $s1,0x40($sp)
/* f0f4820: 01633023 */ subu $a2,$t3,$v1
/* f0f4824: 27a70410 */ addiu $a3,$sp,0x410
/* f0f4828: 0fc6a0c5 */ jal func0f1a7794
/* f0f4828: 0fc6a0c5 */ jal modeldefLoad
/* f0f482c: 01432821 */ addu $a1,$t2,$v1
/* f0f4830: ae020058 */ sw $v0,0x58($s0)
/* f0f4834: 0fc59da4 */ jal fileGetSize
/* f0f4834: 0fc59da4 */ jal fileGetLoadedSize
/* f0f4838: 8fa40040 */ lw $a0,0x40($sp)
/* f0f483c: 8e040058 */ lw $a0,0x58($s0)
/* f0f4840: 8fa50400 */ lw $a1,0x400($sp)
@ -4229,7 +4229,7 @@ glabel var7f1b3658jf
/* f0f48b0: 10000027 */ b .JF0f0f4950
/* f0f48b4: 8e0b000c */ lw $t3,0xc($s0)
.JF0f0f48b8:
/* f0f48b8: 0fc59d19 */ jal fileGetInflatedLength
/* f0f48b8: 0fc59d19 */ jal fileGetInflatedSize
/* f0f48bc: 00402025 */ move $a0,$v0
/* f0f48c0: 2443003f */ addiu $v1,$v0,0x3f
/* f0f48c4: 346f003f */ ori $t7,$v1,0x3f
@ -4248,10 +4248,10 @@ glabel var7f1b3658jf
/* f0f48f8: 8fa60420 */ lw $a2,0x420($sp)
/* f0f48fc: 9604000e */ lhu $a0,0xe($s0)
/* f0f4900: 8e050004 */ lw $a1,0x4($s0)
/* f0f4904: 0fc6a0c5 */ jal func0f1a7794
/* f0f4904: 0fc6a0c5 */ jal modeldefLoad
/* f0f4908: 27a70410 */ addiu $a3,$sp,0x410
/* f0f490c: ae020054 */ sw $v0,0x54($s0)
/* f0f4910: 0fc59da4 */ jal fileGetSize
/* f0f4910: 0fc59da4 */ jal fileGetLoadedSize
/* f0f4914: 8e04000c */ lw $a0,0xc($s0)
/* f0f4918: 0c008a0e */ jal modelCalculateRwDataLen
/* f0f491c: 8e040054 */ lw $a0,0x54($s0)
@ -5739,7 +5739,7 @@ glabel var7f1b3c40pf
/* f0f41d8: 96220002 */ lhu $v0,0x2($s1)
/* f0f41dc: 00402025 */ move $a0,$v0
/* f0f41e0: a7a2040a */ sh $v0,0x40a($sp)
/* f0f41e4: 0fc59ff5 */ jal fileGetInflatedLength
/* f0f41e4: 0fc59ff5 */ jal fileGetInflatedSize
/* f0f41e8: afa2003c */ sw $v0,0x3c($sp)
/* f0f41ec: 8e2a0000 */ lw $t2,0x0($s1)
/* f0f41f0: 2443003f */ addiu $v1,$v0,0x3f
@ -5760,7 +5760,7 @@ glabel var7f1b3c40pf
/* f0f4228: 000f7880 */ sll $t7,$t7,0x2
/* f0f422c: 022f8821 */ addu $s1,$s1,$t7
/* f0f4230: 9631d3d6 */ lhu $s1,-0x2c2a($s1)
/* f0f4234: 0fc59ff5 */ jal fileGetInflatedLength
/* f0f4234: 0fc59ff5 */ jal fileGetInflatedSize
/* f0f4238: 02202025 */ move $a0,$s1
/* f0f423c: 8fb80420 */ lw $t8,0x420($sp)
/* f0f4240: 2459003f */ addiu $t9,$v0,0x3f
@ -5784,10 +5784,10 @@ glabel var7f1b3c40pf
/* f0f4284: 8faf0404 */ lw $t7,0x404($sp)
/* f0f4288: a60f056a */ sh $t7,0x56a($s0)
/* f0f428c: 8fa60420 */ lw $a2,0x420($sp)
/* f0f4290: 0fc6a265 */ jal func0f1a7794
/* f0f4290: 0fc6a265 */ jal modeldefLoad
/* f0f4294: 97a4040a */ lhu $a0,0x40a($sp)
/* f0f4298: ae020054 */ sw $v0,0x54($s0)
/* f0f429c: 0fc5a080 */ jal fileGetSize
/* f0f429c: 0fc5a080 */ jal fileGetLoadedSize
/* f0f42a0: 8fa4003c */ lw $a0,0x3c($sp)
/* f0f42a4: 2443003f */ addiu $v1,$v0,0x3f
/* f0f42a8: 3479003f */ ori $t9,$v1,0x3f
@ -5807,10 +5807,10 @@ glabel var7f1b3c40pf
/* f0f42dc: afb10040 */ sw $s1,0x40($sp)
/* f0f42e0: 01633023 */ subu $a2,$t3,$v1
/* f0f42e4: 27a70410 */ addiu $a3,$sp,0x410
/* f0f42e8: 0fc6a265 */ jal func0f1a7794
/* f0f42e8: 0fc6a265 */ jal modeldefLoad
/* f0f42ec: 01432821 */ addu $a1,$t2,$v1
/* f0f42f0: ae020058 */ sw $v0,0x58($s0)
/* f0f42f4: 0fc5a080 */ jal fileGetSize
/* f0f42f4: 0fc5a080 */ jal fileGetLoadedSize
/* f0f42f8: 8fa40040 */ lw $a0,0x40($sp)
/* f0f42fc: 8e040058 */ lw $a0,0x58($s0)
/* f0f4300: 8fa50400 */ lw $a1,0x400($sp)
@ -5845,7 +5845,7 @@ glabel var7f1b3c40pf
/* f0f4370: 10000027 */ b .PF0f0f4410
/* f0f4374: 8e0b000c */ lw $t3,0xc($s0)
.PF0f0f4378:
/* f0f4378: 0fc59ff5 */ jal fileGetInflatedLength
/* f0f4378: 0fc59ff5 */ jal fileGetInflatedSize
/* f0f437c: 00402025 */ move $a0,$v0
/* f0f4380: 2443003f */ addiu $v1,$v0,0x3f
/* f0f4384: 346f003f */ ori $t7,$v1,0x3f
@ -5864,10 +5864,10 @@ glabel var7f1b3c40pf
/* f0f43b8: 8fa60420 */ lw $a2,0x420($sp)
/* f0f43bc: 9604000e */ lhu $a0,0xe($s0)
/* f0f43c0: 8e050004 */ lw $a1,0x4($s0)
/* f0f43c4: 0fc6a265 */ jal func0f1a7794
/* f0f43c4: 0fc6a265 */ jal modeldefLoad
/* f0f43c8: 27a70410 */ addiu $a3,$sp,0x410
/* f0f43cc: ae020054 */ sw $v0,0x54($s0)
/* f0f43d0: 0fc5a080 */ jal fileGetSize
/* f0f43d0: 0fc5a080 */ jal fileGetLoadedSize
/* f0f43d4: 8e04000c */ lw $a0,0xc($s0)
/* f0f43d8: 0c00898a */ jal modelCalculateRwDataLen
/* f0f43dc: 8e040054 */ lw $a0,0x54($s0)
@ -7345,7 +7345,7 @@ glabel var7f1b3c40pf
/* f0f3ff0: 96220002 */ lhu $v0,0x2($s1)
/* f0f3ff4: 00402025 */ move $a0,$v0
/* f0f3ff8: a7a2040a */ sh $v0,0x40a($sp)
/* f0f3ffc: 0fc5a1b1 */ jal fileGetInflatedLength
/* f0f3ffc: 0fc5a1b1 */ jal fileGetInflatedSize
/* f0f4000: afa2003c */ sw $v0,0x3c($sp)
/* f0f4004: 8e2a0000 */ lw $t2,0x0($s1)
/* f0f4008: 2443003f */ addiu $v1,$v0,0x3f
@ -7366,7 +7366,7 @@ glabel var7f1b3c40pf
/* f0f4040: 000f7880 */ sll $t7,$t7,0x2
/* f0f4044: 022f8821 */ addu $s1,$s1,$t7
/* f0f4048: 9631f3d6 */ lhu $s1,-0xc2a($s1)
/* f0f404c: 0fc5a1b1 */ jal fileGetInflatedLength
/* f0f404c: 0fc5a1b1 */ jal fileGetInflatedSize
/* f0f4050: 02202025 */ move $a0,$s1
/* f0f4054: 8fb80420 */ lw $t8,0x420($sp)
/* f0f4058: 2459003f */ addiu $t9,$v0,0x3f
@ -7390,10 +7390,10 @@ glabel var7f1b3c40pf
/* f0f409c: 8faf0404 */ lw $t7,0x404($sp)
/* f0f40a0: a60f056a */ sh $t7,0x56a($s0)
/* f0f40a4: 8fa60420 */ lw $a2,0x420($sp)
/* f0f40a8: 0fc6a511 */ jal func0f1a7794
/* f0f40a8: 0fc6a511 */ jal modeldefLoad
/* f0f40ac: 97a4040a */ lhu $a0,0x40a($sp)
/* f0f40b0: ae020054 */ sw $v0,0x54($s0)
/* f0f40b4: 0fc5a23c */ jal fileGetSize
/* f0f40b4: 0fc5a23c */ jal fileGetLoadedSize
/* f0f40b8: 8fa4003c */ lw $a0,0x3c($sp)
/* f0f40bc: 2443003f */ addiu $v1,$v0,0x3f
/* f0f40c0: 3479003f */ ori $t9,$v1,0x3f
@ -7413,10 +7413,10 @@ glabel var7f1b3c40pf
/* f0f40f4: afb10040 */ sw $s1,0x40($sp)
/* f0f40f8: 01633023 */ subu $a2,$t3,$v1
/* f0f40fc: 27a70410 */ addiu $a3,$sp,0x410
/* f0f4100: 0fc6a511 */ jal func0f1a7794
/* f0f4100: 0fc6a511 */ jal modeldefLoad
/* f0f4104: 01432821 */ addu $a1,$t2,$v1
/* f0f4108: ae020058 */ sw $v0,0x58($s0)
/* f0f410c: 0fc5a23c */ jal fileGetSize
/* f0f410c: 0fc5a23c */ jal fileGetLoadedSize
/* f0f4110: 8fa40040 */ lw $a0,0x40($sp)
/* f0f4114: 8e040058 */ lw $a0,0x58($s0)
/* f0f4118: 8fa50400 */ lw $a1,0x400($sp)
@ -7451,7 +7451,7 @@ glabel var7f1b3c40pf
/* f0f4188: 10000027 */ b .PB0f0f4228
/* f0f418c: 8e0b000c */ lw $t3,0xc($s0)
.PB0f0f4190:
/* f0f4190: 0fc5a1b1 */ jal fileGetInflatedLength
/* f0f4190: 0fc5a1b1 */ jal fileGetInflatedSize
/* f0f4194: 00402025 */ move $a0,$v0
/* f0f4198: 2443003f */ addiu $v1,$v0,0x3f
/* f0f419c: 346f003f */ ori $t7,$v1,0x3f
@ -7470,10 +7470,10 @@ glabel var7f1b3c40pf
/* f0f41d0: 8fa60420 */ lw $a2,0x420($sp)
/* f0f41d4: 9604000e */ lhu $a0,0xe($s0)
/* f0f41d8: 8e050004 */ lw $a1,0x4($s0)
/* f0f41dc: 0fc6a511 */ jal func0f1a7794
/* f0f41dc: 0fc6a511 */ jal modeldefLoad
/* f0f41e0: 27a70410 */ addiu $a3,$sp,0x410
/* f0f41e4: ae020054 */ sw $v0,0x54($s0)
/* f0f41e8: 0fc5a23c */ jal fileGetSize
/* f0f41e8: 0fc5a23c */ jal fileGetLoadedSize
/* f0f41ec: 8e04000c */ lw $a0,0xc($s0)
/* f0f41f0: 0c008cba */ jal modelCalculateRwDataLen
/* f0f41f4: 8e040054 */ lw $a0,0x54($s0)
@ -8947,7 +8947,7 @@ glabel var7f1b2948
/* f0f3a84: 96220002 */ lhu $v0,0x2($s1)
/* f0f3a88: 00402025 */ or $a0,$v0,$zero
/* f0f3a8c: a7a2040a */ sh $v0,0x40a($sp)
/* f0f3a90: 0fc59c15 */ jal fileGetInflatedLength
/* f0f3a90: 0fc59c15 */ jal fileGetInflatedSize
/* f0f3a94: afa2003c */ sw $v0,0x3c($sp)
/* f0f3a98: 8e2d0000 */ lw $t5,0x0($s1)
/* f0f3a9c: 2443003f */ addiu $v1,$v0,0x3f
@ -8968,7 +8968,7 @@ glabel var7f1b2948
/* f0f3ad4: 000a5080 */ sll $t2,$t2,0x2
/* f0f3ad8: 022a8821 */ addu $s1,$s1,$t2
/* f0f3adc: 9631cf06 */ lhu $s1,%lo(g_HeadsAndBodies+0x2)($s1)
/* f0f3ae0: 0fc59c15 */ jal fileGetInflatedLength
/* f0f3ae0: 0fc59c15 */ jal fileGetInflatedSize
/* f0f3ae4: 02202025 */ or $a0,$s1,$zero
/* f0f3ae8: 8fab0420 */ lw $t3,0x420($sp)
/* f0f3aec: 244c003f */ addiu $t4,$v0,0x3f
@ -8992,10 +8992,10 @@ glabel var7f1b2948
/* f0f3b30: 8fac0404 */ lw $t4,0x404($sp)
/* f0f3b34: a60c056a */ sh $t4,0x56a($s0)
/* f0f3b38: 8fa60420 */ lw $a2,0x420($sp)
/* f0f3b3c: 0fc69de5 */ jal func0f1a7794
/* f0f3b3c: 0fc69de5 */ jal modeldefLoad
/* f0f3b40: 97a4040a */ lhu $a0,0x40a($sp)
/* f0f3b44: ae020054 */ sw $v0,0x54($s0)
/* f0f3b48: 0fc59ca0 */ jal fileGetSize
/* f0f3b48: 0fc59ca0 */ jal fileGetLoadedSize
/* f0f3b4c: 8fa4003c */ lw $a0,0x3c($sp)
/* f0f3b50: 2443003f */ addiu $v1,$v0,0x3f
/* f0f3b54: 346d003f */ ori $t5,$v1,0x3f
@ -9015,10 +9015,10 @@ glabel var7f1b2948
/* f0f3b88: afb10040 */ sw $s1,0x40($sp)
/* f0f3b8c: 03033023 */ subu $a2,$t8,$v1
/* f0f3b90: 27a70410 */ addiu $a3,$sp,0x410
/* f0f3b94: 0fc69de5 */ jal func0f1a7794
/* f0f3b94: 0fc69de5 */ jal modeldefLoad
/* f0f3b98: 01e32821 */ addu $a1,$t7,$v1
/* f0f3b9c: ae020058 */ sw $v0,0x58($s0)
/* f0f3ba0: 0fc59ca0 */ jal fileGetSize
/* f0f3ba0: 0fc59ca0 */ jal fileGetLoadedSize
/* f0f3ba4: 8fa40040 */ lw $a0,0x40($sp)
/* f0f3ba8: 8e040058 */ lw $a0,0x58($s0)
/* f0f3bac: 8fa50400 */ lw $a1,0x400($sp)
@ -9053,7 +9053,7 @@ glabel var7f1b2948
/* f0f3c1c: 10000027 */ b .L0f0f3cbc
/* f0f3c20: 8e19000c */ lw $t9,0xc($s0)
.L0f0f3c24:
/* f0f3c24: 0fc59c15 */ jal fileGetInflatedLength
/* f0f3c24: 0fc59c15 */ jal fileGetInflatedSize
/* f0f3c28: 00402025 */ or $a0,$v0,$zero
/* f0f3c2c: 2443003f */ addiu $v1,$v0,0x3f
/* f0f3c30: 346d003f */ ori $t5,$v1,0x3f
@ -9072,10 +9072,10 @@ glabel var7f1b2948
/* f0f3c64: 8fa60420 */ lw $a2,0x420($sp)
/* f0f3c68: 9604000e */ lhu $a0,0xe($s0)
/* f0f3c6c: 8e050004 */ lw $a1,0x4($s0)
/* f0f3c70: 0fc69de5 */ jal func0f1a7794
/* f0f3c70: 0fc69de5 */ jal modeldefLoad
/* f0f3c74: 27a70410 */ addiu $a3,$sp,0x410
/* f0f3c78: ae020054 */ sw $v0,0x54($s0)
/* f0f3c7c: 0fc59ca0 */ jal fileGetSize
/* f0f3c7c: 0fc59ca0 */ jal fileGetLoadedSize
/* f0f3c80: 8e04000c */ lw $a0,0xc($s0)
/* f0f3c84: 0c008b49 */ jal modelCalculateRwDataLen
/* f0f3c88: 8e040054 */ lw $a0,0x54($s0)
@ -10556,7 +10556,7 @@ glabel var7f1b2948
/* f0f05c8: 96020002 */ lhu $v0,0x2($s0)
/* f0f05cc: 00402025 */ or $a0,$v0,$zero
/* f0f05d0: a7a20432 */ sh $v0,0x432($sp)
/* f0f05d4: 0fc58635 */ jal fileGetInflatedLength
/* f0f05d4: 0fc58635 */ jal fileGetInflatedSize
/* f0f05d8: afa20040 */ sw $v0,0x40($sp)
/* f0f05dc: 8e0d0000 */ lw $t5,0x0($s0)
/* f0f05e0: 2443003f */ addiu $v1,$v0,0x3f
@ -10577,7 +10577,7 @@ glabel var7f1b2948
/* f0f0618: 000a5080 */ sll $t2,$t2,0x2
/* f0f061c: 020a8021 */ addu $s0,$s0,$t2
/* f0f0620: 9610f766 */ lhu $s0,-0x89a($s0)
/* f0f0624: 0fc58635 */ jal fileGetInflatedLength
/* f0f0624: 0fc58635 */ jal fileGetInflatedSize
/* f0f0628: 02002025 */ or $a0,$s0,$zero
/* f0f062c: 8fab0448 */ lw $t3,0x448($sp)
/* f0f0630: 244c003f */ addiu $t4,$v0,0x3f
@ -10601,10 +10601,10 @@ glabel var7f1b2948
/* f0f0674: 8fac042c */ lw $t4,0x42c($sp)
/* f0f0678: a62c056a */ sh $t4,0x56a($s1)
/* f0f067c: 8fa60448 */ lw $a2,0x448($sp)
/* f0f0680: 0c0091a1 */ jal func0f1a7794
/* f0f0680: 0c0091a1 */ jal modeldefLoad
/* f0f0684: 97a40432 */ lhu $a0,0x432($sp)
/* f0f0688: ae220054 */ sw $v0,0x54($s1)
/* f0f068c: 0fc586ed */ jal fileGetSize
/* f0f068c: 0fc586ed */ jal fileGetLoadedSize
/* f0f0690: 8fa40040 */ lw $a0,0x40($sp)
/* f0f0694: 2443003f */ addiu $v1,$v0,0x3f
/* f0f0698: 346d003f */ ori $t5,$v1,0x3f
@ -10624,10 +10624,10 @@ glabel var7f1b2948
/* f0f06cc: afb00044 */ sw $s0,0x44($sp)
/* f0f06d0: 03033023 */ subu $a2,$t8,$v1
/* f0f06d4: 27a70438 */ addiu $a3,$sp,0x438
/* f0f06d8: 0c0091a1 */ jal func0f1a7794
/* f0f06d8: 0c0091a1 */ jal modeldefLoad
/* f0f06dc: 01e32821 */ addu $a1,$t7,$v1
/* f0f06e0: ae220058 */ sw $v0,0x58($s1)
/* f0f06e4: 0fc586ed */ jal fileGetSize
/* f0f06e4: 0fc586ed */ jal fileGetLoadedSize
/* f0f06e8: 8fa40044 */ lw $a0,0x44($sp)
/* f0f06ec: 8e240058 */ lw $a0,0x58($s1)
/* f0f06f0: 8fa50428 */ lw $a1,0x428($sp)
@ -10662,7 +10662,7 @@ glabel var7f1b2948
/* f0f0760: 10000027 */ beqz $zero,.NB0f0f0800
/* f0f0764: 8e39000c */ lw $t9,0xc($s1)
.NB0f0f0768:
/* f0f0768: 0fc58635 */ jal fileGetInflatedLength
/* f0f0768: 0fc58635 */ jal fileGetInflatedSize
/* f0f076c: 00402025 */ or $a0,$v0,$zero
/* f0f0770: 2443003f */ addiu $v1,$v0,0x3f
/* f0f0774: 346d003f */ ori $t5,$v1,0x3f
@ -10681,10 +10681,10 @@ glabel var7f1b2948
/* f0f07a8: 8fa60448 */ lw $a2,0x448($sp)
/* f0f07ac: 9624000e */ lhu $a0,0xe($s1)
/* f0f07b0: 8e250004 */ lw $a1,0x4($s1)
/* f0f07b4: 0c0091a1 */ jal func0f1a7794
/* f0f07b4: 0c0091a1 */ jal modeldefLoad
/* f0f07b8: 27a70438 */ addiu $a3,$sp,0x438
/* f0f07bc: ae220054 */ sw $v0,0x54($s1)
/* f0f07c0: 0fc586ed */ jal fileGetSize
/* f0f07c0: 0fc586ed */ jal fileGetLoadedSize
/* f0f07c4: 8e24000c */ lw $a0,0xc($s1)
/* f0f07c8: 0c008f6f */ jal modelCalculateRwDataLen
/* f0f07cc: 8e240054 */ lw $a0,0x54($s1)
@ -12142,14 +12142,14 @@ glabel var7f1b2948
// }
//
// bodyfilenum = g_HeadsAndBodies[bodynum].filenum;
// totalfilelen = ALIGN64(fileGetInflatedLength(g_HeadsAndBodies[bodynum].filenum));
// totalfilelen = ALIGN64(fileGetInflatedSize(g_HeadsAndBodies[bodynum].filenum));
//
// if (g_HeadsAndBodies[bodynum].unk00_01) {
// headnum = -1;
// headfilenum = 0xffff;
// } else {
// headfilenum = g_HeadsAndBodies[headnum].filenum;
// totalfilelen += ALIGN64(fileGetInflatedLength(headfilenum));
// totalfilelen += ALIGN64(fileGetInflatedSize(headfilenum));
// }
//
// totalfilelen += 0x4000;
@ -12158,15 +12158,15 @@ glabel var7f1b2948
//
// thing->headnum = headnum;
// thing->bodynum = bodynum;
// thing->bodymodeldef = func0f1a7794(bodyfilenum, thing->unk004, totalfilelen, &sp410);
// bodyfilelen2 = ALIGN64(fileGetSize(bodyfilenum));
// thing->bodymodeldef = modeldefLoad(bodyfilenum, thing->unk004, totalfilelen, &sp410);
// bodyfilelen2 = ALIGN64(fileGetLoadedSize(bodyfilenum));
// modelCalculateRwDataLen(thing->bodymodeldef);
//
// if (headnum < 0) {
// thing->headmodeldef = NULL;
// } else {
// thing->headmodeldef = func0f1a7794(headfilenum, thing->unk004 + bodyfilelen2, totalfilelen - bodyfilelen2, &sp410);
// fileGetSize(headfilenum);
// thing->headmodeldef = modeldefLoad(headfilenum, thing->unk004 + bodyfilelen2, totalfilelen - bodyfilelen2, &sp410);
// fileGetLoadedSize(headfilenum);
// bodyCalculateHeadOffset(thing->headmodeldef, headnum, bodynum);
// modelCalculateRwDataLen(thing->headmodeldef);
// }
@ -12179,15 +12179,15 @@ glabel var7f1b2948
//
// func0f02ce8c(bodynum, headnum, thing->bodymodeldef, thing->headmodeldef, false, &thing->bodymodel, false, 1);
// } else {
// totalfilelen = ALIGN64(fileGetInflatedLength(thing->unk00c)) + 0x4000;
// totalfilelen = ALIGN64(fileGetInflatedSize(thing->unk00c)) + 0x4000;
//
// func0f172e70(&sp410, thing->unk004 + totalfilelen, thing->unk008 - totalfilelen);
//
// thing->headnum = -1;
// thing->bodynum = -1;
// thing->bodymodeldef = func0f1a7794(thing->unk00c, thing->unk004, totalfilelen, &sp410);
// thing->bodymodeldef = modeldefLoad(thing->unk00c, thing->unk004, totalfilelen, &sp410);
//
// fileGetSize(thing->unk00c);
// fileGetLoadedSize(thing->unk00c);
// modelCalculateRwDataLen(thing->bodymodeldef);
// modelInit(&thing->bodymodel, thing->bodymodeldef, &thing->unk110, true);
// animInit(&thing->bodyanim);

View File

@ -1386,26 +1386,26 @@ void playerTickChrBody(void)
offset1 += sizeof(struct weaponobj);
offset1 = ALIGN64(offset1);
offset2 = offset1 + ALIGN64(fileGetInflatedLength(g_HeadsAndBodies[bodynum].filenum));
offset2 = offset1 + ALIGN64(fileGetInflatedSize(g_HeadsAndBodies[bodynum].filenum));
if (headnum >= 0) {
offset2 += ALIGN64(fileGetInflatedLength(g_HeadsAndBodies[headnum].filenum));
offset2 += ALIGN64(fileGetInflatedSize(g_HeadsAndBodies[headnum].filenum));
}
if (weaponmodelnum >= 0) {
offset2 += ALIGN64(fileGetInflatedLength(g_ModelStates[weaponmodelnum].fileid));
offset2 += ALIGN64(fileGetInflatedSize(g_ModelStates[weaponmodelnum].fileid));
}
offset2 += 0x4000;
bgunCalculateGunMemCapacity();
spe8 = g_Vars.currentplayer->gunmem2 + offset2;
func0f172e70(sp100, spe8, bgunCalculateGunMemCapacity() - offset2);
bodyfiledata = func0f1a7794(g_HeadsAndBodies[bodynum].filenum, allocation + offset1, offset2 - offset1, sp100);
offset1 = ALIGN64(fileGetSize(g_HeadsAndBodies[bodynum].filenum) + offset1);
bodyfiledata = modeldefLoad(g_HeadsAndBodies[bodynum].filenum, allocation + offset1, offset2 - offset1, sp100);
offset1 = ALIGN64(fileGetLoadedSize(g_HeadsAndBodies[bodynum].filenum) + offset1);
if (headnum >= 0) {
headfiledata = func0f1a7794(g_HeadsAndBodies[headnum].filenum, allocation + offset1, offset2 - offset1, sp100);
offset1 = ALIGN64(fileGetSize(g_HeadsAndBodies[headnum].filenum) + offset1);
headfiledata = modeldefLoad(g_HeadsAndBodies[headnum].filenum, allocation + offset1, offset2 - offset1, sp100);
offset1 = ALIGN64(fileGetLoadedSize(g_HeadsAndBodies[headnum].filenum) + offset1);
}
modelCalculateRwDataLen(bodyfiledata);
@ -1431,7 +1431,7 @@ void playerTickChrBody(void)
} else {
// 2-4 players
if (g_HeadsAndBodies[bodynum].filedata == NULL) {
g_HeadsAndBodies[bodynum].filedata = fileLoad(g_HeadsAndBodies[bodynum].filenum);
g_HeadsAndBodies[bodynum].filedata = modeldefLoadToNew(g_HeadsAndBodies[bodynum].filenum);
}
bodyfiledata = g_HeadsAndBodies[bodynum].filedata;
@ -1441,13 +1441,13 @@ void playerTickChrBody(void)
} else if (sp60) {
headfiledata = func0f18e57c(headnum, &headnum);
} else if (g_Vars.normmplayerisrunning && IS8MB()) {
g_HeadsAndBodies[headnum].filedata = fileLoad(g_HeadsAndBodies[headnum].filenum);
g_HeadsAndBodies[headnum].filedata = modeldefLoadToNew(g_HeadsAndBodies[headnum].filenum);
headfiledata = g_HeadsAndBodies[headnum].filedata;
g_FileInfo[g_HeadsAndBodies[headnum].filenum].size = 0;
g_FileInfo[g_HeadsAndBodies[headnum].filenum].loadedsize = 0;
bodyCalculateHeadOffset(headfiledata, headnum, bodynum);
} else {
if (g_HeadsAndBodies[headnum].filedata == NULL) {
g_HeadsAndBodies[headnum].filedata = fileLoad(g_HeadsAndBodies[headnum].filenum);
g_HeadsAndBodies[headnum].filedata = modeldefLoadToNew(g_HeadsAndBodies[headnum].filenum);
}
headfiledata = g_HeadsAndBodies[headnum].filedata;
@ -1502,8 +1502,8 @@ void playerTickChrBody(void)
if (weaponmodelnum >= 0) {
if (g_Vars.mplayerisrunning == false) {
weaponfiledata = func0f1a7794(g_ModelStates[weaponmodelnum].fileid, allocation + offset1, offset2 - offset1, sp100);
fileGetSize(g_ModelStates[weaponmodelnum].fileid);
weaponfiledata = modeldefLoad(g_ModelStates[weaponmodelnum].fileid, allocation + offset1, offset2 - offset1, sp100);
fileGetLoadedSize(g_ModelStates[weaponmodelnum].fileid);
modelCalculateRwDataLen(weaponfiledata);
} else {
weaponobj = NULL;

View File

@ -1736,10 +1736,10 @@ glabel var7f1a8f68jf
/* f016ffc: 96040244 */ lhu $a0,0x244($s0)
/* f017000: 34c67800 */ ori $a2,$a2,0x7800
/* f017004: 02202825 */ move $a1,$s1
/* f017008: 0fc6a0c5 */ jal func0f1a7794
/* f017008: 0fc6a0c5 */ jal modeldefLoad
/* f01700c: 00003825 */ move $a3,$zero
/* f017010: ae020240 */ sw $v0,0x240($s0)
/* f017014: 0fc59da4 */ jal fileGetSize
/* f017014: 0fc59da4 */ jal fileGetLoadedSize
/* f017018: 96040244 */ lhu $a0,0x244($s0)
/* f01701c: 2443003f */ addiu $v1,$v0,0x3f
/* f017020: 346a003f */ ori $t2,$v1,0x3f
@ -1774,10 +1774,10 @@ glabel var7f1a8f68jf
/* f017094: ada10008 */ sw $at,0x8($t5)
/* f017098: 9604024c */ lhu $a0,0x24c($s0)
/* f01709c: 02403025 */ move $a2,$s2
/* f0170a0: 0fc6a0c5 */ jal func0f1a7794
/* f0170a0: 0fc6a0c5 */ jal modeldefLoad
/* f0170a4: 00003825 */ move $a3,$zero
/* f0170a8: ae020248 */ sw $v0,0x248($s0)
/* f0170ac: 0fc59da4 */ jal fileGetSize
/* f0170ac: 0fc59da4 */ jal fileGetLoadedSize
/* f0170b0: 9604024c */ lhu $a0,0x24c($s0)
/* f0170b4: 2443003f */ addiu $v1,$v0,0x3f
/* f0170b8: 3479003f */ ori $t9,$v1,0x3f
@ -1810,10 +1810,10 @@ glabel var7f1a8f68jf
/* f017124: ad610008 */ sw $at,0x8($t3)
/* f017128: 9604026c */ lhu $a0,0x26c($s0)
/* f01712c: 02403025 */ move $a2,$s2
/* f017130: 0fc6a0c5 */ jal func0f1a7794
/* f017130: 0fc6a0c5 */ jal modeldefLoad
/* f017134: 00003825 */ move $a3,$zero
/* f017138: ae020268 */ sw $v0,0x268($s0)
/* f01713c: 0fc59da4 */ jal fileGetSize
/* f01713c: 0fc59da4 */ jal fileGetLoadedSize
/* f017140: 9604026c */ lhu $a0,0x26c($s0)
/* f017144: 2443003f */ addiu $v1,$v0,0x3f
/* f017148: 3478003f */ ori $t8,$v1,0x3f
@ -1846,10 +1846,10 @@ glabel var7f1a8f68jf
/* f0171b4: af210008 */ sw $at,0x8($t9)
/* f0171b8: 96040dcc */ lhu $a0,0xdcc($s0)
/* f0171bc: 02403025 */ move $a2,$s2
/* f0171c0: 0fc6a0c5 */ jal func0f1a7794
/* f0171c0: 0fc6a0c5 */ jal modeldefLoad
/* f0171c4: 00003825 */ move $a3,$zero
/* f0171c8: ae020dc8 */ sw $v0,0xdc8($s0)
/* f0171cc: 0fc59da4 */ jal fileGetSize
/* f0171cc: 0fc59da4 */ jal fileGetLoadedSize
/* f0171d0: 96040dcc */ lhu $a0,0xdcc($s0)
/* f0171d4: 2443003f */ addiu $v1,$v0,0x3f
/* f0171d8: 346c003f */ ori $t4,$v1,0x3f
@ -1885,10 +1885,10 @@ glabel var7f1a8f68jf
/* f017250: 96040dd4 */ lhu $a0,0xdd4($s0)
/* f017254: 02202825 */ move $a1,$s1
/* f017258: 02403025 */ move $a2,$s2
/* f01725c: 0fc6a0c5 */ jal func0f1a7794
/* f01725c: 0fc6a0c5 */ jal modeldefLoad
/* f017260: 00003825 */ move $a3,$zero
/* f017264: ae020dd0 */ sw $v0,0xdd0($s0)
/* f017268: 0fc59da4 */ jal fileGetSize
/* f017268: 0fc59da4 */ jal fileGetLoadedSize
/* f01726c: 96040dd4 */ lhu $a0,0xdd4($s0)
/* f017270: 2443003f */ addiu $v1,$v0,0x3f
/* f017274: 3478003f */ ori $t8,$v1,0x3f
@ -1921,10 +1921,10 @@ glabel var7f1a8f68jf
/* f0172e0: adc10008 */ sw $at,0x8($t6)
/* f0172e4: 96040274 */ lhu $a0,0x274($s0)
/* f0172e8: 02403025 */ move $a2,$s2
/* f0172ec: 0fc6a0c5 */ jal func0f1a7794
/* f0172ec: 0fc6a0c5 */ jal modeldefLoad
/* f0172f0: 00003825 */ move $a3,$zero
/* f0172f4: ae020270 */ sw $v0,0x270($s0)
/* f0172f8: 0fc59da4 */ jal fileGetSize
/* f0172f8: 0fc59da4 */ jal fileGetLoadedSize
/* f0172fc: 96040274 */ lhu $a0,0x274($s0)
/* f017300: 2443003f */ addiu $v1,$v0,0x3f
/* f017304: 346c003f */ ori $t4,$v1,0x3f
@ -2022,10 +2022,10 @@ glabel titleInitPdLogo
/* f016d88: 96240244 */ lhu $a0,0x244($s1)
/* f016d8c: 34c67800 */ ori $a2,$a2,0x7800
/* f016d90: 00003825 */ or $a3,$zero,$zero
/* f016d94: 0fc69de5 */ jal func0f1a7794
/* f016d94: 0fc69de5 */ jal modeldefLoad
/* f016d98: 02002825 */ or $a1,$s0,$zero
/* f016d9c: ae220240 */ sw $v0,0x240($s1)
/* f016da0: 0fc59ca0 */ jal fileGetSize
/* f016da0: 0fc59ca0 */ jal fileGetLoadedSize
/* f016da4: 96240244 */ lhu $a0,0x244($s1)
/* f016da8: 2443003f */ addiu $v1,$v0,0x3f
/* f016dac: 3469003f */ ori $t1,$v1,0x3f
@ -2060,10 +2060,10 @@ glabel titleInitPdLogo
/* f016e20: ad810008 */ sw $at,0x8($t4)
/* f016e24: 9624024c */ lhu $a0,0x24c($s1)
/* f016e28: 02403025 */ or $a2,$s2,$zero
/* f016e2c: 0fc69de5 */ jal func0f1a7794
/* f016e2c: 0fc69de5 */ jal modeldefLoad
/* f016e30: 00003825 */ or $a3,$zero,$zero
/* f016e34: ae220248 */ sw $v0,0x248($s1)
/* f016e38: 0fc59ca0 */ jal fileGetSize
/* f016e38: 0fc59ca0 */ jal fileGetLoadedSize
/* f016e3c: 9624024c */ lhu $a0,0x24c($s1)
/* f016e40: 2443003f */ addiu $v1,$v0,0x3f
/* f016e44: 346e003f */ ori $t6,$v1,0x3f
@ -2096,10 +2096,10 @@ glabel titleInitPdLogo
/* f016eb0: ad010008 */ sw $at,0x8($t0)
/* f016eb4: 9624026c */ lhu $a0,0x26c($s1)
/* f016eb8: 02403025 */ or $a2,$s2,$zero
/* f016ebc: 0fc69de5 */ jal func0f1a7794
/* f016ebc: 0fc69de5 */ jal modeldefLoad
/* f016ec0: 00003825 */ or $a3,$zero,$zero
/* f016ec4: ae220268 */ sw $v0,0x268($s1)
/* f016ec8: 0fc59ca0 */ jal fileGetSize
/* f016ec8: 0fc59ca0 */ jal fileGetLoadedSize
/* f016ecc: 9624026c */ lhu $a0,0x26c($s1)
/* f016ed0: 2443003f */ addiu $v1,$v0,0x3f
/* f016ed4: 3479003f */ ori $t9,$v1,0x3f
@ -2132,10 +2132,10 @@ glabel titleInitPdLogo
/* f016f40: ada10008 */ sw $at,0x8($t5)
/* f016f44: 96240274 */ lhu $a0,0x274($s1)
/* f016f48: 02403025 */ or $a2,$s2,$zero
/* f016f4c: 0fc69de5 */ jal func0f1a7794
/* f016f4c: 0fc69de5 */ jal modeldefLoad
/* f016f50: 00003825 */ or $a3,$zero,$zero
/* f016f54: ae220270 */ sw $v0,0x270($s1)
/* f016f58: 0fc59ca0 */ jal fileGetSize
/* f016f58: 0fc59ca0 */ jal fileGetLoadedSize
/* f016f5c: 96240274 */ lhu $a0,0x274($s1)
/* f016f60: 2443003f */ addiu $v1,$v0,0x3f
/* f016f64: 346a003f */ ori $t2,$v1,0x3f
@ -2218,8 +2218,8 @@ glabel titleInitPdLogo
//
// {
// struct coord coord = {0, 0, 0}; // var80062738
// g_ModelStates[MODEL_NLOGO].filedata = func0f1a7794(g_ModelStates[MODEL_NLOGO].fileid, nextaddr, 0x47800, 0);
// size = ALIGN64(fileGetSize(g_ModelStates[MODEL_NLOGO].fileid));
// g_ModelStates[MODEL_NLOGO].filedata = modeldefLoad(g_ModelStates[MODEL_NLOGO].fileid, nextaddr, 0x47800, 0);
// size = ALIGN64(fileGetLoadedSize(g_ModelStates[MODEL_NLOGO].fileid));
// nextaddr += size;
// remaining = 0x47800 - size;
// modelCalculateRwDataLen(g_ModelStates[MODEL_NLOGO].filedata);
@ -2231,8 +2231,8 @@ glabel titleInitPdLogo
//
// {
// struct coord coord = {0, 0, 0}; // var80062744
// g_ModelStates[MODEL_NLOGO2].filedata = func0f1a7794(g_ModelStates[MODEL_NLOGO2].fileid, nextaddr, remaining, 0);
// size = ALIGN64(fileGetSize(g_ModelStates[MODEL_NLOGO2].fileid));
// g_ModelStates[MODEL_NLOGO2].filedata = modeldefLoad(g_ModelStates[MODEL_NLOGO2].fileid, nextaddr, remaining, 0);
// size = ALIGN64(fileGetLoadedSize(g_ModelStates[MODEL_NLOGO2].fileid));
// nextaddr += size;
// remaining -= size;
// modelCalculateRwDataLen(g_ModelStates[MODEL_NLOGO2].filedata);
@ -2244,8 +2244,8 @@ glabel titleInitPdLogo
//
// {
// struct coord coord = {0, 0, 0}; // var80062750
// g_ModelStates[MODEL_PDTWO].filedata = func0f1a7794(g_ModelStates[MODEL_PDTWO].fileid, nextaddr, remaining, 0);
// size = ALIGN64(fileGetSize(g_ModelStates[MODEL_PDTWO].fileid));
// g_ModelStates[MODEL_PDTWO].filedata = modeldefLoad(g_ModelStates[MODEL_PDTWO].fileid, nextaddr, remaining, 0);
// size = ALIGN64(fileGetLoadedSize(g_ModelStates[MODEL_PDTWO].fileid));
// nextaddr += size;
// remaining -= size;
// modelCalculateRwDataLen(g_ModelStates[MODEL_PDTWO].filedata);
@ -2257,8 +2257,8 @@ glabel titleInitPdLogo
//
// {
// struct coord coord = {0, 0, 0}; // var8006275c
// g_ModelStates[MODEL_PDTHREE].filedata = func0f1a7794(g_ModelStates[MODEL_PDTHREE].fileid, nextaddr, remaining, 0);
// size = ALIGN64(fileGetSize(g_ModelStates[MODEL_PDTHREE].fileid));
// g_ModelStates[MODEL_PDTHREE].filedata = modeldefLoad(g_ModelStates[MODEL_PDTHREE].fileid, nextaddr, remaining, 0);
// size = ALIGN64(fileGetLoadedSize(g_ModelStates[MODEL_PDTHREE].fileid));
// nextaddr += size;
// remaining -= size;
// modelCalculateRwDataLen(g_ModelStates[MODEL_PDTHREE].filedata);
@ -9683,7 +9683,7 @@ void titleInitNintendoLogo(void)
{
struct coord coord = {0, 0, 0};
g_ModelStates[MODEL_NINTENDOLOGO].filedata = func0f1a7794(g_ModelStates[MODEL_NINTENDOLOGO].fileid, nextaddr, 0x47800, 0);
g_ModelStates[MODEL_NINTENDOLOGO].filedata = modeldefLoad(g_ModelStates[MODEL_NINTENDOLOGO].fileid, nextaddr, 0x47800, 0);
modelCalculateRwDataLen(g_ModelStates[MODEL_NINTENDOLOGO].filedata);
g_TitleModel = modelInstantiate(g_ModelStates[MODEL_NINTENDOLOGO].filedata);
@ -9842,7 +9842,7 @@ void titleInitRareLogo(void)
{
struct coord coord = {0, 0, 0};
g_ModelStates[MODEL_RARELOGO].filedata = func0f1a7794(g_ModelStates[MODEL_RARELOGO].fileid, nextaddr, 0x47800, 0);
g_ModelStates[MODEL_RARELOGO].filedata = modeldefLoad(g_ModelStates[MODEL_RARELOGO].fileid, nextaddr, 0x47800, 0);
modelCalculateRwDataLen(g_ModelStates[MODEL_RARELOGO].filedata);
g_TitleModel = modelInstantiate(g_ModelStates[MODEL_RARELOGO].filedata);

View File

@ -837,6 +837,9 @@
#define FILEERROR_PAKDAMAGED 7
#define FILEERROR_DELETENOTEFAILED 8
#define FILELOADMETHOD_EXTRAMEM 0x11
#define FILELOADMETHOD_DEFAULT 0x22
#define FILEOP_IS_LOAD(op) (op >= 100)
#define FILEOP_IS_SAVE(op) (op < 100)

View File

@ -5,19 +5,16 @@
#include "types.h"
u32 fileGetRomAddress(s32 filenum);
u32 fileGetRomSizeByTableAddress(u32 *filetableaddr);
s32 fileGetRomSizeByFileNum(s32 filenum);
u32 func0f166ea8(u32 *filetableaddr);
void func0f166eb4(void *dst, u32 scratchlen, u32 *romaddrptr, struct fileinfo *info);
void func0f166f74(void);
void func0f166ff0(u16 filenum, void *memaddr, s32 offset, u32 len);
u32 fileGetInflatedLength(u32 filenum);
void *func0f1670fc(s32 filenum, u32 arg1);
void *func0f167200(s32 filenum, s32 arg1, u8 *ptr, u32 size);
u32 fileGetSize(s32 filenum);
u32 fileGetUnk04(s32 filenum);
void func0f1672a8(s32 filenum, void *ptr, u32 size, bool resizing);
void func0f1672f0(u8 arg0);
s32 fileGetRomSize(s32 filenum);
void filesResetAndPrint(void);
void fileLoadPartToAddr(u16 filenum, void *memaddr, s32 offset, u32 len);
u32 fileGetInflatedSize(u32 filenum);
void *fileLoadToNew(s32 filenum, u32 method);
void *fileLoadToAddr(s32 filenum, s32 method, u8 *ptr, u32 size);
u32 fileGetLoadedSize(s32 filenum);
u32 fileGetAllocationSize(s32 filenum);
void fileSetSize(s32 filenum, void *ptr, u32 size, bool reallocate);
void filesReset(u8 arg0);
void func0f167330(void);
#endif

View File

@ -6,7 +6,7 @@
void func0f1a7560(void *ptr, u16 fileid, u32 arg2, void *arg3, s32 *arg4, bool arg5);
void modelPromoteTypeToPointer(struct modelfiledata *filedata);
struct modelfiledata *func0f1a7794(u16 fileid, u8 *arg1, s32 arg2, s32 *arg3);
void *fileLoad(u16 fileid);
struct modelfiledata *modeldefLoad(u16 fileid, u8 *arg1, s32 arg2, s32 *arg3);
void *modeldefLoadToNew(u16 fileid);
#endif

View File

@ -10,8 +10,8 @@ u32 langGetLangBankIndexFromStagenum(s32 stagenum);
u32 func0f16e3fc(void);
s32 langGetFileNumOffset(void);
s32 langGetFileId(s32 bank);
void langSetBankSimple(s32 bank);
void langSetBank(s32 bank, u8 *arg1, s32 arg2);
void langLoad(s32 bank);
void langLoadToAddr(s32 bank, u8 *dst, s32 size);
void langClearBank(s32 bank);
char *langGet(s32 textid);
void langSetEuropean(u32 arg0);

View File

@ -5235,8 +5235,8 @@ struct var800aabb8 {
};
struct fileinfo {
u32 size;
u32 unk04;
u32 loadedsize;
u32 allocsize;
};
struct portalcmd {

View File

@ -587,7 +587,7 @@ glabel mainInit
/* d8f0: 00000000 */ nop
/* d8f4: 0fc6a10c */ jal func0f1a78b0
/* d8f8: 00000000 */ nop
/* d8fc: 0fc59ce1 */ jal func0f166f74
/* d8fc: 0fc59ce1 */ jal filesResetAndPrint
/* d900: 00000000 */ nop
/* d904: 0fc5d8e8 */ jal stub0f175f50
/* d908: 00000000 */ nop
@ -982,7 +982,7 @@ glabel mainInit
/* d684: 00000000 */ nop
/* d688: 0fc6a2ac */ jal func0f1a78b0
/* d68c: 00000000 */ nop
/* d690: 0fc59fbd */ jal func0f166f74
/* d690: 0fc59fbd */ jal filesResetAndPrint
/* d694: 00000000 */ nop
/* d698: 0fc5dbe0 */ jal stub0f175f50
/* d69c: 00000000 */ nop
@ -1407,7 +1407,7 @@ glabel mainInit
/* d724: 00000000 */ nop
/* d728: 0fc6a558 */ jal func0f1a78b0
/* d72c: 00000000 */ nop
/* d730: 0fc5a179 */ jal func0f166f74
/* d730: 0fc5a179 */ jal filesResetAndPrint
/* d734: 00000000 */ nop
/* d738: 0fc5dea0 */ jal stub0f175f50
/* d73c: 00000000 */ nop
@ -1810,7 +1810,7 @@ glabel mainInit
/* d948: 00000000 */ nop
/* d94c: 0fc69e2c */ jal func0f1a78b0
/* d950: 00000000 */ nop
/* d954: 0fc59bdd */ jal func0f166f74
/* d954: 0fc59bdd */ jal filesResetAndPrint
/* d958: 00000000 */ nop
/* d95c: 0fc5d7d4 */ jal stub0f175f50
/* d960: 00000000 */ nop
@ -2183,7 +2183,7 @@ glabel mainInit
/* de58: 00000000 */ sll $zero,$zero,0x0
/* de5c: 0fc68554 */ jal func0f1a78b0
/* de60: 00000000 */ sll $zero,$zero,0x0
/* de64: 0fc585fd */ jal func0f166f74
/* de64: 0fc585fd */ jal filesResetAndPrint
/* de68: 00000000 */ sll $zero,$zero,0x0
/* de6c: 0fc5c2fc */ jal stub0f175f50
/* de70: 00000000 */ sll $zero,$zero,0x0
@ -2449,7 +2449,7 @@ const char var70053aa0[] = " -ml0 -me0 -mgfx100 -mvtx50 -mt700 -ma400";
//
// vmInit();
// func0f1a78b0();
// func0f166f74();
// filesResetAndPrint();
// stub0f175f50();
// func0f175f90();
//
@ -2681,7 +2681,7 @@ void mainLoop(void)
mempResetPool(MEMPOOL_7);
mempResetPool(MEMPOOL_STAGE);
func0f1672f0(4);
filesReset(4);
if (argFindByPrefix(1, "-ma")) {
g_MainMemaHeapSize = strtol(argFindByPrefix(1, "-ma"), NULL, 0) * 1024;
@ -2794,7 +2794,7 @@ void mainLoop(void)
lvReset();
mempDisablePool(MEMPOOL_STAGE);
mempDisablePool(MEMPOOL_7);
func0f1672f0(4);
filesReset(4);
viBlack(true);
pak0f116994();
@ -3112,7 +3112,7 @@ glabel mainLoop
/* e48c: 24040007 */ addiu $a0,$zero,0x7
/* e490: 0c004ab1 */ jal mempResetPool
/* e494: 24040004 */ addiu $a0,$zero,0x4
/* e498: 0fc58709 */ jal func0f1672f0
/* e498: 0fc58709 */ jal filesReset
/* e49c: 24040004 */ addiu $a0,$zero,0x4
/* e4a0: 3c057005 */ lui $a1,0x7005
/* e4a4: 24a55134 */ addiu $a1,$a1,0x5134
@ -3392,7 +3392,7 @@ glabel mainLoop
/* e880: 24040004 */ addiu $a0,$zero,0x4
/* e884: 0c004acc */ jal mempDisablePool
/* e888: 24040007 */ addiu $a0,$zero,0x7
/* e88c: 0fc58709 */ jal func0f1672f0
/* e88c: 0fc58709 */ jal filesReset
/* e890: 24040004 */ addiu $a0,$zero,0x4
/* e894: 0c00281a */ jal viBlack
/* e898: 02e02025 */ or $a0,$s7,$zero

View File

@ -2541,7 +2541,7 @@ void sndStartMp3(s16 soundnum, s32 arg1, s32 arg2, s32 arg3)
arg1 = arg1 * snd0000e9dc() / 0x7fff;
g_SndCurMp3.romaddr = fileGetRomAddress(sp20.id);
g_SndCurMp3.romsize = fileGetRomSizeByFileNum(sp20.id);
g_SndCurMp3.romsize = fileGetRomSize(sp20.id);
func00037f08(arg1, true);
func00037f5c(arg2, true);