diff options
| author | rozlette <uberpanzermensch@gmail.com> | 2019-09-20 01:43:40 -0500 |
|---|---|---|
| committer | rozlette <uberpanzermensch@gmail.com> | 2019-09-20 01:43:40 -0500 |
| commit | 4c11f2f36475bca9b8a2ea52a63e57da3cbbc9cd (patch) | |
| tree | ec78c7acfcb44107b3ebb31d1c11b2b26e471283 /src | |
| parent | 70b60dfce5ed2c26bb42cdcb6f2f821c1140127b (diff) | |
Add tons of function names. Datatypes TODO
Diffstat (limited to 'src')
| -rw-r--r-- | src/boot_O2_g3/CIC6105.c | 4 | ||||
| -rw-r--r-- | src/boot_O2_g3/boot_0x80080060.c | 8 | ||||
| -rw-r--r-- | src/boot_O2_g3/boot_0x800805E0.c | 28 | ||||
| -rw-r--r-- | src/boot_O2_g3/z_std_dma.c | 66 | ||||
| -rw-r--r-- | src/code/code_0x800A5AC0.c | 28 | ||||
| -rw-r--r-- | src/code/z_effect_soft_sprite.c | 78 | ||||
| -rw-r--r-- | src/code/z_lib.c | 168 | ||||
| -rw-r--r-- | src/test.old | 73 |
8 files changed, 263 insertions, 190 deletions
diff --git a/src/boot_O2_g3/CIC6105.c b/src/boot_O2_g3/CIC6105.c index afafdc179..68977fd0d 100644 --- a/src/boot_O2_g3/CIC6105.c +++ b/src/boot_O2_g3/CIC6105.c @@ -1,9 +1,9 @@ #include <ultra64.h> #include <global.h> -void func_80081820(void) {} +void nop_80081820(void) {} -void func_80081828(void) {} +void nop_80081828(void) {} void func_80081830(void) { func_8008481C(80, 200, &D_80098280, (UNK_PTR)(*(u32*)0xA4040010)); diff --git a/src/boot_O2_g3/boot_0x80080060.c b/src/boot_O2_g3/boot_0x80080060.c index 51f9150cf..fe26f921b 100644 --- a/src/boot_O2_g3/boot_0x80080060.c +++ b/src/boot_O2_g3/boot_0x80080060.c @@ -1,14 +1,14 @@ #include <ultra64.h> #include <global.h> -UNK_RET func_80080060(void) { - func_80085320(&D_80099500, &D_80099AF0, &D_80099EF0, 0, -1, &D_80098190); +UNK_RET start(void) { + thread_info_init(&D_80099500, &D_80099AF0, &D_80099EF0, 0, -1, &D_80098190); osMemSize = func_8008D350(); func_800818F4(); osInitialize(); osUnmapTLBAll(); D_80096B40 = func_80092920(); - func_80085320(&D_80099AD0, &D_800996D0, &D_80099AD0_, 0, 256, &D_80098198); - osCreateThread(&D_80099520, 1, (void(*)(void*))func_80080514, 0, &D_80099AD0, 12); + thread_info_init(&D_80099AD0, &D_800996D0, &D_80099AD0_, 0, 256, &D_80098198); + osCreateThread(&D_80099520, 1, (void(*)(void*))Idle_ThreadEntry, 0, &D_80099AD0, 12); osStartThread(&D_80099520); } diff --git a/src/boot_O2_g3/boot_0x800805E0.c b/src/boot_O2_g3/boot_0x800805E0.c index cb29d5d48..feef71b4c 100644 --- a/src/boot_O2_g3/boot_0x800805E0.c +++ b/src/boot_O2_g3/boot_0x800805E0.c @@ -7,27 +7,27 @@ UNK_RET func_800805E0(UNK_TYPE a0) { if (a0 != 0) { switch (osTvType) { case 2: - func_8008B650(&D_80098010); + osViSetMode(&D_80098010); break; case 0: - func_8008B650(&D_80097590); + osViSetMode(&D_80097590); break; case 1: default: - func_8008B650(&D_80097FC0); + osViSetMode(&D_80097FC0); break; } // TODO v0 is used here instead of a0. Is this a 7.1 optimization? if (D_80096B2C != 0) { - func_80092100(D_80096B2C); + osViSetSpecialFeatures(D_80096B2C); } if (D_80096B34 != 1) { osViSetYScale(1); } } else { - func_8008B650(&D_8009B240); + osViSetMode(&D_8009B240); if (D_80096B28 != 0) { func_80087E00(D_80096B28); @@ -35,7 +35,7 @@ UNK_RET func_800805E0(UNK_TYPE a0) { // TODO v0 is used here instead of a0. Is this a 7.1 optimization? if (D_80096B2C != 0) { - func_80092100(D_80096B2C); + osViSetSpecialFeatures(D_80096B2C); } if (D_80096B30 != 1) { @@ -74,24 +74,24 @@ glabel func_800805E0 /* 000368 0x80080620 1441000A */ bne $v0, $at, .L_8008064C /* 000369 0x80080624 00000000 */ nop /* 000370 0x80080628 3C04800A */ lui $a0, %hi(D_80098010) -/* 000371 0x8008062C 0C022D94 */ jal func_8008B650 +/* 000371 0x8008062C 0C022D94 */ jal osViSetMode /* 000372 0x80080630 24848010 */ addiu $a0, %lo(D_80098010) /* 000373 0x80080634 10000007 */ b .L_80080654 /* 000374 0x80080638 00000000 */ nop .L_8008063C: -/* 000375 0x8008063C 0C022D94 */ jal func_8008B650 +/* 000375 0x8008063C 0C022D94 */ jal osViSetMode /* 000376 0x80080640 24847590 */ addiu $a0, $a0, 30096 /* 000377 0x80080644 10000003 */ b .L_80080654 /* 000378 0x80080648 00000000 */ nop .L_8008064C: -/* 000379 0x8008064C 0C022D94 */ jal func_8008B650 +/* 000379 0x8008064C 0C022D94 */ jal osViSetMode /* 000380 0x80080650 24847FC0 */ addiu $a0, $a0, 32704 .L_80080654: /* 000381 0x80080654 3C048009 */ lui $a0, %hi(D_80096B2C) /* 000382 0x80080658 8C846B2C */ lw $a0, %lo(D_80096B2C)($a0) /* 000383 0x8008065C 50800004 */ beqzl $a0, .L_80080670 /* 000384 0x80080660 3C013F80 */ lui $at, 0x3F80 -/* 000385 0x80080664 0C024840 */ jal func_80092100 +/* 000385 0x80080664 0C024840 */ jal osViSetSpecialFeatures /* 000386 0x80080668 00000000 */ nop /* 000387 0x8008066C 3C013F80 */ lui $at, 0x3F80 .L_80080670: @@ -107,7 +107,7 @@ glabel func_800805E0 /* 000397 0x80080694 10000025 */ b .L_8008072C /* 000398 0x80080698 8FAF0018 */ lw $t7, 24($sp) .L_8008069C: -/* 000399 0x8008069C 0C022D94 */ jal func_8008B650 +/* 000399 0x8008069C 0C022D94 */ jal osViSetMode /* 000400 0x800806A0 2484B240 */ addiu $a0, $a0, -19904 /* 000401 0x800806A4 3C048009 */ lui $a0, %hi(D_80096B28) /* 000402 0x800806A8 90846B28 */ lbu $a0, %lo(D_80096B28)($a0) @@ -120,7 +120,7 @@ glabel func_800805E0 /* 000408 0x800806C0 8C846B2C */ lw $a0, %lo(D_80096B2C)($a0) /* 000409 0x800806C4 50800004 */ beqzl $a0, .L_800806D8 /* 000410 0x800806C8 3C013F80 */ lui $at, 0x3F80 -/* 000411 0x800806CC 0C024840 */ jal func_80092100 +/* 000411 0x800806CC 0C024840 */ jal osViSetSpecialFeatures /* 000412 0x800806D0 00000000 */ nop /* 000413 0x800806D4 3C013F80 */ lui $at, 0x3F80 .L_800806D8: @@ -160,8 +160,8 @@ glabel func_800805E0 UNK_RET func_80080748(void) { if (D_80096B24 != 0) { - func_8008AE70(1); + osViRepeatLine(1); } else { - func_8008AE70(0); + osViRepeatLine(0); } } diff --git a/src/boot_O2_g3/z_std_dma.c b/src/boot_O2_g3/z_std_dma.c index 2458133ea..f7641b998 100644 --- a/src/boot_O2_g3/z_std_dma.c +++ b/src/boot_O2_g3/z_std_dma.c @@ -1,7 +1,7 @@ #include <ultra64.h> #include <global.h> -s32 func_80080790(void* a0, void* a1, s32 a2) { +s32 Dmamgr_DoDmaTransfer(void* a0, void* a1, s32 a2) { u32 spPad; OSIoMesg sp60; OSMesgQueue sp48; @@ -44,11 +44,11 @@ END: return ret; } -void func_800808D4(OSPiHandle* pihandle, OSIoMesg* mb, s32 direction) { +void Dmamgr_osEPiStartDmaWrapper(OSPiHandle* pihandle, OSIoMesg* mb, s32 direction) { osEPiStartDma(pihandle, mb, direction); } -DmadataEntry* func_800808F4(u32 a0) { +DmadataEntry* Dmamgr_FindDmaEntry(u32 a0) { DmadataEntry* curr; for (curr = dmadata; curr->vromEnd != 0; curr++) { @@ -61,8 +61,8 @@ DmadataEntry* func_800808F4(u32 a0) { return NULL; } -s32 func_80080950(u32 a0) { - DmadataEntry* v0 = func_800808F4(a0); +s32 Dmamgr_TranslateVromToRom(u32 a0) { + DmadataEntry* v0 = Dmamgr_FindDmaEntry(a0); if (v0 != NULL) { if (v0->romEnd == 0) { @@ -79,8 +79,8 @@ s32 func_80080950(u32 a0) { return -1; } -s32 func_800809BC(u32 a0) { - DmadataEntry* v0 = func_800808F4(a0); +s32 Dmamgr_FindDmaIndex(u32 a0) { + DmadataEntry* v0 = Dmamgr_FindDmaEntry(a0); if (v0 != NULL) { return v0 - dmadata; @@ -95,7 +95,7 @@ UNK_TYPE* func_800809F4(u32 a0) { #ifdef NONMATCHING -void func_80080A08(s80080A08* a0) { +void Dmamgr_HandleRequest(s80080A08* a0) { UNK_TYPE sp34; UNK_TYPE sp30; UNK_TYPE sp2C; @@ -109,14 +109,14 @@ void func_80080A08(s80080A08* a0) { sp30 = (UNK_TYPE)a0->unk4; sp2C = a0->unk8; - sp1C = func_800809BC(sp34); + sp1C = Dmamgr_FindDmaIndex(sp34); if ((sp1C >= 0) && (sp1C < D_8009B2BC)) { if (dmadata[sp1C].romEnd == 0) { if (dmadata[sp1C].vromEnd < (sp2C + sp34)) { func_80083E4C(&D_800981C4, 499); } - func_80080790((u8*)((dmadata[sp1C].romStart + sp34) - dmadata[sp1C].vromStart), (u8*)sp30, sp2C); + Dmamgr_DoDmaTransfer((u8*)((dmadata[sp1C].romStart + sp34) - dmadata[sp1C].vromStart), (u8*)sp30, sp2C); return; } @@ -133,7 +133,7 @@ void func_80080A08(s80080A08* a0) { } osSetThreadPri(NULL, 10); - func_80081178(sp28, sp30, sp24); + Yaz0_LoadAndDecompressFile(sp28, sp30, sp24); osSetThreadPri(NULL, 17); } else { func_80083E4C(&D_800981F4, 558); @@ -143,7 +143,7 @@ void func_80080A08(s80080A08* a0) { #else GLOBAL_ASM( -glabel func_80080A08 +glabel Dmamgr_HandleRequest /* 000618 0x80080A08 27BDFFC8 */ addiu $sp, $sp, -56 /* 000619 0x80080A0C AFBF0014 */ sw $ra, 20($sp) /* 000620 0x80080A10 00802825 */ move $a1, $a0 @@ -152,7 +152,7 @@ glabel func_80080A08 /* 000623 0x80080A1C AFAE0030 */ sw $t6, 48($sp) /* 000624 0x80080A20 8CAF0008 */ lw $t7, 8($a1) /* 000625 0x80080A24 AFA40034 */ sw $a0, 52($sp) -/* 000626 0x80080A28 0C02026F */ jal func_800809BC +/* 000626 0x80080A28 0C02026F */ jal Dmamgr_FindDmaIndex /* 000627 0x80080A2C AFAF002C */ sw $t7, 44($sp) /* 000628 0x80080A30 8FA70034 */ lw $a3, 52($sp) /* 000629 0x80080A34 0440004B */ bltz $v0, .L_80080B64 @@ -191,7 +191,7 @@ glabel func_80080A08 /* 000661 0x80080AB4 8FA50030 */ lw $a1, 48($sp) /* 000662 0x80080AB8 01E7C021 */ addu $t8, $t7, $a3 /* 000663 0x80080ABC 8FA6002C */ lw $a2, 44($sp) -/* 000664 0x80080AC0 0C0201E4 */ jal func_80080790 +/* 000664 0x80080AC0 0C0201E4 */ jal Dmamgr_DoDmaTransfer /* 000665 0x80080AC4 03192023 */ subu $a0, $t8, $t9 /* 000666 0x80080AC8 1000002B */ b .L_80080B78 /* 000667 0x80080ACC 8FBF0014 */ lw $ra, 20($sp) @@ -228,7 +228,7 @@ glabel func_80080A08 /* 000695 0x80080B3C 2405000A */ li $a1, 10 /* 000696 0x80080B40 8FA40028 */ lw $a0, 40($sp) /* 000697 0x80080B44 8FA50030 */ lw $a1, 48($sp) -/* 000698 0x80080B48 0C02045E */ jal func_80081178 +/* 000698 0x80080B48 0C02045E */ jal Yaz0_LoadAndDecompressFile /* 000699 0x80080B4C 8FA60024 */ lw $a2, 36($sp) /* 000700 0x80080B50 00002025 */ move $a0, $zero /* 000701 0x80080B54 0C023F00 */ jal osSetThreadPri @@ -251,7 +251,7 @@ glabel func_80080A08 #ifdef NONMATCHING -void func_80080B84(void* a0) { +void Dmamgr_ThreadEntry(void* a0) { s80080A08* sp34; UNK_TYPE pad; s80080A08* s0; @@ -260,7 +260,7 @@ void func_80080B84(void* a0) { osRecvMesg(&D_8009B2C0, (OSMesg)&sp34, 1); if (sp34 == NULL) return; s0 = sp34; - func_80080A08(s0); + Dmamgr_HandleRequest(s0); // TODO a0 isn't being used for this comparison if (s0->unk18 == NULL) continue; osSendMesg(&D_8009B2C0, (OSMesg)s0->unk1C, 0); @@ -270,7 +270,7 @@ void func_80080B84(void* a0) { #else GLOBAL_ASM( -glabel func_80080B84 +glabel Dmamgr_ThreadEntry /* 000713 0x80080B84 27BDFFC8 */ addiu $sp, $sp, -56 /* 000714 0x80080B88 AFBF0024 */ sw $ra, 36($sp) /* 000715 0x80080B8C AFB20020 */ sw $s2, 32($sp) @@ -288,7 +288,7 @@ glabel func_80080B84 /* 000726 0x80080BB8 8FA40034 */ lw $a0, 52($sp) /* 000727 0x80080BBC 5080000C */ beqzl $a0, .L_80080BF0 /* 000728 0x80080BC0 8FBF0024 */ lw $ra, 36($sp) -/* 000729 0x80080BC4 0C020282 */ jal func_80080A08 +/* 000729 0x80080BC4 0C020282 */ jal Dmamgr_HandleRequest /* 000730 0x80080BC8 00808025 */ move $s0, $a0 /* 000731 0x80080BCC 8E040018 */ lw $a0, 24($s0) /* 000732 0x80080BD0 5080FFF6 */ beqzl $a0, .L_80080BAC @@ -311,7 +311,7 @@ glabel func_80080B84 #ifdef NONMATCHING -s32 func_80080C04(s80080A08* a0, UNK_FUN_PTR(a1), UNK_PTR a2, UNK_TYPE a3, UNK_TYPE sp30, OSMesgQueue* sp34, UNK_TYPE sp38) { +s32 Dmamgr_SendRequest(s80080A08* a0, UNK_FUN_PTR(a1), UNK_PTR a2, UNK_TYPE a3, UNK_TYPE sp30, OSMesgQueue* sp34, UNK_TYPE sp38) { // TODO this isn't correct, it uses a lui, addiu to get the address of D_80096B60, then loads it, // meaning that this is likely just "if (*D_80096B60 >= 2)". However, I can not get it to not // produce the usual lui, lw combo to load from an address :/ @@ -334,7 +334,7 @@ s32 func_80080C04(s80080A08* a0, UNK_FUN_PTR(a1), UNK_PTR a2, UNK_TYPE a3, UNK_T #else GLOBAL_ASM( -glabel func_80080C04 +glabel Dmamgr_SendRequest /* 000745 0x80080C04 27BDFFE0 */ addiu $sp, $sp, -32 /* 000746 0x80080C08 AFB00018 */ sw $s0, 24($sp) /* 000747 0x80080C0C 00808025 */ move $s0, $a0 @@ -376,7 +376,7 @@ glabel func_80080C04 #endif -s32 func_80080C90(UNK_TYPE a0, UNK_PTR a1, UNK_TYPE a2) { +s32 Dmamgr_SendRequestAndWait(UNK_TYPE a0, UNK_PTR a1, UNK_TYPE a2) { s80080A08 sp48; OSMesgQueue sp30; OSMesg sp2C; @@ -384,7 +384,7 @@ s32 func_80080C90(UNK_TYPE a0, UNK_PTR a1, UNK_TYPE a2) { osCreateMesgQueue(&sp30, &sp2C, 1); - ret = func_80080C04(&sp48, (UNK_FUN_ARG)a0, a1, a2, 0, &sp30, 0); + ret = Dmamgr_SendRequest(&sp48, (UNK_FUN_ARG)a0, a1, a2, 0, &sp30, 0); if (ret == -1) { return ret; @@ -397,11 +397,11 @@ s32 func_80080C90(UNK_TYPE a0, UNK_PTR a1, UNK_TYPE a2) { #ifdef NONMATCHING -void func_80080D0C() { +void Dmamgr_Start() { DmadataEntry* v0; u32 v1; // TODO register load ordering is wrong - func_80080790(&dmadataRomStart, dmadata, (u8*)&dmadataRomEnd - (u8*)&dmadataRomStart); + Dmamgr_DoDmaTransfer(&dmadataRomStart, dmadata, (u8*)&dmadataRomEnd - (u8*)&dmadataRomStart); for (v0 = dmadata, v1 = 0; v0->vromEnd != 0; v0++, v1++); @@ -409,9 +409,9 @@ void func_80080D0C() { osCreateMesgQueue(&D_8009B2C0, (OSMesg)&D_8009B2D8, 32); - func_80085320(&D_8009B2A0, &D_8009B508, &D_8009BA08, 0, 256, &D_80098204); + thread_info_init(&D_8009B2A0, &D_8009B508, &D_8009BA08, 0, 256, &D_80098204); - osCreateThread(&D_8009B358, 18, func_80080B84, NULL, &D_8009BA08, 17); + osCreateThread(&D_8009B358, 18, Dmamgr_ThreadEntry, NULL, &D_8009BA08, 17); osStartThread(&D_8009B358); } @@ -419,7 +419,7 @@ void func_80080D0C() { #else GLOBAL_ASM( -glabel func_80080D0C +glabel Dmamgr_Start /* 000811 0x80080D0C 27BDFFE0 */ addiu $sp, $sp, -32 /* 000812 0x80080D10 AFBF001C */ sw $ra, 28($sp) /* 000813 0x80080D14 3C040002 */ lui $a0, %hi(dmadataRomStart) @@ -428,7 +428,7 @@ glabel func_80080D0C /* 000816 0x80080D20 2484A500 */ addiu $a0, %lo(dmadataRomStart) /* 000817 0x80080D24 3C05800A */ lui $a1, %hi(dmadata) /* 000818 0x80080D28 24A5F8B0 */ addiu $a1, %lo(dmadata) -/* 000819 0x80080D2C 0C0201E4 */ jal func_80080790 +/* 000819 0x80080D2C 0C0201E4 */ jal Dmamgr_DoDmaTransfer /* 000820 0x80080D30 01C43023 */ subu $a2, $t6, $a0 /* 000821 0x80080D34 3C04800A */ lui $a0, %hi(dmadata) /* 000822 0x80080D38 2484F8B0 */ addiu $a0, %lo(dmadata) @@ -462,15 +462,15 @@ glabel func_80080D0C /* 000848 0x80080DA0 24A5B508 */ addiu $a1, %lo(D_8009B508) /* 000849 0x80080DA4 2484B2A0 */ addiu $a0, $a0, -19808 /* 000850 0x80080DA8 AFA80014 */ sw $t0, 20($sp) -/* 000851 0x80080DAC 0C0214C8 */ jal func_80085320 +/* 000851 0x80080DAC 0C0214C8 */ jal thread_info_init /* 000852 0x80080DB0 00003825 */ move $a3, $zero /* 000853 0x80080DB4 3C09800A */ lui $t1, %hi(D_8009BA08) /* 000854 0x80080DB8 2529BA08 */ addiu $t1, %lo(D_8009BA08) /* 000855 0x80080DBC 3C04800A */ lui $a0, %hi(D_8009B358) -/* 000856 0x80080DC0 3C068008 */ lui $a2, %hi(func_80080B84) +/* 000856 0x80080DC0 3C068008 */ lui $a2, %hi(Dmamgr_ThreadEntry) /* 000857 0x80080DC4 240A0011 */ li $t2, 17 /* 000858 0x80080DC8 AFAA0014 */ sw $t2, 20($sp) -/* 000859 0x80080DCC 24C60B84 */ addiu $a2, %lo(func_80080B84) +/* 000859 0x80080DCC 24C60B84 */ addiu $a2, %lo(Dmamgr_ThreadEntry) /* 000860 0x80080DD0 2484B358 */ addiu $a0, %lo(D_8009B358) /* 000861 0x80080DD4 AFA90010 */ sw $t1, 16($sp) /* 000862 0x80080DD8 24050012 */ li $a1, 18 @@ -487,6 +487,6 @@ glabel func_80080D0C #endif -void func_80080E00() { +void Dmamgr_Stop() { osSendMesg(&D_8009B2C0, NULL, 1); } diff --git a/src/code/code_0x800A5AC0.c b/src/code/code_0x800A5AC0.c index 207cf9315..b1b3c0245 100644 --- a/src/code/code_0x800A5AC0.c +++ b/src/code/code_0x800A5AC0.c @@ -5,28 +5,28 @@ // This file is most likely En_A_Obj -UNK_RET func_800A5AC0(void* a0, UNK_TYPE a1) { +UNK_RET EnAObj_Init(void* a0, UNK_TYPE a1) { s800A5AC0* s0 = (s800A5AC0*)a0; s0->unk116 = ((s0->unk1C >> 8) & 0xFF) | 0x300; s0->unk1C = (s0->unk1C & 0xFF) - 9; - func_800FFADC((z_Actor*)s0, (z_ActorCompInitEntry*)&D_801ADEAC); + Lib_ApplyActorInitVars((z_Actor*)s0, (z_ActorCompInitEntry*)&D_801ADEAC); func_800B3BA4(&s0->unkBC, 0, (UNK_PTR)&func_800B3FC0, 12); - func_800E1374(a1, &s0->unk148, (z_Actor*)s0, &D_801ADE80); - func_800E7DF8((z_Actor*)s0, &s0->unk148); + Collision_InitCylinder(a1, &s0->unk148, (z_Actor*)s0, &D_801ADE80); + Collision_CylinderMoveToActor((z_Actor*)s0, &s0->unk148); s0->unkB6 = 255; - s0->unk144 = func_800A5B98; + s0->unk144 = EnAObj_Update1; } -UNK_RET func_800A5B6C(s800A5AC0* a0, z_GlobalContext* a1) { +UNK_RET EnAObj_Fini(s800A5AC0* a0, z_GlobalContext* a1) { UNK_TYPE* a2 = &a0->unk148; - func_800E11EC(a1, a2); + Collision_FiniCylinder(a1, a2); } -UNK_RET func_800A5B98(s800A5AC0* a0, UNK_TYPE a1) { +UNK_RET EnAObj_Update1(s800A5AC0* a0, UNK_TYPE a1) { s16 v0; s32 v1; if (func_800B84D0(a0, a1) != 0) { - a0->unk144 = (void(*)(s800A5AC0*, UNK_TYPE))func_800A5C28; //! Is this cast correct? + a0->unk144 = (void(*)(s800A5AC0*, UNK_TYPE))EnAObj_Update2; //! Is this cast correct? } else { v0 = a0->unk92 - a0->unkBE; v1 = (v0 < 0)? -v0 : v0; @@ -36,18 +36,18 @@ UNK_RET func_800A5B98(s800A5AC0* a0, UNK_TYPE a1) { } } -UNK_RET func_800A5C28(s800A5AC0* a0) { +UNK_RET EnAObj_Update2(s800A5AC0* a0) { if (func_800B867C(a0) != 0) { - a0->unk144 = func_800A5B98; + a0->unk144 = EnAObj_Update1; } } -UNK_RET func_800A5C60(s800A5AC0* a0, UNK_TYPE a1) { +UNK_RET EnAObj_Main(s800A5AC0* a0, UNK_TYPE a1) { (a0->unk144)(a0, a1); func_800B675C(a0, 0x42340000); - func_800E2928(a1, a1 + 0x18884, &a0->unk148); + Collision_AddOT(a1, a1 + 0x18884, &a0->unk148); } -UNK_RET func_800A5CB8(s800A5AC0* a0, UNK_TYPE a1) { +UNK_RET EnAObj_Draw(s800A5AC0* a0, UNK_TYPE a1) { func_800BDFC0(a1, D_801ADEB0[a0->unk1C], a1, a0); } diff --git a/src/code/z_effect_soft_sprite.c b/src/code/z_effect_soft_sprite.c index 92db19675..f72ab5286 100644 --- a/src/code/z_effect_soft_sprite.c +++ b/src/code/z_effect_soft_sprite.c @@ -1,17 +1,17 @@ #include <ultra64.h> #include <global.h> -void effect_ss_init(z_GlobalContext* ctxt, s32 numEntries) { +void EffectSS_Init(z_GlobalContext* ctxt, s32 numEntries) { u32 i; z_LoadedParticleEntry* iter; z_ParticleOverlayTableEntry* iter2; - EffectSS2Info.data_table = (z_LoadedParticleEntry*)func_80172AC8(&ctxt->unk74, numEntries * sizeof(z_LoadedParticleEntry)); + EffectSS2Info.data_table = (z_LoadedParticleEntry*)GameStateHeap_AllocFromEnd(&ctxt->unk74, numEntries * sizeof(z_LoadedParticleEntry)); EffectSS2Info.searchIndex = 0; EffectSS2Info.size = numEntries; for (iter = EffectSS2Info.data_table; iter < EffectSS2Info.data_table + EffectSS2Info.size; iter++) { - effect_ss_reset_entry(iter); + EffectSS_ResetLoadedParticleEntry(iter); } for (i = 0, iter2 = particleOverlayTable; i != 0x27; i++) { @@ -19,7 +19,7 @@ void effect_ss_init(z_GlobalContext* ctxt, s32 numEntries) { } } -void effect_ss_clear(z_GlobalContext* ctxt) { +void EffectSS_Clear(z_GlobalContext* ctxt) { u32 i; z_LoadedParticleEntry* iter; z_ParticleOverlayTableEntry* iter2; @@ -31,24 +31,24 @@ void effect_ss_clear(z_GlobalContext* ctxt) { // This code is completely useless, as data_table was juest to NULL and size to 0 for (iter = EffectSS2Info.data_table; iter < EffectSS2Info.data_table + EffectSS2Info.size; iter++) { - effect_ss_delete(iter); + EffectSS_Delete(iter); } // Free memory from loaded particle overlays for (i = 0, iter2 = particleOverlayTable; i != 0x27; i++) { addr = (void*)iter2->loadedRamAddr; if (addr != NULL) { - func_80102CE0(addr); + zelda_free(addr); } (iter2++)->loadedRamAddr = 0; } } -z_LoadedParticleEntry* effect_ss_get_table() { +z_LoadedParticleEntry* EffectSS_GetTable() { return EffectSS2Info.data_table; } -void effect_ss_delete(z_LoadedParticleEntry* a0) { +void EffectSS_Delete(z_LoadedParticleEntry* a0) { if (a0->flags & 0x2) { func_801A72CC((UNK_PTR)&a0->position); } @@ -57,10 +57,10 @@ void effect_ss_delete(z_LoadedParticleEntry* a0) { func_801A72CC((UNK_PTR)&a0->unk2C); } - effect_ss_reset_entry(a0); + EffectSS_ResetLoadedParticleEntry(a0); } -void effect_ss_reset_entry(z_LoadedParticleEntry* particle) { +void EffectSS_ResetLoadedParticleEntry(z_LoadedParticleEntry* particle) { u32 i; particle->type = 0x27; @@ -92,7 +92,7 @@ void effect_ss_reset_entry(z_LoadedParticleEntry* particle) { // XXX Some regalloc differences and instruction ordering #ifdef NONMATCHING -s32 effect_ss_find_free_space(u32 priority, u32* tableEntry) { +s32 EffectSS_FindFreeSpace(u32 priority, u32* tableEntry) { s32 ret = 0; s32 i; @@ -149,7 +149,7 @@ s32 effect_ss_find_free_space(u32 priority, u32* tableEntry) { #else GLOBAL_ASM( -glabel effect_ss_find_free_space +glabel EffectSS_FindFreeSpace /* 010769 0x800B0304 27BDFFF8 */ addiu $sp, $sp, -8 /* 010770 0x800B0308 AFB00004 */ sw $s0, 0X4($sp) /* 010771 0x800B030C 3C06801B */ lui $a2, %hi(EffectSS2Info) @@ -244,10 +244,10 @@ glabel effect_ss_find_free_space #endif -void func_800B043C(z_GlobalContext* ctxt, z_LoadedParticleEntry* a1) { +void EffectSS_Copy(z_GlobalContext* ctxt, z_LoadedParticleEntry* a1) { u32 index; if (func_8016A01C(ctxt) != 1) { - if (effect_ss_find_free_space(a1->priority, &index) == 0) { + if (EffectSS_FindFreeSpace(a1->priority, &index) == 0) { EffectSS2Info.searchIndex = index + 1; EffectSS2Info.data_table[index] = *a1; } @@ -256,14 +256,14 @@ void func_800B043C(z_GlobalContext* ctxt, z_LoadedParticleEntry* a1) { #ifdef NONMATCHING -void effect_ss_load_particle(z_GlobalContext* ctxt, u32 type, u32 priority, void* initData) { +void EffectSS_LoadParticle(z_GlobalContext* ctxt, u32 type, u32 priority, void* initData) { u32 index; u32 initRet; u32 overlaySize; z_ParticleOverlayInfo* overlayInfo; z_ParticleOverlayTableEntry* entry = &particleOverlayTable[type]; - if (effect_ss_find_free_space(priority, &index) != 0) { + if (EffectSS_FindFreeSpace(priority, &index) != 0) { return; } @@ -274,13 +274,13 @@ void effect_ss_load_particle(z_GlobalContext* ctxt, u32 type, u32 priority, void // XXX this subtraction is done earlier overlaySize = entry->vramEnd - entry->vramStart; if (entry->loadedRamAddr == 0) { - entry->loadedRamAddr = (u32)func_80102C88(overlaySize); + entry->loadedRamAddr = (u32)zelda_mallocR(overlaySize); if (entry->loadedRamAddr == 0) { return; } - func_8008501C(entry->vromStart, entry->vromEnd, entry->vramStart, entry->vramEnd, entry->loadedRamAddr); + load_and_relocate_overlay(entry->vromStart, entry->vromEnd, entry->vramStart, entry->vramEnd, entry->loadedRamAddr); } // XXX this should use a0, but it doesn't @@ -292,7 +292,7 @@ void effect_ss_load_particle(z_GlobalContext* ctxt, u32 type, u32 priority, void } if (overlayInfo->init != 0) { - effect_ss_delete(&EffectSS2Info.data_table[index]); + EffectSS_Delete(&EffectSS2Info.data_table[index]); EffectSS2Info.data_table[index].type = type; EffectSS2Info.data_table[index].priority = priority; @@ -300,7 +300,7 @@ void effect_ss_load_particle(z_GlobalContext* ctxt, u32 type, u32 priority, void initRet = (*overlayInfo->init)(ctxt, index, &EffectSS2Info.data_table[index], initData); if (initRet == 0) { - effect_ss_reset_entry(&EffectSS2Info.data_table[index]); + EffectSS_ResetLoadedParticleEntry(&EffectSS2Info.data_table[index]); } } } @@ -308,7 +308,7 @@ void effect_ss_load_particle(z_GlobalContext* ctxt, u32 type, u32 priority, void #else GLOBAL_ASM( -glabel effect_ss_load_particle +glabel EffectSS_LoadParticle /* 010885 0x800B04D4 27BDFFC0 */ addiu $sp, $sp, -64 /* 010886 0x800B04D8 AFBF001C */ sw $ra, 0X1C($sp) /* 010887 0x800B04DC AFA40040 */ sw $a0, 0X40($sp) @@ -316,7 +316,7 @@ glabel effect_ss_load_particle /* 010889 0x800B04E4 AFA60048 */ sw $a2, 0X48($sp) /* 010890 0x800B04E8 AFA7004C */ sw $a3, 0X4C($sp) /* 010891 0x800B04EC 8FA40048 */ lw $a0, 0X48($sp) -/* 010892 0x800B04F0 0C02C0C1 */ jal effect_ss_find_free_space +/* 010892 0x800B04F0 0C02C0C1 */ jal EffectSS_FindFreeSpace /* 010893 0x800B04F4 27A5003C */ addiu $a1, $sp, 60 /* 010894 0x800B04F8 1440005C */ bnez $v0, .L_800B066C /* 010895 0x800B04FC 8FAE003C */ lw $t6, 0X3C($sp) @@ -340,7 +340,7 @@ glabel effect_ss_load_particle /* 010912 0x800B0540 8C6B0010 */ lw $t3, 0X10($v1) /* 010913 0x800B0544 5560000F */ bnezl $t3, .L_800B0584 /* 010914 0x800B0548 8C620014 */ lw $v0, 0X14($v1) -/* 010915 0x800B054C 0C040B22 */ jal func_80102C88 +/* 010915 0x800B054C 0C040B22 */ jal zelda_mallocR /* 010916 0x800B0550 AFA30028 */ sw $v1, 0X28($sp) /* 010917 0x800B0554 8FA30028 */ lw $v1, 0X28($sp) /* 010918 0x800B0558 10400044 */ beqz $v0, .L_800B066C @@ -350,7 +350,7 @@ glabel effect_ss_load_particle /* 010922 0x800B0568 8C660008 */ lw $a2, 0X8($v1) /* 010923 0x800B056C 8C67000C */ lw $a3, 0XC($v1) /* 010924 0x800B0570 AFA30028 */ sw $v1, 0X28($sp) -/* 010925 0x800B0574 0C021407 */ jal func_8008501C +/* 010925 0x800B0574 0C021407 */ jal load_and_relocate_overlay /* 010926 0x800B0578 AFA20010 */ sw $v0, 0X10($sp) /* 010927 0x800B057C 8FA30028 */ lw $v1, 0X28($sp) /* 010928 0x800B0580 8C620014 */ lw $v0, 0X14($v1) @@ -375,7 +375,7 @@ glabel effect_ss_load_particle /* 010944 0x800B05C0 01394823 */ subu $t1, $t1, $t9 /* 010945 0x800B05C4 00094940 */ sll $t1, $t1, 5 /* 010946 0x800B05C8 AFA20030 */ sw $v0, 0X30($sp) -/* 010947 0x800B05CC 0C02C084 */ jal effect_ss_delete +/* 010947 0x800B05CC 0C02C084 */ jal EffectSS_Delete /* 010948 0x800B05D0 012A2021 */ addu $a0, $t1, $t2 /* 010949 0x800B05D4 8FAD003C */ lw $t5, 0X3C($sp) /* 010950 0x800B05D8 24030060 */ li $v1, 96 @@ -413,7 +413,7 @@ glabel effect_ss_load_particle /* 010982 0x800B0658 01E30019 */ multu $t7, $v1 /* 010983 0x800B065C 00004812 */ mflo $t1 /* 010984 0x800B0660 012A2021 */ addu $a0, $t1, $t2 -/* 010985 0x800B0664 0C02C09C */ jal effect_ss_reset_entry +/* 010985 0x800B0664 0C02C09C */ jal EffectSS_ResetLoadedParticleEntry /* 010986 0x800B0668 00000000 */ nop .L_800B066C: /* 010987 0x800B066C 8FBF001C */ lw $ra, 0X1C($sp) @@ -427,7 +427,7 @@ glabel effect_ss_load_particle // XXX regalloc is wrong #ifdef NONMATCHING -void effect_ss_update_particle(z_GlobalContext* ctxt, u32 index) { +void EffectSS_UpdateParticle(z_GlobalContext* ctxt, u32 index) { z_LoadedParticleEntry* particle = &EffectSS2Info.data_table[index]; if (particle->update != NULL) { @@ -446,7 +446,7 @@ void effect_ss_update_particle(z_GlobalContext* ctxt, u32 index) { #else GLOBAL_ASM( -glabel effect_ss_update_particle +glabel EffectSS_UpdateParticle /* 010991 0x800B067C 27BDFFE8 */ addiu $sp, $sp, -24 /* 010992 0x800B0680 AFBF0014 */ sw $ra, 0X14($sp) /* 010993 0x800B0684 3C0F801B */ lui $t7, %hi(EffectSS2Info) @@ -492,7 +492,7 @@ glabel effect_ss_update_particle #endif -void effect_ss_update_all_particles(z_GlobalContext* ctxt) { +void EffectSS_UpdateAllParticles(z_GlobalContext* ctxt) { s32 i; for (i = 0; i < EffectSS2Info.size; i++) { @@ -500,12 +500,12 @@ void effect_ss_update_all_particles(z_GlobalContext* ctxt) { EffectSS2Info.data_table[i].life--; if (EffectSS2Info.data_table[i].life < 0) { - effect_ss_delete(&EffectSS2Info.data_table[i]); + EffectSS_Delete(&EffectSS2Info.data_table[i]); } } if (EffectSS2Info.data_table[i].life > -1) { - effect_ss_update_particle(ctxt, i); + EffectSS_UpdateParticle(ctxt, i); } } } @@ -513,7 +513,7 @@ void effect_ss_update_all_particles(z_GlobalContext* ctxt) { // XXX regalloc is wrong #ifdef NONMATCHING -void effect_ss_draw_particle(z_GlobalContext* ctxt, s32 index) { +void EffectSS_DrawParticle(z_GlobalContext* ctxt, s32 index) { z_LoadedParticleEntry* entry = &EffectSS2Info.data_table[index]; if (entry->draw != 0) { (*entry->draw)(ctxt); @@ -523,7 +523,7 @@ void effect_ss_draw_particle(z_GlobalContext* ctxt, s32 index) { #else GLOBAL_ASM( -glabel effect_ss_draw_particle +glabel EffectSS_DrawParticle /* 011078 0x800B07D8 27BDFFE8 */ addiu $sp, $sp, -24 /* 011079 0x800B07DC AFBF0014 */ sw $ra, 0X14($sp) /* 011080 0x800B07E0 3C0F801B */ lui $t7, %hi(EffectSS2Info) @@ -546,13 +546,13 @@ glabel effect_ss_draw_particle #endif -void effect_ss_draw_all_particles(z_GlobalContext* ctxt) { +void EffectSS_DrawAllParticles(z_GlobalContext* ctxt) { UNK_TYPE s0; s32 i; - s0 = func_80102580(&ctxt->unk818, ctxt->unk0); - func_801022F0(s0, ctxt->unk818, 0, ctxt); - func_80101BC8(s0, ctxt->unk0); + s0 = Lights_CreateMapper(&ctxt->unk818, ctxt->unk0); + Lights_MapLights(s0, ctxt->unk818, 0, ctxt); + Lights_UploadLights(s0, ctxt->unk0); for (i = 0; i < EffectSS2Info.size; i++) { if (EffectSS2Info.data_table[i].life > -1) { @@ -563,9 +563,9 @@ void effect_ss_draw_all_particles(z_GlobalContext* ctxt) { EffectSS2Info.data_table[i].position.z > 32000 || EffectSS2Info.data_table[i].position.z < -32000 ) { - effect_ss_delete(&EffectSS2Info.data_table[i]); + EffectSS_Delete(&EffectSS2Info.data_table[i]); } else { - effect_ss_draw_particle(ctxt, i); + EffectSS_DrawParticle(ctxt, i); } } } diff --git a/src/code/z_lib.c b/src/code/z_lib.c index a8527c588..9d5e32fa5 100644 --- a/src/code/z_lib.c +++ b/src/code/z_lib.c @@ -5,7 +5,7 @@ extern float fabsf(float); #pragma intrinsic (fabsf) -void* func_800FEC90(void* dst, void* src, size_t n) { +void* Lib_bcopy(void* dst, void* src, size_t n) { _bcopy(src, dst, n); return dst; @@ -13,7 +13,7 @@ void* func_800FEC90(void* dst, void* src, size_t n) { #ifdef NONMATCHING -void* func_800FECC0(u8* a0, u32 a1, u32 a2) { +void* Lib_memset(u8* a0, u32 a1, u32 a2) { u8* v0; // XXX: realloc is messed up @@ -33,7 +33,7 @@ void* func_800FECC0(u8* a0, u32 a1, u32 a2) { #else GLOBAL_ASM( -glabel func_800FECC0 +glabel Lib_memset /* 091264 0x800FECC0 27BDFFE8 */ addiu $sp, $sp, -24 /* 091265 0x800FECC4 AFBF0014 */ sw $ra, 0X14($sp) /* 091266 0x800FECC8 AFA40018 */ sw $a0, 0X18($sp) @@ -76,15 +76,15 @@ glabel func_800FECC0 #endif -f32 func_800FED44(s16 a0) { +f32 Lib_cos(s16 a0) { return coss(a0) * D_801DDA80; } -f32 func_800FED84(s16 a0) { +f32 Lib_sin(s16 a0) { return sins(a0) * D_801DDA84; } -s32 func_800FEDC4(s32 a0, s32 a1, s32 a2) { +s32 Lib_StepTowardsGet_i(s32 a0, s32 a1, s32 a2) { s32 v1; if (a1 >= a0) { @@ -101,17 +101,17 @@ s32 func_800FEDC4(s32 a0, s32 a1, s32 a2) { return a1; } -UNK_RET func_800FEE08(u32* a0, u32 a1, u32 a2) { - *a0 = func_800FEDC4(*a0, a1, a2); +UNK_RET Lib_StepTowards_i(u32* a0, u32 a1, u32 a2) { + *a0 = Lib_StepTowardsGet_i(*a0, a1, a2); } -UNK_TYPE func_800FEE34(u32* a0, u32 a1, u32 a2) { - func_800FEE08(a0, a1, a2); +UNK_TYPE Lib_StepTowardsCheck_i(u32* a0, u32 a1, u32 a2) { + Lib_StepTowards_i(a0, a1, a2); return a1 == *a0; } -UNK_TYPE func_800FEE70(s16* a0, s16 a1, s16 a2) { +UNK_TYPE Lib_StepTowardsCheckFramerateScaled_s(s16* a0, s16 a1, s16 a2) { f32 f0; if (a2 != 0) { @@ -135,7 +135,7 @@ UNK_TYPE func_800FEE70(s16* a0, s16 a1, s16 a2) { return 0; } -UNK_TYPE func_800FEF2C(s16* a0, s16 a1, s16 a2) { +UNK_TYPE Lib_StepTowardsCheck_s(s16* a0, s16 a1, s16 a2) { if (a2 != 0) { if (a1 < *a0) { a2 = -a2; @@ -155,7 +155,7 @@ UNK_TYPE func_800FEF2C(s16* a0, s16 a1, s16 a2) { return 0; } -UNK_TYPE func_800FEFB4(s8* a0, s8 a1, s8 a2) { +UNK_TYPE Lib_StepTowardsCheck_c(s8* a0, s8 a1, s8 a2) { if (a2 != 0) { if (a1 < *a0) { a2 = -a2; @@ -177,7 +177,7 @@ UNK_TYPE func_800FEFB4(s8* a0, s8 a1, s8 a2) { #ifdef NONMATCHING -UNK_TYPE func_800FF03C(f32* a0, f32 a1, f32 a2) { +UNK_TYPE Lib_StepTowardsCheck_f(f32* a0, f32 a1, f32 a2) { if (a2 != 0) { // XXX: regalloc is messed up if (a1 < *a0) { @@ -201,7 +201,7 @@ UNK_TYPE func_800FF03C(f32* a0, f32 a1, f32 a2) { #else GLOBAL_ASM( -glabel func_800FF03C +glabel Lib_StepTowardsCheck_f /* 091487 0x800FF03C 44857000 */ mtc1 $a1, $f14 /* 091488 0x800FF040 44866000 */ mtc1 $a2, $f12 /* 091489 0x800FF044 44802000 */ mtc1 $zero, $f4 @@ -568,7 +568,7 @@ glabel func_800FF3A0 /* 091735 0x800FF41C 44992000 */ mtc1 $t9, $f4 /* 091736 0x800FF420 468090A0 */ cvt.s.w $f2, $f18 /* 091737 0x800FF424 46802320 */ cvt.s.w $f12, $f4 -/* 091738 0x800FF428 0C060040 */ jal func_80180100 +/* 091738 0x800FF428 0C060040 */ jal atans_flip /* 091739 0x800FF42C 46001387 */ neg.s $f14, $f2 /* 091740 0x800FF430 8FA5001C */ lw $a1, 0X1C($sp) /* 091741 0x800FF434 10000002 */ b .L_800FF440 @@ -583,15 +583,15 @@ glabel func_800FF3A0 #endif -s16 func_800FF450(s16 a0, s16 a1) { - return (s16)(func_80086FDC() * a1) + a0; +s16 Lib_rand_s(s16 a0, s16 a1) { + return (s16)(randZeroOne() * a1) + a0; } -s16 func_800FF4A4(s16 a0, s16 a1, s16 a2) { - return (s16)(func_80086FDC() * a2) * a1 + a0; +s16 Lib_randStride_s(s16 a0, s16 a1, s16 a2) { + return (s16)(randZeroOne() * a2) * a1 + a0; } -UNK_RET func_800FF50C(z_Vector3D* dst, z_Vector3D* src) { +UNK_RET Lib_CopyVec3f(z_Vector3D* dst, z_Vector3D* src) { f32 x = src->x; f32 y = src->y; f32 z = src->z; @@ -601,7 +601,7 @@ UNK_RET func_800FF50C(z_Vector3D* dst, z_Vector3D* src) { dst->z = z; } -UNK_RET func_800FF52C(z_Vector3Ds16* dst, z_Vector3Ds16* src) { +UNK_RET Lib_CopyVec3s(z_Vector3Ds16* dst, z_Vector3Ds16* src) { s16 x = src->x; s16 y = src->y; s16 z = src->z; @@ -611,7 +611,7 @@ UNK_RET func_800FF52C(z_Vector3Ds16* dst, z_Vector3Ds16* src) { dst->z = z; } -UNK_RET func_800FF54C(z_Vector3D* dst, z_Vector3Ds16* src) { +UNK_RET Lib_ToVec3f(z_Vector3D* dst, z_Vector3Ds16* src) { f32 x = src->x; f32 y = src->y; f32 z = src->z; @@ -621,7 +621,7 @@ UNK_RET func_800FF54C(z_Vector3D* dst, z_Vector3Ds16* src) { dst->z = z; } -UNK_RET func_800FF584(z_Vector3Ds16* dst, z_Vector3D* src) { +UNK_RET Lib_ToVec3s(z_Vector3Ds16* dst, z_Vector3D* src) { f32 x = src->x; f32 y = src->y; f32 z = src->z; @@ -631,56 +631,56 @@ UNK_RET func_800FF584(z_Vector3Ds16* dst, z_Vector3D* src) { dst->z = z; } -UNK_RET func_800FF5BC(z_Vector3D* a0, z_Vector3D* a1, z_Vector3D* a2) { +UNK_RET Lib_AddVec3f(z_Vector3D* a0, z_Vector3D* a1, z_Vector3D* a2) { a2->x = a0->x + a1->x; a2->y = a0->y + a1->y; a2->z = a0->z + a1->z; } -UNK_RET func_800FF5F4(z_Vector3D* a0, z_Vector3D* a1, z_Vector3D* a2) { +UNK_RET Lib_SubVec3f(z_Vector3D* a0, z_Vector3D* a1, z_Vector3D* a2) { a2->x = a0->x - a1->x; a2->y = a0->y - a1->y; a2->z = a0->z - a1->z; } -UNK_RET func_800FF62C(z_Vector3D* a0, z_Vector3Ds16* a1, z_Vector3Ds16* a2) { +UNK_RET Lib_SubVec3sToVec3f(z_Vector3D* a0, z_Vector3Ds16* a1, z_Vector3Ds16* a2) { a0->x = a1->x - a2->x; a0->y = a1->y - a2->y; a0->z = a1->z - a2->z; } -UNK_RET func_800FF688(z_Vector3D* a0, f32 a1) { +UNK_RET Lib_ScaleInPlaceVec3f(z_Vector3D* a0, f32 a1) { a0->x *= a1; a0->y *= a1; a0->z *= a1; } -UNK_RET func_800FF6C4(z_Vector3D* a0, f32 a1, z_Vector3D* a2) { +UNK_RET Lib_ScaleVec3f(z_Vector3D* a0, f32 a1, z_Vector3D* a2) { a2->x = a0->x * a1; a2->y = a0->y * a1; a2->z = a0->z * a1; } -UNK_RET func_800FF6F8(z_Vector3D* a0, z_Vector3D* a1, f32 a2, z_Vector3D* a3) { +UNK_RET Lib_LerpVec3f(z_Vector3D* a0, z_Vector3D* a1, f32 a2, z_Vector3D* a3) { a3->x = (a1->x - a0->x) * a2 + a0->x; a3->y = (a1->y - a0->y) * a2 + a0->y; a3->z = (a1->z - a0->z) * a2 + a0->z; } -UNK_RET func_800FF750(z_Vector3D* a0, z_Vector3D* a1, f32 a2, z_Vector3D* a3) { +UNK_RET Lib_AddScaledVec3f(z_Vector3D* a0, z_Vector3D* a1, f32 a2, z_Vector3D* a3) { a3->x = a1->x * a2 + a0->x; a3->y = a1->y * a2 + a0->y; a3->z = a1->z * a2 + a0->z; } -UNK_RET func_800FF79C(z_Vector3D* a0, f32 a1, z_Vector3D* a2) { - a2->x = func_801795C0(a1) + a0->x; - a2->y = func_801795C0(a1) + a0->y; - a2->z = func_801795C0(a1) + a0->z; +UNK_RET Lib_ModifyRandScaled(z_Vector3D* a0, f32 a1, z_Vector3D* a2) { + a2->x = randPlusMinusPoint5Scaled(a1) + a0->x; + a2->y = randPlusMinusPoint5Scaled(a1) + a0->y; + a2->z = randPlusMinusPoint5Scaled(a1) + a0->z; } -void func_800FF810(z_Vector3D* a0, z_Vector3D* a1, f32 a2, z_Vector3D* a3) { - f32 f0 = func_800FF8D4(a0, a1, a3); +void Lib_ScaledNormalizedDifferenceVec3f(z_Vector3D* a0, z_Vector3D* a1, f32 a2, z_Vector3D* a3) { + f32 f0 = Lib_DistanceAndDifferenceVec3f(a0, a1, a3); f32 f2; if (f0 == 0) { @@ -694,24 +694,24 @@ void func_800FF810(z_Vector3D* a0, z_Vector3D* a1, f32 a2, z_Vector3D* a3) { a3->z *= f2; } -f32 func_800FF884(z_Vector3D* a0, z_Vector3D* a1) { +f32 Lib_DistanceVec3f(z_Vector3D* a0, z_Vector3D* a1) { z_Vector3D sp1C; - func_800FF5F4(a1, a0, &sp1C); + Lib_SubVec3f(a1, a0, &sp1C); return sqrtf((sp1C.x * sp1C.x) + (sp1C.y * sp1C.y) + (sp1C.z * sp1C.z)); } -f32 func_800FF8D4(z_Vector3D* a0, z_Vector3D* a1, z_Vector3D* a2) { - func_800FF5F4(a1, a0, a2); +f32 Lib_DistanceAndDifferenceVec3f(z_Vector3D* a0, z_Vector3D* a1, z_Vector3D* a2) { + Lib_SubVec3f(a1, a0, a2); return sqrtf((a2->x * a2->x) + (a2->y * a2->y) + (a2->z * a2->z)); } -f32 func_800FF92C(z_Vector3D* a0, z_Vector3D* a1) { +f32 Lib_DistanceXZVec3f(z_Vector3D* a0, z_Vector3D* a1) { f32 dx = a1->x - a0->x; f32 dz = a1->z - a0->z; return sqrtf((dx * dx) + (dz * dz)); } -f32 func_800FF960(z_Vector3D* a0, z_Vector3D* a1, f32* a2, f32* a3) { +f32 Lib_DistanceAndDifferenceXZVec3f(z_Vector3D* a0, z_Vector3D* a1, f32* a2, f32* a3) { *a2 = a1->x - a0->x; *a3 = a1->z - a0->z; return sqrtf((*a2 * *a2) + (*a3 * *a3)); @@ -719,10 +719,10 @@ f32 func_800FF960(z_Vector3D* a0, z_Vector3D* a1, f32* a2, f32* a3) { #ifdef NONMATCHING -UNK_RET func_800FF9A4(z_Vector3D* a0, z_Vector3D* a1, f32 a2) { +UNK_RET Lib_PushAwayXZVec3f(z_Vector3D* a0, z_Vector3D* a1, f32 a2) { f32 sp24; f32 sp20; - f32 f0 = func_800FF960(a1, a0, &sp24, &sp20); + f32 f0 = Lib_DistanceAndDifferenceXZVec3f(a1, a0, &sp24, &sp20); f32 f2 = f0 - a2; if ((f0 >= a2) && (f2 != 0)) { @@ -738,7 +738,7 @@ UNK_RET func_800FF9A4(z_Vector3D* a0, z_Vector3D* a1, f32 a2) { #else GLOBAL_ASM( -glabel func_800FF9A4 +glabel Lib_PushAwayXZVec3f /* 092089 0x800FF9A4 27BDFFD8 */ addiu $sp, $sp, -40 /* 092090 0x800FF9A8 AFA5002C */ sw $a1, 0X2C($sp) /* 092091 0x800FF9AC 00802825 */ move $a1, $a0 @@ -748,7 +748,7 @@ glabel func_800FF9A4 /* 092095 0x800FF9BC 8FA4002C */ lw $a0, 0X2C($sp) /* 092096 0x800FF9C0 27A60024 */ addiu $a2, $sp, 36 /* 092097 0x800FF9C4 27A70020 */ addiu $a3, $sp, 32 -/* 092098 0x800FF9C8 0C03FE58 */ jal func_800FF960 +/* 092098 0x800FF9C8 0C03FE58 */ jal Lib_DistanceAndDifferenceXZVec3f /* 092099 0x800FF9CC AFA50028 */ sw $a1, 0X28($sp) /* 092100 0x800FF9D0 C7A20030 */ lwc1 $f2, 0X30($sp) /* 092101 0x800FF9D4 44807000 */ mtc1 $zero, $f14 @@ -787,59 +787,59 @@ glabel func_800FF9A4 #endif -f32 func_800FFA4C(z_Vector3D* a0, z_Vector3D* a1) { +f32 Lib_DistanceYVec3f(z_Vector3D* a0, z_Vector3D* a1) { return a1->y - a0->y; } -UNK_TYPE func_800FFA60(z_Vector3D* a0, z_Vector3D* a1) { +UNK_TYPE Lib_YawVec3f(z_Vector3D* a0, z_Vector3D* a1) { f32 f14 = a1->x - a0->x; f32 f12 = a1->z - a0->z; - return func_80180100(f12, f14); + return atans_flip(f12, f14); } -UNK_TYPE func_800FFA94(z_Vector3D* a0, z_Vector3D* a1) { - return func_80180100(func_800FF92C(a0, a1), a0->y - a1->y); +UNK_TYPE Lib_PitchVec3f(z_Vector3D* a0, z_Vector3D* a1) { + return atans_flip(Lib_DistanceXZVec3f(a0, a1), a0->y - a1->y); } -void func_800FFADC(z_Actor* a0, z_ActorCompInitEntry* a1) { +void Lib_ApplyActorInitVars(z_Actor* a0, z_ActorCompInitEntry* a1) { do { D_801BE960[a1->type]((u8*)a0, a1); } while ((a1++)->cont); } -UNK_RET func_800FFB54(u8* a0, z_ActorCompInitEntry* a1) { +UNK_RET Lib_ApplyActorInitVarByte1(u8* a0, z_ActorCompInitEntry* a1) { *(u8*)(a0 + a1->offset) = (u8)(a1->value); } -UNK_RET func_800FFB70(u8* a0, z_ActorCompInitEntry* a1) { +UNK_RET Lib_ApplyActorInitVarByte2(u8* a0, z_ActorCompInitEntry* a1) { *(u8*)(a0 + a1->offset) = (u8)(a1->value); } -UNK_RET func_800FFB8C(u8* a0, z_ActorCompInitEntry* a1) { +UNK_RET Lib_ApplyActorInitVarShort1(u8* a0, z_ActorCompInitEntry* a1) { *(u16*)(a0 + a1->offset) = (u16)(a1->value); } -UNK_RET func_800FFBA8(u8* a0, z_ActorCompInitEntry* a1) { +UNK_RET Lib_ApplyActorInitVarShort2(u8* a0, z_ActorCompInitEntry* a1) { *(u16*)(a0 + a1->offset) = (u16)(a1->value); } -UNK_RET func_800FFBC4(u8* a0, z_ActorCompInitEntry* a1) { +UNK_RET Lib_ApplyActorInitVarWord1(u8* a0, z_ActorCompInitEntry* a1) { *(u32*)(a0 + a1->offset) = (u32)(a1->value); } -UNK_RET func_800FFBE0(u8* a0, z_ActorCompInitEntry* a1) { +UNK_RET Lib_ApplyActorInitVarWord2(u8* a0, z_ActorCompInitEntry* a1) { *(u32*)(a0 + a1->offset) = (u32)(a1->value); } -UNK_RET func_800FFBFC(u8* a0, z_ActorCompInitEntry* a1) { +UNK_RET Lib_ApplyActorInitVarFloat(u8* a0, z_ActorCompInitEntry* a1) { *(f32*)(a0 + a1->offset) = (f32)(a1->value); } -UNK_RET func_800FFC20(u8* a0, z_ActorCompInitEntry* a1) { +UNK_RET Lib_ApplyActorInitVarFloat1000th(u8* a0, z_ActorCompInitEntry* a1) { *(f32*)(a0 + a1->offset) = (f32)(a1->value) / 1000; } -UNK_RET func_800FFC50(u8* a0, z_ActorCompInitEntry* a1) { +UNK_RET Lib_ApplyActorInitVarVector3f(u8* a0, z_ActorCompInitEntry* a1) { z_Vector3D* v0 = (z_Vector3D*)(a0 + a1->offset); f32 f0 = (f32)(a1->value); @@ -848,7 +848,7 @@ UNK_RET func_800FFC50(u8* a0, z_ActorCompInitEntry* a1) { v0->x = f0; } -UNK_RET func_800FFC7C(u8* a0, z_ActorCompInitEntry* a1) { +UNK_RET Lib_ApplyActorInitVarVector3f1000th(u8* a0, z_ActorCompInitEntry* a1) { z_Vector3D* v0 = (z_Vector3D*)(a0 + a1->offset); f32 f0 = (f32)(a1->value) / 1000; @@ -857,7 +857,7 @@ UNK_RET func_800FFC7C(u8* a0, z_ActorCompInitEntry* a1) { v0->x = f0; } -UNK_RET func_800FFCB4(u8* a0, z_ActorCompInitEntry* a1) { +UNK_RET Lib_ApplyActorInitVarVector3s(u8* a0, z_ActorCompInitEntry* a1) { z_Vector3Ds16* v0 = (z_Vector3Ds16*)(a0 + a1->offset); s16 v1 = (s16)(a1->value); @@ -906,7 +906,7 @@ f32 func_800FFCD8(f32* a0, f32 a1, f32 a2, f32 a3, f32 a4) { return fabsf(a1 - *a0); } -UNK_RET func_800FFDF8(f32* a0, f32 a1, f32 a2, f32 a3) { +UNK_RET Lib_ScaleMax_f(f32* a0, f32 a1, f32 a2, f32 a3) { f32 f2; if (*a0 != a1) { @@ -922,7 +922,7 @@ UNK_RET func_800FFDF8(f32* a0, f32 a1, f32 a2, f32 a3) { } } -void func_800FFE68(f32* a0, f32 a1, f32 a2) { +void Lib_Scale_f(f32* a0, f32 a1, f32 a2) { f32 f0 = *a0 * a1; if (a2 < f0) { @@ -936,14 +936,14 @@ void func_800FFE68(f32* a0, f32 a1, f32 a2) { #ifdef NONMATCHING -s16 func_800FFEBC(s16* a0, s16 a1, s16 a2, s16 a3, s16 a4) { +s16 Lib_ScaleMaxMin_s(s16* a0, s16 a1, s16 a2, s16 a3, s16 a4) { } #else GLOBAL_ASM( -glabel func_800FFEBC +glabel Lib_ScaleMaxMin_s /* 092415 0x800FFEBC AFA50004 */ sw $a1, 0X4($sp) /* 092416 0x800FFEC0 AFA60008 */ sw $a2, 0X8($sp) /* 092417 0x800FFEC4 00063400 */ sll $a2, $a2, 16 @@ -1028,7 +1028,7 @@ glabel func_800FFEBC #endif -void func_800FFFD8(s16* a0, s16 a1, s16 a2, s16 a3) { +void Lib_ScaleMax_s(s16* a0, s16 a1, s16 a2, s16 a3) { s16 v0 = a1 - *a0; v0 /= a2; @@ -1045,7 +1045,7 @@ void func_800FFFD8(s16* a0, s16 a1, s16 a2, s16 a3) { *a0 += v0; } -UNK_RET func_8010007C(u8* a0, u8* a1) { +UNK_RET Lib_CopyColor(u8* a0, u8* a1) { a0[0] = a1[0]; a0[1] = a1[1]; a0[2] = a1[2]; @@ -1064,12 +1064,12 @@ UNK_RET func_801000F4(UNK_TYPE a0, u16 a1) { func_8019F1C0(a0, a1); } -void func_8010011C(z_Vector3D* a0, s16 a1, z_Vector3D* a2, z_Vector3D* a3) { +void Lib_TranslateAndRotateYVec3f(z_Vector3D* a0, s16 a1, z_Vector3D* a2, z_Vector3D* a3) { f32 sp1C; f32 f0; - sp1C = func_800FED44(a1); - f0 = func_800FED84(a1); + sp1C = Lib_cos(a1); + f0 = Lib_sin(a1); a3->x = a0->x + (a2->x * sp1C + a2->z * f0); a3->y = a0->y + a2->y; a3->z = a0->z + (a2->z * sp1C - a2->x * f0); @@ -1077,7 +1077,7 @@ void func_8010011C(z_Vector3D* a0, s16 a1, z_Vector3D* a2, z_Vector3D* a3) { #ifdef NONMATCHING -void func_801001B8(u8* a0, u8* a1, f32 a2, u8* a3) { +void Lib_LerpRGB(u8* a0, u8* a1, f32 a2, u8* a3) { // XXX regalloc is slightly off a3[0] = (f32)a0[0] + ((f32)a1[0] - (f32)a0[0]) * a2; a3[1] = (f32)a0[1] + ((f32)a1[1] - (f32)a0[1]) * a2; @@ -1087,7 +1087,7 @@ void func_801001B8(u8* a0, u8* a1, f32 a2, u8* a3) { #else GLOBAL_ASM( -glabel func_801001B8 +glabel Lib_LerpRGB /* 092606 0x801001B8 44866000 */ mtc1 $a2, $f12 /* 092607 0x801001BC 00000000 */ nop /* 092608 0x801001C0 908E0000 */ lbu $t6, 0X0($a0) @@ -1271,13 +1271,13 @@ glabel func_801001B8 #endif -f32 func_80100448(z_Vector3D* a0, z_Vector3D* a1, f32 a2) { +f32 Lib_PushAwayVec3f(z_Vector3D* a0, z_Vector3D* a1, f32 a2) { z_Vector3D sp24; f32 f2; f32 f0; - func_800FF5F4(a1, a0, &sp24); - f0 = func_8017A6D4(&sp24); + Lib_SubVec3f(a1, a0, &sp24); + f0 = Math3D_Length(&sp24); if (a2 < f0) { f2 = a2 / f0; f0 = f0 - a2; @@ -1285,20 +1285,20 @@ f32 func_80100448(z_Vector3D* a0, z_Vector3D* a1, f32 a2) { a0->y = a0->y + f2 * sp24.y; a0->z = a0->z + f2 * sp24.z; } else { - func_800FF50C(a0, a1); + Lib_CopyVec3f(a0, a1); f0 = 0; } return f0; } -void func_801004FC(void) {} +void Lib_Nop801004FC(void) {} -UNK_TYPE func_80100504(u32 a0) { +UNK_TYPE Lib_PtrSegToPhys(u32 a0) { return(D_801F8180[(a0 << 4) >> 28] + (a0 & 0xFFFFFF)) + 0x80000000; } -UNK_TYPE func_8010053C(u32 a0) { +UNK_TYPE Lib_PtrSegToPhysNull(u32 a0) { if ((a0 >> 28) == 0) { return a0; } @@ -1306,7 +1306,7 @@ UNK_TYPE func_8010053C(u32 a0) { return(D_801F8180[(a0 << 4) >> 28] + (a0 & 0xFFFFFF)) + 0x80000000; } -UNK_TYPE func_80100584(UNK_TYPE a0) { +UNK_TYPE Lib_PtrSegToK0(UNK_TYPE a0) { if (a0 == 0) { return 0; } else { @@ -1314,7 +1314,7 @@ UNK_TYPE func_80100584(UNK_TYPE a0) { } } -UNK_TYPE func_801005A0(UNK_TYPE a0) { +UNK_TYPE Lib_PtrSegToK0Null(UNK_TYPE a0) { if (a0 == 0) { return 0; } else { diff --git a/src/test.old b/src/test.old new file mode 100644 index 000000000..056ecd77d --- /dev/null +++ b/src/test.old @@ -0,0 +1,73 @@ +#include <ultra64.h> +#include <global.h> + + +void func_80174BF0(void* a0) { + u32 s0; + s16* sp38; + s16 v0; + + D_801D1520 = 320; + D_801D1524 = 240; + + func_8010C0C0(); + func_80083BC4(); + func_801792A4(); + func_80179260(); + + D_801D1528 = 0x80780000 - (u32)&D_803824C0; + func_800865F8((u32)&D_803824C0, D_801D1528); + + func_800E93E0(); + + staticContext->unkD4 = 0; + + osCreateMesgQueue(&D_801F8160, D_801F8178, 1); + + osSetEventMesg(5, &D_801F8160, NULL); + + osCreateMesgQueue(&D_801F8500, D_801F8518, 60); + + func_80085320(&D_801FB2D8, &D_801F9FB8, &D_801FA5B8_, 0, 256, &D_801DFD70); + + func_801772A0(&D_801F81C0, &D_801FA5B8, 16, D_8009B290, 1, &D_80099EF0); + + func_8008189C(); + + func_80081250(&D_80099EF0, &D_801F84F8, &D_801F8500); + + func_80085320(&D_801FB2F8, &D_801FA5B8, &D_801FADB8_, 0, 256, &D_801DFD78); + + func_80173074(&D_801FB338, &D_801FADB8, 11, 10, &D_801F81C0, &D_80099EF0); + + func_80085320(&D_801FB318, &D_801FADB8, &D_801FB2B8_, 0, 256, &D_801DFD80); + + func_80176194(&D_801F8160, &D_80099EF0, 7, 15, &D_801FADB8); + + func_80173048(&D_801FB338); + + func_80085320(&D_801FB2B8, &D_801F87B8, &D_801F9FB8_, 0, 256, &D_801DFD88); + + osCreateThread(&D_801F8608, 4, (void (*)(void*))func_801748A0, a0, &D_801F9FB8_, 9); + osStartThread(&D_801F8608); + + s0 = 0; + while (s0 == 0) { + sp38 = NULL; + osRecvMesg(&D_801F8500, (OSMesg*)&sp38, 1); + + if (sp38 == NULL) break; + + v0 = *sp38; + + if (v0 == 3) { + s0 = 1; + } else if (v0 == 4) { + func_8010C164(); + } + } + + func_800812DC(&D_80099EF0, &D_801F84F8); + + osDestroyThread(&D_801F8608); +} |
