Decompile guLookAt

This commit is contained in:
Ryan Dwyer 2021-01-28 22:57:42 +10:00
parent 274ec0cc27
commit 162c30fedb
15 changed files with 40 additions and 60 deletions

View File

@ -190,7 +190,7 @@ glabel func0f0155f0
/* f01582c: 01cf2021 */ addu $a0,$t6,$t7
/* f015830: e7a40020 */ swc1 $f4,0x20($sp)
/* f015834: e7a60024 */ swc1 $f6,0x24($sp)
/* f015838: 0c0010a9 */ jal func000042a4
/* f015838: 0c0010a9 */ jal guLookAt
/* f01583c: e7b2001c */ swc1 $f18,0x1c($sp)
/* f015840: 3c180102 */ lui $t8,0x102
/* f015844: 37180040 */ ori $t8,$t8,0x40

View File

@ -8750,7 +8750,7 @@ glabel func0f0bfc7c
/* f0bff24: 0fc2d3ee */ jal currentPlayerSetUnk006c
/* f0bff28: 02002025 */ or $a0,$s0,$zero
/* f0bff2c: 02002025 */ or $a0,$s0,$zero
/* f0bff30: 0c0128d8 */ jal func0004a360
/* f0bff30: 0c0128d8 */ jal guMtxF2L
/* f0bff34: 02202825 */ or $a1,$s1,$zero
/* f0bff38: 0fc2d3fe */ jal currentPlayerSetUnk1758
/* f0bff3c: 02202025 */ or $a0,$s1,$zero
@ -8759,7 +8759,7 @@ glabel func0f0bfc7c
/* f0bff48: 27a5008c */ addiu $a1,$sp,0x8c
/* f0bff4c: 8e4d0284 */ lw $t5,0x284($s2)
/* f0bff50: 27a4008c */ addiu $a0,$sp,0x8c
/* f0bff54: 0c0128d8 */ jal func0004a360
/* f0bff54: 0c0128d8 */ jal guMtxF2L
/* f0bff58: 8da5005c */ lw $a1,0x5c($t5)
/* f0bff5c: 8e430284 */ lw $v1,0x284($s2)
/* f0bff60: 8c64005c */ lw $a0,0x5c($v1)
@ -8861,10 +8861,10 @@ glabel func0f0bfc7c
// }
//
// currentPlayerSetUnk006c(s0);
// func0004a360(s0, s1);
// guMtxF2L(s0, s1);
// currentPlayerSetUnk1758(s1);
// func00015f04(scale, &sp8c);
// func0004a360(&sp8c, g_Vars.currentplayer->matrix5c);
// guMtxF2L(&sp8c, g_Vars.currentplayer->matrix5c);
// func00016820(g_Vars.currentplayer->matrix5c, g_Vars.currentplayer->matrix60);
// currentPlayerSetUnk173c(g_Vars.currentplayer->matrix5c);
// currentPlayerSetUnk1738(g_Vars.currentplayer->matrix60);

View File

@ -4081,7 +4081,7 @@ u32 var800918e4 = 0;
s32 var800918e8 = 0;
u32 var800918ec = 0;
void *g_AudioSp = NULL;
u32 g_AmgrCurrentCmdList = 0;
OSScTask *g_AmgrCurrentCmdList = NULL;
u32 var800918f8 = 0;
u32 var800918fc = 0;
u32 var80091900 = 0;

View File

@ -3,7 +3,12 @@
#include <ultra64.h>
#include "types.h"
u32 func00003fb0(void);
u32 func000042a4(void);
void guLookAtF(float mf[4][4], float xEye, float yEye, float zEye,
float xAt, float yAt, float zAt,
float xUp, float yUp, float zUp);
void guLookAt(Mtx *m, float xEye, float yEye, float zEye,
float xAt, float yAt, float zAt,
float xUp, float yUp, float zUp);
#endif

View File

@ -3,7 +3,6 @@
#include <ultra64.h>
#include "types.h"
void func0004a360(Mtxf *arg0, Mtx *arg1);
u32 func0004a460(void);
f32 sqrtf(f32 value);

View File

