From 476ffced5e9cc1f7e3c5a5661d250de98326063c Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Mon, 27 Jan 2020 18:09:01 +1000 Subject: [PATCH] Decompile coverHasSomeFlags --- src/game/chr/chr.c | 4 ++-- src/game/game_013540.c | 4 ++-- src/game/game_1999b0.c | 2 +- src/game/pad.c | 11 ++++++----- src/include/constants.h | 3 +++ src/include/game/pad.h | 2 +- 6 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/game/chr/chr.c b/src/game/chr/chr.c index 7cd220de8..dc7c6d8e2 100644 --- a/src/game/chr/chr.c +++ b/src/game/chr/chr.c @@ -50896,7 +50896,7 @@ glabel func0f04ba34 /* f04bb24: 27a50098 */ addiu $a1,$sp,0x98 /* f04bb28: 504000b0 */ beqzl $v0,.L0f04bdec /* f04bb2c: 8fae0078 */ lw $t6,0x78($sp) -/* f04bb30: 0fc4596c */ jal func0f1165b0 +/* f04bb30: 0fc4596c */ jal coverHasSomeFlags /* f04bb34: 27a40098 */ addiu $a0,$sp,0x98 /* f04bb38: 144000ab */ bnez $v0,.L0f04bde8 /* f04bb3c: 32292000 */ andi $t1,$s1,0x2000 @@ -51319,7 +51319,7 @@ glabel func0f04bffc /* f04c108: 00000000 */ sll $zero,$zero,0x0 /* f04c10c: 45030035 */ bc1tl .L0f04c1e4 /* f04c110: 26100001 */ addiu $s0,$s0,0x1 -/* f04c114: 0fc4596c */ jal func0f1165b0 +/* f04c114: 0fc4596c */ jal coverHasSomeFlags /* f04c118: 02402025 */ or $a0,$s2,$zero /* f04c11c: 14400030 */ bnez $v0,.L0f04c1e0 /* f04c120: 262402c8 */ addiu $a0,$s1,0x2c8 diff --git a/src/game/game_013540.c b/src/game/game_013540.c index ea98777ec..923391414 100644 --- a/src/game/game_013540.c +++ b/src/game/game_013540.c @@ -1124,7 +1124,7 @@ glabel func0f0142e8 /* f01446c: 450300b3 */ bc1tl .L0f01473c /* f014470: 8fae0900 */ lw $t6,0x900($sp) .L0f014474: -/* f014474: 0fc4596c */ jal func0f1165b0 +/* f014474: 0fc4596c */ jal coverHasSomeFlags /* f014478: 00148880 */ sll $s1,$s4,0x2 /* f01447c: 10400008 */ beqz $v0,.L0f0144a0 /* f014480: 3c02800a */ lui $v0,0x800a @@ -1171,7 +1171,7 @@ glabel func0f0142e8 /* f014520: 1000000a */ beqz $zero,.L0f01454c /* f014524: a4490000 */ sh $t1,0x0($v0) .L0f014528: -/* f014528: 0fc4596c */ jal func0f1165b0 +/* f014528: 0fc4596c */ jal coverHasSomeFlags /* f01452c: 27a408dc */ addiu $a0,$sp,0x8dc /* f014530: 14400006 */ bnez $v0,.L0f01454c /* f014534: 8fa408e0 */ lw $a0,0x8e0($sp) diff --git a/src/game/game_1999b0.c b/src/game/game_1999b0.c index ef36cf551..0275c7513 100644 --- a/src/game/game_1999b0.c +++ b/src/game/game_1999b0.c @@ -1404,7 +1404,7 @@ glabel func0f19ab70 /* f19abe8: 27a50158 */ addiu $a1,$sp,0x158 /* f19abec: 50400027 */ beqzl $v0,.L0f19ac8c /* f19abf0: 26520001 */ addiu $s2,$s2,0x1 -/* f19abf4: 0fc4596c */ jal func0f1165b0 +/* f19abf4: 0fc4596c */ jal coverHasSomeFlags /* f19abf8: 27a40158 */ addiu $a0,$sp,0x158 /* f19abfc: 14400022 */ bnez $v0,.L0f19ac88 /* f19ac00: 27a40160 */ addiu $a0,$sp,0x160 diff --git a/src/game/pad.c b/src/game/pad.c index 7735ef5e2..945e11c5c 100644 --- a/src/game/pad.c +++ b/src/game/pad.c @@ -842,12 +842,13 @@ void coverSetFlag0001(s32 covernum, bool enable) } } +bool coverHasSomeFlags(struct cover *cover) +{ + return (cover->flags & (COVERFLAG_0080 | COVERFLAG_0040 | COVERFLAG_0020)) != 0; +} + GLOBAL_ASM( -glabel func0f1165b0 -/* f1165b0: 9482000c */ lhu $v0,0xc($a0) -/* f1165b4: 304e00e0 */ andi $t6,$v0,0xe0 -/* f1165b8: 03e00008 */ jr $ra -/* f1165bc: 000e102b */ sltu $v0,$zero,$t6 +glabel func0f1165c0 /* f1165c0: afa50004 */ sw $a1,0x4($sp) /* f1165c4: 03e00008 */ jr $ra /* f1165c8: 00801025 */ or $v0,$a0,$zero diff --git a/src/include/constants.h b/src/include/constants.h index afe3ef72e..93cf3bb15 100644 --- a/src/include/constants.h +++ b/src/include/constants.h @@ -323,6 +323,9 @@ #define COVERFLAG_0001 0x0001 #define COVERFLAG_0002 0x0002 +#define COVERFLAG_0020 0x0020 +#define COVERFLAG_0040 0x0040 +#define COVERFLAG_0080 0x0080 // L/C/R = left/centered/right // big/med/sml is the font size diff --git a/src/include/game/pad.h b/src/include/game/pad.h index c3d9edcee..653b258d7 100644 --- a/src/include/game/pad.h +++ b/src/include/game/pad.h @@ -17,6 +17,6 @@ void coverSetFlag0002(s32 covernum, bool enable); void coverSetFlag(s32 covernum, u32 flag); void coverUnsetFlag(s32 covernum, u32 flag); void coverSetFlag0001(s32 covernum, bool enable); -u32 func0f1165b0(void); +bool coverHasSomeFlags(struct cover *cover); #endif