Decompile propUpdateGeometry
This commit is contained in:
parent
92fad46faf
commit
604d24e71f
|
|
@ -6763,43 +6763,17 @@ void propGetBbox(struct prop *prop, f32 *width, f32 *ymax, f32 *ymin)
|
|||
}
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f066290
|
||||
/* f066290: 27bdffe8 */ addiu $sp,$sp,-24
|
||||
/* f066294: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f066298: 90820000 */ lbu $v0,0x0($a0)
|
||||
/* f06629c: 24010006 */ addiu $at,$zero,0x6
|
||||
/* f0662a0: 00001825 */ or $v1,$zero,$zero
|
||||
/* f0662a4: 54410006 */ bnel $v0,$at,.L0f0662c0
|
||||
/* f0662a8: 24010003 */ addiu $at,$zero,0x3
|
||||
/* f0662ac: 0fc307c2 */ jal func0f0c1f08
|
||||
/* f0662b0: 00000000 */ nop
|
||||
/* f0662b4: 10000010 */ b .L0f0662f8
|
||||
/* f0662b8: 00401825 */ or $v1,$v0,$zero
|
||||
/* f0662bc: 24010003 */ addiu $at,$zero,0x3
|
||||
.L0f0662c0:
|
||||
/* f0662c0: 54410006 */ bnel $v0,$at,.L0f0662dc
|
||||
/* f0662c4: 24010001 */ addiu $at,$zero,0x1
|
||||
/* f0662c8: 0fc0a234 */ jal chrUpdateGeometry
|
||||
/* f0662cc: 00000000 */ nop
|
||||
/* f0662d0: 10000009 */ b .L0f0662f8
|
||||
/* f0662d4: 00401825 */ or $v1,$v0,$zero
|
||||
/* f0662d8: 24010001 */ addiu $at,$zero,0x1
|
||||
.L0f0662dc:
|
||||
/* f0662dc: 10410003 */ beq $v0,$at,.L0f0662ec
|
||||
/* f0662e0: 24010002 */ addiu $at,$zero,0x2
|
||||
/* f0662e4: 54410005 */ bnel $v0,$at,.L0f0662fc
|
||||
/* f0662e8: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
.L0f0662ec:
|
||||
/* f0662ec: 0fc21d16 */ jal func0f087458
|
||||
/* f0662f0: 00000000 */ nop
|
||||
/* f0662f4: 00401825 */ or $v1,$v0,$zero
|
||||
.L0f0662f8:
|
||||
/* f0662f8: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
.L0f0662fc:
|
||||
/* f0662fc: 27bd0018 */ addiu $sp,$sp,0x18
|
||||
/* f066300: 00601025 */ or $v0,$v1,$zero
|
||||
/* f066304: 03e00008 */ jr $ra
|
||||
/* f066308: 00000000 */ nop
|
||||
/* f06630c: 00000000 */ nop
|
||||
);
|
||||
bool propUpdateGeometry(struct prop *prop, struct geo **arg1, struct geo **arg2)
|
||||
{
|
||||
bool result = false;
|
||||
|
||||
if (prop->type == PROPTYPE_PLAYER) {
|
||||
result = playerUpdateGeometry(prop, arg1, arg2);
|
||||
} else if (prop->type == PROPTYPE_CHR) {
|
||||
result = chrUpdateGeometry(prop, arg1, arg2);
|
||||
} else if (prop->type == PROPTYPE_OBJ || prop->type == PROPTYPE_DOOR) {
|
||||
result = objUpdateGeometry(prop, arg1, arg2);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10643,7 +10643,7 @@ void func0f0c1e54(struct prop *prop, bool enable)
|
|||
g_Vars.players[playernum]->bondperimenabled = enable;
|
||||
}
|
||||
|
||||
bool func0f0c1f08(struct prop *prop, struct geo **arg1, struct geo **arg2)
|
||||
bool playerUpdateGeometry(struct prop *prop, struct geo **arg1, struct geo **arg2)
|
||||
{
|
||||
s32 playernum = propGetPlayerNum(prop);
|
||||
|
||||
|
|
|
|||
|
|
@ -2637,7 +2637,7 @@ glabel func0f068218
|
|||
/* f068270: 1040000d */ beqz $v0,.L0f0682a8
|
||||
/* f068274: 02002025 */ or $a0,$s0,$zero
|
||||
/* f068278: 02602825 */ or $a1,$s3,$zero
|
||||
/* f06827c: 0fc198a4 */ jal func0f066290
|
||||
/* f06827c: 0fc198a4 */ jal propUpdateGeometry
|
||||
/* f068280: 02803025 */ or $a2,$s4,$zero
|
||||
/* f068284: 10400008 */ beqz $v0,.L0f0682a8
|
||||
/* f068288: 8fa60038 */ lw $a2,0x38($sp)
|
||||
|
|
@ -5355,7 +5355,7 @@ glabel var7f1aa200
|
|||
/* f06aa24: 8c440014 */ lw $a0,0x14($v0)
|
||||
/* f06aa28: e7ae00bc */ swc1 $f14,0xbc($sp)
|
||||
/* f06aa2c: 27a5003c */ addiu $a1,$sp,0x3c
|
||||
/* f06aa30: 0fc198a4 */ jal func0f066290
|
||||
/* f06aa30: 0fc198a4 */ jal propUpdateGeometry
|
||||
/* f06aa34: 27a60038 */ addiu $a2,$sp,0x38
|
||||
/* f06aa38: 10400027 */ beqz $v0,.L0f06aad8
|
||||
/* f06aa3c: c7ae00bc */ lwc1 $f14,0xbc($sp)
|
||||
|
|
@ -14941,7 +14941,7 @@ glabel func0f0732d4
|
|||
/* f073300: afb1001c */ sw $s1,0x1c($sp)
|
||||
/* f073304: afb00018 */ sw $s0,0x18($sp)
|
||||
/* f073308: 27a5009c */ addiu $a1,$sp,0x9c
|
||||
/* f07330c: 0fc198a4 */ jal func0f066290
|
||||
/* f07330c: 0fc198a4 */ jal propUpdateGeometry
|
||||
/* f073310: 27a60098 */ addiu $a2,$sp,0x98
|
||||
/* f073314: 1040004c */ beqz $v0,.L0f073448
|
||||
/* f073318: 27b000a0 */ addiu $s0,$sp,0xa0
|
||||
|
|
@ -28258,7 +28258,7 @@ s32 objTick(struct prop *prop)
|
|||
f32 sp112;
|
||||
s32 tagnum;
|
||||
struct geo *geos[2];
|
||||
u32 sp96;
|
||||
struct geo *sp96;
|
||||
f32 damage;
|
||||
|
||||
if (sp572) {
|
||||
|
|
@ -28330,7 +28330,7 @@ s32 objTick(struct prop *prop)
|
|||
func0f069c70(obj, true, true);
|
||||
sp592 = true;
|
||||
|
||||
if (func0f087458(prop, geos, &sp96)
|
||||
if (objUpdateGeometry(prop, geos, &sp96)
|
||||
&& geos[0]->type == GEOTYPE_2
|
||||
&& func0002e4c4(geos[0], prop->rooms, 4) == 0) {
|
||||
damage = ((obj->maxdamage - obj->damage) + 1) / 250.0f;
|
||||
|
|
@ -34997,7 +34997,7 @@ glabel func0f0840ac
|
|||
/* f0840d4: afb10018 */ sw $s1,0x18($sp)
|
||||
/* f0840d8: afb00014 */ sw $s0,0x14($sp)
|
||||
/* f0840dc: 27a5004c */ addiu $a1,$sp,0x4c
|
||||
/* f0840e0: 0fc198a4 */ jal func0f066290
|
||||
/* f0840e0: 0fc198a4 */ jal propUpdateGeometry
|
||||
/* f0840e4: 27a60048 */ addiu $a2,$sp,0x48
|
||||
/* f0840e8: 10400031 */ beqz $v0,.L0f0841b0
|
||||
/* f0840ec: 27b00050 */ addiu $s0,$sp,0x50
|
||||
|
|
@ -38360,7 +38360,7 @@ void propObjSetOrUnsetHiddenFlag00400000(struct prop *prop, bool enable)
|
|||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f087458
|
||||
glabel objUpdateGeometry
|
||||
/* f087458: 8c830004 */ lw $v1,0x4($a0)
|
||||
/* f08745c: 8c670044 */ lw $a3,0x44($v1)
|
||||
/* f087460: 50e0003e */ beqzl $a3,.L0f08755c
|
||||
|
|
|
|||
|
|
@ -58,6 +58,6 @@ void func0f065e98(struct coord *pos, s16 *rooms, struct coord *pos2, s16 *rooms2
|
|||
void roomGetProps(s16 *room, s16 *propnums, u32 size);
|
||||
u32 func0f066054(void);
|
||||
void propGetBbox(struct prop *prop, f32 *width, f32 *ymax, f32 *ymin);
|
||||
u32 func0f066290(void);
|
||||
bool propUpdateGeometry(struct prop *prop, struct geo **arg1, struct geo **arg2);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ void func0f0c1ba4(struct coord *pos, struct coord *up, struct coord *look, struc
|
|||
void func0f0c1bd8(struct coord *pos, struct coord *up, struct coord *look);
|
||||
void allPlayersClearMemCamRoom(void);
|
||||
void func0f0c1e54(struct prop *prop, bool enable);
|
||||
bool func0f0c1f08(struct prop *prop, struct geo **arg1, struct geo **arg2);
|
||||
bool playerUpdateGeometry(struct prop *prop, struct geo **arg1, struct geo **arg2);
|
||||
void currentPlayerUpdatePerimInfo(void);
|
||||
void propPlayerGetBbox(struct prop *prop, f32 *width, f32 *ymax, f32 *ymin);
|
||||
f32 currentPlayerGetHealthFrac(void);
|
||||
|
|
|
|||
|
|
@ -243,7 +243,7 @@ u32 func0f0869cc(void);
|
|||
bool currentPlayerTryMountHoverbike(struct prop *prop);
|
||||
bool propobjInteract(struct prop *prop);
|
||||
void propObjSetOrUnsetHiddenFlag00400000(struct prop *prop, bool enable);
|
||||
bool func0f087458(struct prop *prop, struct geo **geos, u32 *arg2);
|
||||
bool objUpdateGeometry(struct prop *prop, struct geo **arg1, struct geo **arg2);
|
||||
void propObjGetBbox(struct prop *prop, f32 *width, f32 *ymax, f32 *ymin);
|
||||
void ammotypeGetPickedUpText(char *dst);
|
||||
void ammotypeGetDeterminer(char *dst, s32 ammotype, s32 qty);
|
||||
|
|
|
|||
|
|
@ -3707,7 +3707,7 @@ glabel platformGetRidingProps
|
|||
/* 26750: afa40278 */ sw $a0,0x278($sp)
|
||||
/* 26754: afa0005c */ sw $zero,0x5c($sp)
|
||||
/* 26758: 27a60270 */ addiu $a2,$sp,0x270
|
||||
/* 2675c: 0fc198a4 */ jal func0f066290
|
||||
/* 2675c: 0fc198a4 */ jal propUpdateGeometry
|
||||
/* 26760: 27a50274 */ addiu $a1,$sp,0x274
|
||||
/* 26764: 10400095 */ beqz $v0,.L000269bc
|
||||
/* 26768: 27b0006c */ addiu $s0,$sp,0x6c
|
||||
|
|
@ -4298,7 +4298,7 @@ glabel func00026e7c
|
|||
/* 26fd8: 27a60278 */ addiu $a2,$sp,0x278
|
||||
/* 26fdc: 00007812 */ mflo $t7
|
||||
/* 26fe0: 01f88021 */ addu $s0,$t7,$t8
|
||||
/* 26fe4: 0fc198a4 */ jal func0f066290
|
||||
/* 26fe4: 0fc198a4 */ jal propUpdateGeometry
|
||||
/* 26fe8: 02002025 */ or $a0,$s0,$zero
|
||||
/* 26fec: 1040000e */ beqz $v0,.L00027028
|
||||
/* 26ff0: 03c02025 */ or $a0,$s8,$zero
|
||||
|
|
@ -5326,7 +5326,7 @@ glabel func00027d1c
|
|||
/* 27ea8: 10400019 */ beqz $v0,.L00027f10
|
||||
/* 27eac: 02002025 */ or $a0,$s0,$zero
|
||||
/* 27eb0: 27a5029c */ addiu $a1,$sp,0x29c
|
||||
/* 27eb4: 0fc198a4 */ jal func0f066290
|
||||
/* 27eb4: 0fc198a4 */ jal propUpdateGeometry
|
||||
/* 27eb8: 27a60298 */ addiu $a2,$sp,0x298
|
||||
/* 27ebc: 10400014 */ beqz $v0,.L00027f10
|
||||
/* 27ec0: 03c02025 */ or $a0,$s8,$zero
|
||||
|
|
@ -6492,7 +6492,7 @@ glabel func00028df0
|
|||
/* 28f6c: 10400012 */ beqz $v0,.L00028fb8
|
||||
/* 28f70: 02002025 */ or $a0,$s0,$zero
|
||||
/* 28f74: 27a50294 */ addiu $a1,$sp,0x294
|
||||
/* 28f78: 0fc198a4 */ jal func0f066290
|
||||
/* 28f78: 0fc198a4 */ jal propUpdateGeometry
|
||||
/* 28f7c: 27a60290 */ addiu $a2,$sp,0x290
|
||||
/* 28f80: 1040000d */ beqz $v0,.L00028fb8
|
||||
/* 28f84: 8fa40294 */ lw $a0,0x294($sp)
|
||||
|
|
@ -11126,7 +11126,7 @@ glabel func0002d15c
|
|||
/* 2d304: 10400017 */ beqz $v0,.L0002d364
|
||||
/* 2d308: 02202025 */ or $a0,$s1,$zero
|
||||
/* 2d30c: 27a5028c */ addiu $a1,$sp,0x28c
|
||||
/* 2d310: 0fc198a4 */ jal func0f066290
|
||||
/* 2d310: 0fc198a4 */ jal propUpdateGeometry
|
||||
/* 2d314: 27a60288 */ addiu $a2,$sp,0x288
|
||||
/* 2d318: 10400012 */ beqz $v0,.L0002d364
|
||||
/* 2d31c: 8fa4028c */ lw $a0,0x28c($sp)
|
||||
|
|
@ -11310,7 +11310,7 @@ glabel func0002d3b0
|
|||
/* 2d5b0: 10400029 */ beqz $v0,.L0002d658
|
||||
/* 2d5b4: 02002025 */ or $a0,$s0,$zero
|
||||
/* 2d5b8: 02e02825 */ or $a1,$s7,$zero
|
||||
/* 2d5bc: 0fc198a4 */ jal func0f066290
|
||||
/* 2d5bc: 0fc198a4 */ jal propUpdateGeometry
|
||||
/* 2d5c0: 03c03025 */ or $a2,$s8,$zero
|
||||
/* 2d5c4: 10400024 */ beqz $v0,.L0002d658
|
||||
/* 2d5c8: 8fa402d4 */ lw $a0,0x2d4($sp)
|
||||
|
|
@ -11998,7 +11998,7 @@ glabel func0002ded8
|
|||
/* 2df2c: 46083281 */ sub.s $f10,$f6,$f8
|
||||
/* 2df30: afa70094 */ sw $a3,0x94($sp)
|
||||
/* 2df34: 27a5008c */ addiu $a1,$sp,0x8c
|
||||
/* 2df38: 0fc198a4 */ jal func0f066290
|
||||
/* 2df38: 0fc198a4 */ jal propUpdateGeometry
|
||||
/* 2df3c: e7aa0084 */ swc1 $f10,0x84($sp)
|
||||
/* 2df40: 10400028 */ beqz $v0,.L0002dfe4
|
||||
/* 2df44: 8fa70094 */ lw $a3,0x94($sp)
|
||||
|
|
@ -12484,7 +12484,7 @@ glabel func0002e4c4
|
|||
/* 2e5f8: 10400010 */ beqz $v0,.L0002e63c
|
||||
/* 2e5fc: 02202025 */ or $a0,$s1,$zero
|
||||
/* 2e600: 02a02825 */ or $a1,$s5,$zero
|
||||
/* 2e604: 0fc198a4 */ jal func0f066290
|
||||
/* 2e604: 0fc198a4 */ jal propUpdateGeometry
|
||||
/* 2e608: 02c03025 */ or $a2,$s6,$zero
|
||||
/* 2e60c: 1040000b */ beqz $v0,.L0002e63c
|
||||
/* 2e610: 8fa4025c */ lw $a0,0x25c($sp)
|
||||
|
|
@ -13356,7 +13356,7 @@ glabel func0002f02c
|
|||
/* 2f258: 02002025 */ or $a0,$s0,$zero
|
||||
/* 2f25c: 03c02825 */ or $a1,$s8,$zero
|
||||
/* 2f260: 27a60338 */ addiu $a2,$sp,0x338
|
||||
/* 2f264: 0fc198a4 */ jal func0f066290
|
||||
/* 2f264: 0fc198a4 */ jal propUpdateGeometry
|
||||
/* 2f268: afa9012c */ sw $t1,0x12c($sp)
|
||||
/* 2f26c: 1040000d */ beqz $v0,.L0002f2a4
|
||||
/* 2f270: 8fa9012c */ lw $t1,0x12c($sp)
|
||||
|
|
|
|||
Loading…
Reference in New Issue