From 927ea36517d3ee00c6ca71db7354d915a8bc40d7 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Thu, 16 Jul 2020 00:04:23 +1000 Subject: [PATCH] Decompile func0f166e54 --- src/game/game_166e40.c | 26 ++++++++++++-------------- src/include/game/game_166e40.h | 2 +- src/include/types.h | 2 +- 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/game/game_166e40.c b/src/game/game_166e40.c index 70b973b39..6b4e08102 100644 --- a/src/game/game_166e40.c +++ b/src/game/game_166e40.c @@ -41,20 +41,18 @@ glabel func0f166e40 /* f166e50: 8c422060 */ lw $v0,%lo(filetable)($v0) ); -GLOBAL_ASM( -glabel func0f166e54 -/* f166e54: 8c820004 */ lw $v0,0x4($a0) -/* f166e58: 00001825 */ or $v1,$zero,$zero -/* f166e5c: 10400005 */ beqz $v0,.L0f166e74 -/* f166e60: 00000000 */ nop -/* f166e64: 8c8e0000 */ lw $t6,0x0($a0) -/* f166e68: 004e1823 */ subu $v1,$v0,$t6 -/* f166e6c: 03e00008 */ jr $ra -/* f166e70: 00601025 */ or $v0,$v1,$zero -.L0f166e74: -/* f166e74: 03e00008 */ jr $ra -/* f166e78: 00601025 */ or $v0,$v1,$zero -); +u32 func0f166e54(struct fileinfo *info) +{ + u32 difference; + + if (info->unk04) { + difference = info->unk04 - info->size; + } else { + difference = 0; + } + + return difference; +} GLOBAL_ASM( glabel func0f166e7c diff --git a/src/include/game/game_166e40.h b/src/include/game/game_166e40.h index bffe7fc5b..96b61867d 100644 --- a/src/include/game/game_166e40.h +++ b/src/include/game/game_166e40.h @@ -4,7 +4,7 @@ #include "types.h" u32 func0f166e40(void); -u32 func0f166e54(void); +u32 func0f166e54(struct fileinfo *info); u32 func0f166e7c(void); u32 func0f166ea8(void); void func0f166eb4(void *ptr, u32 len, void *table, struct fileinfo *info); diff --git a/src/include/types.h b/src/include/types.h index 6bbf6647b..2c8e2194d 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -5868,7 +5868,7 @@ struct var800aabb8 { struct fileinfo { u32 size; - u32 unk04; + u32 unk04; // also some kind of size }; struct portalcmd {