Decompile doorActivatePortal

This commit is contained in:
Ryan Dwyer
2020-01-23 23:05:33 +10:00
parent 1df4ba8443
commit 6847571ecc
3 changed files with 18 additions and 25 deletions
+8 -6
View File
@@ -3408,10 +3408,11 @@ glabel ai006b
bool aiOpenDoor(void)
{
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
struct defaultobj *door = objFindByTagId(cmd[2]);
struct defaultobj *obj = objFindByTagId(cmd[2]);
if (door && door->prop && door->prop->type == PROPTYPE_DOOR) {
if (!func0f066310(door->prop, 0)) {
if (obj && obj->prop && obj->prop->type == PROPTYPE_DOOR) {
if (!func0f066310(obj->prop, 0)) {
struct doorobj *door = (struct doorobj *) obj;
doorActivate(door, DOORSTATE_OPEN);
}
}
@@ -3427,9 +3428,10 @@ bool aiOpenDoor(void)
bool aiCloseDoor(void)
{
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
struct defaultobj *door = objFindByTagId(cmd[2]);
struct defaultobj *obj = objFindByTagId(cmd[2]);
if (door && door->prop && door->prop->type == PROPTYPE_DOOR) {
if (obj && obj->prop && obj->prop->type == PROPTYPE_DOOR) {
struct doorobj *door = (struct doorobj *) obj;
doorActivate(door, DOORSTATE_CLOSED);
}
@@ -7490,7 +7492,7 @@ bool aiSetDoorOpen(void)
door->lastopen60 = g_Vars.lvframe60;
door->mode = 0;
func0f08c54c(door);
func0f08d4e8(door);
doorActivatePortal(door);
func0f0926bc(door->base.prop, 1, 0xffff);
}
+9 -18
View File
@@ -6876,7 +6876,7 @@ glabel setupParseObject
.L0f06af3c:
/* f06af3c: 5602000e */ bnel $s0,$v0,.L0f06af78
/* f06af40: 8e2c0014 */ lw $t4,0x14($s1)
/* f06af44: 0fc2353a */ jal func0f08d4e8
/* f06af44: 0fc2353a */ jal doorActivatePortal
/* f06af48: 02202025 */ or $a0,$s1,$zero
/* f06af4c: 862300c4 */ lh $v1,0xc4($s1)
/* f06af50: 3c08800a */ lui $t0,0x800a
@@ -20588,7 +20588,7 @@ glabel func0f07731c
/* f077424: 10000004 */ beqz $zero,.L0f077438
/* f077428: 8fbf001c */ lw $ra,0x1c($sp)
.L0f07742c:
/* f07742c: 0fc2353a */ jal func0f08d4e8
/* f07742c: 0fc2353a */ jal doorActivatePortal
/* f077430: 02002025 */ or $a0,$s0,$zero
/* f077434: 8fbf001c */ lw $ra,0x1c($sp)
.L0f077438:
@@ -45373,21 +45373,12 @@ glabel func0f08d460
/* f08d4e4: 00000000 */ sll $zero,$zero,0x0
);
GLOBAL_ASM(
glabel func0f08d4e8
/* f08d4e8: 27bdffe8 */ addiu $sp,$sp,-24
/* f08d4ec: afbf0014 */ sw $ra,0x14($sp)
/* f08d4f0: 848600c4 */ lh $a2,0xc4($a0)
/* f08d4f4: 04c00003 */ bltz $a2,.L0f08d504
/* f08d4f8: 00c02025 */ or $a0,$a2,$zero
/* f08d4fc: 0fc59392 */ jal portalSetEnabled
/* f08d500: 24050001 */ addiu $a1,$zero,0x1
.L0f08d504:
/* f08d504: 8fbf0014 */ lw $ra,0x14($sp)
/* f08d508: 27bd0018 */ addiu $sp,$sp,0x18
/* f08d50c: 03e00008 */ jr $ra
/* f08d510: 00000000 */ sll $zero,$zero,0x0
);
void doorActivatePortal(struct doorobj *door)
{
if (door->portal >= 0) {
portalSetEnabled(door->portal, true);
}
}
void doorDeactivatePortal(struct doorobj *door)
{
@@ -46193,7 +46184,7 @@ void func0f08e0c4(struct doorobj *door)
door->base.hidden |= OBJHIDDENFLAG_00000200;
func0f08d784(door->soundtype, door->base.prop);
func0f08d4e8(door);
doorActivatePortal(door);
if (door->doortype == DOORTYPE_8) {
struct obj44 *obj44 = door->base.unk44;
+1 -1
View File
@@ -294,7 +294,7 @@ u32 func0f08c54c(struct doorobj *door);
u32 func0f08cb20(void);
u32 func0f08d3dc(void);
u32 func0f08d460(void);
void func0f08d4e8(struct doorobj *door);
void doorActivatePortal(struct doorobj *door);
void doorDeactivatePortal(struct doorobj *door);
u32 func0f08d540(void);
u32 func0f08d784(s8 soundtype, struct prop *prop);