Decompile cdGetTileFlags

This commit is contained in:
Ryan Dwyer 2021-05-10 19:52:02 +10:00
parent 81f2f9a5c6
commit f76017f8c9
3 changed files with 24 additions and 33 deletions

View File

@ -468,7 +468,7 @@ glabel var7f1ad8b4
/* f0c86f8: 24c6d860 */ addiu $a2,$a2,%lo(var7f1ad860)
/* f0c86fc: 0c0093af */ jal cdGetPos
/* f0c8700: 240501c7 */ addiu $a1,$zero,0x1c7
/* f0c8704: 0c0093c4 */ jal func00024f10
/* f0c8704: 0c0093c4 */ jal cdGetTileFlags
/* f0c8708: 00000000 */ nop
/* f0c870c: c7aa0150 */ lwc1 $f10,0x150($sp)
/* f0c8710: c7b000f0 */ lwc1 $f16,0xf0($sp)
@ -824,7 +824,7 @@ glabel var7f1ad8b4
/* f0c5f58: 24c67ba0 */ addiu $a2,$a2,0x7ba0
/* f0c5f5c: 0c0098a7 */ jal cdGetPos
/* f0c5f60: 240501c7 */ addiu $a1,$zero,0x1c7
/* f0c5f64: 0c0098bc */ jal func00024f10
/* f0c5f64: 0c0098bc */ jal cdGetTileFlags
/* f0c5f68: 00000000 */ sll $zero,$zero,0x0
/* f0c5f6c: c7aa0150 */ lwc1 $f10,0x150($sp)
/* f0c5f70: c7b000f0 */ lwc1 $f16,0xf0($sp)

View File

@ -11,7 +11,7 @@ s32 func00024ea4(void);
struct prop *cdGetObstacle(void);
void cdGetPos(struct coord *pos, u32 line, char *file);
void func00024ee8(struct coord *arg0);
u32 func00024f10(void);
u32 cdGetTileFlags(void);
void func00024f6c(void);
u32 func00024fb0(void);
u32 func00025038(void);

View File

@ -113,36 +113,27 @@ void func00024ee8(struct coord *arg0)
func00025928(var8009a964, arg0);
}
GLOBAL_ASM(
glabel func00024f10
/* 24f10: 3c04800a */ lui $a0,%hi(var8009a964)
/* 24f14: 8c84a964 */ lw $a0,%lo(var8009a964)($a0)
/* 24f18: 24010001 */ addiu $at,$zero,0x1
/* 24f1c: 90820000 */ lbu $v0,0x0($a0)
/* 24f20: 10400009 */ beqz $v0,.L00024f48
/* 24f24: 00000000 */ nop
/* 24f28: 10410009 */ beq $v0,$at,.L00024f50
/* 24f2c: 24010002 */ addiu $at,$zero,0x2
/* 24f30: 10410009 */ beq $v0,$at,.L00024f58
/* 24f34: 24010003 */ addiu $at,$zero,0x3
/* 24f38: 5041000a */ beql $v0,$at,.L00024f64
/* 24f3c: 94830002 */ lhu $v1,0x2($a0)
/* 24f40: 03e00008 */ jr $ra
/* 24f44: 00001025 */ or $v0,$zero,$zero
.L00024f48:
/* 24f48: 03e00008 */ jr $ra
/* 24f4c: 94820002 */ lhu $v0,0x2($a0)
.L00024f50:
/* 24f50: 03e00008 */ jr $ra
/* 24f54: 94820002 */ lhu $v0,0x2($a0)
.L00024f58:
/* 24f58: 03e00008 */ jr $ra
/* 24f5c: 2402001c */ addiu $v0,$zero,0x1c
/* 24f60: 94830002 */ lhu $v1,0x2($a0)
.L00024f64:
/* 24f64: 03e00008 */ jr $ra
/* 24f68: 00601025 */ or $v0,$v1,$zero
);
u32 cdGetTileFlags(void)
{
u32 flags = 0;
switch (var8009a964->type) {
case TILETYPE_00:
flags = var8009a964->flags;
break;
case TILETYPE_01:
flags = var8009a964->flags;
break;
case TILETYPE_02:
flags = TILEFLAG_0004 | TILEFLAG_0008 | TILEFLAG_0010;
break;
case TILETYPE_03:
flags = var8009a964->flags;
break;
}
return flags;
}
void func00024f6c(void)
{