diff --git a/src/game/bondmove.c b/src/game/bondmove.c index bd1b6a5e4..406c5dca2 100644 --- a/src/game/bondmove.c +++ b/src/game/bondmove.c @@ -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) diff --git a/src/include/lib/lib_24e40.h b/src/include/lib/lib_24e40.h index 25b0ce1d5..777908f35 100644 --- a/src/include/lib/lib_24e40.h +++ b/src/include/lib/lib_24e40.h @@ -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); diff --git a/src/lib/lib_24e40.c b/src/lib/lib_24e40.c index 002eca75c..cabc74079 100644 --- a/src/lib/lib_24e40.c +++ b/src/lib/lib_24e40.c @@ -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) {