From e9296c06c8e0f0a6f9fdebcca9a2fa2f81f10eec Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Tue, 14 Sep 2021 19:55:49 +1000 Subject: [PATCH] Decompile mpplayerfileGetOverview --- src/game/game_107fb0.c | 4 ++-- src/game/mplayer/mplayer.c | 34 ++++++++---------------------- src/include/game/mplayer/mplayer.h | 2 +- 3 files changed, 12 insertions(+), 28 deletions(-) diff --git a/src/game/game_107fb0.c b/src/game/game_107fb0.c index 65e7d4ddc..71ce8b72a 100644 --- a/src/game/game_107fb0.c +++ b/src/game/game_107fb0.c @@ -1246,7 +1246,7 @@ void func0f109954(s32 arg0) void filemgrGetFileName(char *dst, struct filelistfile *file) { char localbuffer[20]; - u32 sp20; + u32 playtime; localbuffer[0] = '\0'; @@ -1256,7 +1256,7 @@ void filemgrGetFileName(char *dst, struct filelistfile *file) func0f0d564c(file->unk06, localbuffer, false); break; case FILETYPE_MPPLAYER: - mpplayerfileGetOverview(file->unk06, localbuffer, &sp20); + mpplayerfileGetOverview(file->unk06, localbuffer, &playtime); break; } diff --git a/src/game/mplayer/mplayer.c b/src/game/mplayer/mplayer.c index 67d2c1038..c18ad1778 100644 --- a/src/game/mplayer/mplayer.c +++ b/src/game/mplayer/mplayer.c @@ -8951,31 +8951,15 @@ glabel func0f18d5c4 /* f18d9a0: 27bd0058 */ addiu $sp,$sp,0x58 ); -GLOBAL_ASM( -glabel mpplayerfileGetOverview -/* f18d9a4: 27bdff08 */ addiu $sp,$sp,-248 -/* f18d9a8: afa500fc */ sw $a1,0xfc($sp) -/* f18d9ac: 00802825 */ or $a1,$a0,$zero -/* f18d9b0: afbf0014 */ sw $ra,0x14($sp) -/* f18d9b4: afa400f8 */ sw $a0,0xf8($sp) -/* f18d9b8: afa60100 */ sw $a2,0x100($sp) -/* f18d9bc: 2406000f */ addiu $a2,$zero,0xf -/* f18d9c0: 0fc35521 */ jal func0f0d5484 -/* f18d9c4: 27a40018 */ addiu $a0,$sp,0x18 -/* f18d9c8: 27a40018 */ addiu $a0,$sp,0x18 -/* f18d9cc: 8fa500fc */ lw $a1,0xfc($sp) -/* f18d9d0: 0fc35539 */ jal savebufferReadString -/* f18d9d4: 00003025 */ or $a2,$zero,$zero -/* f18d9d8: 27a40018 */ addiu $a0,$sp,0x18 -/* f18d9dc: 0fc354fe */ jal savebufferReadBits -/* f18d9e0: 2405001c */ addiu $a1,$zero,0x1c -/* f18d9e4: 8fae0100 */ lw $t6,0x100($sp) -/* f18d9e8: adc20000 */ sw $v0,0x0($t6) -/* f18d9ec: 8fbf0014 */ lw $ra,0x14($sp) -/* f18d9f0: 27bd00f8 */ addiu $sp,$sp,0xf8 -/* f18d9f4: 03e00008 */ jr $ra -/* f18d9f8: 00000000 */ nop -); +void mpplayerfileGetOverview(char *arg0, char *name, u32 *playtime) +{ + struct savebuffer buffer; + + func0f0d5484(&buffer, arg0, 15); + + savebufferReadString(&buffer, name, 0); + *playtime = savebufferReadBits(&buffer, 28); +} GLOBAL_ASM( glabel mpplayerfileSave diff --git a/src/include/game/mplayer/mplayer.h b/src/include/game/mplayer/mplayer.h index 7ed57c9ce..7880e5a08 100644 --- a/src/include/game/mplayer/mplayer.h +++ b/src/include/game/mplayer/mplayer.h @@ -101,7 +101,7 @@ void mpplayerfileLoadGunFuncs(struct savebuffer *buffer, s32 playernum); u32 func0f18d238(void); void mpplayerfileLoadWad(s32 playernum, struct savebuffer *buffer, s32 arg2); u32 func0f18d5c4(void); -void mpplayerfileGetOverview(char *arg0, char *buffer, u32 *arg2); +void mpplayerfileGetOverview(char *arg0, char *name, u32 *playtime); s32 mpplayerfileSave(void *arg0, s32 arg1, s32 arg2, u16 arg3); s32 mpplayerfileLoad(s32 playernum, s32 arg1, s32 arg2, u16 arg3); s32 mpGetNumPresets(void);