mirror of
https://github.com/pret/pokediamond.git
synced 2026-10-04 08:21:17 -04:00
Merge pull request #386 from PikalaxALT/pikalax_work
Decompile code related to Chatot's data in the save block
This commit is contained in:
+1
-1
@@ -111,7 +111,7 @@ Static arm9
|
||||
Object seal_case.o
|
||||
Object unk_02029CEC.o
|
||||
Object igt.o
|
||||
Object unk_02029EC4.o
|
||||
Object sav_chatot.o
|
||||
Object unk_02029FB0.o
|
||||
Object unk_0202A1E0.o
|
||||
Object unk_0202A8F4.o
|
||||
|
||||
+1
-1
@@ -173,7 +173,7 @@ FUN_0203FF10: ; 0x0203FF10
|
||||
str r0, [sp, #0x30]
|
||||
ldr r0, [r5, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl FUN_02029EF8
|
||||
bl Sav2_Chatot_get
|
||||
str r0, [sp, #0x34]
|
||||
add r0, sp, #0x14
|
||||
bl FUN_02081214
|
||||
|
||||
+49
-49
@@ -203,133 +203,133 @@ _0200421A: ; jump table (using 16-bit offset)
|
||||
.short _020042AE - _0200421A - 2; case 3
|
||||
_02004222:
|
||||
mov r0, #0x1
|
||||
bl FUN_02003F78
|
||||
bl GF_Snd_LoadGroup
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_0200422C:
|
||||
mov r0, #0x2
|
||||
bl FUN_02003F78
|
||||
bl GF_Snd_LoadGroup
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_02004236:
|
||||
mov r0, #0xd
|
||||
bl FUN_02003F78
|
||||
bl GF_Snd_LoadGroup
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_02004240:
|
||||
mov r0, #0x1
|
||||
bl FUN_02003F78
|
||||
bl GF_Snd_LoadGroup
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_0200424A:
|
||||
mov r0, #0x2
|
||||
bl FUN_02003F78
|
||||
bl GF_Snd_LoadGroup
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_02004254:
|
||||
mov r0, #0x1
|
||||
bl FUN_02003F78
|
||||
bl GF_Snd_LoadGroup
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_0200425E:
|
||||
mov r0, #0xb
|
||||
bl FUN_02003F78
|
||||
bl GF_Snd_LoadGroup
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_02004268:
|
||||
mov r0, #0x1
|
||||
bl FUN_02003F78
|
||||
bl GF_Snd_LoadGroup
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_02004272:
|
||||
mov r0, #0xe
|
||||
bl FUN_02003F78
|
||||
bl GF_Snd_LoadGroup
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_0200427C:
|
||||
mov r0, #0x3
|
||||
bl FUN_02003F78
|
||||
bl GF_Snd_LoadGroup
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_02004286:
|
||||
mov r0, #0x6
|
||||
bl FUN_02003F78
|
||||
bl GF_Snd_LoadGroup
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_02004290:
|
||||
mov r0, #0x5
|
||||
bl FUN_02003F78
|
||||
bl GF_Snd_LoadGroup
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_0200429A:
|
||||
mov r0, #0x9
|
||||
bl FUN_02003F78
|
||||
bl GF_Snd_LoadGroup
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_020042A4:
|
||||
mov r0, #0xa
|
||||
bl FUN_02003F78
|
||||
bl GF_Snd_LoadGroup
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_020042AE:
|
||||
ldr r0, _02004330 ; =0x000005E5
|
||||
bl FUN_02003FDC
|
||||
bl GF_Snd_LoadBank
|
||||
ldr r0, _02004330 ; =0x000005E5
|
||||
bl FUN_02003FC4
|
||||
bl GF_Snd_LoadWaveArc
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_020042BE:
|
||||
mov r0, #0xc
|
||||
bl FUN_02003F78
|
||||
bl GF_Snd_LoadGroup
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_020042C8:
|
||||
mov r0, #0x7
|
||||
bl FUN_02003F78
|
||||
bl GF_Snd_LoadGroup
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_020042D2:
|
||||
mov r0, #0x8
|
||||
bl FUN_02003F78
|
||||
bl GF_Snd_LoadGroup
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_020042DC:
|
||||
mov r0, #0xf
|
||||
bl FUN_02003F78
|
||||
bl GF_Snd_LoadGroup
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_020042E6:
|
||||
mov r0, #0x3
|
||||
bl FUN_02003F78
|
||||
bl GF_Snd_LoadGroup
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_020042F0:
|
||||
mov r0, #0x5
|
||||
bl FUN_02003F78
|
||||
bl GF_Snd_LoadGroup
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_020042FA:
|
||||
mov r0, #0xf
|
||||
bl FUN_02003F78
|
||||
bl GF_Snd_LoadGroup
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_02004304:
|
||||
mov r0, #0x4
|
||||
bl FUN_02003F78
|
||||
bl GF_Snd_LoadGroup
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_0200430E:
|
||||
ldr r0, _02004334 ; =0x000005ED
|
||||
bl FUN_02003FDC
|
||||
bl GF_Snd_LoadBank
|
||||
ldr r0, _02004334 ; =0x000005ED
|
||||
bl FUN_02003FC4
|
||||
bl GF_Snd_LoadWaveArc
|
||||
add r1, r0, #0x0
|
||||
b _0200432C
|
||||
_0200431E:
|
||||
ldr r0, _02004338 ; =0x000005EC
|
||||
bl FUN_02003FDC
|
||||
bl GF_Snd_LoadBank
|
||||
ldr r0, _02004338 ; =0x000005EC
|
||||
bl FUN_02003FC4
|
||||
bl GF_Snd_LoadWaveArc
|
||||
add r1, r0, #0x0
|
||||
_0200432C:
|
||||
add r0, r1, #0x0
|
||||
@@ -536,15 +536,15 @@ FUN_020044A8: ; 0x020044A8
|
||||
mov r0, #0x17
|
||||
bl FUN_02003D38
|
||||
ldr r0, [r0, #0x0]
|
||||
bl FUN_02003F64
|
||||
bl GF_Snd_RestoreState
|
||||
mov r0, #0x18
|
||||
bl FUN_02003D38
|
||||
bl FUN_02003F3C
|
||||
bl GF_Snd_SaveState
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02004180
|
||||
mov r0, #0x19
|
||||
bl FUN_02003D38
|
||||
bl FUN_02003F3C
|
||||
bl GF_Snd_SaveState
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start FUN_020044D4
|
||||
@@ -588,12 +588,12 @@ _02004528:
|
||||
bne _02004560
|
||||
mov r0, #0x2
|
||||
bl FUN_02004748
|
||||
bl FUN_02003F64
|
||||
bl GF_Snd_RestoreState
|
||||
mov r0, #0x4
|
||||
bl FUN_02004180
|
||||
mov r0, #0x19
|
||||
bl FUN_02003D38
|
||||
bl FUN_02003F3C
|
||||
bl GF_Snd_SaveState
|
||||
cmp r4, r5
|
||||
beq _02004554
|
||||
mov r0, #0x1
|
||||
@@ -628,17 +628,17 @@ FUN_02004568: ; 0x02004568
|
||||
beq _02004594
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x4
|
||||
bl FUN_02003FA8
|
||||
bl GF_Snd_LoadSeqEx
|
||||
bl ErrorHandling
|
||||
b _0200459C
|
||||
_02004594:
|
||||
ldrh r0, [r4, #0x0]
|
||||
mov r1, #0x6
|
||||
bl FUN_02003FA8
|
||||
bl GF_Snd_LoadSeqEx
|
||||
_0200459C:
|
||||
mov r0, #0x1a
|
||||
bl FUN_02003D38
|
||||
bl FUN_02003F3C
|
||||
bl GF_Snd_SaveState
|
||||
mov r0, #0x1
|
||||
mov r1, #0x0
|
||||
bl FUN_020047C8
|
||||
@@ -671,18 +671,18 @@ FUN_020045C4: ; 0x020045C4
|
||||
_020045E4:
|
||||
mov r0, #0x1
|
||||
bl FUN_02004748
|
||||
bl FUN_02003F64
|
||||
bl GF_Snd_RestoreState
|
||||
ldrh r0, [r4, #0x0]
|
||||
mov r1, #0x2
|
||||
bl FUN_02003FA8
|
||||
bl GF_Snd_LoadSeqEx
|
||||
mov r0, #0x18
|
||||
bl FUN_02003D38
|
||||
bl FUN_02003F3C
|
||||
bl GF_Snd_SaveState
|
||||
mov r0, #0x4
|
||||
bl FUN_02004180
|
||||
mov r0, #0x19
|
||||
bl FUN_02003D38
|
||||
bl FUN_02003F3C
|
||||
bl GF_Snd_SaveState
|
||||
ldrh r0, [r4, #0x0]
|
||||
bl FUN_02004900
|
||||
ldr r1, _02004644 ; =0x000003E9
|
||||
@@ -693,17 +693,17 @@ _020045E4:
|
||||
beq _02004630
|
||||
add r0, r7, #0x0
|
||||
mov r1, #0x4
|
||||
bl FUN_02003FA8
|
||||
bl GF_Snd_LoadSeqEx
|
||||
bl ErrorHandling
|
||||
b _02004638
|
||||
_02004630:
|
||||
ldrh r0, [r4, #0x0]
|
||||
mov r1, #0x4
|
||||
bl FUN_02003FA8
|
||||
bl GF_Snd_LoadSeqEx
|
||||
_02004638:
|
||||
mov r0, #0x1a
|
||||
bl FUN_02003D38
|
||||
bl FUN_02003F3C
|
||||
bl GF_Snd_SaveState
|
||||
_02004642:
|
||||
pop {r3-r7, pc}
|
||||
.balign 4
|
||||
@@ -718,12 +718,12 @@ FUN_02004648: ; 0x02004648
|
||||
bl FUN_020051AC
|
||||
mov r0, #0x2
|
||||
bl FUN_02004748
|
||||
bl FUN_02003F64
|
||||
bl GF_Snd_RestoreState
|
||||
mov r0, #0x5
|
||||
bl FUN_02004180
|
||||
mov r0, #0x19
|
||||
bl FUN_02003D38
|
||||
bl FUN_02003F3C
|
||||
bl GF_Snd_SaveState
|
||||
mov r0, #0x1
|
||||
bl FUN_02004DBC
|
||||
add r0, r4, #0x0
|
||||
@@ -786,7 +786,7 @@ FUN_020046E8: ; 0x020046E8
|
||||
bl FUN_02004180
|
||||
mov r0, #0x1b
|
||||
bl FUN_02003D38
|
||||
bl FUN_02003F3C
|
||||
bl GF_Snd_SaveState
|
||||
pop {r4, pc}
|
||||
.balign 4
|
||||
|
||||
@@ -820,7 +820,7 @@ FUN_02004738: ; 0x02004738
|
||||
push {r3, lr}
|
||||
mov r0, #0x4
|
||||
bl FUN_02004748
|
||||
bl FUN_02003F64
|
||||
bl GF_Snd_RestoreState
|
||||
pop {r3, pc}
|
||||
.balign 4
|
||||
|
||||
@@ -1824,7 +1824,7 @@ FUN_02004E98: ; 0x02004E98
|
||||
add r5, r0, #0x0
|
||||
mov r0, #0x5
|
||||
bl FUN_02004748
|
||||
bl FUN_02003F64
|
||||
bl GF_Snd_RestoreState
|
||||
lsl r0, r5, #0x10
|
||||
lsr r4, r0, #0x10
|
||||
ldr r0, _02004ECC ; =0x000001B9
|
||||
@@ -1839,7 +1839,7 @@ _02004EBA:
|
||||
mov r4, #0x1
|
||||
_02004EBC:
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02003FC4
|
||||
bl GF_Snd_LoadWaveArc
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02004ED0
|
||||
pop {r3-r5, pc}
|
||||
|
||||
@@ -81,12 +81,12 @@ FUN_02005288: ; 0x02005288
|
||||
mov r0, #0x3
|
||||
add r4, r2, #0x0
|
||||
bl FUN_02004748
|
||||
bl FUN_02003F64
|
||||
bl GF_Snd_RestoreState
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02003F90
|
||||
bl GF_Snd_LoadSeq
|
||||
mov r0, #0x1a
|
||||
bl FUN_02003D38
|
||||
bl FUN_02003F3C
|
||||
bl GF_Snd_SaveState
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02003FF4
|
||||
add r1, r5, #0x0
|
||||
@@ -148,7 +148,7 @@ _02005318:
|
||||
_0200532A:
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x1
|
||||
bl FUN_02003FA8
|
||||
bl GF_Snd_LoadSeqEx
|
||||
mov r0, #0x7
|
||||
bl FUN_02003FF4
|
||||
add r1, r5, #0x0
|
||||
@@ -1232,10 +1232,10 @@ PlayBGM: ; 0x02005C28
|
||||
_02005C48:
|
||||
mov r0, #0x1c
|
||||
bl FUN_02003D38
|
||||
bl FUN_02003F3C
|
||||
bl GF_Snd_SaveState
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x3
|
||||
bl FUN_02003FA8
|
||||
bl GF_Snd_LoadSeqEx
|
||||
mov r0, #0x2
|
||||
bl FUN_02003FF4
|
||||
add r1, r5, #0x0
|
||||
@@ -1282,7 +1282,7 @@ FUN_02005CA0: ; 0x02005CA0
|
||||
bl NNS_SndPlayerStopSeq
|
||||
mov r0, #0x6
|
||||
bl FUN_02004748
|
||||
bl FUN_02003F64
|
||||
bl GF_Snd_RestoreState
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start FUN_02005CBC
|
||||
|
||||
@@ -30,7 +30,7 @@ FUN_02005D20: ; 0x02005D20
|
||||
bl FUN_02003D38
|
||||
add r4, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02029F04
|
||||
bl Chatot_exists
|
||||
cmp r0, #0x0
|
||||
bne _02005D3A
|
||||
mov r0, #0x0
|
||||
@@ -80,10 +80,10 @@ _02005D70:
|
||||
lsl r0, r0, #0x10
|
||||
lsr r4, r0, #0x10
|
||||
add r0, r6, #0x0
|
||||
bl FUN_02029F10
|
||||
bl Chatot_GetData
|
||||
add r1, r0, #0x0
|
||||
ldr r0, [sp, #0x0]
|
||||
bl FUN_02029F14
|
||||
bl Chatot_Decode
|
||||
mov r0, #0xe
|
||||
bl FUN_02004930
|
||||
str r0, [sp, #0x8]
|
||||
@@ -192,7 +192,7 @@ FUN_02005E6C: ; 0x02005E6C
|
||||
bl FUN_02004DB4
|
||||
add r1, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02029F4C
|
||||
bl Chatot_Encode
|
||||
pop {r4, pc}
|
||||
.balign 4
|
||||
|
||||
@@ -250,14 +250,14 @@ _02005EDC: .word 0x000001B9
|
||||
FUN_02005EE0: ; 0x02005EE0
|
||||
push {r4, lr}
|
||||
add r4, r0, #0x0
|
||||
bl FUN_02029F04
|
||||
bl Chatot_exists
|
||||
cmp r0, #0x0
|
||||
bne _02005EF0
|
||||
mov r0, #0x0
|
||||
pop {r4, pc}
|
||||
_02005EF0:
|
||||
add r0, r4, #0x0
|
||||
bl FUN_02029F10
|
||||
bl Chatot_GetData
|
||||
mov r1, #0xf
|
||||
ldrsb r0, [r0, r1]
|
||||
sub r1, #0x2d
|
||||
|
||||
@@ -1,149 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start FUN_02029EC4
|
||||
FUN_02029EC4: ; 0x02029EC4
|
||||
mov r0, #0xfb
|
||||
lsl r0, r0, #0x2
|
||||
bx lr
|
||||
.balign 4
|
||||
|
||||
thumb_func_start FUN_02029ECC
|
||||
FUN_02029ECC: ; 0x02029ECC
|
||||
push {r4, lr}
|
||||
add r4, r0, #0x0
|
||||
mov r2, #0xfb
|
||||
mov r0, #0x0
|
||||
add r1, r4, #0x0
|
||||
lsl r2, r2, #0x2
|
||||
bl MIi_CpuClear32
|
||||
mov r0, #0x0
|
||||
str r0, [r4, #0x0]
|
||||
pop {r4, pc}
|
||||
.balign 4
|
||||
|
||||
thumb_func_start FUN_02029EE4
|
||||
FUN_02029EE4: ; 0x02029EE4
|
||||
push {r4, lr}
|
||||
mov r1, #0xfb
|
||||
lsl r1, r1, #0x2
|
||||
bl AllocFromHeap
|
||||
add r4, r0, #0x0
|
||||
bl FUN_02029ECC
|
||||
add r0, r4, #0x0
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start FUN_02029EF8
|
||||
FUN_02029EF8: ; 0x02029EF8
|
||||
ldr r3, _02029F00 ; =SavArray_get
|
||||
mov r1, #0x16
|
||||
bx r3
|
||||
nop
|
||||
_02029F00: .word SavArray_get
|
||||
|
||||
thumb_func_start FUN_02029F04
|
||||
FUN_02029F04: ; 0x02029F04
|
||||
ldr r0, [r0, #0x0]
|
||||
bx lr
|
||||
|
||||
thumb_func_start FUN_02029F08
|
||||
FUN_02029F08: ; 0x02029F08
|
||||
mov r1, #0x0
|
||||
str r1, [r0, #0x0]
|
||||
bx lr
|
||||
.balign 4
|
||||
|
||||
thumb_func_start FUN_02029F10
|
||||
FUN_02029F10: ; 0x02029F10
|
||||
add r0, r0, #0x4
|
||||
bx lr
|
||||
|
||||
thumb_func_start FUN_02029F14
|
||||
FUN_02029F14: ; 0x02029F14
|
||||
push {r4-r7}
|
||||
mov r5, #0x0
|
||||
mov r2, #0xfa
|
||||
add r4, r5, #0x0
|
||||
mov r6, #0xf
|
||||
lsl r2, r2, #0x2
|
||||
_02029F20:
|
||||
ldrsb r7, [r1, r4]
|
||||
add r3, r0, r5
|
||||
and r7, r6
|
||||
lsl r7, r7, #0x18
|
||||
lsr r7, r7, #0x18
|
||||
sub r7, #0x8
|
||||
lsl r7, r7, #0x18
|
||||
asr r7, r7, #0x14
|
||||
strb r7, [r0, r5]
|
||||
ldrsb r7, [r1, r4]
|
||||
add r4, r4, #0x1
|
||||
add r5, r5, #0x2
|
||||
lsl r7, r7, #0x14
|
||||
lsr r7, r7, #0x18
|
||||
sub r7, #0x8
|
||||
lsl r7, r7, #0x18
|
||||
asr r7, r7, #0x14
|
||||
strb r7, [r3, #0x1]
|
||||
cmp r4, r2
|
||||
blt _02029F20
|
||||
pop {r4-r7}
|
||||
bx lr
|
||||
|
||||
thumb_func_start FUN_02029F4C
|
||||
FUN_02029F4C: ; 0x02029F4C
|
||||
push {r4-r7}
|
||||
add r3, r0, #0x0
|
||||
add r2, r1, #0x0
|
||||
mov r0, #0x1
|
||||
mov r1, #0x0
|
||||
str r0, [r3, #0x0]
|
||||
add r0, r1, #0x0
|
||||
_02029F5A:
|
||||
ldrsb r4, [r2, r0]
|
||||
add r6, r3, r1
|
||||
add r7, r2, r0
|
||||
asr r5, r4, #0x3
|
||||
lsr r5, r5, #0x1c
|
||||
add r5, r4, r5
|
||||
lsl r4, r5, #0x14
|
||||
asr r4, r4, #0x18
|
||||
add r4, #0x8
|
||||
strb r4, [r6, #0x4]
|
||||
mov r4, #0x4
|
||||
ldrsb r5, [r6, r4]
|
||||
mov r4, #0x1
|
||||
ldrsb r4, [r7, r4]
|
||||
add r0, r0, #0x2
|
||||
add r1, r1, #0x1
|
||||
asr r7, r4, #0x3
|
||||
lsr r7, r7, #0x1c
|
||||
add r7, r4, r7
|
||||
lsl r4, r7, #0x14
|
||||
asr r4, r4, #0x18
|
||||
add r4, #0x8
|
||||
lsl r4, r4, #0x18
|
||||
lsr r4, r4, #0x14
|
||||
orr r4, r5
|
||||
strb r4, [r6, #0x4]
|
||||
mov r4, #0x7d
|
||||
lsl r4, r4, #0x4
|
||||
cmp r0, r4
|
||||
blt _02029F5A
|
||||
pop {r4-r7}
|
||||
bx lr
|
||||
.balign 4
|
||||
|
||||
thumb_func_start FUN_02029F9C
|
||||
FUN_02029F9C: ; 0x02029F9C
|
||||
add r2, r0, #0x0
|
||||
add r0, r1, #0x0
|
||||
add r1, r2, #0x0
|
||||
mov r2, #0xfb
|
||||
ldr r3, _02029FAC ; =MIi_CpuCopyFast
|
||||
lsl r2, r2, #0x2
|
||||
bx r3
|
||||
nop
|
||||
_02029FAC: .word MIi_CpuCopyFast
|
||||
@@ -97,7 +97,7 @@ _0204775C:
|
||||
add r4, r7, #0x0
|
||||
_02047774:
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02029EE4
|
||||
bl Chatot_new
|
||||
mov r1, #0x46
|
||||
lsl r1, r1, #0x2
|
||||
str r0, [r4, r1]
|
||||
@@ -455,11 +455,11 @@ FUN_02047A64: ; 0x02047A64
|
||||
add r2, r0, r2
|
||||
mov r0, #0x46
|
||||
lsl r0, r0, #0x2
|
||||
ldr r3, _02047A74 ; =FUN_02029F9C
|
||||
ldr r3, _02047A74 ; =Chatot_copy
|
||||
ldr r0, [r2, r0]
|
||||
bx r3
|
||||
nop
|
||||
_02047A74: .word FUN_02029F9C
|
||||
_02047A74: .word Chatot_copy
|
||||
|
||||
thumb_func_start FUN_02047A78
|
||||
FUN_02047A78: ; 0x02047A78
|
||||
@@ -480,7 +480,7 @@ FUN_02047A78: ; 0x02047A78
|
||||
bl Sav2_Pokedex_get
|
||||
str r0, [sp, #0x4]
|
||||
ldr r0, [r4, #0xc]
|
||||
bl FUN_02029EF8
|
||||
bl Sav2_Chatot_get
|
||||
str r0, [sp, #0x8]
|
||||
ldr r0, [r4, #0xc]
|
||||
bl Sav2_PlayerData_GetOptionsAddr
|
||||
@@ -628,7 +628,7 @@ FUN_02047BC0: ; 0x02047BC0
|
||||
str r0, [sp, #0xc]
|
||||
ldr r0, [sp, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl FUN_02029EF8
|
||||
bl Sav2_Chatot_get
|
||||
str r0, [sp, #0x8]
|
||||
ldr r0, [sp, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
@@ -795,7 +795,7 @@ FUN_02047D48: ; 0x02047D48
|
||||
str r0, [sp, #0x18]
|
||||
ldr r0, [sp, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl FUN_02029EF8
|
||||
bl Sav2_Chatot_get
|
||||
str r0, [sp, #0x14]
|
||||
ldr r0, [sp, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
|
||||
@@ -572,7 +572,7 @@ _0206C350:
|
||||
add r0, r4, #0x0
|
||||
ldr r1, [r2, r1]
|
||||
add r0, #0x20
|
||||
bl FUN_02029F9C
|
||||
bl Chatot_copy
|
||||
mov r0, #0x1
|
||||
pop {r4, pc}
|
||||
.balign 4
|
||||
|
||||
@@ -916,7 +916,7 @@ _020812F2:
|
||||
add r5, r4, #0x0
|
||||
_02081304:
|
||||
mov r0, #0x14
|
||||
bl FUN_02029EE4
|
||||
bl Chatot_new
|
||||
mov r1, #0x57
|
||||
lsl r1, r1, #0x2
|
||||
str r0, [r5, r1]
|
||||
@@ -927,7 +927,7 @@ _02081304:
|
||||
add r0, r1, #0x0
|
||||
ldr r0, [r4, r0]
|
||||
ldr r1, [r6, #0x20]
|
||||
bl FUN_02029F9C
|
||||
bl Chatot_copy
|
||||
ldr r0, [r6, #0x8]
|
||||
ldr r1, [r4, #0x0]
|
||||
bl CopyPokemonToPokemon
|
||||
@@ -1900,7 +1900,7 @@ _02081A7C:
|
||||
strb r0, [r4, r2]
|
||||
pop {r3-r7, pc}
|
||||
_02081A8A:
|
||||
bl FUN_02029EC4
|
||||
bl Sav2_Chatot_sizeof
|
||||
add r2, r0, #0x0
|
||||
mov r0, #0x57
|
||||
lsl r0, r0, #0x2
|
||||
|
||||
@@ -830,7 +830,7 @@ FUN_02083AA8: ; 0x02083AA8
|
||||
push {r3-r5, lr}
|
||||
add r5, r2, #0x0
|
||||
add r4, r3, #0x0
|
||||
bl FUN_02029EC4
|
||||
bl Sav2_Chatot_sizeof
|
||||
add r2, r0, #0x0
|
||||
ldrb r1, [r5, r2]
|
||||
add r0, r5, #0x0
|
||||
@@ -854,7 +854,7 @@ FUN_02083AD4: ; 0x02083AD4
|
||||
add r4, r0, #0x0
|
||||
add r7, r1, #0x0
|
||||
add r6, r2, #0x0
|
||||
bl FUN_02029EC4
|
||||
bl Sav2_Chatot_sizeof
|
||||
add r5, r0, #0x0
|
||||
ldr r0, _02083B0C ; =0x00000585
|
||||
add r4, r4, r0
|
||||
|
||||
+17
-17
@@ -269,13 +269,13 @@
|
||||
.extern DoSoundUpdateFrame
|
||||
.extern FUN_02003CE8
|
||||
.extern FUN_02003D38
|
||||
.extern FUN_02003F3C
|
||||
.extern FUN_02003F64
|
||||
.extern FUN_02003F78
|
||||
.extern FUN_02003F90
|
||||
.extern FUN_02003FA8
|
||||
.extern FUN_02003FC4
|
||||
.extern FUN_02003FDC
|
||||
.extern GF_Snd_SaveState
|
||||
.extern GF_Snd_RestoreState
|
||||
.extern GF_Snd_LoadGroup
|
||||
.extern GF_Snd_LoadSeq
|
||||
.extern GF_Snd_LoadSeqEx
|
||||
.extern GF_Snd_LoadWaveArc
|
||||
.extern GF_Snd_LoadBank
|
||||
.extern FUN_02003FF4
|
||||
.extern FUN_02004018
|
||||
.extern FUN_020040F4
|
||||
@@ -1977,16 +1977,16 @@
|
||||
.extern AddIGTSeconds
|
||||
.extern GetIGTHours
|
||||
.extern GetIGTMinutes
|
||||
.extern FUN_02029EC4
|
||||
.extern FUN_02029ECC
|
||||
.extern FUN_02029EE4
|
||||
.extern FUN_02029EF8
|
||||
.extern FUN_02029F04
|
||||
.extern FUN_02029F08
|
||||
.extern FUN_02029F10
|
||||
.extern FUN_02029F14
|
||||
.extern FUN_02029F4C
|
||||
.extern FUN_02029F9C
|
||||
.extern Sav2_Chatot_sizeof
|
||||
.extern Sav2_Chatot_init
|
||||
.extern Chatot_new
|
||||
.extern Sav2_Chatot_get
|
||||
.extern Chatot_exists
|
||||
.extern Chatot_invalidate
|
||||
.extern Chatot_GetData
|
||||
.extern Chatot_Decode
|
||||
.extern Chatot_Encode
|
||||
.extern Chatot_copy
|
||||
.extern FUN_02029FB0
|
||||
.extern FUN_02029FB8
|
||||
.extern FUN_02029FC8
|
||||
|
||||
@@ -32,7 +32,7 @@ void NNS_SndArcInit(NNSSndArc *, const char *, void *, u32);
|
||||
void NNS_SndArcPlayerSetup(void *);
|
||||
void NNS_SndMain(void);
|
||||
void NNS_SndHandleInit(u32 *);
|
||||
void NNS_SndPlayerStopSeqByPlayerNo(int, int);
|
||||
void NNS_SndPlayerStopSeqByPlayerNo(int playerNo, int fadeFrame);
|
||||
void NNS_SndHandleReleaseSeq(void);
|
||||
|
||||
#endif //GUARD_NNS_SND_ARC_H
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
struct NNSSndHeap;
|
||||
typedef struct NNSSndHeap* NNSSndHeapHandle;
|
||||
|
||||
NNSSndHeapHandle * NNS_SndHeapCreate(void *, u32);
|
||||
int NNS_SndHeapSaveState(NNSSndHeapHandle *);
|
||||
void NNS_SndHeapLoadState(NNSSndHeapHandle *, int);
|
||||
NNSSndHeapHandle * NNS_SndHeapCreate(void * start, u32 size);
|
||||
int NNS_SndHeapSaveState(NNSSndHeapHandle * heap);
|
||||
void NNS_SndHeapLoadState(NNSSndHeapHandle * heap, int level);
|
||||
|
||||
#endif //GUARD_NNS_SND_HEAP_H
|
||||
|
||||
@@ -7747,8 +7747,8 @@ _021EC544:
|
||||
cmp r0, #0
|
||||
bne _021EC572
|
||||
add r0, r7, #0
|
||||
bl FUN_02029EF8
|
||||
bl FUN_02029F08
|
||||
bl Sav2_Chatot_get
|
||||
bl Chatot_invalidate
|
||||
_021EC572:
|
||||
add sp, #0x24
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
|
||||
@@ -122,8 +122,8 @@ StoragePC_Overlay_Teardown: ; 0x021D75B8
|
||||
mov r0, #0x47
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r4, r0]
|
||||
bl FUN_02029EF8
|
||||
bl FUN_02029F08
|
||||
bl Sav2_Chatot_get
|
||||
bl Chatot_invalidate
|
||||
_021D75DE:
|
||||
mov r0, #0x45
|
||||
lsl r0, r0, #2
|
||||
|
||||
@@ -1161,7 +1161,7 @@ _0222DF74:
|
||||
b _0222E0E8
|
||||
_0222DF80:
|
||||
ldr r0, [r4, #4]
|
||||
bl FUN_02029EF8
|
||||
bl Sav2_Chatot_get
|
||||
bl MOD71_0222F528
|
||||
ldr r0, [r4, #0x4c]
|
||||
add r0, r0, #1
|
||||
@@ -3446,7 +3446,7 @@ MOD71_0222F264: ; 0x0222F264
|
||||
cmp r0, r1
|
||||
bne _0222F2AE
|
||||
ldr r0, [r4, #4]
|
||||
bl FUN_02029EF8
|
||||
bl Sav2_Chatot_get
|
||||
mov r1, #0
|
||||
mov r2, #0x64
|
||||
add r3, r1, #0
|
||||
@@ -6379,8 +6379,8 @@ _02230A40:
|
||||
cmp r0, #0
|
||||
bne _02230A98
|
||||
ldr r0, [r5, #0x10]
|
||||
bl FUN_02029EF8
|
||||
bl FUN_02029F08
|
||||
bl Sav2_Chatot_get
|
||||
bl Chatot_invalidate
|
||||
_02230A98:
|
||||
ldr r0, [r5, #0x10]
|
||||
add r1, r4, #0
|
||||
|
||||
@@ -16126,8 +16126,8 @@ _02235590:
|
||||
bne _022355DC
|
||||
ldr r0, [r5]
|
||||
ldr r0, [r0, #0x20]
|
||||
bl FUN_02029EF8
|
||||
bl FUN_02029F08
|
||||
bl Sav2_Chatot_get
|
||||
bl Chatot_invalidate
|
||||
_022355DC:
|
||||
cmp r6, #0
|
||||
beq _022355EA
|
||||
|
||||
+1
-6
@@ -26,17 +26,12 @@ s32 UNK_02016FA4;
|
||||
PMBackLightSwitch gBacklightTop;
|
||||
struct UnkStruct_02016FA8 UNK_02016FA8;
|
||||
|
||||
extern void InitSystemForTheGame(void);
|
||||
extern void InitGraphicMemory(void);
|
||||
extern void FUN_02022294(void);
|
||||
extern void GF_InitRTCWork(void);
|
||||
extern void FUN_02002C14(void);
|
||||
extern void FUN_02002C50(int, int);
|
||||
extern struct SaveBlock2 * SaveBlock2_new(void);
|
||||
extern void * FUN_02029EF8(struct SaveBlock2 *);
|
||||
extern int FUN_020337E8(int);
|
||||
extern void FUN_02034188(int, int);
|
||||
extern int FUN_020227FC(struct SaveBlock2 *);
|
||||
extern void FUN_02089D90(int);
|
||||
extern void FUN_0200A2AC(void);
|
||||
extern void FUN_02015E30(void);
|
||||
@@ -73,7 +68,7 @@ THUMB_FUNC void NitroMain(void)
|
||||
FUN_02002C50(3, 3);
|
||||
UNK_02016FA8.unk10 = -1;
|
||||
UNK_02016FA8.unk18 = SaveBlock2_new();
|
||||
InitSoundData(FUN_02029EF8(UNK_02016FA8.unk18), Sav2_PlayerData_GetOptionsAddr(UNK_02016FA8.unk18));
|
||||
InitSoundData(Sav2_Chatot_get(UNK_02016FA8.unk18), Sav2_PlayerData_GetOptionsAddr(UNK_02016FA8.unk18));
|
||||
Init_Timer3();
|
||||
if (FUN_020337E8(3) == 3)
|
||||
FUN_02034188(3, 0);
|
||||
|
||||
@@ -0,0 +1,98 @@
|
||||
#include "global.h"
|
||||
#include "MI_memory.h"
|
||||
#include "heap.h"
|
||||
#include "sav_chatot.h"
|
||||
|
||||
THUMB_FUNC u32 Sav2_Chatot_sizeof(void)
|
||||
{
|
||||
return sizeof(struct SaveChatotSoundClip);
|
||||
}
|
||||
|
||||
THUMB_FUNC void Sav2_Chatot_init(struct SaveChatotSoundClip * chatot)
|
||||
{
|
||||
MIi_CpuClear32(0, chatot, sizeof(struct SaveChatotSoundClip));
|
||||
chatot->exists = FALSE;
|
||||
}
|
||||
|
||||
THUMB_FUNC struct SaveChatotSoundClip * Chatot_new(u32 heap_id)
|
||||
{
|
||||
struct SaveChatotSoundClip * ret = (struct SaveChatotSoundClip *)AllocFromHeap(heap_id, sizeof(struct SaveChatotSoundClip));
|
||||
Sav2_Chatot_init(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
THUMB_FUNC struct SaveChatotSoundClip * Sav2_Chatot_get(struct SaveBlock2 * sav2)
|
||||
{
|
||||
return (struct SaveChatotSoundClip *) SavArray_get(sav2, 22);
|
||||
}
|
||||
|
||||
THUMB_FUNC BOOL Chatot_exists(struct SaveChatotSoundClip * chatot)
|
||||
{
|
||||
return chatot->exists;
|
||||
}
|
||||
|
||||
THUMB_FUNC void Chatot_invalidate(struct SaveChatotSoundClip * chatot)
|
||||
{
|
||||
chatot->exists = FALSE;
|
||||
}
|
||||
|
||||
THUMB_FUNC s8 * Chatot_GetData(struct SaveChatotSoundClip * chatot)
|
||||
{
|
||||
return chatot->data;
|
||||
}
|
||||
|
||||
static inline s8 transform(u8 value)
|
||||
{
|
||||
return (s8)(value - 8);
|
||||
}
|
||||
|
||||
THUMB_FUNC void Chatot_Decode(s8 * dest, const s8 * data)
|
||||
{
|
||||
s32 i;
|
||||
s32 dest_i;
|
||||
u8 val;
|
||||
s8 val2;
|
||||
|
||||
for (dest_i = 0, i = 0; i < 1000; i++, dest_i += 2)
|
||||
{
|
||||
val = (u8)(data[i] & 0xF);
|
||||
val2 = transform(val);
|
||||
dest[dest_i + 0] = (s8)(val2 << 4);
|
||||
val = (u8)(data[i] >> 4);
|
||||
val2 = transform(val);
|
||||
dest[dest_i + 1] = (s8)(val2 << 4);
|
||||
}
|
||||
}
|
||||
|
||||
static inline u8 untransform(s8 val)
|
||||
{
|
||||
val /= 16;
|
||||
return (u8)(val + 8);
|
||||
}
|
||||
|
||||
THUMB_FUNC void Chatot_Encode(struct SaveChatotSoundClip * chatot, const s8 * data)
|
||||
{
|
||||
s32 src_i;
|
||||
s32 i = 0;
|
||||
u8 val2;
|
||||
s8 val;
|
||||
chatot->exists = TRUE;
|
||||
|
||||
for (src_i = 0; src_i < 2000; src_i += 2)
|
||||
{
|
||||
val = data[src_i + 0];
|
||||
val2 = untransform(val);
|
||||
chatot->data[i] = (s8)val2;
|
||||
|
||||
val = data[src_i + 1];
|
||||
val2 = untransform(val);
|
||||
chatot->data[i] |= val2 << 4;
|
||||
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
THUMB_FUNC void Chatot_copy(struct SaveChatotSoundClip * dest, const struct SaveChatotSoundClip * src)
|
||||
{
|
||||
MIi_CpuCopyFast(src, dest, sizeof(struct SaveChatotSoundClip));
|
||||
}
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "seal.h"
|
||||
#include "unk_020139D8.h"
|
||||
#include "unk_02024E64.h"
|
||||
#include "sav_chatot.h"
|
||||
|
||||
extern u32 FUN_0202AC20(void);
|
||||
extern u32 FUN_02034D7C(void);
|
||||
@@ -26,7 +27,7 @@ extern u32 FUN_02028054(void);
|
||||
extern u32 FUN_02028980(void);
|
||||
extern u32 FUN_02029A84(void);
|
||||
extern u32 FUN_02029FB0(void);
|
||||
extern u32 FUN_02029EC4(void);
|
||||
extern u32 Sav2_Chatot_sizeof(void);
|
||||
extern u32 FUN_0202A89C(void);
|
||||
extern u32 FUN_0202A8F4(void);
|
||||
extern u32 FUN_0202A924(void);
|
||||
@@ -47,7 +48,6 @@ extern void FUN_0202805C(void *);
|
||||
extern void FUN_02028994(void *);
|
||||
extern void FUN_02029A8C(void *);
|
||||
extern void FUN_02029FB8(void *);
|
||||
extern void FUN_02029ECC(void *);
|
||||
extern void FUN_0202A8A4(void *);
|
||||
extern void FUN_0202A8F8(void *);
|
||||
extern void FUN_0202A92C(void *);
|
||||
@@ -87,7 +87,7 @@ const struct SaveChunkHeader UNK_020EE700[] = {
|
||||
{ 19, 0, (SAVSIZEFN)FUN_02029A84, (SAVINITFN)FUN_02029A8C },
|
||||
{ 20, 0, (SAVSIZEFN)FUN_02029FB0, (SAVINITFN)FUN_02029FB8 },
|
||||
{ 21, 0, (SAVSIZEFN)Sav2_SealCase_sizeof, (SAVINITFN)Sav2_SealCase_init },
|
||||
{ 22, 0, (SAVSIZEFN)FUN_02029EC4, (SAVINITFN)FUN_02029ECC },
|
||||
{ 22, 0, (SAVSIZEFN)Sav2_Chatot_sizeof, (SAVINITFN)Sav2_Chatot_init },
|
||||
{ 23, 0, (SAVSIZEFN)FUN_0202A89C, (SAVINITFN)FUN_0202A8A4 },
|
||||
{ 24, 0, (SAVSIZEFN)FUN_0202A8F4, (SAVINITFN)FUN_0202A8F8 },
|
||||
{ 25, 0, (SAVSIZEFN)FUN_0202A924, (SAVINITFN)FUN_0202A92C },
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "scrcmd.h"
|
||||
|
||||
extern void* FUN_02029EF8(struct SaveBlock2* sav2);
|
||||
extern void* Sav2_Chatot_get(struct SaveBlock2* sav2);
|
||||
extern u32 FUN_02005D20(void *);
|
||||
extern void FUN_02005E6C(void *);
|
||||
extern void FUN_0200433C(u32, u32, u32);
|
||||
@@ -203,7 +203,7 @@ THUMB_FUNC BOOL ScrCmd_Unk0059(struct ScriptContext* ctx)
|
||||
{
|
||||
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
|
||||
void* unk = FUN_02029EF8(ctx->unk80->saveBlock2);
|
||||
void* unk = Sav2_Chatot_get(ctx->unk80->saveBlock2);
|
||||
if (FUN_02005D20(unk) == 1)
|
||||
{
|
||||
*ret_ptr = 1;
|
||||
@@ -241,7 +241,7 @@ THUMB_FUNC BOOL ScrCmd_Unk005B(struct ScriptContext* ctx)
|
||||
|
||||
THUMB_FUNC BOOL ScrCmd_Unk005C(struct ScriptContext* ctx)
|
||||
{
|
||||
void* unk = FUN_02029EF8(ctx->unk80->saveBlock2);
|
||||
void* unk = Sav2_Chatot_get(ctx->unk80->saveBlock2);
|
||||
FUN_02005E6C(unk);
|
||||
|
||||
return TRUE;
|
||||
|
||||
+37
-37
@@ -11,8 +11,8 @@ static u32 UNK_02107074;
|
||||
|
||||
void FUN_02003C40(void);
|
||||
BOOL FUN_02003D04(void);
|
||||
void FUN_020040C8(void);
|
||||
void FUN_02004064(struct SoundData *);
|
||||
void GF_InitMic(void);
|
||||
void GF_SoundDataInit(struct SoundData *);
|
||||
void FUN_02004088(struct SoundData *);
|
||||
void FUN_020040A4(struct SoundData *);
|
||||
void FUN_02003CE8(int);
|
||||
@@ -26,20 +26,20 @@ extern void FUN_0200538C(int, int, int);
|
||||
extern BOOL FUN_02005404(void);
|
||||
extern void FUN_02005CFC(void);
|
||||
|
||||
void InitSoundData(void * a0, struct Options * a1)
|
||||
void InitSoundData(struct SaveChatotSoundClip * chatot, struct Options * options)
|
||||
{
|
||||
struct SoundData * sdat = GetSoundDataPointer();
|
||||
NNS_SndInit();
|
||||
FUN_020040C8();
|
||||
FUN_02004064(sdat);
|
||||
sdat->heap = NNS_SndHeapCreate(sdat->unk_00094, sizeof(sdat->unk_00094));
|
||||
GF_InitMic();
|
||||
GF_SoundDataInit(sdat);
|
||||
sdat->heap = NNS_SndHeapCreate(sdat->heapBuffer, sizeof(sdat->heapBuffer));
|
||||
NNS_SndArcInit(&sdat->header, "data/sound/sound_data.sdat", sdat->heap, 0);
|
||||
NNS_SndArcPlayerSetup(sdat->heap);
|
||||
FUN_02004088(sdat);
|
||||
FUN_020040A4(sdat);
|
||||
UNK_02107074 = 0;
|
||||
sdat->unk_BCD4C = a0;
|
||||
FUN_02004D60(a1->soundMethod);
|
||||
sdat->chatot = chatot;
|
||||
FUN_02004D60(options->soundMethod);
|
||||
}
|
||||
|
||||
void DoSoundUpdateFrame(void)
|
||||
@@ -185,7 +185,7 @@ void * FUN_02003D38(u32 a0)
|
||||
case 34:
|
||||
return &sdat->unk_BCD48;
|
||||
case 35:
|
||||
return &sdat->unk_BCD4C;
|
||||
return &sdat->chatot;
|
||||
case 36:
|
||||
return &sdat->unk_BCD50;
|
||||
case 37:
|
||||
@@ -200,61 +200,61 @@ void * FUN_02003D38(u32 a0)
|
||||
}
|
||||
}
|
||||
|
||||
int FUN_02003F3C(int * a0)
|
||||
int GF_Snd_SaveState(int * level_p)
|
||||
{
|
||||
struct SoundData * sdat = GetSoundDataPointer();
|
||||
int r4 = NNS_SndHeapSaveState(sdat->heap);
|
||||
GF_ASSERT(r4 != -1);
|
||||
if (a0 != NULL)
|
||||
*a0 = r4;
|
||||
return r4;
|
||||
int level = NNS_SndHeapSaveState(sdat->heap);
|
||||
GF_ASSERT(level != -1);
|
||||
if (level_p != NULL)
|
||||
*level_p = level;
|
||||
return level;
|
||||
}
|
||||
|
||||
void FUN_02003F64(int a0)
|
||||
void GF_Snd_RestoreState(int level)
|
||||
{
|
||||
struct SoundData * sdat = GetSoundDataPointer();
|
||||
NNS_SndHeapLoadState(sdat->heap, a0);
|
||||
NNS_SndHeapLoadState(sdat->heap, level);
|
||||
}
|
||||
|
||||
BOOL FUN_02003F78(int a0)
|
||||
BOOL GF_Snd_LoadGroup(int groupNo)
|
||||
{
|
||||
struct SoundData * sdat = GetSoundDataPointer();
|
||||
return NNS_SndArcLoadGroup(a0, sdat->heap);
|
||||
return NNS_SndArcLoadGroup(groupNo, sdat->heap);
|
||||
}
|
||||
|
||||
BOOL FUN_02003F90(int a0)
|
||||
BOOL GF_Snd_LoadSeq(int seqNo)
|
||||
{
|
||||
struct SoundData * sdat = GetSoundDataPointer();
|
||||
return NNS_SndArcLoadSeq(a0, sdat->heap);
|
||||
return NNS_SndArcLoadSeq(seqNo, sdat->heap);
|
||||
}
|
||||
|
||||
BOOL FUN_02003FA8(int a0, u32 a1)
|
||||
BOOL GF_Snd_LoadSeqEx(int seqNo, u32 loadFlag)
|
||||
{
|
||||
struct SoundData * sdat = GetSoundDataPointer();
|
||||
return NNS_SndArcLoadSeqEx(a0, a1, sdat->heap);
|
||||
return NNS_SndArcLoadSeqEx(seqNo, loadFlag, sdat->heap);
|
||||
}
|
||||
|
||||
BOOL FUN_02003FC4(int a0)
|
||||
BOOL GF_Snd_LoadWaveArc(int waveArcNo)
|
||||
{
|
||||
struct SoundData * sdat = GetSoundDataPointer();
|
||||
return NNS_SndArcLoadWaveArc(a0, sdat->heap);
|
||||
return NNS_SndArcLoadWaveArc(waveArcNo, sdat->heap);
|
||||
}
|
||||
|
||||
BOOL FUN_02003FDC(int a0)
|
||||
BOOL GF_Snd_LoadBank(int bankNo)
|
||||
{
|
||||
struct SoundData * sdat = GetSoundDataPointer();
|
||||
return NNS_SndArcLoadBank(a0, sdat->heap);
|
||||
return NNS_SndArcLoadBank(bankNo, sdat->heap);
|
||||
}
|
||||
|
||||
u32 * FUN_02003FF4(int a0)
|
||||
u32 * FUN_02003FF4(int playerNo)
|
||||
{
|
||||
struct SoundData * sdat = GetSoundDataPointer();
|
||||
if (a0 >= 9)
|
||||
if (playerNo >= (s32)NELEMS(sdat->players))
|
||||
{
|
||||
GF_ASSERT(0);
|
||||
a0 = 0;
|
||||
playerNo = 0;
|
||||
}
|
||||
return &sdat->unk_BBC94[a0];
|
||||
return &sdat->players[playerNo];
|
||||
}
|
||||
|
||||
u32 FUN_02004018(u32 a0)
|
||||
@@ -283,7 +283,7 @@ u32 FUN_02004018(u32 a0)
|
||||
}
|
||||
}
|
||||
|
||||
void FUN_02004064(struct SoundData * sdat)
|
||||
void GF_SoundDataInit(struct SoundData * sdat)
|
||||
{
|
||||
int i;
|
||||
memset(sdat, 0, sizeof(*sdat));
|
||||
@@ -296,18 +296,18 @@ void FUN_02004088(struct SoundData * sdat)
|
||||
int i;
|
||||
for (i = 0; i < 9; i++)
|
||||
{
|
||||
NNS_SndHandleInit(&sdat->unk_BBC94[i]);
|
||||
NNS_SndHandleInit(&sdat->players[i]);
|
||||
}
|
||||
}
|
||||
|
||||
void FUN_020040A4(struct SoundData * sdat)
|
||||
{
|
||||
FUN_02003F3C(&sdat->unk_BCD1C[0]);
|
||||
FUN_02003F78(0);
|
||||
FUN_02003F3C(&sdat->unk_BCD1C[1]);
|
||||
GF_Snd_SaveState(&sdat->unk_BCD1C[0]);
|
||||
GF_Snd_LoadGroup(0);
|
||||
GF_Snd_SaveState(&sdat->unk_BCD1C[1]);
|
||||
}
|
||||
|
||||
void FUN_020040C8(void)
|
||||
void GF_InitMic(void)
|
||||
{
|
||||
MIC_Init();
|
||||
PM_SetAmp(1);
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
#ifndef POKEDIAMOND_SAV_CHATOT_H
|
||||
#define POKEDIAMOND_SAV_CHATOT_H
|
||||
|
||||
#include "save_block_2.h"
|
||||
|
||||
struct SaveChatotSoundClip
|
||||
{
|
||||
// TODO: Fill this in
|
||||
BOOL exists;
|
||||
s8 data[1000];
|
||||
};
|
||||
|
||||
u32 Sav2_Chatot_sizeof(void);
|
||||
void Sav2_Chatot_init(struct SaveChatotSoundClip * chatot);
|
||||
struct SaveChatotSoundClip * Chatot_new(u32 heap_id);
|
||||
struct SaveChatotSoundClip * Sav2_Chatot_get(struct SaveBlock2 * sav2);
|
||||
BOOL Chatot_exists(struct SaveChatotSoundClip * chatot);
|
||||
void Chatot_invalidate(struct SaveChatotSoundClip * chatot);
|
||||
s8 * Chatot_GetData(struct SaveChatotSoundClip * chatot);
|
||||
void Chatot_Decode(s8 * dest, const s8 * data);
|
||||
void Chatot_Encode(struct SaveChatotSoundClip * chatot, const s8 * data);
|
||||
void Chatot_copy(struct SaveChatotSoundClip * dest, const struct SaveChatotSoundClip * src);
|
||||
|
||||
#endif //POKEDIAMOND_SAV_CHATOT_H
|
||||
+13
-12
@@ -6,13 +6,14 @@
|
||||
#include "NNS_SND_heap.h"
|
||||
#include "NNS_SND_arc_loader.h"
|
||||
#include "player_data.h"
|
||||
#include "sav_chatot.h"
|
||||
|
||||
struct SoundData
|
||||
{
|
||||
NNSSndArc header;
|
||||
NNSSndHeapHandle * heap; // 0x00090
|
||||
u8 unk_00094[0xBBC00];
|
||||
u32 unk_BBC94[9];
|
||||
u8 heapBuffer[0xBBC00];
|
||||
u32 players[9];
|
||||
u32 unk_BBCB8;
|
||||
u32 unk_BBCBC;
|
||||
u8 unk_BBCC0[0x20];
|
||||
@@ -44,7 +45,7 @@ struct SoundData
|
||||
u32 unk_BCD3C;
|
||||
u64 unk_BCD40;
|
||||
u32 unk_BCD48;
|
||||
void * unk_BCD4C;
|
||||
struct SaveChatotSoundClip * chatot;
|
||||
u32 unk_BCD50;
|
||||
u32 unk_BCD54;
|
||||
u32 unk_BCD58;
|
||||
@@ -52,16 +53,16 @@ struct SoundData
|
||||
};
|
||||
|
||||
struct SoundData * GetSoundDataPointer(void);
|
||||
void InitSoundData(void * a0, struct Options * a1);
|
||||
void InitSoundData(struct SaveChatotSoundClip * chatot, struct Options * options);
|
||||
void * FUN_02003D38(u32 a0);
|
||||
int FUN_02003F3C(int * a0);
|
||||
void FUN_02003F64(int a0);
|
||||
BOOL FUN_02003F78(int a0);
|
||||
BOOL FUN_02003F90(int a0);
|
||||
BOOL FUN_02003FA8(int a0, u32 a1);
|
||||
BOOL FUN_02003FC4(int a0);
|
||||
BOOL FUN_02003FDC(int a0);
|
||||
u32 * FUN_02003FF4(int a0);
|
||||
int GF_Snd_SaveState(int * level_p);
|
||||
void GF_Snd_RestoreState(int level);
|
||||
BOOL GF_Snd_LoadGroup(int groupNo);
|
||||
BOOL GF_Snd_LoadSeq(int seqNo);
|
||||
BOOL GF_Snd_LoadSeqEx(int seqNo, u32 loadFlag);
|
||||
BOOL GF_Snd_LoadWaveArc(int waveArcNo);
|
||||
BOOL GF_Snd_LoadBank(int bankNo);
|
||||
u32 * FUN_02003FF4(int playerNo);
|
||||
u32 FUN_02004018(u32 a0);
|
||||
void DoSoundUpdateFrame(void);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user