@ -13,7 +13,7 @@
#include "types.h"
GLOBAL_ASM(
glabel func00003fb0
glabel guLookAtF
/* 3fb0: 27bdffb0 */ addiu $sp,$sp,-80
/* 3fb4: afbf004c */ sw $ra,0x4c($sp)
/* 3fb8: afb00048 */ sw $s0,0x48($sp)
@ -208,37 +208,13 @@ glabel func00003fb0
/* 42a0: 27bd0050 */ addiu $sp,$sp,0x50
);
GLOBAL_ASM(
glabel func000042a4
/* 42a4: 27bdff90 */ addiu $sp,$sp,-112
/* 42a8: 44856000 */ mtc1 $a1,$f12
/* 42ac: 44867000 */ mtc1 $a2,$f14
/* 42b0: c7a40080 */ lwc1 $f4,0x80($sp)
/* 42b4: c7a60084 */ lwc1 $f6,0x84($sp)
/* 42b8: c7a80088 */ lwc1 $f8,0x88($sp)
/* 42bc: c7aa008c */ lwc1 $f10,0x8c($sp)
/* 42c0: c7b00090 */ lwc1 $f16,0x90($sp)
/* 42c4: c7b20094 */ lwc1 $f18,0x94($sp)
/* 42c8: afbf002c */ sw $ra,0x2c($sp)
/* 42cc: afa40070 */ sw $a0,0x70($sp)
/* 42d0: 44056000 */ mfc1 $a1,$f12
/* 42d4: 44067000 */ mfc1 $a2,$f14
/* 42d8: afa7007c */ sw $a3,0x7c($sp)
/* 42dc: 27a40030 */ addiu $a0,$sp,0x30
/* 42e0: e7a40010 */ swc1 $f4,0x10($sp)
/* 42e4: e7a60014 */ swc1 $f6,0x14($sp)
/* 42e8: e7a80018 */ swc1 $f8,0x18($sp)
/* 42ec: e7aa001c */ swc1 $f10,0x1c($sp)
/* 42f0: e7b00020 */ swc1 $f16,0x20($sp)
/* 42f4: 0c000fec */ jal func00003fb0
/* 42f8: e7b20024 */ swc1 $f18,0x24($sp)
/* 42fc: 27a40030 */ addiu $a0,$sp,0x30
/* 4300: 0c0128d8 */ jal func0004a360
/* 4304: 8fa50070 */ lw $a1,0x70($sp)
/* 4308: 8fbf002c */ lw $ra,0x2c($sp)
/* 430c: 27bd0070 */ addiu $sp,$sp,0x70
/* 4310: 03e00008 */ jr $ra
/* 4314: 00000000 */ nop
/* 4318: 00000000 */ nop
/* 431c: 00000000 */ nop
);
void guLookAt(Mtx *m, float xEye, float yEye, float zEye,
float xAt, float yAt, float zAt,
float xUp, float yUp, float zUp)
{
float mf[4][4];
guLookAtF(mf, xEye, yEye, zEye, xAt, yAt, zAt, xUp, yUp, zUp);
guMtxF2L(mf, m);
}

View File

@ -301,7 +301,7 @@ glabel func0000470c
/* 4760: 0c0010c8 */ jal func00004320
/* 4764: e7b20024 */ swc1 $f18,0x24($sp)
/* 4768: 27a40038 */ addiu $a0,$sp,0x38
/* 476c: 0c0128d8 */ jal func0004a360
/* 476c: 0c0128d8 */ jal guMtxF2L
/* 4770: 8fa50078 */ lw $a1,0x78($sp)
/* 4774: 8fbf0034 */ lw $ra,0x34($sp)
/* 4778: 27bd0078 */ addiu $sp,$sp,0x78

View File

@ -169,7 +169,7 @@ glabel func00004a24
/* 4a58: 0c001210 */ jal func00004840
/* 4a5c: e7a80018 */ swc1 $f8,0x18($sp)
/* 4a60: 27a40028 */ addiu $a0,$sp,0x28
/* 4a64: 0c0128d8 */ jal func0004a360
/* 4a64: 0c0128d8 */ jal guMtxF2L
/* 4a68: 8fa50068 */ lw $a1,0x68($sp)
/* 4a6c: 8fbf0024 */ lw $ra,0x24($sp)
/* 4a70: 27bd0068 */ addiu $sp,$sp,0x68

View File

