diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2020-06-25 15:26:31 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2020-06-25 15:26:31 -0400 |
commit | 8c34579a17e672c05e46275e938d8d8d73232d79 (patch) | |
tree | c9041081dba778a674c5753b112eefd4b7f94069 | |
parent | 4ab04286637982c0f4938190ca363c2f7c9b0e3a (diff) |
Refactor sdat.h structs and name some routines
-rw-r--r-- | arm9/asm/sndlib.s | 58 | ||||
-rw-r--r-- | arm9/global.inc | 4 | ||||
-rw-r--r-- | arm9/modules/04/asm/thumb_04.s | 2 | ||||
-rw-r--r-- | arm9/modules/13/asm/module_13_arm2.s | 2 | ||||
-rw-r--r-- | arm9/src/sound.c | 4 | ||||
-rw-r--r-- | include/sdat.h | 17 | ||||
-rw-r--r-- | include/sound.h | 2 |
7 files changed, 47 insertions, 42 deletions
diff --git a/arm9/asm/sndlib.s b/arm9/asm/sndlib.s index eceb4e43..840e72d3 100644 --- a/arm9/asm/sndlib.s +++ b/arm9/asm/sndlib.s @@ -196,8 +196,8 @@ _020C01A8: bl SND_FlushCommand ldmia sp!, {r4,pc} - arm_func_start FUN_020C01D0 -FUN_020C01D0: ; 0x020C01D0 + arm_func_start SDAT_Init +SDAT_Init: ; 0x020C01D0 stmdb sp!, {lr} sub sp, sp, #0x4 ldr r0, _020C0254 ; =UNK_021D1C94 @@ -1374,7 +1374,7 @@ FUN_020C10B4: ldr r2, _020C1140 ; =FUN_020C072C add r1, r5, #0x14 str r3, [sp, #0x0] - bl FUN_020C2958 + bl SDATi_AllocAndInitChunk movs r4, r0 addeq sp, sp, #0x8 moveq r0, #0x0 @@ -2524,20 +2524,20 @@ FUN_020C1FF0: ; 0x020C1FF0 .balign 4 _020C2098: .word UNK_021D27CC - arm_func_start FUN_020C209C -FUN_020C209C: ; 0x020C209C + arm_func_start SDATi_SymbDtor +SDATi_SymbDtor: ; 0x020C209C mov r0, #0x0 str r0, [r2, #0x88] bx lr - arm_func_start FUN_020C20A8 -FUN_020C20A8: ; 0x020C20A8 + arm_func_start SDATi_FatDtor +SDATi_FatDtor: ; 0x020C20A8 mov r0, #0x0 str r0, [r2, #0x84] bx lr - arm_func_start FUN_020C20B4 -FUN_020C20B4: ; 0x020C20B4 + arm_func_start SDATi_InfoDtor +SDATi_InfoDtor: ; 0x020C20B4 mov r0, #0x0 str r0, [r2, #0x8c] bx lr @@ -2874,8 +2874,8 @@ _020C24F0: .balign 4 _020C2508: .word UNK_021D28C0 - arm_func_start FUN_020C250C -FUN_020C250C: + arm_func_start SDATi_ReadHeaders +SDATi_ReadHeaders: stmdb sp!, {r4-r6,lr} sub sp, sp, #0x8 mov r6, r0 @@ -2902,10 +2902,10 @@ FUN_020C250C: mov r0, #0x0 str r0, [sp, #0x0] ldr r1, [r6, #0x1c] - ldr r2, _020C26EC ; =FUN_020C20B4 + ldr r2, _020C26EC ; =SDATi_InfoDtor mov r0, r5 mov r3, r6 - bl FUN_020C2958 + bl SDATi_AllocAndInitChunk str r0, [r6, #0x8c] ldr r0, [r6, #0x8c] cmp r0, #0x0 @@ -2932,10 +2932,10 @@ FUN_020C250C: mov r0, #0x0 str r0, [sp, #0x0] ldr r1, [r6, #0x24] - ldr r2, _020C26F0 ; =FUN_020C20A8 + ldr r2, _020C26F0 ; =SDATi_FatDtor mov r0, r5 mov r3, r6 - bl FUN_020C2958 + bl SDATi_AllocAndInitChunk str r0, [r6, #0x84] ldr r0, [r6, #0x84] cmp r0, #0x0 @@ -2965,11 +2965,11 @@ FUN_020C250C: cmp r1, #0x0 beq _020C26E0 mov r4, #0x0 - ldr r2, _020C26F4 ; =FUN_020C209C + ldr r2, _020C26F4 ; =SDATi_SymbDtor mov r0, r5 mov r3, r6 str r4, [sp, #0x0] - bl FUN_020C2958 + bl SDATi_AllocAndInitChunk str r0, [r6, #0x88] ldr r0, [r6, #0x88] cmp r0, #0x0 @@ -2998,12 +2998,12 @@ _020C26E0: add sp, sp, #0x8 ldmia sp!, {r4-r6,pc} .balign 4 -_020C26EC: .word FUN_020C20B4 -_020C26F0: .word FUN_020C20A8 -_020C26F4: .word FUN_020C209C +_020C26EC: .word SDATi_InfoDtor +_020C26F0: .word SDATi_FatDtor +_020C26F4: .word SDATi_SymbDtor - arm_func_start FUN_020C26F8 -FUN_020C26F8: ; 0x020C26F8 + arm_func_start SDAT_Open +SDAT_Open: ; 0x020C26F8 ; r0: &sSoundDataBuffer ; r1: char* filename ; r2: (&sSoundDataBuffer)->unk_0090 @@ -3033,7 +3033,7 @@ FUN_020C26F8: ; 0x020C26F8 mov r1, r5 mov r2, r4 str r3, [r6, #0x30] - bl FUN_020C250C + bl SDATi_ReadHeaders cmp r0, #0x0 ldrne r0, _020C2770 ; =UNK_021D28C0 strne r6, [r0, #0x0] @@ -3188,8 +3188,8 @@ FUN_020C290C: ; 0x020C290C mvn r0, #0x0 ldmia sp!, {r4,pc} - arm_func_start FUN_020C2958 -FUN_020C2958: ; 0x020C2958 + arm_func_start SDATi_AllocAndInitChunk +SDATi_AllocAndInitChunk: ; 0x020C2958 stmdb sp!, {r4-r8,lr} mov r7, r1 mov r8, r0 @@ -3200,7 +3200,7 @@ FUN_020C2958: ; 0x020C2958 add r1, r1, #0x20 mov r2, #0x20 mov r5, r3 - bl FUN_020AE638 + bl FUN_020AE638 // some allocator? movs r4, r0 moveq r0, #0x0 ldmeqia sp!, {r4-r8,pc} @@ -3407,7 +3407,7 @@ FUN_020C2BE0: mov r3, r7 add r1, r9, #0x20 str r6, [sp, #0x0] - bl FUN_020C2958 + bl SDATi_AllocAndInitChunk movs r4, r0 addeq sp, sp, #0x4 moveq r0, #0x0 @@ -3585,7 +3585,7 @@ _020C2EB0: mov r0, r8 add r1, r5, #0x20 str r9, [sp, #0x0] - bl FUN_020C2958 + bl SDATi_AllocAndInitChunk movs r6, r0 addeq sp, sp, #0x4 moveq r0, #0x0 @@ -3791,7 +3791,7 @@ FUN_020C3134: ; 0x020C3134 mov r3, r6 add r1, r5, #0x20 str r4, [sp, #0x0] - bl FUN_020C2958 + bl SDATi_AllocAndInitChunk movs r4, r0 addeq sp, sp, #0x8 moveq r0, #0x0 diff --git a/arm9/global.inc b/arm9/global.inc index f478ba68..74790dd6 100644 --- a/arm9/global.inc +++ b/arm9/global.inc @@ -5717,7 +5717,7 @@ .extern FUN_020BC4C8 .extern FUN_020C0174 .extern FUN_020C01A0 -.extern FUN_020C01D0 +.extern SDAT_Init .extern FUN_020C03B8 .extern FUN_020C041C .extern FUN_020C044C @@ -5761,7 +5761,7 @@ .extern FUN_020C22D0 .extern FUN_020C23FC .extern FUN_020C2444 -.extern FUN_020C26F8 +.extern SDAT_Open .extern FUN_020C2828 .extern FUN_020C290C .extern FUN_020C2A94 diff --git a/arm9/modules/04/asm/thumb_04.s b/arm9/modules/04/asm/thumb_04.s index 48315516..89d96e19 100644 --- a/arm9/modules/04/asm/thumb_04.s +++ b/arm9/modules/04/asm/thumb_04.s @@ -2347,7 +2347,7 @@ _021D86CE: str r1, [r2, r0] mov r0, #1 bl FUN_020AA770 - bl FUN_020C01D0 + bl SDAT_Init ldr r0, _021D8718 ; =UNK04_0220FBC8 ldr r1, [r0, #4] ldr r0, _021D8728 ; =0x00003504 diff --git a/arm9/modules/13/asm/module_13_arm2.s b/arm9/modules/13/asm/module_13_arm2.s index 3b78a5b0..f919cf8b 100644 --- a/arm9/modules/13/asm/module_13_arm2.s +++ b/arm9/modules/13/asm/module_13_arm2.s @@ -25832,7 +25832,7 @@ MOD13_022342A0: ; 0x022342A0 ldr r1, _0223432C ; =0x02243154 ldr r1, [r1] str r0, [r1, #0x94] - bl FUN_020C01D0 + bl SDAT_Init ldr r0, _0223432C ; =0x02243154 ldr r0, [r0] ldr r1, [r0, #0x94] diff --git a/arm9/src/sound.c b/arm9/src/sound.c index a89d0f56..7fba715c 100644 --- a/arm9/src/sound.c +++ b/arm9/src/sound.c @@ -28,11 +28,11 @@ extern void FUN_02005CFC(void); void InitSoundData(u32 a0, struct Options * a1) { struct SoundData * sdat = GetSoundDataPointer(); - FUN_020C01D0(); + SDAT_Init(); FUN_020040C8(); FUN_02004064(sdat); sdat->unk_00090 = FUN_020C2A94(sdat->unk_00094, sizeof(sdat->unk_00094)); - FUN_020C26F8(&sdat->header, "data/sound/sound_data.sdat", sdat->unk_00090, 0); + SDAT_Open(&sdat->header, "data/sound/sound_data.sdat", sdat->unk_00090, 0); FUN_020C39CC(sdat->unk_00090); FUN_02004088(sdat); FUN_020040A4(sdat); diff --git a/include/sdat.h b/include/sdat.h index 70522a3d..3ba8583c 100644 --- a/include/sdat.h +++ b/include/sdat.h @@ -15,17 +15,22 @@ struct SDATHeader u32 info_offset, info_size; u32 fat_offset, fat_size; u32 file_offset, file_size; - u32 unk_00030; +}; + +struct SDATFileMgr +{ + struct SDATHeader header; + BOOL is_init; FSFile file; // 00034 FSFileID fileID; // 7C - u32 unk_00084; - u32 unk_00088; - void * unk_0008C; + void * fat_p; + void * symb_p; + void * info_p; }; -void FUN_020C01D0(void); +void SDAT_Init(void); void * FUN_020C2A94(void *, u32); -void FUN_020C26F8(struct SDATHeader *, char *, void *, u32); +void SDAT_Open(struct SDATFileMgr *, char *, void *, u32); void FUN_020C39CC(void *); void FUN_020C01A0(void); int FUN_020C290C(void *); diff --git a/include/sound.h b/include/sound.h index 0a4fc4ed..44bcba99 100644 --- a/include/sound.h +++ b/include/sound.h @@ -7,7 +7,7 @@ struct SoundData { - struct SDATHeader header; + struct SDATFileMgr header; void * unk_00090; u8 unk_00094[0xBBC00]; u32 unk_BBC94[9]; |