diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2020-08-12 15:19:31 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2020-08-12 15:19:31 -0400 |
commit | dda861d78ad47a85a54c4c6a2dd3f7e301e65fa5 (patch) | |
tree | 6b521d42b21dd9f932806ca5ef6c7a83c50a0b24 | |
parent | ca2af0a5d0cf80c38995dde9e4d05246c11128e7 (diff) |
Decompile unk_02046294.s --> event_data.c
57 files changed, 387 insertions, 450 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf index 27d530ed..5d663de4 100644 --- a/arm9/arm9.lsf +++ b/arm9/arm9.lsf @@ -175,7 +175,7 @@ Static arm9 Object scrcmd_24.o Object scrcmd_25.o Object unk_02046030.o - Object unk_02046294.o + Object event_data.o Object unk_0204639C.o Object unk_0204653C.o Object unk_02047500.o diff --git a/arm9/asm/save.s b/arm9/asm/save.s index 7f02ab02..a8ee71f8 100644 --- a/arm9/asm/save.s +++ b/arm9/asm/save.s @@ -20,9 +20,9 @@ UNK_020EE6E0: ; 0x020EE6E0 UNK_020EE700: ; 0x020EE700 .word 0x00, 0x00, FUN_0202376C, FUN_02023770 .word 0x01, 0x00, FUN_020238C4, FUN_020238C8 - .word 0x02, 0x00, FUN_0206B8A4, FUN_0206B8C0 + .word 0x02, 0x00, SavArray_Party_sizeof, SavArray_Party_init .word 0x03, 0x00, FUN_0206EB80, FUN_0206EBA0 - .word 0x04, 0x00, SavArray_Flags_sizeof, SavArray_Flags_memclear + .word 0x04, 0x00, SavArray_Flags_sizeof, SavArray_Flags_init .word 0x05, 0x00, FUN_0204BE14, FUN_0204BE18 .word 0x06, 0x00, FUN_02034D7C, FUN_02034D98 .word 0x07, 0x00, FUN_02023D64, FUN_02024378 diff --git a/arm9/asm/scrcmd.s b/arm9/asm/scrcmd.s index 751c0e4d..924df1ce 100644 --- a/arm9/asm/scrcmd.s +++ b/arm9/asm/scrcmd.s @@ -3953,7 +3953,7 @@ FUN_0203B8A0: ; 0x0203B8A0 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r6, #0x0 bl GetPartyMonByIndex bl FUN_020690CC @@ -4602,7 +4602,7 @@ FUN_0203BDB8: ; 0x0203BDB8 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r4, #0x0 bl GetPartyMonByIndex add r4, r0, #0x0 @@ -5526,7 +5526,7 @@ FUN_0203C520: ; 0x0203C520 bl VarGet add r6, r0, #0x0 ldr r0, [r4, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r6, #0x0 bl GetPartyMonByIndex mov r1, #0x74 @@ -6063,7 +6063,7 @@ FUN_0203C990: ; 0x0203C990 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r6, #0x0 bl GetPartyMonByIndex add r6, r0, #0x0 @@ -7939,7 +7939,7 @@ FUN_0203D8D0: ; 0x0203D8D0 ldr r0, [r0, #0x74] bl FUN_02046528 ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl FUN_02085140 mov r0, #0x0 pop {r3, pc} @@ -10081,7 +10081,7 @@ FUN_0203E9CC: ; 0x0203E9CC add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r4, #0x0 bl GetPartyMonByIndex add r5, r0, #0x0 @@ -10193,7 +10193,7 @@ FUN_0203EAB0: ; 0x0203EAB0 add r7, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r7, #0x0 bl GetPartyMonByIndex mov r1, #0x5 @@ -10679,7 +10679,7 @@ FUN_0203EE98: ; 0x0203EE98 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r6, #0x0 bl PartyHasMon strh r0, [r4, #0x0] @@ -10703,7 +10703,7 @@ FUN_0203EED8: ; 0x0203EED8 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [sp, #0x0] bl GetPartyCount add r4, #0x80 @@ -10761,7 +10761,7 @@ FUN_0203EF58: ; 0x0203EF58 str r0, [sp, #0x0] ldr r0, [r4, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [sp, #0xc] bl GetPartyCount add r2, sp, #0x18 diff --git a/arm9/asm/scrcmd_12.s b/arm9/asm/scrcmd_12.s index beedb7f2..5b300555 100644 --- a/arm9/asm/scrcmd_12.s +++ b/arm9/asm/scrcmd_12.s @@ -283,7 +283,7 @@ _02042F0C: .word UNK_020F43E4 FUN_02042F10: ; 0x02042F10 push {r3, lr} ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl GetPartyCount cmp r0, #0x6 bge _02042F24 @@ -656,9 +656,9 @@ _0204322C: bl CalcMonLevelAndStats ldr r0, [sp, #0x4] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r4, #0x0 - bl FUN_0206B900 + bl AddMonToParty cmp r0, #0x0 beq _02043266 ldr r0, [sp, #0x4] diff --git a/arm9/asm/scrcmd_16.s b/arm9/asm/scrcmd_16.s index 60549188..9a1daf47 100644 --- a/arm9/asm/scrcmd_16.s +++ b/arm9/asm/scrcmd_16.s @@ -66,7 +66,7 @@ FUN_02043E68: ; 0x02043E68 bl SavArray_get add r6, r0, #0x0 ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] @@ -110,7 +110,7 @@ FUN_02043E9C: ; 0x02043E9C bl SavArray_get add r6, r0, #0x0 ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get lsl r3, r4, #0x18 ldr r1, [r7, #0x0] add r2, r6, #0x0 @@ -224,7 +224,7 @@ FUN_02043FA0: ; 0x02043FA0 bl GetVarPointer add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get ldr r2, [r6, #0x0] add r1, r7, #0x0 bl MOD05_021ED5C4 @@ -248,7 +248,7 @@ FUN_02043FF4: ; 0x02043FF4 bl VarGet add r6, r0, #0x0 ldr r0, [r4, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x8 diff --git a/arm9/asm/scrcmd_18.s b/arm9/asm/scrcmd_18.s index e85d33b2..f14155fc 100644 --- a/arm9/asm/scrcmd_18.s +++ b/arm9/asm/scrcmd_18.s @@ -49,7 +49,7 @@ FUN_020442BC: ; 0x020442BC bl GetVarPointer add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get ldr r0, [sp, #0x10] lsl r3, r7, #0x18 str r0, [sp, #0x0] @@ -89,7 +89,7 @@ FUN_0204434C: ; 0x0204434C bl GetVarPointer add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get ldrh r1, [r6, #0x0] bl GetPartyMonByIndex mov r1, #0x4c @@ -136,7 +136,7 @@ FUN_020443A8: ; 0x020443A8 bl GetVarPointer add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get ldrh r1, [r6, #0x0] bl GetPartyMonByIndex mov r1, #0x7 @@ -185,7 +185,7 @@ FUN_02044414: ; 0x02044414 bl VarGet add r5, r0, #0x0 ldr r0, [r4, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r6, r0, #0x0 bl GetPartyCount lsl r0, r0, #0x18 @@ -209,7 +209,7 @@ FUN_02044414: ; 0x02044414 bl MOD05_021ECF14 add r0, r6, #0x0 add r1, r4, #0x0 - bl FUN_0206B900 + bl AddMonToParty add r0, r4, #0x0 bl FreeToHeap _02044494: @@ -248,7 +248,7 @@ FUN_0204449C: ; 0x0204449C add r7, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r4, #0x0 add r2, r6, #0x0 add r3, r7, #0x0 @@ -287,7 +287,7 @@ FUN_020444F4: ; 0x020444F4 bl VarGet add r4, r0, #0x0 ldr r0, [r7, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r4, #0x0 bl GetPartyMonByIndex mov r2, #0x0 @@ -357,7 +357,7 @@ FUN_02044598: ; 0x02044598 add r5, r0, #0x0 ldr r0, [sp, #0x4] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl GetPartyCount lsl r0, r0, #0x18 lsr r7, r0, #0x18 @@ -369,7 +369,7 @@ FUN_02044598: ; 0x02044598 _020445E4: ldr r0, [sp, #0x4] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r6, #0x0 bl GetPartyMonByIndex mov r1, #0x4c @@ -442,7 +442,7 @@ FUN_02044658: ; 0x02044658 add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r6, #0x0 bl GetPartyMonByIndex bl FUN_0204A32C @@ -473,7 +473,7 @@ FUN_0204469C: ; 0x0204469C bl VarGet str r0, [sp, #0x0] ldr r0, [r7, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl GetPartyCount lsl r0, r0, #0x18 lsr r0, r0, #0x18 @@ -487,7 +487,7 @@ FUN_0204469C: ; 0x0204469C bls _02044726 _020446EA: ldr r0, [r7, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r4, #0x0 bl GetPartyMonByIndex mov r1, #0x4c @@ -542,7 +542,7 @@ FUN_02044730: ; 0x02044730 bl VarGet add r5, r0, #0x0 ldr r0, [r6, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r5, #0x0 bl GetPartyMonByIndex mov r2, #0x0 @@ -584,7 +584,7 @@ FUN_0204478C: ; 0x0204478C bl VarGet add r6, r0, #0x0 ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl GetPartyCount lsl r0, r0, #0x18 lsr r0, r0, #0x18 @@ -595,7 +595,7 @@ FUN_0204478C: ; 0x0204478C pop {r4-r6, pc} _020447D2: ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r6, #0x0 bl GetPartyMonByIndex mov r1, #0x4c @@ -638,7 +638,7 @@ FUN_02044800: ; 0x02044800 bl VarGet str r0, [sp, #0x0] ldr r0, [r7, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl GetPartyCount lsl r0, r0, #0x18 lsr r6, r0, #0x18 @@ -649,7 +649,7 @@ FUN_02044800: ; 0x02044800 beq _0204487E _02044848: ldr r0, [r7, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r5, #0x0 bl GetPartyMonByIndex mov r1, #0x4c @@ -702,7 +702,7 @@ FUN_0204488C: ; 0x0204488C bl VarGet add r5, r0, #0x0 ldr r0, [r4, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r5, #0x0 bl GetPartyMonByIndex mov r1, #0x9 @@ -742,7 +742,7 @@ FUN_020448D4: ; 0x020448D4 bl FUN_02034824 add r7, r0, #0x0 ldr r0, [r6, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get ldr r1, [sp, #0x0] bl GetPartyMonByIndex mov r1, #0x9 @@ -832,7 +832,7 @@ FUN_020449A4: ; 0x020449A4 bl VarGet add r5, r0, #0x0 ldr r0, [r6, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r5, #0x0 bl GetPartyMonByIndex mov r1, #0x9 @@ -888,7 +888,7 @@ FUN_02044A0C: ; 0x02044A0C add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r7, #0x0 bl GetPartyMonByIndex add r4, #0x13 @@ -950,7 +950,7 @@ FUN_02044A94: ; 0x02044A94 bl VarGet add r5, r0, #0x0 ldr r0, [r4, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r5, #0x0 bl GetPartyMonByIndex add r4, r0, #0x0 @@ -981,7 +981,7 @@ FUN_02044B00: ; 0x02044B00 bl GetVarPointer add r5, r0, #0x0 ldr r0, [r4, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl GetPartyCount strh r0, [r5, #0x0] mov r0, #0x0 @@ -1002,7 +1002,7 @@ FUN_02044B2C: ; 0x02044B2C bl GetVarPointer str r0, [sp, #0x0] ldr r0, [r6, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl GetPartyCount mov r5, #0x0 add r7, r0, #0x0 @@ -1011,7 +1011,7 @@ FUN_02044B2C: ; 0x02044B2C ble _02044B7A _02044B5A: ldr r0, [r6, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r5, #0x0 bl GetPartyMonByIndex mov r1, #0x4c @@ -1054,7 +1054,7 @@ FUN_02044B84: ; 0x02044B84 bl VarGet str r0, [sp, #0x0] ldr r0, [r7, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl GetPartyCount mov r5, #0x0 add r4, r5, #0x0 @@ -1066,7 +1066,7 @@ _02044BC8: cmp r5, r0 beq _02044BF8 ldr r0, [r7, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r5, #0x0 bl GetPartyMonByIndex mov r1, #0x4c @@ -1113,7 +1113,7 @@ FUN_02044C0C: ; 0x02044C0C bl FUN_02022510 str r0, [sp, #0x4] ldr r0, [r7, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl GetPartyCount mov r5, #0x0 add r4, r5, #0x0 @@ -1122,7 +1122,7 @@ FUN_02044C0C: ; 0x02044C0C ble _02044C76 _02044C44: ldr r0, [r7, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r5, #0x0 bl GetPartyMonByIndex mov r1, #0x4c @@ -1167,7 +1167,7 @@ FUN_02044C88: ; 0x02044C88 bl GetVarPointer str r0, [sp, #0x0] ldr r0, [r6, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl GetPartyCount mov r5, #0x0 add r7, r0, #0x0 @@ -1176,7 +1176,7 @@ FUN_02044C88: ; 0x02044C88 ble _02044CD6 _02044CB6: ldr r0, [r6, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r5, #0x0 bl GetPartyMonByIndex mov r1, #0x4c @@ -1210,7 +1210,7 @@ FUN_02044CE0: ; 0x02044CE0 bl GetVarPointer str r0, [sp, #0x0] ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl GetPartyCount lsl r0, r0, #0x10 lsr r6, r0, #0x10 @@ -1221,7 +1221,7 @@ FUN_02044CE0: ; 0x02044CE0 mov r7, #0x99 _02044D12: ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r4, #0x0 bl GetPartyMonByIndex add r1, r7, #0x0 @@ -1267,7 +1267,7 @@ FUN_02044D44: ; 0x02044D44 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r6, #0x0 bl GetPartyMonByIndex mov r1, #0x6f @@ -1299,7 +1299,7 @@ FUN_02044D8C: ; 0x02044D8C bl VarGet add r4, r0, #0x0 ldr r0, [r6, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r4, #0x0 bl GetPartyMonByIndex mov r1, #0x4c @@ -1380,7 +1380,7 @@ FUN_02044E34: ; 0x02044E34 bl VarGet add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r6, #0x0 bl GetPartyMonByIndex add r1, r4, #0x0 @@ -1418,7 +1418,7 @@ FUN_02044E78: ; 0x02044E78 bl VarGet add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r7, #0x0 bl GetPartyMonByIndex add r4, #0x36 @@ -1452,7 +1452,7 @@ FUN_02044ED8: ; 0x02044ED8 bl VarGet add r5, r0, #0x0 ldr r0, [r4, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r5, #0x0 bl GetPartyMonByIndex mov r1, #0x6 @@ -1476,7 +1476,7 @@ FUN_02044F20: ; 0x02044F20 bl VarGet add r5, r0, #0x0 ldr r0, [r4, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r5, #0x0 bl GetPartyMonByIndex mov r2, #0x0 @@ -1511,7 +1511,7 @@ FUN_02044F58: ; 0x02044F58 bl VarGet str r0, [sp, #0x0] ldr r0, [r7, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl GetPartyCount lsl r0, r0, #0x18 lsr r6, r0, #0x18 @@ -1521,7 +1521,7 @@ FUN_02044F58: ; 0x02044F58 beq _02044FDE _02044F9E: ldr r0, [r7, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r5, #0x0 bl GetPartyMonByIndex mov r1, #0x4c @@ -1578,7 +1578,7 @@ FUN_02044FE8: ; 0x02044FE8 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r4, #0x0 bl GetPartyMonByIndex mov r4, #0x0 @@ -1627,14 +1627,14 @@ FUN_0204505C: ; 0x0204505C add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl GetPartyCount lsl r0, r0, #0x10 add r4, #0x80 lsr r6, r0, #0x10 ldr r0, [r4, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [sp, #0xc] mov r0, #0x0 str r0, [sp, #0x8] @@ -1723,7 +1723,7 @@ FUN_02045104: ; 0x02045104 add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r7, #0x0 bl GetPartyMonByIndex add r5, r0, #0x0 @@ -1766,7 +1766,7 @@ FUN_02045170: ; 0x02045170 strb r1, [r0, #0x0] ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r6, #0x0 bl GetPartyMonByIndex add r5, r0, #0x0 @@ -1799,14 +1799,14 @@ FUN_020451D0: ; 0x020451D0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl GetPartyCount lsl r0, r0, #0x10 add r4, #0x80 lsr r6, r0, #0x10 ldr r0, [r4, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r7, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x4] diff --git a/arm9/asm/scrcmd_24.s b/arm9/asm/scrcmd_24.s index 21d69bf9..4d73925a 100644 --- a/arm9/asm/scrcmd_24.s +++ b/arm9/asm/scrcmd_24.s @@ -100,7 +100,7 @@ FUN_02045E20: ; 0x02045E20 add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r6, #0x0 bl GetPartyMonByIndex mov r1, #0x20 @@ -183,7 +183,7 @@ FUN_02045EE4: ; 0x02045EE4 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r4, #0x0 bl GetPartyMonByIndex add r4, r0, #0x0 @@ -220,7 +220,7 @@ FUN_02045F24: ; 0x02045F24 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r6, #0x0 bl GetPartyMonByIndex add r6, r0, #0x0 diff --git a/arm9/asm/scrcmd_3.s b/arm9/asm/scrcmd_3.s index 94f3a29e..32cfa293 100644 --- a/arm9/asm/scrcmd_3.s +++ b/arm9/asm/scrcmd_3.s @@ -117,7 +117,7 @@ FUN_0203FF10: ; 0x0203FF10 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r6, #0x0 bl GetPartyMonByIndex str r0, [sp, #0x10] diff --git a/arm9/asm/scrcmd_4.s b/arm9/asm/scrcmd_4.s index 01a329ac..f74b9d43 100644 --- a/arm9/asm/scrcmd_4.s +++ b/arm9/asm/scrcmd_4.s @@ -90,7 +90,7 @@ FUN_02040748: ; 0x02040748 bl VarGet add r5, r0, #0x0 ldr r0, [r6, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r5, #0x0 bl GetPartyMonByIndex add r2, r0, #0x0 @@ -313,7 +313,7 @@ FUN_0204091C: ; 0x0204091C bl VarGet add r5, r0, #0x0 ldr r0, [r6, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r5, #0x0 bl GetPartyMonByIndex add r2, r0, #0x0 @@ -941,7 +941,7 @@ FUN_02040E4C: ; 0x02040E4C bl VarGet add r4, r0, #0x0 ldr r0, [r6, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get ldr r1, [sp, #0x0] bl GetPartyMonByIndex add r4, #0x36 diff --git a/arm9/asm/scrcmd_5.s b/arm9/asm/scrcmd_5.s index 7236adb1..e69b3a3e 100644 --- a/arm9/asm/scrcmd_5.s +++ b/arm9/asm/scrcmd_5.s @@ -74,7 +74,7 @@ FUN_020411C4: ; 0x020411C4 bl VarGet str r0, [sp, #0x0] ldr r0, [r7, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl GetPartyCount lsl r0, r0, #0x10 lsr r6, r0, #0x10 @@ -85,7 +85,7 @@ FUN_020411C4: ; 0x020411C4 beq _02041286 _0204123C: ldr r0, [r7, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r5, #0x0 bl GetPartyMonByIndex mov r1, #0x4c diff --git a/arm9/asm/scrcmd_7.s b/arm9/asm/scrcmd_7.s index 217985cb..1a6a6584 100644 --- a/arm9/asm/scrcmd_7.s +++ b/arm9/asm/scrcmd_7.s @@ -590,7 +590,7 @@ FUN_02041B70: ; 0x02041B70 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl FUN_0204A248 strh r0, [r4, #0x0] mov r0, #0x0 diff --git a/arm9/asm/scrcmd_9.s b/arm9/asm/scrcmd_9.s index 5237dbff..944243af 100644 --- a/arm9/asm/scrcmd_9.s +++ b/arm9/asm/scrcmd_9.s @@ -242,7 +242,7 @@ FUN_02042000: ; 0x02042000 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r4, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword @@ -407,7 +407,7 @@ _02042170: add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword @@ -548,7 +548,7 @@ FUN_02042288: ; 0x02042288 push {r4, lr} ldr r0, [r0, #0xc] add r4, r1, #0x0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl FUN_0204A20C bl FUN_020690E4 add r2, r0, #0x0 diff --git a/arm9/asm/unk_02025658.s b/arm9/asm/unk_02025658.s index 4b843054..d2e91382 100644 --- a/arm9/asm/unk_02025658.s +++ b/arm9/asm/unk_02025658.s @@ -91,7 +91,7 @@ FUN_020256DC: ; 0x020256DC bl InitSealsObject add r0, r7, #0x0 strb r6, [r5, #0x7] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [sp, #0x0] add r0, r7, #0x0 bl FUN_020238F4 diff --git a/arm9/asm/unk_02035068.s b/arm9/asm/unk_02035068.s index 92b5c194..4366c8a2 100644 --- a/arm9/asm/unk_02035068.s +++ b/arm9/asm/unk_02035068.s @@ -1848,7 +1848,7 @@ _02035ECC: bl AllocFromHeap add r7, r0, #0x0 ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [r7, #0x0] ldr r0, [r5, #0xc] bl LoadPlayerDataAddress @@ -1900,7 +1900,7 @@ _02035F4A: bl AllocFromHeap add r7, r0, #0x0 ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [r7, #0x0] ldr r0, [r5, #0xc] bl LoadPlayerDataAddress @@ -1957,7 +1957,7 @@ _02035FD0: bl AllocFromHeap add r7, r0, #0x0 ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [r7, #0x0] ldr r0, [r5, #0xc] bl LoadPlayerDataAddress @@ -2051,7 +2051,7 @@ _0203609C: b _0203625E _020360AC: ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r6, #0x0 add r1, #0x22 ldrb r1, [r1, #0x0] @@ -2399,7 +2399,7 @@ _0203638A: add r5, r0, #0x0 bl memset ldr r0, [r6, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [r5, #0x0] ldr r0, [r6, #0xc] bl FUN_0206F158 @@ -2438,7 +2438,7 @@ _0203638A: b _020364F8 _020363F6: ldr r0, [r6, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [sp, #0x4] mov r0, #0x7f lsl r0, r0, #0x2 @@ -2991,7 +2991,7 @@ FUN_0203684C: ; 0x0203684C add r5, r0, #0x0 bl memset ldr r0, [r6, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [r5, #0x0] ldr r0, [r6, #0xc] bl FUN_0206F158 @@ -3280,7 +3280,7 @@ FUN_02036AB8: ; 0x02036AB8 b _02036B82 _02036B0E: ldr r0, [r6, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r7, #0x0 bl GetPartyMonByIndex add r2, r0, #0x0 @@ -3520,7 +3520,7 @@ FUN_02036CEC: ; 0x02036CEC add r4, r0, #0x0 bl memset ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [r4, #0x0] ldr r0, [r5, #0xc] bl FUN_0206F158 @@ -3650,7 +3650,7 @@ FUN_02036E08: ; 0x02036E08 lsl r2, r0, #0x10 bl FUN_0201681C ldr r0, [r4, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get ldrb r1, [r5, #0x0] str r0, [sp, #0x20] bl GetPartyMonByIndex diff --git a/arm9/asm/unk_020377F0.s b/arm9/asm/unk_020377F0.s index e275d614..a69aa9f1 100644 --- a/arm9/asm/unk_020377F0.s +++ b/arm9/asm/unk_020377F0.s @@ -397,7 +397,7 @@ FUN_0203797C: ; 0x0203797C mov r2, #0x40 bl MIi_CpuClearFast ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [r4, #0x0] ldr r0, [r5, #0xc] bl FUN_0206F158 @@ -723,7 +723,7 @@ FUN_02037C00: ; 0x02037C00 bl AllocFromHeap add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [r4, #0x0] ldr r0, [r5, #0xc] bl LoadPlayerDataAddress @@ -782,7 +782,7 @@ FUN_02037C7C: ; 0x02037C7C bl LoadPlayerDataAddress str r0, [r4, #0x4] add r0, r5, #0x0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [r4, #0x0] mov r0, #0x1 strb r0, [r4, #0x11] @@ -828,7 +828,7 @@ FUN_02037CF0: ; 0x02037CF0 add r4, r0, #0x0 bl memset ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [r4, #0x0] ldr r0, [r5, #0xc] bl LoadPlayerDataAddress @@ -1229,7 +1229,7 @@ FUN_0203800C: ; 0x0203800C add r4, r0, #0x0 bl memset add r0, r5, #0x0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r7, #0x0 bl GetPartyMonByIndex str r0, [r4, #0x0] @@ -1378,7 +1378,7 @@ FUN_02038144: ; 0x02038144 bl FUN_020238F4 str r0, [r5, #0x4] ldr r0, [r4, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [r5, #0x8] ldr r0, [r4, #0xc] mov r1, #0x9 @@ -1904,7 +1904,7 @@ _02038580: pop {r3-r5, pc} _02038590: ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get ldr r1, [r4, #0x4] bl GetPartyMonByIndex ldr r2, [r4, #0xc] @@ -1971,7 +1971,7 @@ FUN_020385CC: ; 0x020385CC b _02038660 _02038620: ldr r0, [r7, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get ldr r1, [r4, #0x4] bl GetPartyMonByIndex mov r1, #0x6f @@ -2297,7 +2297,7 @@ FUN_020388B4: ; 0x020388B4 sub sp, #0x10 add r4, r0, #0x0 ldr r0, [r4, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl MOD05_021ED49C add r5, r0, #0x0 bne _020388CC diff --git a/arm9/asm/unk_02046294.s b/arm9/asm/unk_02046294.s deleted file mode 100644 index 32424277..00000000 --- a/arm9/asm/unk_02046294.s +++ /dev/null @@ -1,167 +0,0 @@ - .include "asm/macros.inc" - .include "global.inc" - - .section .bss - - .global UNK_021C5A14 -UNK_021C5A14: ; 0x021C5A14 - .space 0x8 - - .text - - thumb_func_start SavArray_Flags_sizeof -SavArray_Flags_sizeof: ; 0x02046294 - mov r0, #0xeb - lsl r0, r0, #0x2 - bx lr - .balign 4 - - thumb_func_start SavArray_Flags_memclear -SavArray_Flags_memclear: ; 0x0204629C - ldr r3, _020462A8 ; =memset - mov r2, #0xeb - mov r1, #0x0 - lsl r2, r2, #0x2 - bx r3 - nop -_020462A8: .word memset - - thumb_func_start SavArray_Flags_get -SavArray_Flags_get: ; 0x020462AC - ldr r3, _020462B4 ; =SavArray_get - mov r1, #0x4 - bx r3 - nop -_020462B4: .word SavArray_get - - thumb_func_start CheckFlagInArray -CheckFlagInArray: ; 0x020462B8 - push {r3-r5, lr} - add r4, r1, #0x0 - bl GetFlagAddr - cmp r0, #0x0 - beq _020462DE - lsr r3, r4, #0x1f - lsl r2, r4, #0x1d - ldrb r5, [r0, #0x0] - sub r2, r2, r3 - mov r1, #0x1d - ror r2, r1 - mov r0, #0x1 - add r1, r3, r2 - add r2, r0, #0x0 - lsl r2, r1 - add r1, r5, #0x0 - tst r1, r2 - bne _020462E0 -_020462DE: - mov r0, #0x0 -_020462E0: - pop {r3-r5, pc} - .balign 4 - - thumb_func_start SetFlagInArray -SetFlagInArray: ; 0x020462E4 - push {r4-r6, lr} - add r4, r1, #0x0 - bl GetFlagAddr - cmp r0, #0x0 - beq _02046308 - lsr r5, r4, #0x1f - lsl r3, r4, #0x1d - sub r3, r3, r5 - mov r2, #0x1d - ror r3, r2 - mov r6, #0x1 - add r2, r5, r3 - add r3, r6, #0x0 - ldrb r1, [r0, #0x0] - lsl r3, r2 - orr r1, r3 - strb r1, [r0, #0x0] -_02046308: - pop {r4-r6, pc} - .balign 4 - - thumb_func_start ClearFlagInArray -ClearFlagInArray: ; 0x0204630C - push {r4-r6, lr} - add r4, r1, #0x0 - bl GetFlagAddr - cmp r0, #0x0 - beq _02046334 - lsr r5, r4, #0x1f - lsl r3, r4, #0x1d - sub r3, r3, r5 - mov r2, #0x1d - ror r3, r2 - mov r6, #0x1 - add r2, r5, r3 - add r3, r6, #0x0 - lsl r3, r2 - mov r2, #0xff - ldrb r1, [r0, #0x0] - eor r2, r3 - and r1, r2 - strb r1, [r0, #0x0] -_02046334: - pop {r4-r6, pc} - .balign 4 - - thumb_func_start GetFlagAddr -GetFlagAddr: ; 0x02046338 - push {r3-r5, lr} - add r5, r0, #0x0 - cmp r1, #0x0 - bne _02046344 - mov r0, #0x0 - pop {r3-r5, pc} -_02046344: - mov r0, #0x1 - lsl r0, r0, #0xe - cmp r1, r0 - bhs _02046364 - mov r0, #0x5b - lsr r4, r1, #0x3 - lsl r0, r0, #0x2 - cmp r4, r0 - blt _0204635A - bl ErrorHandling -_0204635A: - mov r0, #0x9 - lsl r0, r0, #0x6 - add r0, r5, r0 - add r0, r0, r4 - pop {r3-r5, pc} -_02046364: - sub r1, r1, r0 - asr r0, r1, #0x2 - lsr r0, r0, #0x1d - add r0, r1, r0 - asr r4, r0, #0x3 - cmp r4, #0x8 - blt _02046376 - bl ErrorHandling -_02046376: - ldr r0, _0204637C ; =UNK_021C5A14 - add r0, r0, r4 - pop {r3-r5, pc} - .balign 4 -_0204637C: .word UNK_021C5A14 - - thumb_func_start GetVarAddr -GetVarAddr: ; 0x02046380 - push {r3-r5, lr} - add r5, r0, #0x0 - mov r0, #0x1 - lsl r0, r0, #0xe - sub r4, r1, r0 - mov r0, #0x12 - lsl r0, r0, #0x4 - cmp r4, r0 - blt _02046396 - bl ErrorHandling -_02046396: - lsl r0, r4, #0x1 - add r0, r5, r0 - pop {r3-r5, pc} diff --git a/arm9/asm/unk_0204653C.s b/arm9/asm/unk_0204653C.s index d8e5f610..727dd5ea 100644 --- a/arm9/asm/unk_0204653C.s +++ b/arm9/asm/unk_0204653C.s @@ -202,7 +202,7 @@ _020466A4: cmp r0, #0x0 beq _020466BC ldr r0, [r6, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl FUN_02085140 _020466BC: ldr r1, [r5, #0x10] @@ -770,7 +770,7 @@ _02046B3E: cmp r0, #0x0 beq _02046B56 ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl FUN_02085140 _02046B56: ldr r1, [r4, #0x10] @@ -1018,7 +1018,7 @@ _02046D5C: bl FUN_02022510 str r0, [sp, #0x8] ldr r0, [r6, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r5, r0, #0x0 ldr r0, [sp, #0x8] bl FUN_0206B334 diff --git a/arm9/asm/unk_020476CC.s b/arm9/asm/unk_020476CC.s index f8f5f1af..6d65edbc 100644 --- a/arm9/asm/unk_020476CC.s +++ b/arm9/asm/unk_020476CC.s @@ -75,7 +75,7 @@ _020476FA: add r4, r7, #0x0 _02047748: add r0, r5, #0x0 - bl FUN_0206B8AC + bl SavArray_Party_alloc str r0, [r4, #0x4] add r6, r6, #0x1 add r4, r4, #0x4 @@ -268,7 +268,7 @@ FUN_02047814: ; 0x02047814 bl CreateMon ldr r0, [r4, #0x4] add r1, r6, #0x0 - bl FUN_0206B900 + bl AddMonToParty mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -281,7 +281,7 @@ FUN_02047814: ; 0x02047814 bl CreateMon ldr r0, [r4, #0x8] add r1, r6, #0x0 - bl FUN_0206B900 + bl AddMonToParty add r0, r6, #0x0 bl FreeToHeap ldr r0, [r5, #0xc] @@ -405,7 +405,7 @@ _02047A0C: add r0, r5, r0 ldr r0, [r0, #0x4] add r1, r6, #0x0 - bl FUN_0206B900 + bl AddMonToParty cmp r0, #0x0 bne _02047A20 bl ErrorHandling @@ -427,7 +427,7 @@ _02047A34: add r1, r5, r1 ldr r1, [r1, #0x4] add r0, r6, #0x0 - bl FUN_0206BAD0 + bl CopyPlayerParty pop {r4-r6, pc} .balign 4 @@ -471,7 +471,7 @@ FUN_02047A78: ; 0x02047A78 bl FUN_020238F4 add r6, r0, #0x0 ldr r0, [r4, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r7, r0, #0x0 ldr r0, [r4, #0xc] bl FUN_0206F158 @@ -616,7 +616,7 @@ FUN_02047BC0: ; 0x02047BC0 add r4, r0, #0x0 ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [sp, #0x14] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] @@ -652,7 +652,7 @@ FUN_02047BC0: ; 0x02047BC0 bl GetPartyCount add r1, r0, #0x0 ldr r0, [r6, #0x4] - bl FUN_0206B8CC + bl InitPartyWithMaxSize ldr r0, [sp, #0x14] mov r4, #0x0 bl GetPartyCount @@ -848,7 +848,7 @@ _02047DD8: str r0, [sp, #0x8] ldr r0, [r5, #0x4] add r1, r4, #0x0 - bl FUN_0206B8CC + bl InitPartyWithMaxSize mov r6, #0x0 cmp r4, #0x0 ble _02047E0E @@ -995,7 +995,7 @@ FUN_02047F1C: ; 0x02047F1C add r5, r0, #0x0 ldr r0, [r4, #0xc] add r6, r2, #0x0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 @@ -1013,7 +1013,7 @@ FUN_02047F38: ; 0x02047F38 bl FUN_020238F4 add r6, r0, #0x0 ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r7, r0, #0x0 ldr r0, [r5, #0xc] bl FUN_0206F158 @@ -1032,7 +1032,7 @@ FUN_02047F38: ; 0x02047F38 bl FUN_0202393C ldr r0, [r4, #0x4] add r1, r7, #0x0 - bl FUN_0206BAD0 + bl CopyPlayerParty mov r0, #0x42 lsl r0, r0, #0x2 ldr r0, [r4, r0] @@ -1058,7 +1058,7 @@ FUN_02047FA4: ; 0x02047FA4 ldr r0, [r5, #0xc] bl FUN_020238F4 ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get ldr r0, [r5, #0xc] bl FUN_0206F158 ldr r0, [r5, #0xc] diff --git a/arm9/asm/unk_020484A8.s b/arm9/asm/unk_020484A8.s index 09dafdbb..2a914271 100644 --- a/arm9/asm/unk_020484A8.s +++ b/arm9/asm/unk_020484A8.s @@ -41,7 +41,7 @@ _020484C6: bl FUN_0202B03C _020484CC: ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r6, r0, #0x0 add r0, sp, #0x4 bl FUN_020126B4 @@ -158,7 +158,7 @@ _020485AE: b _02048688 _020485C0: ldr r0, [r6, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl FUN_02085140 bl FUN_02022830 ldr r0, [r6, #0xc] @@ -285,7 +285,7 @@ FUN_02048694: ; 0x02048694 bl FUN_020238F4 str r0, [r5, #0x4] ldr r0, [r4, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [r5, #0x8] ldr r0, [r4, #0xc] bl FUN_02023918 @@ -308,7 +308,7 @@ FUN_02048694: ; 0x02048694 bl FUN_0204B328 _0204871E: ldr r0, [r4, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl FUN_0204A25C ldr r0, [sp, #0x8] bl FUN_020377B0 diff --git a/arm9/asm/unk_0204A01C.s b/arm9/asm/unk_0204A01C.s index 10664314..aadf8f4c 100644 --- a/arm9/asm/unk_0204A01C.s +++ b/arm9/asm/unk_0204A01C.s @@ -40,7 +40,7 @@ FUN_0204A048: ; 0x0204A048 bl FUN_020238F4 str r0, [sp, #0x14] add r0, r6, #0x0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [sp, #0x18] add r0, r5, #0x0 bl AllocMonZeroed @@ -73,7 +73,7 @@ FUN_0204A048: ; 0x0204A048 bl SetMonData ldr r0, [sp, #0x18] add r1, r4, #0x0 - bl FUN_0206B900 + bl AddMonToParty add r5, r0, #0x0 beq _0204A0BC add r0, r6, #0x0 @@ -97,7 +97,7 @@ FUN_0204A0C8: ; 0x0204A0C8 bl FUN_020238F4 str r0, [sp, #0x8] add r0, r4, #0x0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r6, r0, #0x0 mov r0, #0x20 bl AllocMonZeroed @@ -116,7 +116,7 @@ FUN_0204A0C8: ; 0x0204A0C8 bl MOD05_021ECF14 add r0, r6, #0x0 add r1, r4, #0x0 - bl FUN_0206B900 + bl AddMonToParty add r5, r0, #0x0 add r0, r4, #0x0 bl FreeToHeap diff --git a/arm9/asm/unk_0204B0A0.s b/arm9/asm/unk_0204B0A0.s index 4ac82dfe..1495eb48 100644 --- a/arm9/asm/unk_0204B0A0.s +++ b/arm9/asm/unk_0204B0A0.s @@ -147,7 +147,7 @@ FUN_0204B1DC: ; 0x0204B1DC add r0, r6, #0x0 bl FUN_0202A988 ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r4, #0x0 bl FUN_02069D50 ldr r0, [r5, #0xc] diff --git a/arm9/asm/unk_0204FBA8.s b/arm9/asm/unk_0204FBA8.s index bb050ce7..43c89f86 100644 --- a/arm9/asm/unk_0204FBA8.s +++ b/arm9/asm/unk_0204FBA8.s @@ -1755,14 +1755,14 @@ FUN_02050968: ; 0x02050968 add r4, r1, #0x0 beq _02050986 mov r0, #0xb - bl FUN_0206B8AC + bl SavArray_Party_alloc ldr r1, _020509AC ; =UNK_021C5A6C ldr r2, [r1, #0x0] str r0, [r2, #0x44] ldr r1, [r1, #0x0] add r0, r4, #0x0 ldr r1, [r1, #0x44] - bl FUN_0206BAD0 + bl CopyPlayerParty _02050986: cmp r5, #0x0 beq _02050994 diff --git a/arm9/asm/unk_02050E48.s b/arm9/asm/unk_02050E48.s index 34d0ee1c..dc21a9c4 100644 --- a/arm9/asm/unk_02050E48.s +++ b/arm9/asm/unk_02050E48.s @@ -94,7 +94,7 @@ FUN_02050ED4: ; 0x02050ED4 str r0, [r4, #0x14] ldr r0, [r5, #0x24] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [r4, #0x0] ldr r0, [r5, #0x24] ldr r0, [r0, #0xc] @@ -627,7 +627,7 @@ _02051308: _0205130E: ldr r0, [r4, #0x24] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -1377,10 +1377,10 @@ _02051938: bl AllocFromHeapAtEnd str r0, [r4, #0x48] mov r0, #0xb - bl FUN_0206B8AC + bl SavArray_Party_alloc mov r1, #0x3 str r0, [r4, #0x50] - bl FUN_0206B8CC + bl InitPartyWithMaxSize add r0, r4, #0x0 mov r1, #0x5 add r0, #0x44 @@ -1464,7 +1464,7 @@ FUN_020519F0: ; 0x020519F0 ldr r0, [r7, #0x24] add r5, r1, #0x0 ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [sp, #0x0] ldr r4, [r7, #0x4c] bl FUN_020690C4 @@ -1611,7 +1611,7 @@ FUN_02051AF0: ; 0x02051AF0 add r6, r0, #0x0 ldr r0, [r5, #0x50] mov r1, #0x3 - bl FUN_0206B8CC + bl InitPartyWithMaxSize mov r4, #0x0 _02051B04: add r1, r4, #0x0 @@ -1619,7 +1619,7 @@ _02051B04: mul r1, r6 ldr r0, [r5, #0x50] add r1, r2, r1 - bl FUN_0206B900 + bl AddMonToParty add r4, r4, #0x1 cmp r4, #0x3 blt _02051B04 @@ -1650,7 +1650,7 @@ FUN_02051B1C: ; 0x02051B1C bl MI_CpuCopy8 ldr r0, [r6, #0x50] mov r1, #0x3 - bl FUN_0206B8CC + bl InitPartyWithMaxSize mov r5, #0x0 _02051B52: add r1, r5, #0x0 @@ -1658,7 +1658,7 @@ _02051B52: mul r1, r4 ldr r0, [r6, #0x50] add r1, r2, r1 - bl FUN_0206B900 + bl AddMonToParty add r5, r5, #0x1 cmp r5, #0x3 blt _02051B52 diff --git a/arm9/asm/unk_02054C14.s b/arm9/asm/unk_02054C14.s index cdf629de..c8085b1a 100644 --- a/arm9/asm/unk_02054C14.s +++ b/arm9/asm/unk_02054C14.s @@ -288,7 +288,7 @@ _02054DE8: .word 0x0000010D FUN_02054DEC: ; 0x02054DEC push {r3-r7, lr} add r6, r0, #0x0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl GetPartyCount lsl r0, r0, #0x10 lsr r5, r0, #0x10 @@ -297,7 +297,7 @@ FUN_02054DEC: ; 0x02054DEC mov r7, #0x4c _02054E02: add r0, r6, #0x0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r4, #0x0 bl GetPartyMonByIndex add r1, r7, #0x0 @@ -324,7 +324,7 @@ FUN_02054E30: ; 0x02054E30 push {r3-r7, lr} sub sp, #0x10 mov r7, #0x0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [sp, #0x0] bl GetPartyCount add r4, r0, #0x0 diff --git a/arm9/asm/unk_0205CE48.s b/arm9/asm/unk_0205CE48.s index 68b5eb85..e8178beb 100644 --- a/arm9/asm/unk_0205CE48.s +++ b/arm9/asm/unk_0205CE48.s @@ -288,7 +288,7 @@ FUN_0205D024: ; 0x0205D024 add r4, r0, #0x0 bl memset ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [r4, #0x0] ldr r0, [r5, #0xc] bl FUN_0206F158 @@ -771,7 +771,7 @@ FUN_0205D400: ; 0x0205D400 add r4, r0, #0x0 bl memset ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [r4, #0x0] ldr r0, [r5, #0xc] bl FUN_0206F158 @@ -1502,7 +1502,7 @@ FUN_0205D9A8: ; 0x0205D9A8 add r4, r0, #0x0 bl memset ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [r4, #0x0] ldr r0, [r5, #0xc] bl FUN_0206F158 diff --git a/arm9/asm/unk_0205FA2C.s b/arm9/asm/unk_0205FA2C.s index 18304f39..2e8b043f 100644 --- a/arm9/asm/unk_0205FA2C.s +++ b/arm9/asm/unk_0205FA2C.s @@ -29,7 +29,7 @@ FUN_0205FA2C: ; 0x0205FA2C bl LoadPlayerDataAddress str r0, [r4, #0xc] add r0, r6, #0x0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [r4, #0x0] add r0, r6, #0x0 bl FUN_0206F158 @@ -162,7 +162,7 @@ FUN_0205FB34: ; 0x0205FB34 bl LoadPlayerDataAddress str r0, [r4, #0x4] add r0, r5, #0x0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [r4, #0x0] add r0, r5, #0x0 bl FUN_0206BB28 diff --git a/arm9/asm/unk_02060CCC.s b/arm9/asm/unk_02060CCC.s index 84bc9deb..e050902b 100644 --- a/arm9/asm/unk_02060CCC.s +++ b/arm9/asm/unk_02060CCC.s @@ -2172,7 +2172,7 @@ FUN_02061C5C: ; 0x02061C5C add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, r1, #0x0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl FUN_0204A20C add r1, sp, #0x8 add r2, sp, #0x4 diff --git a/arm9/asm/unk_0206439C.s b/arm9/asm/unk_0206439C.s index 76ea9f7f..4cc91f4f 100644 --- a/arm9/asm/unk_0206439C.s +++ b/arm9/asm/unk_0206439C.s @@ -12,7 +12,7 @@ FUN_0206439C: ; 0x0206439C bl AllocFromHeapAtEnd add r4, r0, #0x0 add r0, r6, #0x0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r5, #0x0 bl GetPartyMonByIndex str r0, [r4, #0x0] diff --git a/arm9/asm/unk_020653EC.s b/arm9/asm/unk_020653EC.s index 3f2c8545..51d345ca 100644 --- a/arm9/asm/unk_020653EC.s +++ b/arm9/asm/unk_020653EC.s @@ -1808,7 +1808,7 @@ FUN_020661F8: ; 0x020661F8 lsl r0, r0, #0x2 ldr r0, [r5, r0] bl FUN_020377AC - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r7, #0x0 bl GetPartyMonByIndex add r2, r0, #0x0 @@ -2377,7 +2377,7 @@ _02066676: lsl r0, r0, #0x2 ldr r0, [r5, r0] bl FUN_020377AC - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [r4, #0x0] mov r0, #0x5b lsl r0, r0, #0x2 diff --git a/arm9/asm/unk_0206ABC4.s b/arm9/asm/unk_0206ABC4.s index cd1030b7..ddce6b39 100644 --- a/arm9/asm/unk_0206ABC4.s +++ b/arm9/asm/unk_0206ABC4.s @@ -334,7 +334,7 @@ FUN_0206AE0C: ; 0x0206AE0C add r0, r4, r6 ldr r0, [r0, #0x4] mov r1, #0x6 - bl FUN_0206B8CC + bl InitPartyWithMaxSize add r0, r5, #0x0 mov r1, #0x60 bl AllocFromHeap @@ -447,7 +447,7 @@ _0206AECE: ldr r0, [sp, #0x24] ldr r1, [sp, #0x40] ldr r0, [r0, #0x4] - bl FUN_0206B900 + bl AddMonToParty ldr r0, [sp, #0x28] add r0, r0, #0x6 str r0, [sp, #0x28] @@ -543,7 +543,7 @@ _0206AFB0: ldr r0, [sp, #0x2c] ldr r1, [sp, #0x40] ldr r0, [r0, #0x4] - bl FUN_0206B900 + bl AddMonToParty ldr r0, [sp, #0x30] add r0, #0xe str r0, [sp, #0x30] @@ -626,7 +626,7 @@ _0206B030: ldr r0, [sp, #0x34] ldr r1, [sp, #0x40] ldr r0, [r0, #0x4] - bl FUN_0206B900 + bl AddMonToParty ldr r0, [sp, #0x1c] add r7, #0x8 add r0, r0, #0x1 @@ -725,7 +725,7 @@ _0206B120: ldr r0, [sp, #0x38] ldr r1, [sp, #0x40] ldr r0, [r0, #0x4] - bl FUN_0206B900 + bl AddMonToParty ldr r0, [sp, #0x3c] add r0, #0x10 str r0, [sp, #0x3c] diff --git a/arm9/asm/unk_0206BF90.s b/arm9/asm/unk_0206BF90.s index bab339f2..5099fa54 100644 --- a/arm9/asm/unk_0206BF90.s +++ b/arm9/asm/unk_0206BF90.s @@ -83,10 +83,10 @@ _0206C00C: .word FUN_02023924 thumb_func_start FUN_0206C010 FUN_0206C010: ; 0x0206C010 - ldr r3, _0206C014 ; =FUN_0206B8A4 + ldr r3, _0206C014 ; =SavArray_Party_sizeof bx r3 .balign 4 -_0206C014: .word FUN_0206B8A4 +_0206C014: .word SavArray_Party_sizeof thumb_func_start FUN_0206C018 FUN_0206C018: ; 0x0206C018 @@ -514,7 +514,7 @@ _0206C2E8: add r4, #0x20 ldr r0, [r0, #0x4] add r1, r4, #0x0 - bl FUN_0206BAD0 + bl CopyPlayerParty mov r0, #0x1 pop {r4, pc} @@ -537,7 +537,7 @@ _0206C30C: mov r0, #0x0 pop {r4, pc} _0206C31A: - bl FUN_0206B8A4 + bl SavArray_Party_sizeof add r4, #0x20 add r2, r0, #0x0 mov r0, #0x1b @@ -788,7 +788,7 @@ _0206C4DA: add r5, #0x20 ldr r0, [r0, #0x4] add r1, r5, #0x0 - bl FUN_0206BAD0 + bl CopyPlayerParty mov r0, #0x1 pop {r3-r5, pc} .balign 4 @@ -817,7 +817,7 @@ _0206C508: _0206C518: cmp r4, #0x1 bne _0206C52E - bl FUN_0206B8A4 + bl SavArray_Party_sizeof add r5, #0x20 add r2, r0, #0x0 mov r0, #0x1f @@ -825,7 +825,7 @@ _0206C518: bl FUN_02030A78 pop {r4-r6, pc} _0206C52E: - bl FUN_0206B8A4 + bl SavArray_Party_sizeof add r5, #0x20 add r2, r0, #0x0 mov r0, #0x20 diff --git a/arm9/asm/unk_0206C700.s b/arm9/asm/unk_0206C700.s index 2c651288..94b4217b 100644 --- a/arm9/asm/unk_0206C700.s +++ b/arm9/asm/unk_0206C700.s @@ -2195,7 +2195,7 @@ _0206D8EA: bl CalcMonLevelAndStats ldr r0, [r4, #0x24] add r1, r5, #0x0 - bl FUN_0206B900 + bl AddMonToParty ldr r0, [r4, #0x48] add r1, r5, #0x0 bl FUN_02024AF0 diff --git a/arm9/asm/unk_02073DA8.s b/arm9/asm/unk_02073DA8.s index 4dc42878..cf11907a 100644 --- a/arm9/asm/unk_02073DA8.s +++ b/arm9/asm/unk_02073DA8.s @@ -1226,7 +1226,7 @@ _020747CE: ldrb r1, [r4, r1] ldrb r2, [r4, r2] ldr r0, [r0, #0x0] - bl FUN_0206BA38 + bl SwapSlotsInParty ldr r0, _02074840 ; =0x000005C8 mov r1, #0x1 ldr r0, [r5, r0] diff --git a/arm9/asm/unk_02080C38.s b/arm9/asm/unk_02080C38.s index 30769699..a1d4b4a4 100644 --- a/arm9/asm/unk_02080C38.s +++ b/arm9/asm/unk_02080C38.s @@ -106,7 +106,7 @@ _02080CA6: b _02080DF2 _02080CB4: ldr r0, [r6, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get mov r1, #0x0 bl GetPartyMonByIndex add r7, r0, #0x0 @@ -899,7 +899,7 @@ _020812B6: mov r1, #0xb bl FUN_02082ED0 mov r0, #0x14 - bl FUN_0206B8AC + bl SavArray_Party_alloc mov r1, #0x56 lsl r1, r1, #0x2 str r0, [r4, r1] diff --git a/arm9/asm/unk_02083B84.s b/arm9/asm/unk_02083B84.s index a0e5d7ca..9049ff02 100644 --- a/arm9/asm/unk_02083B84.s +++ b/arm9/asm/unk_02083B84.s @@ -64,7 +64,7 @@ FUN_02083BAC: ; 0x02083BAC ldr r0, [r4, #0x58] add r0, r0, #0x1 str r0, [r4, #0x58] - bl FUN_0206B8A4 + bl SavArray_Party_sizeof mov r1, #0x59 ldr r2, [r4, #0x58] lsl r1, r1, #0x4 diff --git a/arm9/asm/unk_020859C0.s b/arm9/asm/unk_020859C0.s index e810dde1..dc27000d 100644 --- a/arm9/asm/unk_020859C0.s +++ b/arm9/asm/unk_020859C0.s @@ -571,7 +571,7 @@ _02085DDC: mov r1, #0x0 bl FUN_02085D8C ldr r0, [r6, #0x10] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [r7, #0x1c] bl GetPartyCount mov r4, #0x0 diff --git a/arm9/asm/unk_02087D00.s b/arm9/asm/unk_02087D00.s index 644d8dc5..9fd82bab 100644 --- a/arm9/asm/unk_02087D00.s +++ b/arm9/asm/unk_02087D00.s @@ -63,7 +63,7 @@ FUN_02087D00: ; 0x02087D00 bl FUN_020238F4 str r0, [r7, #0xc] add r0, r4, #0x0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [r7, #0x10] add r0, r4, #0x0 bl FUN_0206F158 diff --git a/arm9/global.inc b/arm9/global.inc index 966a1683..b5c4f6cc 100644 --- a/arm9/global.inc +++ b/arm9/global.inc @@ -3423,7 +3423,7 @@ .extern FUN_0204602C .extern FUN_02046030 .extern SavArray_Flags_sizeof -.extern SavArray_Flags_memclear +.extern SavArray_Flags_init .extern SavArray_Flags_get .extern CheckFlagInArray .extern SetFlagInArray @@ -4879,19 +4879,19 @@ .extern FUN_0206B898 .extern FUN_0206B89C .extern FUN_0206B8A0 -.extern FUN_0206B8A4 -.extern FUN_0206B8AC -.extern FUN_0206B8C0 -.extern FUN_0206B8CC -.extern FUN_0206B900 -.extern FUN_0206B938 +.extern SavArray_Party_sizeof +.extern SavArray_Party_alloc +.extern SavArray_Party_init +.extern InitPartyWithMaxSize +.extern AddMonToParty +.extern RemoveMonFromParty .extern GetPartyCount .extern GetPartyMonByIndex -.extern FUN_0206B9DC -.extern FUN_0206BA38 -.extern FUN_0206BAD0 +.extern ReplacePartySlotWithMon +.extern SwapSlotsInParty +.extern CopyPlayerParty .extern PartyHasMon -.extern FUN_0206BB1C +.extern SavArray_PlayerParty_get .extern FUN_0206BB28 .extern FUN_0206BB34 .extern FUN_0206BB48 diff --git a/arm9/modules/05/asm/mod05_021D80E8.s b/arm9/modules/05/asm/mod05_021D80E8.s index 14425f2d..15241646 100644 --- a/arm9/modules/05/asm/mod05_021D80E8.s +++ b/arm9/modules/05/asm/mod05_021D80E8.s @@ -318,7 +318,7 @@ _021D8342: lsr r0, r0, #0x1f bne _021D8384 ldr r0, [r4, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get bl FUN_0204A248 add r6, r0, #0 ldr r0, [r4, #0xc] @@ -385,7 +385,7 @@ _021D83C2: orr r6, r0 _021D83E4: ldr r0, [r4, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get mov r1, #0x7f bl FUN_0204A138 cmp r0, #0xff @@ -1471,7 +1471,7 @@ _021D8C88: cmp r0, #0 beq _021D8CE0 ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get mov r1, #0x39 bl FUN_0204A138 cmp r0, #0xff @@ -1762,7 +1762,7 @@ MOD05_021D8F38: ; 0x021D8F38 push {r3, r4, r5, lr} add r4, r0, #0 ldr r0, [r4, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r5, r0, #0 ldr r0, [r4, #0xc] bl FUN_02023D58 @@ -1842,7 +1842,7 @@ MOD05_021D8FD0: ; 0x021D8FD0 push {r3, r4, r5, r6, r7, lr} add r4, r0, #0 ldr r0, [r4, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r6, r0, #0 ldr r0, [r4, #0x1c] ldr r0, [r0] @@ -1874,7 +1874,7 @@ MOD05_021D9010: ; 0x021D9010 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r4, r0, #0 ldr r0, [r5, #0xc] bl FUN_02034E30 diff --git a/arm9/modules/05/asm/module_05.s b/arm9/modules/05/asm/module_05.s index 1172f733..6d2dcb07 100644 --- a/arm9/modules/05/asm/module_05.s +++ b/arm9/modules/05/asm/module_05.s @@ -9333,7 +9333,7 @@ MOD05_021E72E8: ; 0x021E72E8 push {r4, lr} ldr r0, [r0, #0xc] add r4, r1, #0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r4, #0 bl GetPartyMonByIndex pop {r4, pc} @@ -19634,7 +19634,7 @@ _021EC544: bl FUN_02023CA0 ldr r1, [sp] add r0, r6, #0 - bl FUN_0206B938 + bl RemoveMonFromParty ldr r1, _021EC578 ; =0x000001B9 add r0, r6, #0 bl PartyHasMon @@ -19828,7 +19828,7 @@ _021EC6E0: _021EC6FA: ldr r0, [sp] add r1, r4, #0 - bl FUN_0206B900 + bl AddMonToParty add r0, r5, #0 bl ZeroBoxMonData add r0, r6, #0 @@ -21149,7 +21149,7 @@ _021ED168: bl SetMonData ldr r0, [sp, #4] add r1, r4, #0 - bl FUN_0206B900 + bl AddMonToParty add r0, r5, #0 bl MOD05_021ECD64 add r0, r4, #0 @@ -34755,7 +34755,7 @@ MOD05_021F3A18: ; 0x021F3A18 add r4, r0, #0 ldr r0, [r4, #0xc] add r5, r1, #0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r5, #0 bl GetPartyMonByIndex mov r1, #5 @@ -34824,7 +34824,7 @@ MOD05_021F3AB4: ; 0x021F3AB4 add r4, r0, #0 ldr r0, [r4, #0xc] add r5, r1, #0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r5, #0 bl GetPartyMonByIndex bl MOD05_021F38CC @@ -34920,7 +34920,7 @@ MOD05_021F3B7C: ; 0x021F3B7C ldr r0, [r5, #0xc] add r4, r3, #0 add r7, r1, #0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r4, #0 bl GetPartyMonByIndex mov r1, #5 diff --git a/arm9/modules/06/asm/module_06.s b/arm9/modules/06/asm/module_06.s index 561761c1..cc2792bc 100644 --- a/arm9/modules/06/asm/module_06.s +++ b/arm9/modules/06/asm/module_06.s @@ -4844,7 +4844,7 @@ MOD06_0223BA04: ; 0x0223BA04 pop {r4, r5, r6, r7, pc} _0223BA42: ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r7, r0, #0 add r0, r5, #0 bl FUN_02034CE0 @@ -5193,7 +5193,7 @@ MOD06_0223BD14: ; 0x0223BD14 _0223BD2E: ldr r0, [sp, #8] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get mov r1, #0 bl GetPartyMonByIndex str r0, [sp, #0x14] @@ -5370,7 +5370,7 @@ MOD06_0223BE70: ; 0x0223BE70 pop {r4, r5, r6, r7, pc} _0223BEA4: ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r6, r0, #0 add r0, r5, #0 bl FUN_02034CE0 @@ -5626,7 +5626,7 @@ MOD06_0223C08C: ; 0x0223C08C pop {r4, r5, r6, r7, pc} _0223C0CE: ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r6, r0, #0 add r0, r5, #0 bl FUN_02034CE0 @@ -7181,7 +7181,7 @@ MOD06_0223CCDC: ; 0x0223CCDC bl MOD05_021F51D0 str r0, [sp, #8] ldr r0, [r5, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get mov r1, #0 bl GetPartyMonByIndex str r0, [sp, #0xc] @@ -7257,7 +7257,7 @@ MOD06_0223CD7C: ; 0x0223CD7C ldr r0, [r5, #0xc] add r7, r1, #0 add r6, r3, #0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get mov r1, #0 bl GetPartyMonByIndex add r4, r0, #0 @@ -7702,7 +7702,7 @@ MOD06_0223D044: ; 0x0223D044 bl SetMonData ldr r0, [r6, #8] add r1, r4, #0 - bl FUN_0206B900 + bl AddMonToParty cmp r0, #0 bne _0223D0D8 bl ErrorHandling @@ -7911,7 +7911,7 @@ _0223D25C: lsl r0, r0, #2 add r0, r7, r0 ldr r0, [r0, #4] - bl FUN_0206B900 + bl AddMonToParty add sp, #0xc pop {r4, r5, r6, r7, pc} nop @@ -15300,7 +15300,7 @@ MOD06_02240F40: ; 0x02240F40 add r4, r0, #0 ldr r0, [r4, #0x10] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r0, #0 ldr r0, [r4, #0x10] ldr r2, [r4, #0x6c] @@ -19798,7 +19798,7 @@ MOD06_022432E4: ; 0x022432E4 sub sp, #0x28 str r0, [sp] add r0, r1, #0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [sp, #4] bl GetPartyCount lsl r0, r0, #0x18 @@ -20327,7 +20327,7 @@ _02243706: pop {r4, r5, r6, r7, pc} _02243716: add r0, r2, #0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [sp, #8] ldrb r0, [r5, #0xe] mov r4, #0 @@ -20383,7 +20383,7 @@ MOD06_02243780: ; 0x02243780 sub sp, #0x1c str r0, [sp] add r0, r1, #0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [sp, #4] ldr r0, [sp] mov r5, #0 @@ -20638,7 +20638,7 @@ MOD06_02243938: ; 0x02243938 bne _02243980 _0224394A: ldr r0, [r4, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get ldrb r1, [r5, #0xf] cmp r1, #0 bne _0224396C @@ -21506,7 +21506,7 @@ MOD06_02243FDC: ; 0x02243FDC mov r2, #1 add r1, sp, #8 strb r2, [r1] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [sp] mov r7, #0 ldrb r0, [r5, #0xe] @@ -21729,7 +21729,7 @@ MOD06_02244190: ; 0x02244190 str r0, [sp, #4] bl MI_CpuFill8 add r0, r4, #0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get ldr r5, [sp, #4] add r7, r0, #0 mov r4, #0 @@ -22189,7 +22189,7 @@ MOD06_02244558: ; 0x02244558 bl FUN_020476CC add r7, r0, #0 ldr r0, [r4, #0xc] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [sp, #4] add r0, r7, #0 add r1, r4, #0 @@ -22206,7 +22206,7 @@ MOD06_02244558: ; 0x02244558 add r4, r0, #0 ldrb r1, [r5, #0xe] ldr r0, [r7, #4] - bl FUN_0206B8CC + bl InitPartyWithMaxSize ldrb r0, [r5, #0xe] mov r6, #0 cmp r0, #0 @@ -22401,7 +22401,7 @@ MOD06_022446FC: ; 0x022446FC ldr r1, _02244750 ; =0x0000083E strh r0, [r6, r1] add r0, r4, #0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r7, r0, #0 mov r4, #0 add r5, r6, #0 @@ -23257,7 +23257,7 @@ _02244D8A: bl MOD06_02244388 ldr r0, [r7, #4] add r1, r4, #0 - bl FUN_0206B900 + bl AddMonToParty ldr r0, [sp] add r6, r6, #1 add r5, #0x38 @@ -31059,10 +31059,10 @@ MOD06_022488FC: ; 0x022488FC ldr r0, [r5, #0xc] add r4, r1, #0 add r6, r2, #0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get ldr r2, [r4, #4] add r1, r6, #0 - bl FUN_0206B9DC + bl ReplacePartySlotWithMon ldr r0, [r5, #0xc] ldr r1, [r4, #4] bl FUN_0202C144 @@ -31077,7 +31077,7 @@ MOD06_0224891C: ; 0x0224891C add r7, r2, #0 add r5, r1, #0 add r4, r3, #0 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r7, #0 bl GetPartyMonByIndex mov r1, #0xa0 diff --git a/arm9/modules/11/asm/module_11_thumb1.s b/arm9/modules/11/asm/module_11_thumb1.s index ed9b4dc3..3da91ac5 100644 --- a/arm9/modules/11/asm/module_11_thumb1.s +++ b/arm9/modules/11/asm/module_11_thumb1.s @@ -1153,7 +1153,7 @@ _0222DFE4: _0222DFEC: ldr r0, [r5, #0x68] ldr r1, [r6, #4] - bl FUN_0206BAD0 + bl CopyPlayerParty ldr r0, [r5, #0x68] bl FreeToHeap add r1, r6, #0 @@ -1945,7 +1945,7 @@ _0222E69E: mov r7, #5 _0222E6D2: add r0, r7, #0 - bl FUN_0206B8AC + bl SavArray_Party_alloc str r0, [r5, #0x68] add r6, r6, #1 add r5, r5, #4 @@ -1997,7 +1997,7 @@ _0222E734: ldr r0, [sp, #4] ldr r1, [r5, #0x68] ldr r0, [r0, #4] - bl FUN_0206BAD0 + bl CopyPlayerParty ldr r0, [sp, #4] add r6, r6, #1 add r0, r0, #4 @@ -2102,7 +2102,7 @@ _0222E810: ldr r0, [sp, #4] ldr r1, [r5, #0x68] ldr r0, [r0, #4] - bl FUN_0206BAD0 + bl CopyPlayerParty ldr r0, [sp, #4] add r6, r6, #1 add r0, r0, #4 @@ -2212,7 +2212,7 @@ _0222E8FE: ldr r0, [sp, #4] ldr r1, [r5, #0x68] ldr r0, [r0, #4] - bl FUN_0206BAD0 + bl CopyPlayerParty ldr r0, [sp, #4] add r6, r6, #1 add r0, r0, #4 @@ -2342,7 +2342,7 @@ _0222EA0C: ldr r0, [sp, #4] ldr r1, [r7, #0x68] ldr r0, [r0, #4] - bl FUN_0206BAD0 + bl CopyPlayerParty ldr r0, [r7, #0x68] mov r5, #0 bl GetPartyCount @@ -2428,7 +2428,7 @@ _0222EAC0: ldr r0, [sp, #4] ldr r1, [r5, #0x68] ldr r0, [r0, #4] - bl FUN_0206BAD0 + bl CopyPlayerParty ldr r0, [sp, #4] add r6, r6, #1 add r0, r0, #4 @@ -2555,7 +2555,7 @@ _0222EBC6: ldr r0, [sp, #4] ldr r1, [r5, #0x68] ldr r0, [r0, #4] - bl FUN_0206BAD0 + bl CopyPlayerParty ldr r0, [sp, #4] add r6, r6, #1 add r0, r0, #4 @@ -2664,7 +2664,7 @@ _0222ECA6: ldr r0, [sp, #4] ldr r1, [r5, #0x68] ldr r0, [r0, #4] - bl FUN_0206BAD0 + bl CopyPlayerParty ldr r0, [sp, #4] add r6, r6, #1 add r0, r0, #4 @@ -2797,7 +2797,7 @@ _0222EDBC: ldr r0, [sp, #4] ldr r1, [r7, #0x68] ldr r0, [r0, #4] - bl FUN_0206BAD0 + bl CopyPlayerParty ldr r0, [r7, #0x68] mov r5, #0 bl GetPartyCount diff --git a/arm9/modules/11/asm/module_11_thumb2.s b/arm9/modules/11/asm/module_11_thumb2.s index 92756469..1dae40e9 100644 --- a/arm9/modules/11/asm/module_11_thumb2.s +++ b/arm9/modules/11/asm/module_11_thumb2.s @@ -25766,7 +25766,7 @@ _0223BC8A: bl MOD11_022564A8 ldr r0, [sp, #0x28] add r1, r6, #0 - bl FUN_0206B900 + bl AddMonToParty cmp r0, #1 bne _0223BD1E ldr r0, [r4, #0x28] @@ -63816,7 +63816,7 @@ MOD11_0224E130: ; 0x0224E130 ldr r1, [r4, #8] str r0, [r1, #4] mov r0, #5 - bl FUN_0206B8AC + bl SavArray_Party_alloc ldr r1, [r4, #8] mov r6, #0 ldr r1, [r1, #4] @@ -70358,7 +70358,7 @@ _02251662: mov r1, #6 ldr r0, [r0, #4] ldr r0, [r0] - bl FUN_0206B8CC + bl InitPartyWithMaxSize ldr r0, [sp, #0x14] mov r6, #0 bl GetPartyCount @@ -70376,7 +70376,7 @@ _02251680: ldr r0, [r4, #8] ldr r0, [r0, #4] ldr r0, [r0] - bl FUN_0206B900 + bl AddMonToParty ldr r1, [r4, #8] ldrb r0, [r5, #0x18] ldr r1, [r1, #4] @@ -71710,7 +71710,7 @@ _02252146: bl AllocFromHeap str r0, [r4, #4] mov r0, #5 - bl FUN_0206B8AC + bl SavArray_Party_alloc ldr r1, [r4, #4] str r0, [r1] ldr r0, [r4] @@ -71753,7 +71753,7 @@ _022521AE: ldr r0, [r4, #4] add r1, r6, #0 ldr r0, [r0] - bl FUN_0206B900 + bl AddMonToParty add r5, r5, #1 cmp r5, #6 blt _022521AE @@ -71904,7 +71904,7 @@ _022522E2: add r1, r0, #0 ldr r0, [r4, #4] ldr r0, [r0] - bl FUN_0206B900 + bl AddMonToParty ldr r0, [r4, #4] ldrb r1, [r6, #0x1c] add r0, r0, r5 diff --git a/arm9/modules/14/asm/module_14.s b/arm9/modules/14/asm/module_14.s index c8d6e847..0958064d 100644 --- a/arm9/modules/14/asm/module_14.s +++ b/arm9/modules/14/asm/module_14.s @@ -7527,7 +7527,7 @@ MOD14_021DB220: ; 0x021DB220 sub r0, r1, #4 str r2, [r5, r0] ldr r0, [r4] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get mov r1, #0x49 lsl r1, r1, #2 str r0, [r5, r1] @@ -8661,7 +8661,7 @@ _021DBA98: lsl r0, r0, #2 ldrsb r1, [r5, r1] ldr r0, [r7, r0] - bl FUN_0206B938 + bl RemoveMonFromParty mov r0, #1 _021DBAB6: strb r0, [r4, #0xb] @@ -8878,7 +8878,7 @@ _021DBC42: lsl r0, r0, #2 ldr r0, [r5, r0] ldr r1, [r4] - bl FUN_0206B900 + bl AddMonToParty b _021DBC70 _021DBC56: mov r1, #0x1a @@ -8891,7 +8891,7 @@ _021DBC56: ldr r0, [r5, r1] add r1, #0x7c ldr r1, [r5, r1] - bl FUN_0206B900 + bl AddMonToParty _021DBC70: mov r0, #0x49 lsl r0, r0, #2 @@ -9056,7 +9056,7 @@ _021DBDB0: ldrsb r1, [r1, r2] add r3, #0x7c ldr r2, [r5, r3] - bl FUN_0206B9DC + bl ReplacePartySlotWithMon mov r0, #1 strb r0, [r4, #0xb] _021DBDC8: @@ -9108,7 +9108,7 @@ MOD14_021DBE00: ; 0x021DBE00 lsl r0, r0, #2 ldrsb r1, [r4, r1] ldr r0, [r5, r0] - bl FUN_0206B938 + bl RemoveMonFromParty add r0, r5, #0 bl MOD14_021DB934 mov r0, #1 @@ -9154,7 +9154,7 @@ _021DBE70: lsl r0, r0, #2 ldrsb r1, [r4, r1] ldr r0, [r5, r0] - bl FUN_0206B938 + bl RemoveMonFromParty _021DBE7E: add r0, r5, #0 bl MOD14_021DB934 diff --git a/arm9/modules/27/asm/module_27.s b/arm9/modules/27/asm/module_27.s index 3ac786b0..9fa91fb4 100644 --- a/arm9/modules/27/asm/module_27.s +++ b/arm9/modules/27/asm/module_27.s @@ -56,7 +56,7 @@ MOD27_0225489C: ; 0x0225489C strb r0, [r5, #2] add r0, r4, #0 bl MOD20_02252C40 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r0, #0 add r0, r5, #4 bl MOD27_02254A48 @@ -223,7 +223,7 @@ _0225499C: blo _02254A02 ldr r0, [r4, #0x78] bl MOD20_02252C40 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get add r1, r0, #0 add r0, r4, #4 bl MOD27_02254A48 diff --git a/arm9/modules/28/asm/module_28.s b/arm9/modules/28/asm/module_28.s index 16acbd62..618309d1 100644 --- a/arm9/modules/28/asm/module_28.s +++ b/arm9/modules/28/asm/module_28.s @@ -57,7 +57,7 @@ MOD28_0225489C: ; 0x0225489C strb r0, [r7, #2] str r4, [r7, #0x60] bl FUN_020225F8 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get mov r1, #0 str r0, [sp, #4] str r1, [sp] diff --git a/arm9/modules/39/asm/module_39.s b/arm9/modules/39/asm/module_39.s index 6ee54fe8..a850e16a 100644 --- a/arm9/modules/39/asm/module_39.s +++ b/arm9/modules/39/asm/module_39.s @@ -49,7 +49,7 @@ MOD39_0225489C: ; 0x0225489C str r1, [sp, #8] str r2, [sp, #0xc] bl MOD20_02252C40 - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [sp, #0x10] bl GetPartyCount ldr r1, [sp, #4] diff --git a/arm9/modules/56/asm/module_56.s b/arm9/modules/56/asm/module_56.s index 8fb23c76..3f445873 100644 --- a/arm9/modules/56/asm/module_56.s +++ b/arm9/modules/56/asm/module_56.s @@ -210,7 +210,7 @@ MOD56_02211F88: ; 0x02211F88 push {r3, r4, r5, r6, r7, lr} add r0, #0xc4 ldr r0, [r0] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [sp] bl GetPartyCount mov r5, #0 @@ -1984,7 +1984,7 @@ MOD56_02212E0C: ; 0x02212E0C add r0, r5, #0 add r0, #0xc4 ldr r0, [r0] - bl FUN_0206BB1C + bl SavArray_PlayerParty_get str r0, [sp, #0xc] add r0, r5, #0 add r0, #0xc4 diff --git a/arm9/modules/71/asm/module_71.s b/arm9/modules/71/asm/module_71.s index a409c3fb..b4e8e297 100644 --- a/arm9/modules/71/asm/module_71.s +++ b/arm9/modules/71/asm/module_71.s @@ -2143,7 +2143,7 @@ MOD71_0222E76C: ; 0x0222E76C str r0, [r5, r1] ldr r0, [r4, #0x10] str r0, [r5, #4] - bl FUN_0206B8A4 + bl SavArray_Party_sizeof add r1, r0, #0 mov r0, #0x1a bl AllocFromHeap @@ -2151,8 +2151,8 @@ MOD71_0222E76C: ; 0x0222E76C str r0, [r5, r1] ldr r0, [r5, r1] mov r1, #6 - bl FUN_0206B8CC - bl FUN_0206B8A4 + bl InitPartyWithMaxSize + bl SavArray_Party_sizeof add r2, r0, #0 ldr r0, _0222E844 ; =0x0000221C mov r1, #0xff diff --git a/arm9/modules/80/asm/module_80.s b/arm9/modules/80/asm/module_80.s index 63810310..8e97f574 100644 --- a/arm9/modules/80/asm/module_80.s +++ b/arm9/modules/80/asm/module_80.s @@ -16117,7 +16117,7 @@ _02235590: add r1, #0xba ldrh r1, [r1] ldr r0, [r0, #8] - bl FUN_0206B938 + bl RemoveMonFromParty ldr r0, [r5] ldr r1, _022355EC ; =0x000001B9 ldr r0, [r0, #8] @@ -16186,7 +16186,7 @@ _02235640: ldr r0, [r5] add r1, r4, #0 ldr r0, [r0, #8] - bl FUN_0206B900 + bl AddMonToParty ldr r0, [r5] ldr r0, [r0, #8] bl GetPartyCount @@ -16265,7 +16265,7 @@ _022356D2: ldr r0, [r5] add r1, r4, #0 ldr r0, [r0, #8] - bl FUN_0206B900 + bl AddMonToParty ldr r0, [r5] ldr r0, [r0, #8] bl GetPartyCount diff --git a/arm9/src/event_data.c b/arm9/src/event_data.c new file mode 100644 index 00000000..cf33b201 --- /dev/null +++ b/arm9/src/event_data.c @@ -0,0 +1,78 @@ +#include "global.h" +#include "save_block_2.h" +#include "event_data.h" + +#pragma thumb on + +u8 UNK_021C5A14[8]; + +u8 * GetFlagAddr(struct ScriptState * state, u16 flag_id); + +u32 SavArray_Flags_sizeof(void) +{ + return sizeof(struct ScriptState); +} + +void SavArray_Flags_init(struct ScriptState * state) +{ + memset(state, 0, sizeof(struct ScriptState)); +} + +struct ScriptState * SavArray_Flags_get(struct SaveBlock2 * sav2) +{ + return (struct ScriptState *)SavArray_get(sav2, 4); +} + +BOOL CheckFlagInArray(struct ScriptState * state, u16 flag_id) +{ + u8 * ptr = GetFlagAddr(state, flag_id); + if (ptr != NULL) + { + int mask = 1 << (flag_id % 8); + if (*ptr & mask) + return TRUE; + } + return FALSE; +} + +void SetFlagInArray(struct ScriptState * state, u16 flag_id) +{ + u8 * ptr = GetFlagAddr(state, flag_id); + if (ptr != NULL) + { + int mask = 1 << (flag_id % 8); + *ptr |= mask; + } +} + +void ClearFlagInArray(struct ScriptState * state, u16 flag_id) +{ + u8 * ptr = GetFlagAddr(state, flag_id); + if (ptr != NULL) + { + int mask = 1 << (flag_id % 8); + *ptr &= 0xFF ^ mask; + } +} + +u8 * GetFlagAddr(struct ScriptState * state, u16 flag_id) +{ + if (flag_id == 0) + return 0; + if (flag_id < 0x4000) + { + GF_ASSERT((flag_id / 8) < 364); + return &state->flags[flag_id / 8]; + } + else + { + GF_ASSERT(((flag_id - 0x4000) / 8) < 8); + return &UNK_021C5A14[(flag_id - 0x4000) / 8]; + } +} + +u16 * GetVarAddr(struct ScriptState * state, u16 var_id) +{ + GF_ASSERT((var_id - 0x4000) < 288); + return &state->vars[var_id - 0x4000]; +} diff --git a/arm9/src/party.c b/arm9/src/party.c index e0eb2a93..1b9c505f 100644 --- a/arm9/src/party.c +++ b/arm9/src/party.c @@ -1,42 +1,41 @@ #include "global.h" #include "party.h" #include "heap.h" -#include "proto.h" #pragma thumb on -void FUN_0206B8C0(struct PlayerParty * party); -void FUN_0206B8CC(struct PlayerParty * party, int count); +void SavArray_Party_init(struct PlayerParty * party); +void InitPartyWithMaxSize(struct PlayerParty * party, int count); -u32 FUN_0206B8A4(void) +u32 SavArray_Party_sizeof(void) { return sizeof(struct PlayerParty); } -struct PlayerParty * FUN_0206B8AC(u32 heap_id) +struct PlayerParty * SavArray_Party_alloc(u32 heap_id) { struct PlayerParty * ret = (struct PlayerParty *)AllocFromHeap(heap_id, sizeof(struct PlayerParty)); - FUN_0206B8C0(ret); + SavArray_Party_init(ret); return ret; } -void FUN_0206B8C0(struct PlayerParty * party) +void SavArray_Party_init(struct PlayerParty * party) { - FUN_0206B8CC(party, PARTY_SIZE); + InitPartyWithMaxSize(party, PARTY_SIZE); } -void FUN_0206B8CC(struct PlayerParty * party, int count) +void InitPartyWithMaxSize(struct PlayerParty * party, int count) { int i; GF_ASSERT(count <= PARTY_SIZE); memset(party, 0, sizeof(struct PlayerParty)); party->curCount = 0; party->maxCount = count; - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) ZeroMonData(&party->mons[i]); } -BOOL FUN_0206B900(struct PlayerParty * party, struct Pokemon * pokemon) +BOOL AddMonToParty(struct PlayerParty * party, struct Pokemon * pokemon) { if (party->curCount >= party->maxCount) return FALSE; @@ -45,7 +44,7 @@ BOOL FUN_0206B900(struct PlayerParty * party, struct Pokemon * pokemon) return TRUE; } -BOOL FUN_0206B938(struct PlayerParty * party, int pos) +BOOL RemoveMonFromParty(struct PlayerParty * party, int pos) { int i; @@ -77,7 +76,7 @@ struct Pokemon * GetPartyMonByIndex(struct PlayerParty * party, int pos) return &party->mons[pos]; } -void FUN_0206B9DC(struct PlayerParty * party, int pos, struct Pokemon * pokemon) +void ReplacePartySlotWithMon(struct PlayerParty * party, int pos, struct Pokemon * pokemon) { int r2; GF_ASSERT(pos >= 0); @@ -88,7 +87,7 @@ void FUN_0206B9DC(struct PlayerParty * party, int pos, struct Pokemon * pokemon) party->curCount += r2; } -BOOL FUN_0206BA38(struct PlayerParty * party, int pos1, int pos2) +BOOL SwapSlotsInParty(struct PlayerParty * party, int pos1, int pos2) { struct Pokemon * buffer; GF_ASSERT(pos1 >= 0); @@ -105,7 +104,7 @@ BOOL FUN_0206BA38(struct PlayerParty * party, int pos1, int pos2) return FALSE; } -void FUN_0206BAD0(struct PlayerParty * src, struct PlayerParty * dest) +void CopyPlayerParty(struct PlayerParty * src, struct PlayerParty * dest) { *dest = *src; } @@ -121,7 +120,7 @@ BOOL PartyHasMon(struct PlayerParty * party, u16 species) return i != party->curCount; } -struct PlayerParty * FUN_0206BB1C(void * ptr) +struct PlayerParty * SavArray_PlayerParty_get(struct SaveBlock2 * ptr) { return (struct PlayerParty *)SavArray_get(ptr, 2); } diff --git a/include/event_data.h b/include/event_data.h new file mode 100644 index 00000000..e1d46348 --- /dev/null +++ b/include/event_data.h @@ -0,0 +1,19 @@ +#ifndef GUARD_SCRIPT_STATE_H +#define GUARD_SCRIPT_STATE_H + +struct ScriptState +{ + u16 vars[288]; + u8 flags[364]; +}; + +u32 SavArray_Flags_sizeof(void); +void SavArray_Flags_init(struct ScriptState * state); +struct ScriptState * SavArray_Flags_get(struct SaveBlock2 * sav2); +BOOL CheckFlagInArray(struct ScriptState * state, u16 flag_id); +void SetFlagInArray(struct ScriptState * state, u16 flag_id); +void ClearFlagInArray(struct ScriptState * state, u16 flag_id); +u8 * GetFlagAddr(struct ScriptState * state, u16 flag_id); +u16 * GetVarAddr(struct ScriptState * state, u16 var_id); + +#endif //GUARD_SCRIPT_STATE_H diff --git a/include/party.h b/include/party.h index eca62239..2d06705c 100644 --- a/include/party.h +++ b/include/party.h @@ -2,19 +2,20 @@ #define POKEDIAMOND_PARTY_H #include "pokemon.h" +#include "save_block_2.h" BOOL PartyHasMon(struct PlayerParty * party_p, u16 species); int GetPartyCount(struct PlayerParty * party_p); struct Pokemon * GetPartyMonByIndex(struct PlayerParty * party_p, int idx); -u32 FUN_0206B8A4(void); -struct PlayerParty * FUN_0206B8AC(u32 heap_id); -void FUN_0206B8C0(struct PlayerParty * party); -void FUN_0206B8CC(struct PlayerParty * party, int count); -BOOL FUN_0206B900(struct PlayerParty * party, struct Pokemon * pokemon); -BOOL FUN_0206B938(struct PlayerParty * party, int pos); -void FUN_0206B9DC(struct PlayerParty * party, int pos, struct Pokemon * pokemon); -BOOL FUN_0206BA38(struct PlayerParty * party, int pos1, int pos2); -void FUN_0206BAD0(struct PlayerParty * src, struct PlayerParty * dest); -struct PlayerParty * FUN_0206BB1C(void * ptr); +u32 SavArray_Party_sizeof(void); +struct PlayerParty * SavArray_Party_alloc(u32 heap_id); +void SavArray_Party_init(struct PlayerParty * party); +void InitPartyWithMaxSize(struct PlayerParty * party, int count); +BOOL AddMonToParty(struct PlayerParty * party, struct Pokemon * pokemon); +BOOL RemoveMonFromParty(struct PlayerParty * party, int pos); +void ReplacePartySlotWithMon(struct PlayerParty * party, int pos, struct Pokemon * pokemon); +BOOL SwapSlotsInParty(struct PlayerParty * party, int pos1, int pos2); +void CopyPlayerParty(struct PlayerParty * src, struct PlayerParty * dest); +struct PlayerParty * SavArray_PlayerParty_get(struct SaveBlock2 * ptr); #endif //POKEDIAMOND_PARTY_H diff --git a/include/pokemon.h b/include/pokemon.h index 2387ef78..6148544f 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -9,7 +9,6 @@ #include "seals.h" #include "constants/pokemon.h" #include "string16.h" -#include "save_block_2.h" struct BaseStats { /* 0x00 */ u8 hp; @@ -199,6 +198,8 @@ struct PlayerParty struct Pokemon mons[PARTY_SIZE]; }; +#include "save_block_2.h" + void ZeroMonData(struct Pokemon * pokemon); void ZeroBoxMonData(struct BoxPokemon * boxmon); u32 SizeOfStructPokemon(void); diff --git a/include/proto.h b/include/proto.h index 506d0992..fb2f8a78 100644 --- a/include/proto.h +++ b/include/proto.h @@ -16,7 +16,6 @@ void FUN_02005E80(int); void FUN_02005E90(int, int, int, int); void FUN_020056AC(int, int, int, int, int); void FUN_020808AC(struct BoxPokemon *, int, int, int, int); -void * SavArray_get(void *, int); void StringExpandPlaceholders(u32 *, struct String *, struct String *); #endif //POKEDIAMOND_PROTO_H diff --git a/include/save_block_2.h b/include/save_block_2.h index ac5a2044..b086e566 100644 --- a/include/save_block_2.h +++ b/include/save_block_2.h @@ -1,18 +1,25 @@ #ifndef POKEDIAMOND_SAVE_BLOCK_2_H #define POKEDIAMOND_SAVE_BLOCK_2_H +#include "pokemon.h" + struct SaveBlock2 { - u16 playerName[OT_NAME_LENGTH + 1]; - u32 playerId; - u8 filler_14[4]; - u8 gender; - u8 padding[3]; + /* 0x00000 */ u16 playerName[OT_NAME_LENGTH + 1]; + /* 0x00010 */ u32 playerId; + /* 0x00014 */ u32 money; + /* 0x00018 */ u8 gender; + /* 0x00019 */ u8 origin; + /* 0x0001A */ u8 badges; + /* 0x0001B */ u8 avatar; + /* 0x0001C */ u8 filler_0001C[0x14]; + /* 0x00030 */ struct PlayerParty party; // TODO: finish this st ruct }; struct String * FUN_020239A0(struct SaveBlock2 *, u32 heap_id); u32 FUN_020239BC(struct SaveBlock2 *); u32 FUN_020239CC(struct SaveBlock2 *); +void * SavArray_get(struct SaveBlock2 *, int); #endif //POKEDIAMOND_SAVE_BLOCK_2_H |