@ -187,7 +187,7 @@ glabel func00004c04
/* 4c2c: 0c0012a0 */ jal func00004a80
/* 4c30: e7a40010 */ swc1 $f4,0x10($sp)
/* 4c34: 27a40020 */ addiu $a0,$sp,0x20
/* 4c38: 0c0128d8 */ jal func0004a360
/* 4c38: 0c0128d8 */ jal guMtxF2L
/* 4c3c: 8fa50060 */ lw $a1,0x60($sp)
/* 4c40: 8fbf001c */ lw $ra,0x1c($sp)
/* 4c44: 27bd0060 */ addiu $sp,$sp,0x60

View File

@ -1655,7 +1655,7 @@ glabel func0000ab78
/* abfc: 00000000 */ nop
/* ac00: afa2004c */ sw $v0,0x4c($sp)
/* ac04: 27a400d0 */ addiu $a0,$sp,0xd0
/* ac08: 0c0128d8 */ jal func0004a360
/* ac08: 0c0128d8 */ jal guMtxF2L
/* ac0c: 00402825 */ or $a1,$v0,$zero
/* ac10: 0c00566c */ jal func000159b0
/* ac14: 27a40050 */ addiu $a0,$sp,0x50
@ -1663,7 +1663,7 @@ glabel func0000ab78
/* ac1c: 00000000 */ nop
/* ac20: afa20048 */ sw $v0,0x48($sp)
/* ac24: 27a40050 */ addiu $a0,$sp,0x50
/* ac28: 0c0128d8 */ jal func0004a360
/* ac28: 0c0128d8 */ jal guMtxF2L
/* ac2c: 00402825 */ or $a1,$v0,$zero
/* ac30: 3c0e0103 */ lui $t6,0x103
/* ac34: 35ce0040 */ ori $t6,$t6,0x40
@ -1721,7 +1721,7 @@ glabel func0000aca4
/* acf4: 0c001210 */ jal func00004840
/* acf8: e7a60014 */ swc1 $f6,0x14($sp)
/* acfc: 27a40044 */ addiu $a0,$sp,0x44
/* ad00: 0c0128d8 */ jal func0004a360
/* ad00: 0c0128d8 */ jal guMtxF2L
/* ad04: 8fa50040 */ lw $a1,0x40($sp)
/* ad08: 3c0e0103 */ lui $t6,0x103
/* ad0c: 35ce0040 */ ori $t6,$t6,0x40
@ -1822,7 +1822,7 @@ glabel func0000ad5c
/* ae78: 3c048009 */ lui $a0,%hi(var80092830)
/* ae7c: 3c058009 */ lui $a1,%hi(var80092870)
/* ae80: 8ca52870 */ lw $a1,%lo(var80092870)($a1)
/* ae84: 0c0128d8 */ jal func0004a360
/* ae84: 0c0128d8 */ jal guMtxF2L
/* ae88: 24842830 */ addiu $a0,$a0,%lo(var80092830)
/* ae8c: 3c0c0103 */ lui $t4,0x103
/* ae90: 3c058009 */ lui $a1,%hi(var80092870)
@ -1948,7 +1948,7 @@ glabel func0000af00
/* b060: 3c048009 */ lui $a0,%hi(var80092830)
/* b064: 3c058009 */ lui $a1,%hi(var80092870)
/* b068: 8ca52870 */ lw $a1,%lo(var80092870)($a1)
/* b06c: 0c0128d8 */ jal func0004a360
/* b06c: 0c0128d8 */ jal guMtxF2L
/* b070: 24842830 */ addiu $a0,$a0,%lo(var80092830)
/* b074: 3c0d0103 */ lui $t5,0x103
/* b078: 3c058009 */ lui $a1,%hi(var80092870)
@ -2007,7 +2007,7 @@ glabel func0000b0e8
/* b13c: 0c001210 */ jal func00004840
/* b140: e7a60014 */ swc1 $f6,0x14($sp)
/* b144: 27a40040 */ addiu $a0,$sp,0x40
/* b148: 0c0128d8 */ jal func0004a360
/* b148: 0c0128d8 */ jal guMtxF2L
/* b14c: 8fa5003c */ lw $a1,0x3c($sp)
/* b150: 3c0e0103 */ lui $t6,0x103
/* b154: 35ce0040 */ ori $t6,$t6,0x40

View File

