From 9aa7b568e7e469ba9693f9ca433500123e699845 Mon Sep 17 00:00:00 2001 From: AnonymousRandomPerson Date: Tue, 17 Mar 2026 22:24:46 -0400 Subject: [PATCH] Decomped sub_0205B794 Decomped by @slaw-22 --- .../{main_0205B794.inc => main_0205B7C8.inc} | 0 asm/{main_0205B794.s => main_0205B7C8.s} | 21 +------------------ include/main_0205B77C.h | 7 ++++++- main.lsf | 2 +- src/main_0205B77C.c | 11 +++++++--- 5 files changed, 16 insertions(+), 25 deletions(-) rename asm/include/{main_0205B794.inc => main_0205B7C8.inc} (100%) rename asm/{main_0205B794.s => main_0205B7C8.s} (99%) diff --git a/asm/include/main_0205B794.inc b/asm/include/main_0205B7C8.inc similarity index 100% rename from asm/include/main_0205B794.inc rename to asm/include/main_0205B7C8.inc diff --git a/asm/main_0205B794.s b/asm/main_0205B7C8.s similarity index 99% rename from asm/main_0205B794.s rename to asm/main_0205B7C8.s index 4823eaa2..be6f53ad 100644 --- a/asm/main_0205B794.s +++ b/asm/main_0205B7C8.s @@ -1,27 +1,8 @@ .include "asm/macros.inc" - .include "main_0205B794.inc" + .include "main_0205B7C8.inc" .text - arm_func_start sub_0205B794 -sub_0205B794: ; 0x0205B794 - stmdb sp!, {r4, lr} - ldr r3, _0205B7C4 ; =_020B0A54 - mov r2, #0xb0 - ldr r3, [r3] - mov r4, r0 - mla lr, r1, r2, r3 - mov ip, #0xb -_0205B7B0: - ldmia lr!, {r0, r1, r2, r3} - stmia r4!, {r0, r1, r2, r3} - subs ip, ip, #1 - bne _0205B7B0 - ldmia sp!, {r4, pc} - .align 2, 0 -_0205B7C4: .word _020B0A54 - arm_func_end sub_0205B794 - arm_func_start sub_0205B7C8 sub_0205B7C8: ; 0x0205B7C8 stmdb sp!, {r4, lr} diff --git a/include/main_0205B77C.h b/include/main_0205B77C.h index 2e5fb001..9e459f91 100644 --- a/include/main_0205B77C.h +++ b/include/main_0205B77C.h @@ -1,6 +1,11 @@ #ifndef PMDSKY_MAIN_0205B77C_H #define PMDSKY_MAIN_0205B77C_H -u32 sub_0205B77C(u32 a); +struct unkStruct_020B0A54 { + u32 data[44]; +}; + +u32* sub_0205B77C(u32 a); +void sub_0205B794(struct unkStruct_020B0A54 *dest, s32 index); #endif //PMDSKY_MAIN_0205B77C_H diff --git a/main.lsf b/main.lsf index 67f54907..c5788de4 100644 --- a/main.lsf +++ b/main.lsf @@ -152,7 +152,7 @@ Static main Object src/main_0205B6EC.o Object asm/main_0205B738.o Object src/main_0205B77C.o - Object asm/main_0205B794.o + Object asm/main_0205B7C8.o Object src/dungeon_init_2.o Object asm/main_0206A750.o Object src/main_0206C98C.o diff --git a/src/main_0205B77C.c b/src/main_0205B77C.c index 1d10c9a7..c6ea3a3b 100644 --- a/src/main_0205B77C.c +++ b/src/main_0205B77C.c @@ -1,8 +1,13 @@ #include "main_0205B77C.h" -extern u32 _020B0A54; +extern struct unkStruct_020B0A54 *_020B0A54; -u32 sub_0205B77C(u32 a) +u32* sub_0205B77C(u32 a) { - return a * 176 + _020B0A54; + return a * 44 + _020B0A54->data; +} + +void sub_0205B794(struct unkStruct_020B0A54 *dest, s32 index) +{ + *dest = _020B0A54[index]; }