match func_80016BC4 (#296)

* match func_80016BC4

* remove asm file
This commit is contained in:
tonyspumoni
2022-11-20 13:58:00 -07:00
committed by GitHub
parent ae8861839d
commit c88f977374
3 changed files with 46 additions and 50 deletions
-46
View File
@@ -1,46 +0,0 @@
glabel func_80016BC4
/* 0177C4 80016BC4 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0177C8 80016BC8 AFBF0024 */ sw $ra, 0x24($sp)
/* 0177CC 80016BCC AFB20020 */ sw $s2, 0x20($sp)
/* 0177D0 80016BD0 AFB1001C */ sw $s1, 0x1c($sp)
/* 0177D4 80016BD4 AFB00018 */ sw $s0, 0x18($sp)
/* 0177D8 80016BD8 8C8E005C */ lw $t6, 0x5c($a0)
/* 0177DC 80016BDC 00809025 */ move $s2, $a0
/* 0177E0 80016BE0 0C005C27 */ jal func_8001709C
/* 0177E4 80016BE4 A1C00104 */ sb $zero, 0x104($t6)
/* 0177E8 80016BE8 0C005C27 */ jal func_8001709C
/* 0177EC 80016BEC 02402025 */ move $a0, $s2
/* 0177F0 80016BF0 8E4F0040 */ lw $t7, 0x40($s2)
/* 0177F4 80016BF4 00008825 */ move $s1, $zero
/* 0177F8 80016BF8 81E30055 */ lb $v1, 0x55($t7)
/* 0177FC 80016BFC 00008025 */ move $s0, $zero
/* 017800 80016C00 18600014 */ blez $v1, .L80016C54
/* 017804 80016C04 8FBF0024 */ lw $ra, 0x24($sp)
.L80016C08:
/* 017808 80016C08 8E580068 */ lw $t8, 0x68($s2)
/* 01780C 80016C0C 00000000 */ nop
/* 017810 80016C10 0310C821 */ addu $t9, $t8, $s0
/* 017814 80016C14 8F220000 */ lw $v0, ($t9)
/* 017818 80016C18 00000000 */ nop
/* 01781C 80016C1C 10400008 */ beqz $v0, .L80016C40
/* 017820 80016C20 00000000 */ nop
/* 017824 80016C24 8C440000 */ lw $a0, ($v0)
/* 017828 80016C28 0C01805F */ jal func_8006017C
/* 01782C 80016C2C 00000000 */ nop
/* 017830 80016C30 8E480040 */ lw $t0, 0x40($s2)
/* 017834 80016C34 00000000 */ nop
/* 017838 80016C38 81030055 */ lb $v1, 0x55($t0)
/* 01783C 80016C3C 00000000 */ nop
.L80016C40:
/* 017840 80016C40 26310001 */ addiu $s1, $s1, 1
/* 017844 80016C44 0223082A */ slt $at, $s1, $v1
/* 017848 80016C48 1420FFEF */ bnez $at, .L80016C08
/* 01784C 80016C4C 26100004 */ addiu $s0, $s0, 4
/* 017850 80016C50 8FBF0024 */ lw $ra, 0x24($sp)
.L80016C54:
/* 017854 80016C54 8FB00018 */ lw $s0, 0x18($sp)
/* 017858 80016C58 8FB1001C */ lw $s1, 0x1c($sp)
/* 01785C 80016C5C 8FB20020 */ lw $s2, 0x20($sp)
/* 017860 80016C60 03E00008 */ jr $ra
/* 017864 80016C64 27BD0028 */ addiu $sp, $sp, 0x28
+27 -2
View File
@@ -836,7 +836,7 @@ s32 func_8000FD20(unk8000FD20 *arg0, unk8000FD20_2 *arg1) {
s32 func_8000FD34(unk8000FD34 *arg0, s32 arg1) {
arg0->unk5C = arg1;
func_80016BC4();
func_80016BC4(arg0);
return 0x10C;
}
@@ -1483,7 +1483,32 @@ GLOBAL_ASM("asm/non_matchings/objects/func_800155B8.s")
GLOBAL_ASM("asm/non_matchings/objects/func_800159C8.s")
GLOBAL_ASM("asm/non_matchings/objects/func_80016500.s")
GLOBAL_ASM("asm/non_matchings/objects/func_80016748.s")
GLOBAL_ASM("asm/non_matchings/objects/func_80016BC4.s")
void func_80016BC4(unk8000FD34 *arg0) {
s32 var_s0;
s32 var_s1;
s32 *temp_v0;
s8 var_v1;
arg0->unk5C->unk104 = 0;
func_8001709C();
func_8001709C(arg0);
var_s1 = 0;
var_v1 = arg0->unk40->unk55;
var_s0 = 0;
if (var_v1 > 0) {
do {
temp_v0 = *(arg0->unk68 + var_s0);
if (temp_v0 != NULL) {
func_8006017C(*temp_v0);
var_v1 = arg0->unk40->unk55;
}
var_s1 += 1;
var_s0 += 1;
} while (var_s1 < var_v1);
}
}
GLOBAL_ASM("asm/non_matchings/objects/func_80016C68.s")
GLOBAL_ASM("asm/non_matchings/objects/func_80016DE8.s")
GLOBAL_ASM("asm/non_matchings/objects/func_8001709C.s")
+19 -2
View File
@@ -218,10 +218,26 @@ typedef struct unk8000FD20 {
unk8000FD20_2 *unk4C;
} unk8000FD20;
/* Unknown Size */
typedef struct unk_80016BC4_2 {
u8 pad0[0x104];
s8 unk104;
} unk_80016BC4_2;
/* Unknown Size */
typedef struct unk_80016BC4_3 {
u8 pad0[0x55];
s8 unk55;
} unk_80016BC4_3;
/* Unknown Size. This might just be unk8000FD20. */
typedef struct unk8000FD34 {
u8 unk00[0x5C];
s32 unk5C;
u8 pad0[0x40];
unk_80016BC4_3 *unk40;
u8 pad44[0x18];
unk_80016BC4_2 *unk5C;
u8 pad60[0x8];
s32* unk68;
} unk8000FD34;
typedef struct struct_8000FC6C {
@@ -441,6 +457,7 @@ s32 func_8000FC6C(struct_8000FC6C_3 *arg0, struct_8000FC6C *arg1);
void render_3d_billboard(Object *obj);
void func_80011960(Object *obj, Vertex *verts, u32 numVertices, Triangle *triangles, u32 numTriangles, TextureHeader *tex, u32 arg6, u32 arg7, f32 arg8);
void func_8000B290(void);
void func_80016BC4(unk8000FD34*);
//Non Matching
void calc_dynamic_lighting_for_object_1(Object *, ObjectModel *, s16, Object *, f32, f32);