Decompile objDetach
This commit is contained in:
parent
e8e2e2d131
commit
8963b7fa5b
|
|
@ -2700,7 +2700,7 @@ void func0f020d44(struct prop *prop, bool removechr)
|
|||
if ((obj->hidden & OBJHFLAG_HASTEXTOVERRIDE) == 0
|
||||
&& obj != eyespyobj
|
||||
&& (prop->type != PROPTYPE_PLAYER || (obj->flags3 & OBJFLAG3_00400000) == 0)) {
|
||||
func0f082f88(child);
|
||||
objDetach(child);
|
||||
func0f06b34c(obj, true);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2339,7 +2339,7 @@ bool aiGiveObjectToChr(void)
|
|||
setCurrentPlayerNum(playernum);
|
||||
|
||||
if (obj->prop->parent) {
|
||||
func0f082f88(obj->prop);
|
||||
objDetach(obj->prop);
|
||||
func0f06ac90(obj->prop);
|
||||
propPrependToList1(obj->prop);
|
||||
}
|
||||
|
|
@ -2351,7 +2351,7 @@ bool aiGiveObjectToChr(void)
|
|||
setCurrentPlayerNum(prevplayernum);
|
||||
} else {
|
||||
if (obj->prop->parent) {
|
||||
func0f082f88(obj->prop);
|
||||
objDetach(obj->prop);
|
||||
} else {
|
||||
func0f065c44(obj->prop);
|
||||
propRemoveFromCurrentList(obj->prop);
|
||||
|
|
@ -5225,7 +5225,7 @@ bool aiHideObj(void)
|
|||
|
||||
if (obj && obj->prop && obj->model) {
|
||||
if (obj->prop->parent) {
|
||||
func0f082f88(obj->prop);
|
||||
objDetach(obj->prop);
|
||||
} else {
|
||||
func0f065c44(obj->prop);
|
||||
propRemoveFromCurrentList(obj->prop);
|
||||
|
|
|
|||
|
|
@ -2947,7 +2947,7 @@ void func0f062b64(struct prop *prop, s32 arg1)
|
|||
func0f065c44(prop);
|
||||
propRemoveFromCurrentList(prop);
|
||||
propHide(prop);
|
||||
func0f082f88(prop);
|
||||
objDetach(prop);
|
||||
func0f06ac90(prop);
|
||||
propReparent(prop, g_Vars.currentplayer->prop);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5961,7 +5961,7 @@ glabel func0f06ad2c
|
|||
/* f06b2bc: 8c8c0018 */ lw $t4,0x18($a0)
|
||||
/* f06b2c0: 11800004 */ beqz $t4,.L0f06b2d4
|
||||
/* f06b2c4: 00000000 */ nop
|
||||
/* f06b2c8: 0fc20be2 */ jal func0f082f88
|
||||
/* f06b2c8: 0fc20be2 */ jal objDetach
|
||||
/* f06b2cc: 00000000 */ nop
|
||||
/* f06b2d0: 8e240014 */ lw $a0,0x14($s1)
|
||||
.L0f06b2d4:
|
||||
|
|
@ -33708,74 +33708,42 @@ glabel var7f1aa8dc
|
|||
/* f082f84: 00000000 */ nop
|
||||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f082f88
|
||||
/* f082f88: 27bdffd8 */ addiu $sp,$sp,-40
|
||||
/* f082f8c: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f082f90: 8c850018 */ lw $a1,0x18($a0)
|
||||
/* f082f94: 00803825 */ or $a3,$a0,$zero
|
||||
/* f082f98: 50a00035 */ beqzl $a1,.L0f083070
|
||||
/* f082f9c: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* f082fa0: 8c820004 */ lw $v0,0x4($a0)
|
||||
/* f082fa4: 8c430018 */ lw $v1,0x18($v0)
|
||||
/* f082fa8: afa70028 */ sw $a3,0x28($sp)
|
||||
/* f082fac: afa50024 */ sw $a1,0x24($sp)
|
||||
/* f082fb0: afa20020 */ sw $v0,0x20($sp)
|
||||
/* f082fb4: 0fc181b0 */ jal propDetach
|
||||
/* f082fb8: afa3001c */ sw $v1,0x1c($sp)
|
||||
/* f082fbc: 8fa3001c */ lw $v1,0x1c($sp)
|
||||
/* f082fc0: 8fa20020 */ lw $v0,0x20($sp)
|
||||
/* f082fc4: 8fa50024 */ lw $a1,0x24($sp)
|
||||
/* f082fc8: 8fa70028 */ lw $a3,0x28($sp)
|
||||
/* f082fcc: ac600018 */ sw $zero,0x18($v1)
|
||||
/* f082fd0: ac60001c */ sw $zero,0x1c($v1)
|
||||
/* f082fd4: 8c4e0040 */ lw $t6,0x40($v0)
|
||||
/* f082fd8: 3c01fff7 */ lui $at,0xfff7
|
||||
/* f082fdc: 3421ffff */ ori $at,$at,0xffff
|
||||
/* f082fe0: 01c17824 */ and $t7,$t6,$at
|
||||
/* f082fe4: ac4f0040 */ sw $t7,0x40($v0)
|
||||
/* f082fe8: 90a40000 */ lbu $a0,0x0($a1)
|
||||
/* f082fec: 24010003 */ addiu $at,$zero,0x3
|
||||
/* f082ff0: 10810003 */ beq $a0,$at,.L0f083000
|
||||
/* f082ff4: 24010006 */ addiu $at,$zero,0x6
|
||||
/* f082ff8: 5481001d */ bnel $a0,$at,.L0f083070
|
||||
/* f082ffc: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
.L0f083000:
|
||||
/* f083000: 8ca40004 */ lw $a0,0x4($a1)
|
||||
/* f083004: 5080001a */ beqzl $a0,.L0f083070
|
||||
/* f083008: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* f08300c: 8c980178 */ lw $t8,0x178($a0)
|
||||
/* f083010: 00002825 */ or $a1,$zero,$zero
|
||||
/* f083014: 00003025 */ or $a2,$zero,$zero
|
||||
/* f083018: 54f80003 */ bnel $a3,$t8,.L0f083028
|
||||
/* f08301c: 8c990170 */ lw $t9,0x170($a0)
|
||||
/* f083020: ac800178 */ sw $zero,0x178($a0)
|
||||
/* f083024: 8c990170 */ lw $t9,0x170($a0)
|
||||
.L0f083028:
|
||||
/* f083028: 54f90008 */ bnel $a3,$t9,.L0f08304c
|
||||
/* f08302c: 8c880174 */ lw $t0,0x174($a0)
|
||||
/* f083030: afa40018 */ sw $a0,0x18($sp)
|
||||
/* f083034: 0fc0fe12 */ jal chrSetFiring
|
||||
/* f083038: afa70028 */ sw $a3,0x28($sp)
|
||||
/* f08303c: 8fa40018 */ lw $a0,0x18($sp)
|
||||
/* f083040: 8fa70028 */ lw $a3,0x28($sp)
|
||||
/* f083044: ac800170 */ sw $zero,0x170($a0)
|
||||
/* f083048: 8c880174 */ lw $t0,0x174($a0)
|
||||
.L0f08304c:
|
||||
/* f08304c: 24050001 */ addiu $a1,$zero,0x1
|
||||
/* f083050: 00003025 */ or $a2,$zero,$zero
|
||||
/* f083054: 54e80006 */ bnel $a3,$t0,.L0f083070
|
||||
/* f083058: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* f08305c: 0fc0fe12 */ jal chrSetFiring
|
||||
/* f083060: afa40018 */ sw $a0,0x18($sp)
|
||||
/* f083064: 8fa40018 */ lw $a0,0x18($sp)
|
||||
/* f083068: ac800174 */ sw $zero,0x174($a0)
|
||||
/* f08306c: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
.L0f083070:
|
||||
/* f083070: 27bd0028 */ addiu $sp,$sp,0x28
|
||||
/* f083074: 03e00008 */ jr $ra
|
||||
/* f083078: 00000000 */ nop
|
||||
);
|
||||
void objDetach(struct prop *prop)
|
||||
{
|
||||
struct prop *parent = prop->parent;
|
||||
|
||||
if (parent) {
|
||||
struct defaultobj *obj = prop->obj;
|
||||
struct model *model = obj->model;
|
||||
|
||||
propDetach(prop);
|
||||
|
||||
model->attachedto = NULL;
|
||||
model->unk1c = NULL;
|
||||
|
||||
obj->hidden &= ~OBJHFLAG_HASOWNER;
|
||||
|
||||
if (parent->type == PROPTYPE_CHR || parent->type == PROPTYPE_PLAYER) {
|
||||
struct chrdata *chr = parent->chr;
|
||||
|
||||
if (chr) {
|
||||
if (prop == chr->weapons_held[2]) {
|
||||
chr->weapons_held[2] = NULL;
|
||||
}
|
||||
|
||||
if (prop == chr->weapons_held[HAND_RIGHT]) {
|
||||
chrSetFiring(chr, HAND_RIGHT, false);
|
||||
chr->weapons_held[HAND_RIGHT] = NULL;
|
||||
}
|
||||
|
||||
if (prop == chr->weapons_held[HAND_LEFT]) {
|
||||
chrSetFiring(chr, HAND_LEFT, false);
|
||||
chr->weapons_held[HAND_LEFT] = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f08307c
|
||||
|
|
@ -34682,7 +34650,7 @@ glabel var7f1aa978
|
|||
/* f083cac: 0fc195e9 */ jal roomsCopy
|
||||
/* f083cb0: 27a500d4 */ addiu $a1,$sp,0xd4
|
||||
.L0f083cb4:
|
||||
/* f083cb4: 0fc20be2 */ jal func0f082f88
|
||||
/* f083cb4: 0fc20be2 */ jal objDetach
|
||||
/* f083cb8: 8fa40140 */ lw $a0,0x140($sp)
|
||||
/* f083cbc: 0fc1812f */ jal propPrependToList1
|
||||
/* f083cc0: 8fa40140 */ lw $a0,0x140($sp)
|
||||
|
|
|
|||
|
|
@ -218,7 +218,7 @@ void propobjSetDropped(struct prop *prop, u32 reason);
|
|||
void func0f082a1c(struct defaultobj *obj, struct coord *coord, f32 rotate, bool arg3, bool arg4);
|
||||
void func0f082d74(void);
|
||||
void func0f082e84(struct defaultobj *obj, struct coord *arg1, struct coord *arg2, struct coord *arg3, bool arg4);
|
||||
void func0f082f88(struct prop *prop);
|
||||
void objDetach(struct prop *prop);
|
||||
void func0f08307c(struct prop *prop, bool arg1);
|
||||
u32 func0f083db0(void);
|
||||
u32 func0f0840ac(void);
|
||||
|
|
|
|||
Loading…
Reference in New Issue