summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-06-25 15:26:31 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2020-06-25 15:26:31 -0400
commit8c34579a17e672c05e46275e938d8d8d73232d79 (patch)
treec9041081dba778a674c5753b112eefd4b7f94069
parent4ab04286637982c0f4938190ca363c2f7c9b0e3a (diff)
Refactor sdat.h structs and name some routines
-rw-r--r--arm9/asm/sndlib.s58
-rw-r--r--arm9/global.inc4
-rw-r--r--arm9/modules/04/asm/thumb_04.s2
-rw-r--r--arm9/modules/13/asm/module_13_arm2.s2
-rw-r--r--arm9/src/sound.c4
-rw-r--r--include/sdat.h17
-rw-r--r--include/sound.h2
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];