Decompile func0f08e224
This commit is contained in:
parent
11a45d1e28
commit
8c10703847
|
|
@ -46299,45 +46299,23 @@ u32 decodeXorAaaaaaaa(u32 value)
|
|||
return value ^ 0xaaaaaaaa;
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f08e224
|
||||
/* f08e224: 27bdffe0 */ addiu $sp,$sp,-32
|
||||
/* f08e228: afbf001c */ sw $ra,0x1c($sp)
|
||||
/* f08e22c: afb00018 */ sw $s0,0x18($sp)
|
||||
/* f08e230: 00808025 */ or $s0,$a0,$zero
|
||||
/* f08e234: 8e050014 */ lw $a1,0x14($s0)
|
||||
/* f08e238: 0fc23751 */ jal func0f08dd44
|
||||
/* f08e23c: 808400c6 */ lb $a0,0xc6($a0)
|
||||
/* f08e240: 960e0072 */ lhu $t6,0x72($s0)
|
||||
/* f08e244: 24010008 */ addiu $at,$zero,0x8
|
||||
/* f08e248: 55c1000f */ bnel $t6,$at,.L0f08e288
|
||||
/* f08e24c: 96090072 */ lhu $t1,0x72($s0)
|
||||
/* f08e250: 0fc1a179 */ jal func0f0685e4
|
||||
/* f08e254: 8e040014 */ lw $a0,0x14($s0)
|
||||
/* f08e258: 8e0f0040 */ lw $t7,0x40($s0)
|
||||
/* f08e25c: 31f80080 */ andi $t8,$t7,0x80
|
||||
/* f08e260: 53000009 */ beqzl $t8,.L0f08e288
|
||||
/* f08e264: 96090072 */ lhu $t1,0x72($s0)
|
||||
/* f08e268: 8e020048 */ lw $v0,0x48($s0)
|
||||
/* f08e26c: 8c590000 */ lw $t9,0x0($v0)
|
||||
/* f08e270: 37280001 */ ori $t0,$t9,0x1
|
||||
/* f08e274: ac480000 */ sw $t0,0x0($v0)
|
||||
/* f08e278: 8e040048 */ lw $a0,0x48($s0)
|
||||
/* f08e27c: 0c00566c */ jal func000159b0
|
||||
/* f08e280: 24840020 */ addiu $a0,$a0,0x20
|
||||
/* f08e284: 96090072 */ lhu $t1,0x72($s0)
|
||||
.L0f08e288:
|
||||
/* f08e288: 2401000b */ addiu $at,$zero,0xb
|
||||
/* f08e28c: 55210003 */ bnel $t1,$at,.L0f08e29c
|
||||
/* f08e290: 8fbf001c */ lw $ra,0x1c($sp)
|
||||
/* f08e294: a20000cc */ sb $zero,0xcc($s0)
|
||||
/* f08e298: 8fbf001c */ lw $ra,0x1c($sp)
|
||||
.L0f08e29c:
|
||||
/* f08e29c: 8fb00018 */ lw $s0,0x18($sp)
|
||||
/* f08e2a0: 27bd0020 */ addiu $sp,$sp,0x20
|
||||
/* f08e2a4: 03e00008 */ jr $ra
|
||||
/* f08e2a8: 00000000 */ sll $zero,$zero,0x0
|
||||
);
|
||||
void func0f08e224(struct doorobj *door)
|
||||
{
|
||||
func0f08dd44(door->soundtype, door->base.prop);
|
||||
|
||||
if (door->doortype == DOORTYPE_8) {
|
||||
func0f0685e4(door->base.prop);
|
||||
|
||||
if (door->base.hidden & OBJHIDDENFLAG_00000080) {
|
||||
door->base.unk48->flags |= 1;
|
||||
func000159b0(&door->base.unk48->unk20);
|
||||
}
|
||||
}
|
||||
|
||||
if (door->doortype == DOORTYPE_LASER) {
|
||||
door->laserfade = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void func0f08e2ac(struct doorobj *door)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -351,6 +351,7 @@
|
|||
#define DOORSTATEBIT_CLOSING 4
|
||||
#define DOORSTATEBIT_OPENING 8
|
||||
|
||||
#define DOORTYPE_8 8
|
||||
#define DOORTYPE_LASER 11
|
||||
|
||||
#define DRCAROLLIMAGE_DEAD 4
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ u32 func0f0682dc(void);
|
|||
u32 func0f0682fc(void);
|
||||
u32 func0f068368(void);
|
||||
u32 func0f06843c(void);
|
||||
u32 func0f0685e4(void);
|
||||
void func0f0685e4(struct prop *prop);
|
||||
u32 func0f068694(void);
|
||||
u32 func0f0686e0(void);
|
||||
u32 func0f0686f0(void);
|
||||
|
|
@ -299,12 +299,12 @@ void func0f08d514(struct doorobj *door);
|
|||
u32 func0f08d540(void);
|
||||
u32 func0f08d784(void);
|
||||
u32 func0f08daa8(void);
|
||||
u32 func0f08dd44(void);
|
||||
void func0f08dd44(s8 soundtype, struct prop *prop);
|
||||
void func0f08df10(s8 soundtype, struct prop *prop);
|
||||
u32 func0f08e0c4(void);
|
||||
u32 func0f08e1a0(void);
|
||||
u32 decodeXorAaaaaaaa(u32 value);
|
||||
u32 func0f08e224(void);
|
||||
void func0f08e224(struct doorobj *door);
|
||||
void func0f08e2ac(struct doorobj *door);
|
||||
void doorSetMode(struct doorobj *door, s32 newmode);
|
||||
void doorActivate(struct doorobj *door, s32 newmode);
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#include <ultra64.h>
|
||||
#include "types.h"
|
||||
|
||||
u32 func000159b0(void);
|
||||
void func000159b0(u32 *obj48_20);
|
||||
u32 func000159fc(void);
|
||||
u32 func00015b10(void);
|
||||
u32 func00015b64(void);
|
||||
|
|
|
|||
|
|
@ -656,6 +656,18 @@ struct chrdata {
|
|||
/*0x364*/ u32 unk364;
|
||||
};
|
||||
|
||||
struct obj48 {
|
||||
u32 flags;
|
||||
u32 unk04;
|
||||
u32 unk08;
|
||||
u32 unk0c;
|
||||
u32 unk10;
|
||||
u32 unk14;
|
||||
u32 unk18;
|
||||
u32 unk1c;
|
||||
u32 unk20;
|
||||
};
|
||||
|
||||
struct defaultobj {
|
||||
/*0x00*/ u16 extrascale;
|
||||
/*0x02*/ u8 hidden2;
|
||||
|
|
@ -670,7 +682,7 @@ struct defaultobj {
|
|||
/*0x1c*/ f32 realrot[9];
|
||||
/*0x40*/ u32 hidden; // most significant nibble is the playernum who holds the obj
|
||||
/*0x44*/ u32 unk44;
|
||||
/*0x48*/ u32 unk48;
|
||||
/*0x48*/ struct obj48 *unk48;
|
||||
/*0x4c*/ s16 damage;
|
||||
/*0x4e*/ s16 maxdamage;
|
||||
/*0x50*/ u32 shadecol;
|
||||
|
|
|
|||
Loading…
Reference in New Issue