@ -12,7 +12,7 @@
#include "types.h"
GLOBAL_ASM(
glabel func0004a360
glabel guMtxF2L
/* 4a360: 3c014780 */ lui $at,0x4780
/* 4a364: 44810000 */ mtc1 $at,$f0
/* 4a368: 00a01025 */ or $v0,$a1,$zero
@ -129,7 +129,7 @@ glabel func0004a460
/* 4a4f4: 0c012918 */ jal func0004a460
/* 4a4f8: 27a40018 */ addiu $a0,$sp,0x18
/* 4a4fc: 27a40018 */ addiu $a0,$sp,0x18
/* 4a500: 0c0128d8 */ jal func0004a360
/* 4a500: 0c0128d8 */ jal guMtxF2L
/* 4a504: 8fa50058 */ lw $a1,0x58($sp)
/* 4a508: 8fbf0014 */ lw $ra,0x14($sp)
/* 4a50c: 27bd0058 */ addiu $sp,$sp,0x58

View File

@ -422,7 +422,7 @@ glabel func0004f9b0
/* 4fb9c: 0c013e6c */ jal func0004f9b0
/* 4fba0: e7a40010 */ swc1 $f4,0x10($sp)
/* 4fba4: 27a40020 */ addiu $a0,$sp,0x20
/* 4fba8: 0c0128d8 */ jal func0004a360
/* 4fba8: 0c0128d8 */ jal guMtxF2L
/* 4fbac: 8fa50060 */ lw $a1,0x60($sp)
/* 4fbb0: 8fbf001c */ lw $ra,0x1c($sp)
/* 4fbb4: 27bd0060 */ addiu $sp,$sp,0x60
@ -590,7 +590,7 @@ glabel func0004fc60
/* 4fdf8: 0c013f18 */ jal func0004fc60
/* 4fdfc: e7aa001c */ swc1 $f10,0x1c($sp)
/* 4fe00: 27a40028 */ addiu $a0,$sp,0x28
/* 4fe04: 0c0128d8 */ jal func0004a360
/* 4fe04: 0c0128d8 */ jal guMtxF2L
/* 4fe08: 8fa50068 */ lw $a1,0x68($sp)
/* 4fe0c: 8fbf0024 */ lw $ra,0x24($sp)
/* 4fe10: 27bd0068 */ addiu $sp,$sp,0x68

View File

@ -124,7 +124,7 @@ glabel func0004fe20
/* 4ffc4: 0c013f88 */ jal func0004fe20
/* 4ffc8: e7aa001c */ swc1 $f10,0x1c($sp)
/* 4ffcc: 27a40028 */ addiu $a0,$sp,0x28
/* 4ffd0: 0c0128d8 */ jal func0004a360
/* 4ffd0: 0c0128d8 */ jal guMtxF2L
/* 4ffd4: 8fa50068 */ lw $a1,0x68($sp)
/* 4ffd8: 8fbf0024 */ lw $ra,0x24($sp)
/* 4ffdc: 27bd0068 */ addiu $sp,$sp,0x68

View File

@ -46,7 +46,7 @@ glabel func0004fff0
/* 50068: 8fa50068 */ lw $a1,0x68($sp)
/* 5006c: e7a40058 */ swc1 $f4,0x58($sp)
/* 50070: e7a6005c */ swc1 $f6,0x5c($sp)
/* 50074: 0c0128d8 */ jal func0004a360
/* 50074: 0c0128d8 */ jal guMtxF2L
/* 50078: e7a80060 */ swc1 $f8,0x60($sp)
/* 5007c: 8fbf0014 */ lw $ra,0x14($sp)
/* 50080: 27bd0068 */ addiu $sp,$sp,0x68

View File

@ -51,7 +51,7 @@ glabel func000500e4
/* 50108: 0c014024 */ jal func00050090
/* 5010c: 27a40018 */ addiu $a0,$sp,0x18
/* 50110: 27a40018 */ addiu $a0,$sp,0x18
/* 50114: 0c0128d8 */ jal func0004a360
/* 50114: 0c0128d8 */ jal guMtxF2L
/* 50118: 8fa50058 */ lw $a1,0x58($sp)
/* 5011c: 8fbf0014 */ lw $ra,0x14($sp)
/* 50120: 27bd0058 */ addiu $sp,$sp,0x58