begin new save.c, label lots of things

This commit is contained in:
DizzyEggg 2017-09-03 22:50:17 +02:00
parent d09f39e971
commit 5afd2d5bfb
55 changed files with 533 additions and 603 deletions

View File

@ -14892,7 +14892,7 @@ _0804E170:
ldr r1, =gBattleStruct ldr r1, =gBattleStruct
ldr r1, [r1] ldr r1, [r1]
ldrb r1, [r1, 0x10] ldrb r1, [r1, 0x10]
ldr r2, =gUnknown_020244E9 ldr r2, =gPlayerPartyCount
ldrb r2, [r2] ldrb r2, [r2]
subs r2, 0x1 subs r2, 0x1
lsls r2, 24 lsls r2, 24

View File

@ -336,8 +336,8 @@ _0813C1D4:
.pool .pool
thumb_func_end sub_813C170 thumb_func_end sub_813C170
thumb_func_start sub_813C1F8 thumb_func_start InitLinkBattleRecords
sub_813C1F8: @ 813C1F8 InitLinkBattleRecords: @ 813C1F8
push {lr} push {lr}
ldr r0, =gSaveBlock1Ptr ldr r0, =gSaveBlock1Ptr
ldr r0, [r0] ldr r0, [r0]
@ -347,7 +347,7 @@ sub_813C1F8: @ 813C1F8
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_813C1F8 thumb_func_end InitLinkBattleRecords
thumb_func_start sub_813C214 thumb_func_start sub_813C214
sub_813C214: @ 813C214 sub_813C214: @ 813C214

View File

@ -256,9 +256,9 @@ _080E178E:
bx r1 bx r1
thumb_func_end WaterBerryTree thumb_func_end WaterBerryTree
thumb_func_start RemoveAllBerryTrees thumb_func_start ClearBerryTrees
@ void RemoveAllBerryTrees() @ void ClearBerryTrees()
RemoveAllBerryTrees: @ 80E1794 ClearBerryTrees: @ 80E1794
push {r4-r6,lr} push {r4-r6,lr}
movs r2, 0 movs r2, 0
ldr r6, =gSaveBlock1Ptr ldr r6, =gSaveBlock1Ptr
@ -280,7 +280,7 @@ _080E17A2:
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end RemoveAllBerryTrees thumb_func_end ClearBerryTrees
thumb_func_start BerryTreeGrow thumb_func_start BerryTreeGrow
@ bool8 BerryTreeGrow(struct BerryTreeInfo *berryTree) @ bool8 BerryTreeGrow(struct BerryTreeInfo *berryTree)

View File

@ -327,8 +327,8 @@ _080F9A6E:
.pool .pool
thumb_func_end sub_80F9A14 thumb_func_end sub_80F9A14
thumb_func_start sub_80F9A7C thumb_func_start InitSeedotSizeRecord
sub_80F9A7C: @ 80F9A7C InitSeedotSizeRecord: @ 80F9A7C
push {lr} push {lr}
ldr r0, =0x00004047 ldr r0, =0x00004047
movs r1, 0x80 movs r1, 0x80
@ -337,7 +337,7 @@ sub_80F9A7C: @ 80F9A7C
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_80F9A7C thumb_func_end InitSeedotSizeRecord
thumb_func_start sub_80F9A90 thumb_func_start sub_80F9A90
sub_80F9A90: @ 80F9A90 sub_80F9A90: @ 80F9A90
@ -372,8 +372,8 @@ sub_80F9AAC: @ 80F9AAC
.pool .pool
thumb_func_end sub_80F9AAC thumb_func_end sub_80F9AAC
thumb_func_start sub_80F9AD4 thumb_func_start InitLotadSizeRecord
sub_80F9AD4: @ 80F9AD4 InitLotadSizeRecord: @ 80F9AD4
push {lr} push {lr}
ldr r0, =0x0000404f ldr r0, =0x0000404f
movs r1, 0x80 movs r1, 0x80
@ -382,7 +382,7 @@ sub_80F9AD4: @ 80F9AD4
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_80F9AD4 thumb_func_end InitLotadSizeRecord
thumb_func_start sub_80F9AE8 thumb_func_start sub_80F9AE8
sub_80F9AE8: @ 80F9AE8 sub_80F9AE8: @ 80F9AE8

View File

@ -92,7 +92,7 @@ sub_81796AC: @ 81796AC
cmp r0, r1 cmp r0, r1
bne _081796F4 bne _081796F4
bl calc_player_party_count bl calc_player_party_count
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r1, [r0] ldrb r1, [r0]
movs r0, 0x64 movs r0, 0x64
muls r0, r1 muls r0, r1

View File

@ -10,14 +10,14 @@ TaskDummy1: @ 80D7668
bx lr bx lr
thumb_func_end TaskDummy1 thumb_func_end TaskDummy1
thumb_func_start sub_80D766C thumb_func_start ResetLinkContestBoolean
sub_80D766C: @ 80D766C ResetLinkContestBoolean: @ 80D766C
ldr r1, =gUnknown_02039F2A ldr r1, =gUnknown_02039F2A
movs r0, 0 movs r0, 0
strb r0, [r1] strb r0, [r1]
bx lr bx lr
.pool .pool
thumb_func_end sub_80D766C thumb_func_end ResetLinkContestBoolean
thumb_func_start sub_80D7678 thumb_func_start sub_80D7678
sub_80D7678: @ 80D7678 sub_80D7678: @ 80D7678
@ -14187,8 +14187,8 @@ sub_80DED60: @ 80DED60
.pool .pool
thumb_func_end sub_80DED60 thumb_func_end sub_80DED60
thumb_func_start sub_80DED74 thumb_func_start ResetContestLinkResults
sub_80DED74: @ 80DED74 ResetContestLinkResults: @ 80DED74
push {r4-r6,lr} push {r4-r6,lr}
movs r0, 0 movs r0, 0
ldr r6, =gSaveBlock2Ptr ldr r6, =gSaveBlock2Ptr
@ -14214,7 +14214,7 @@ _080DED84:
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_80DED74 thumb_func_end ResetContestLinkResults
thumb_func_start sub_80DEDA8 thumb_func_start sub_80DEDA8
sub_80DEDA8: @ 80DEDA8 sub_80DEDA8: @ 80DEDA8
@ -14522,8 +14522,8 @@ _080DF03A:
bx r1 bx r1
thumb_func_end sub_80DEFA8 thumb_func_end sub_80DEFA8
thumb_func_start sub_80DF040 thumb_func_start ClearContestWinnerPicsInContestHall
sub_80DF040: @ 80DF040 ClearContestWinnerPicsInContestHall: @ 80DF040
push {r4-r7,lr} push {r4-r7,lr}
movs r2, 0 movs r2, 0
ldr r0, =gSaveBlock1Ptr ldr r0, =gSaveBlock1Ptr
@ -14551,7 +14551,7 @@ _080DF04C:
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_80DF040 thumb_func_end ClearContestWinnerPicsInContestHall
thumb_func_start sub_80DF080 thumb_func_start sub_80DF080
sub_80DF080: @ 80DF080 sub_80DF080: @ 80DF080

View File

@ -2179,7 +2179,7 @@ _08070B34:
lsls r0, 24 lsls r0, 24
lsrs r6, r0, 24 lsrs r6, r0, 24
movs r5, 0 movs r5, 0
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
cmp r5, r0 cmp r5, r0
bcs _08070BC0 bcs _08070BC0
@ -2225,7 +2225,7 @@ _08070BA8:
_08070BB4: _08070BB4:
adds r4, 0x64 adds r4, 0x64
adds r5, 0x1 adds r5, 0x1
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
cmp r5, r0 cmp r5, r0
bcc _08070B5C bcc _08070B5C

View File

@ -5,8 +5,8 @@
.text .text
thumb_func_start sub_81224D4 thumb_func_start InitDewfordTrend
sub_81224D4: @ 81224D4 InitDewfordTrend: @ 81224D4
push {r4-r7,lr} push {r4-r7,lr}
movs r6, 0 movs r6, 0
ldr r5, =gSaveBlock1Ptr ldr r5, =gSaveBlock1Ptr
@ -77,7 +77,7 @@ _08122522:
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_81224D4 thumb_func_end InitDewfordTrend
thumb_func_start sub_8122580 thumb_func_start sub_8122580
sub_8122580: @ 8122580 sub_8122580: @ 8122580

View File

@ -10202,8 +10202,8 @@ _0811F174:
.pool .pool
thumb_func_end sub_811F108 thumb_func_end sub_811F108
thumb_func_start sub_811F184 thumb_func_start InitEasyChatPhrases
sub_811F184: @ 811F184 InitEasyChatPhrases: @ 811F184
push {r4-r7,lr} push {r4-r7,lr}
movs r2, 0 movs r2, 0
ldr r5, =gSaveBlock1Ptr ldr r5, =gSaveBlock1Ptr
@ -10320,7 +10320,7 @@ _0811F244:
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_811F184 thumb_func_end InitEasyChatPhrases
thumb_func_start sub_811F28C thumb_func_start sub_811F28C
sub_811F28C: @ 811F28C sub_811F28C: @ 811F28C

View File

@ -1031,7 +1031,7 @@ evovle_mon_internal_maybe: @ 813E3DC
beq _0813E40C beq _0813E40C
b _0813E546 b _0813E546
_0813E40C: _0813E40C:
ldr r6, =gUnknown_020244E9 ldr r6, =gPlayerPartyCount
ldrb r0, [r6] ldrb r0, [r6]
cmp r0, 0x5 cmp r0, 0x5
bls _0813E416 bls _0813E416
@ -1099,7 +1099,7 @@ _0813E484:
cmp r4, 0x36 cmp r4, 0x36
ble _0813E484 ble _0813E484
movs r4, 0x43 movs r4, 0x43
ldr r7, =gUnknown_020244E9 ldr r7, =gPlayerPartyCount
_0813E4A0: _0813E4A0:
ldrb r0, [r7] ldrb r0, [r7]
movs r6, 0x64 movs r6, 0x64
@ -1112,7 +1112,7 @@ _0813E4A0:
adds r4, 0x1 adds r4, 0x1
cmp r4, 0x4F cmp r4, 0x4F
ble _0813E4A0 ble _0813E4A0
ldr r4, =gUnknown_020244E9 ldr r4, =gPlayerPartyCount
ldrb r0, [r4] ldrb r0, [r4]
muls r0, r6 muls r0, r6
adds r0, r5 adds r0, r5
@ -2231,7 +2231,7 @@ _0813EF3E:
lsls r5, 3 lsls r5, 3
adds r5, r1 adds r5, r1
ldrb r1, [r5, 0x1C] ldrb r1, [r5, 0x1C]
ldr r2, =gUnknown_020244E9 ldr r2, =gPlayerPartyCount
ldrb r2, [r2] ldrb r2, [r2]
subs r2, 0x1 subs r2, 0x1
lsls r2, 24 lsls r2, 24
@ -3382,7 +3382,7 @@ _0813FA3E:
lsls r5, 3 lsls r5, 3
adds r5, r1 adds r5, r1
ldrb r1, [r5, 0x1C] ldrb r1, [r5, 0x1C]
ldr r2, =gUnknown_020244E9 ldr r2, =gPlayerPartyCount
ldrb r2, [r2] ldrb r2, [r2]
subs r2, 0x1 subs r2, 0x1
lsls r2, 24 lsls r2, 24

View File

@ -2172,7 +2172,7 @@ _0809D062:
b _0809D084 b _0809D084
_0809D07C: _0809D07C:
adds r0, r1, 0 adds r0, r1, 0
bl script_env_2_execute_new_script bl ScriptContext2_RunNewScript
_0809D082: _0809D082:
movs r0, 0 movs r0, 0
_0809D084: _0809D084:

View File

@ -312,14 +312,14 @@ c2_copyright_1: @ 816CEAC
bl ResetSaveCounters bl ResetSaveCounters
movs r0, 0 movs r0, 0
bl sub_81534D0 bl sub_81534D0
ldr r0, =gUnknown_03006210 ldr r0, =gSaveFileStatus
ldrh r0, [r0] ldrh r0, [r0]
cmp r0, 0 cmp r0, 0
beq _0816CEDE beq _0816CEDE
cmp r0, 0x2 cmp r0, 0x2
bne _0816CEE2 bne _0816CEE2
_0816CEDE: _0816CEDE:
bl init_sav2 bl Sav2_ClearSetDefault
_0816CEE2: _0816CEE2:
ldr r0, =gSaveBlock2Ptr ldr r0, =gSaveBlock2Ptr
ldr r0, [r0] ldr r0, [r0]

View File

@ -1153,8 +1153,8 @@ _080D708C:
bx r0 bx r0
thumb_func_end sub_80D702C thumb_func_end sub_80D702C
thumb_func_start sub_80D7094 thumb_func_start ClearBag
sub_80D7094: @ 80D7094 ClearBag: @ 80D7094
push {r4,r5,lr} push {r4,r5,lr}
movs r4, 0 movs r4, 0
ldr r5, =gBagPockets ldr r5, =gBagPockets
@ -1173,7 +1173,7 @@ _080D709A:
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_80D7094 thumb_func_end ClearBag
thumb_func_start CountTotalItemQuantityInBag thumb_func_start CountTotalItemQuantityInBag
@ u16 CountTotalItemQuantityInBag(u16 itemId) @ u16 CountTotalItemQuantityInBag(u16 itemId)

View File

@ -27719,7 +27719,7 @@ _08017D14:
beq _08017D74 beq _08017D74
adds r4, 0x1 adds r4, 0x1
_08017D2E: _08017D2E:
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
cmp r4, r0 cmp r4, r0
blt _08017D14 blt _08017D14
@ -27728,7 +27728,7 @@ _08017D2E:
.pool .pool
_08017D44: _08017D44:
movs r4, 0 movs r4, 0
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
cmp r4, r0 cmp r4, r0
bge _08017D8E bge _08017D8E
@ -27757,7 +27757,7 @@ _08017D74:
.pool .pool
_08017D84: _08017D84:
adds r4, 0x1 adds r4, 0x1
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
cmp r4, r0 cmp r4, r0
blt _08017D50 blt _08017D50
@ -28090,7 +28090,7 @@ sub_8018024: @ 8018024
push {r4-r6,lr} push {r4-r6,lr}
movs r6, 0 movs r6, 0
movs r5, 0 movs r5, 0
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
cmp r6, r0 cmp r6, r0
bge _08018064 bge _08018064
@ -28115,7 +28115,7 @@ _08018032:
adds r6, 0x1 adds r6, 0x1
_0801805A: _0801805A:
adds r5, 0x1 adds r5, 0x1
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
cmp r5, r0 cmp r5, r0
blt _08018032 blt _08018032
@ -28266,7 +28266,7 @@ _08018146:
_0801816C: _0801816C:
adds r5, 0x1 adds r5, 0x1
_0801816E: _0801816E:
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
cmp r5, r0 cmp r5, r0
blt _08018146 blt _08018146
@ -34712,7 +34712,7 @@ _0801B628:
ldr r1, [r0] ldr r1, [r0]
adds r1, 0xA adds r1, 0xA
adds r0, r4, 0 adds r0, r4, 0
bl sub_80842F4 bl CopyUnalignedWord
mov r2, r8 mov r2, r8
ldr r1, [r2] ldr r1, [r2]
adds r0, r6, 0 adds r0, r6, 0
@ -52660,8 +52660,8 @@ sub_8024668: @ 8024668
.pool .pool
thumb_func_end sub_8024668 thumb_func_end sub_8024668
thumb_func_start sub_802467C thumb_func_start SetBerryPowder
sub_802467C: @ 802467C SetBerryPowder: @ 802467C
ldr r2, =gSaveBlock2Ptr ldr r2, =gSaveBlock2Ptr
ldr r2, [r2] ldr r2, [r2]
adds r2, 0xAC adds r2, 0xAC
@ -52670,7 +52670,7 @@ sub_802467C: @ 802467C
str r2, [r0] str r2, [r0]
bx lr bx lr
.pool .pool
thumb_func_end sub_802467C thumb_func_end SetBerryPowder
thumb_func_start sub_8024690 thumb_func_start sub_8024690
sub_8024690: @ 8024690 sub_8024690: @ 8024690
@ -52749,14 +52749,14 @@ sub_8024700: @ 8024700
cmp r1, r2 cmp r1, r2
bhi _08024730 bhi _08024730
adds r0, r5, 0 adds r0, r5, 0
bl sub_802467C bl SetBerryPowder
movs r0, 0x1 movs r0, 0x1
b _0802473A b _0802473A
.pool .pool
_08024730: _08024730:
adds r0, r5, 0 adds r0, r5, 0
adds r1, r2, 0 adds r1, r2, 0
bl sub_802467C bl SetBerryPowder
movs r0, 0 movs r0, 0
_0802473A: _0802473A:
pop {r4,r5} pop {r4,r5}
@ -52783,7 +52783,7 @@ sub_8024740: @ 8024740
adds r1, r0, 0 adds r1, r0, 0
subs r1, r5 subs r1, r5
adds r0, r4, 0 adds r0, r4, 0
bl sub_802467C bl SetBerryPowder
movs r0, 0x1 movs r0, 0x1
b _08024776 b _08024776
.pool .pool
@ -52815,7 +52815,7 @@ sub_802477C: @ 802477C
ldrh r0, [r5] ldrh r0, [r5]
subs r1, r0 subs r1, r0
adds r0, r4, 0 adds r0, r4, 0
bl sub_802467C bl SetBerryPowder
movs r0, 0x1 movs r0, 0x1
b _080247B6 b _080247B6
.pool .pool
@ -72146,8 +72146,8 @@ sub_802E32C: @ 802E32C
.pool .pool
thumb_func_end sub_802E32C thumb_func_end sub_802E32C
thumb_func_start sub_802E33C thumb_func_start ResetPokeJumpResults
sub_802E33C: @ 802E33C ResetPokeJumpResults: @ 802E33C
push {lr} push {lr}
bl sub_802E32C bl sub_802E32C
movs r1, 0 movs r1, 0
@ -72159,7 +72159,7 @@ sub_802E33C: @ 802E33C
strh r1, [r0, 0x2] strh r1, [r0, 0x2]
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_802E33C thumb_func_end ResetPokeJumpResults
thumb_func_start sub_802E354 thumb_func_start sub_802E354
sub_802E354: @ 802E354 sub_802E354: @ 802E354

View File

@ -29,8 +29,8 @@ _08076B8A:
.pool .pool
thumb_func_end CheckForFlashMemory thumb_func_end CheckForFlashMemory
thumb_func_start memclr_stdsav2 thumb_func_start ClearSav2
memclr_stdsav2: @ 8076B94 ClearSav2: @ 8076B94
push {lr} push {lr}
sub sp, 0x4 sub sp, 0x4
mov r1, sp mov r1, sp
@ -44,10 +44,10 @@ memclr_stdsav2: @ 8076B94
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end memclr_stdsav2 thumb_func_end ClearSav2
thumb_func_start clear_sav1 thumb_func_start ClearSav1
clear_sav1: @ 8076BB8 ClearSav1: @ 8076BB8
push {lr} push {lr}
sub sp, 0x4 sub sp, 0x4
mov r1, sp mov r1, sp
@ -61,7 +61,7 @@ clear_sav1: @ 8076BB8
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end clear_sav1 thumb_func_end ClearSav1
thumb_func_start InitSaveBlockPointersWithRandomOffset thumb_func_start InitSaveBlockPointersWithRandomOffset
@ void InitSaveBlockPointersWithRandomOffset(u8 offset) @ void InitSaveBlockPointersWithRandomOffset(u8 offset)
@ -258,7 +258,7 @@ copy_player_party_to_sav1: @ 8076D8C
push {r4,lr} push {r4,lr}
ldr r0, =gSaveBlock1Ptr ldr r0, =gSaveBlock1Ptr
ldr r0, [r0] ldr r0, [r0]
ldr r1, =gUnknown_020244E9 ldr r1, =gPlayerPartyCount
ldrb r1, [r1] ldrb r1, [r1]
movs r2, 0x8D movs r2, 0x8D
lsls r2, 2 lsls r2, 2
@ -290,7 +290,7 @@ _08076DA0:
thumb_func_start copy_player_party_from_sav1 thumb_func_start copy_player_party_from_sav1
copy_player_party_from_sav1: @ 8076DD4 copy_player_party_from_sav1: @ 8076DD4
push {r4,r5,lr} push {r4,r5,lr}
ldr r1, =gUnknown_020244E9 ldr r1, =gPlayerPartyCount
ldr r0, =gSaveBlock1Ptr ldr r0, =gSaveBlock1Ptr
ldr r0, [r0] ldr r0, [r0]
movs r2, 0x8D movs r2, 0x8D

View File

@ -5,8 +5,8 @@
.text .text
thumb_func_start sub_8177558 thumb_func_start ResetLotteryCorner
sub_8177558: @ 8177558 ResetLotteryCorner: @ 8177558
push {r4,lr} push {r4,lr}
bl Random bl Random
adds r4, r0, 0 adds r4, r0, 0
@ -23,7 +23,7 @@ sub_8177558: @ 8177558
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_8177558 thumb_func_end ResetLotteryCorner
thumb_func_start sub_8177584 thumb_func_start sub_8177584
sub_8177584: @ 8177584 sub_8177584: @ 8177584

View File

@ -278,7 +278,7 @@ _0802F900:
movs r0, 0x1 movs r0, 0x1
strh r0, [r4, 0x1E] strh r0, [r4, 0x1E]
_0802F946: _0802F946:
ldr r0, =gUnknown_03006210 ldr r0, =gSaveFileStatus
ldrh r0, [r0] ldrh r0, [r0]
cmp r0, 0x2 cmp r0, 0x2
beq _0802F990 beq _0802F990

View File

@ -95,8 +95,8 @@ sub_8120154: @ 8120154
bx r0 bx r0
thumb_func_end sub_8120154 thumb_func_end sub_8120154
thumb_func_start sub_8120160 thumb_func_start SetMauvilleOldMan
sub_8120160: @ 8120160 SetMauvilleOldMan: @ 8120160
push {lr} push {lr}
ldr r0, =gSaveBlock2Ptr ldr r0, =gSaveBlock2Ptr
ldr r0, [r0] ldr r0, [r0]
@ -141,7 +141,7 @@ _081201C0:
bl sub_8120B5C bl sub_8120B5C
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_8120160 thumb_func_end SetMauvilleOldMan
thumb_func_start sub_81201C8 thumb_func_start sub_81201C8
sub_81201C8: @ 81201C8 sub_81201C8: @ 81201C8

View File

@ -18,9 +18,9 @@ DecryptMoney: @ 80E5114
.pool .pool
thumb_func_end DecryptMoney thumb_func_end DecryptMoney
thumb_func_start EncryptMoney thumb_func_start SetMoney
@ void EncryptMoney(u32 *moneyPointer, u32 moneyAmount) @ void SetMoney(u32 *moneyPointer, u32 moneyAmount)
EncryptMoney: @ 80E5128 SetMoney: @ 80E5128
ldr r2, =gSaveBlock2Ptr ldr r2, =gSaveBlock2Ptr
ldr r2, [r2] ldr r2, [r2]
adds r2, 0xAC adds r2, 0xAC
@ -29,7 +29,7 @@ EncryptMoney: @ 80E5128
str r2, [r0] str r2, [r0]
bx lr bx lr
.pool .pool
thumb_func_end EncryptMoney thumb_func_end SetMoney
thumb_func_start IsEnoughMoney thumb_func_start IsEnoughMoney
@ bool8 IsEnoughMoney(u32 *moneyPointer, u32 price) @ bool8 IsEnoughMoney(u32 *moneyPointer, u32 price)
@ -71,7 +71,7 @@ add_money: @ 80E5154
_080E5178: _080E5178:
adds r0, r6, 0 adds r0, r6, 0
adds r1, r5, 0 adds r1, r5, 0
bl EncryptMoney bl SetMoney
pop {r4-r6} pop {r4-r6}
pop {r0} pop {r0}
bx r0 bx r0
@ -94,7 +94,7 @@ _080E51A0:
subs r1, r4 subs r1, r4
_080E51A2: _080E51A2:
adds r0, r5, 0 adds r0, r5, 0
bl EncryptMoney bl SetMoney
pop {r4,r5} pop {r4,r5}
pop {r0} pop {r0}
bx r0 bx r0

View File

@ -418,7 +418,7 @@ sub_8153ACC: @ 8153ACC
subs r0, r1 subs r0, r1
ldr r1, [r4, 0x64] ldr r1, [r4, 0x64]
adds r0, r1 adds r0, r1
bl script_env_2_execute_new_script bl ScriptContext2_RunNewScript
movs r0, 0 movs r0, 0
pop {r4} pop {r4}
pop {r1} pop {r1}
@ -680,7 +680,7 @@ _08153D18:
movs r2, 0xB movs r2, 0xB
bl StringCopyN bl StringCopyN
_08153D22: _08153D22:
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
cmp r0, 0x6 cmp r0, 0x6
bne _08153D4C bne _08153D4C

View File

@ -5,251 +5,13 @@
.text .text
thumb_func_start write_word_to_mem
@ void write_word_to_mem(int value, int *mem)
write_word_to_mem: @ 80842CC
strb r0, [r1]
lsrs r2, r0, 8
strb r2, [r1, 0x1]
lsrs r2, r0, 16
strb r2, [r1, 0x2]
lsrs r0, 24
strb r0, [r1, 0x3]
bx lr
thumb_func_end write_word_to_mem
thumb_func_start sub_80842DC
sub_80842DC: @ 80842DC
adds r2, r0, 0
ldrb r0, [r2, 0x3]
lsls r0, 24
ldrb r1, [r2, 0x2]
lsls r1, 16
orrs r0, r1
ldrb r1, [r2, 0x1]
lsls r1, 8
orrs r0, r1
ldrb r1, [r2]
orrs r0, r1
bx lr
thumb_func_end sub_80842DC
thumb_func_start sub_80842F4
sub_80842F4: @ 80842F4
push {r4,lr}
adds r4, r0, 0
adds r3, r1, 0
movs r2, 0
_080842FC:
adds r0, r4, r2
adds r1, r3, r2
ldrb r1, [r1]
strb r1, [r0]
adds r2, 0x1
cmp r2, 0x3
ble _080842FC
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_80842F4
thumb_func_start set_player_trainer_id
set_player_trainer_id: @ 8084310
push {r4,lr}
bl Random
adds r4, r0, 0
bl GetTrainerId
lsls r4, 16
lsls r0, 16
lsrs r0, 16
orrs r4, r0
ldr r0, =gSaveBlock2Ptr
ldr r1, [r0]
adds r1, 0xA
adds r0, r4, 0
bl write_word_to_mem
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end set_player_trainer_id
thumb_func_start init_options
init_options: @ 808433C
ldr r3, =gSaveBlock2Ptr
ldr r2, [r3]
ldrb r1, [r2, 0x14]
movs r0, 0x8
negs r0, r0
ands r0, r1
movs r1, 0x1
orrs r0, r1
strb r0, [r2, 0x14]
ldr r2, [r3]
ldrb r1, [r2, 0x14]
movs r0, 0x7
ands r0, r1
strb r0, [r2, 0x14]
ldr r2, [r3]
ldrb r1, [r2, 0x15]
movs r0, 0x2
negs r0, r0
ands r0, r1
strb r0, [r2, 0x15]
ldr r2, [r3]
ldrb r1, [r2, 0x15]
movs r0, 0x3
negs r0, r0
ands r0, r1
strb r0, [r2, 0x15]
ldr r2, [r3]
ldrb r1, [r2, 0x15]
movs r0, 0x5
negs r0, r0
ands r0, r1
strb r0, [r2, 0x15]
ldr r2, [r3]
ldrb r1, [r2, 0x15]
movs r0, 0x9
negs r0, r0
ands r0, r1
strb r0, [r2, 0x15]
bx lr
.pool
thumb_func_end init_options
thumb_func_start sub_8084390
sub_8084390: @ 8084390
push {r4,lr}
ldr r1, =gUnknown_030060B0
movs r0, 0
strb r0, [r1]
ldr r4, =gSaveBlock2Ptr
ldr r0, [r4]
adds r0, 0x28
movs r1, 0
movs r2, 0x34
bl memset
ldr r0, [r4]
adds r0, 0x5C
movs r1, 0
movs r2, 0x34
bl memset
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8084390
thumb_func_start sub_80843C0
sub_80843C0: @ 80843C0
push {r4-r7,lr}
bl sub_80DF040
movs r2, 0x8
ldr r0, =gSaveBlock1Ptr
mov r12, r0
ldr r4, =0x00002e90
ldr r3, =gUnknown_08339D1C
_080843D0:
mov r1, r12
ldr r0, [r1]
lsls r1, r2, 5
adds r0, r1
adds r0, r4
adds r1, r3, 0
ldm r1!, {r5-r7}
stm r0!, {r5-r7}
ldm r1!, {r5-r7}
stm r0!, {r5-r7}
ldm r1!, {r5,r6}
stm r0!, {r5,r6}
adds r2, 0x1
cmp r2, 0xC
ble _080843D0
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_80843C0
thumb_func_start sub_8084400
sub_8084400: @ 8084400
push {r4,lr}
sub sp, 0x4
movs r0, 0
str r0, [sp]
ldr r4, =gSaveBlock2Ptr
ldr r1, [r4]
ldr r0, =0x0000064c
adds r1, r0
ldr r2, =0x05000238
mov r0, sp
bl CpuSet
ldr r0, [r4]
ldr r1, =0x00000ee1
adds r0, r1
movs r1, 0xFF
strb r1, [r0]
ldr r0, [r4]
ldr r1, =0x00000ee9
adds r0, r1
movs r1, 0x1
negs r1, r1
strb r1, [r0]
add sp, 0x4
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8084400
thumb_func_start sub_808444C
sub_808444C: @ 808444C
push {lr}
sub sp, 0x4
movs r3, 0x1
negs r3, r3
str r3, [sp]
movs r0, 0x19
movs r1, 0x28
adds r2, r3, 0
bl warp1_set
bl warp_in
add sp, 0x4
pop {r0}
bx r0
thumb_func_end sub_808444C
thumb_func_start init_sav2
init_sav2: @ 808446C
push {lr}
bl memclr_stdsav2
bl init_options
pop {r0}
bx r0
thumb_func_end init_sav2
thumb_func_start sub_808447C
sub_808447C: @ 808447C
push {lr}
ldr r1, =gUnknown_020322D4
movs r0, 0
strb r0, [r1]
bl sub_80BB358
bl zero_player_party_data
bl zero_enemy_party_data
bl sub_81AAB70
bl sub_813624C
pop {r0}
bx r0
.pool
thumb_func_end sub_808447C
thumb_func_start NewGameInitData thumb_func_start NewGameInitData
@ void NewGameInitData() @ void NewGameInitData()
NewGameInitData: @ 80844A0 NewGameInitData: @ 80844A0
push {r4,r5,lr} push {r4,r5,lr}
ldr r0, =gUnknown_03006210 ldr r0, =gSaveFileStatus
ldrh r0, [r0] ldrh r0, [r0]
cmp r0, 0 cmp r0, 0
beq _080844AE beq _080844AE
@ -258,7 +20,7 @@ NewGameInitData: @ 80844A0
_080844AE: _080844AE:
bl RtcReset bl RtcReset
_080844B2: _080844B2:
ldr r1, =gUnknown_020322D4 ldr r1, =gDifferentSaveFile
movs r0, 0x1 movs r0, 0x1
strb r0, [r1] strb r0, [r1]
ldr r4, =gSaveBlock2Ptr ldr r4, =gSaveBlock2Ptr
@ -266,80 +28,80 @@ _080844B2:
adds r0, 0xAC adds r0, 0xAC
movs r5, 0 movs r5, 0
str r5, [r0] str r5, [r0]
bl zero_player_party_data bl ZeroPlayerPartyMons
bl zero_enemy_party_data bl ZeroEnemyPartyMons
bl sub_80BB2D0 bl ResetPokedex
bl sub_8084400 bl sub_8084400
bl clear_sav1 bl ClearSav1
bl sub_80D436C bl ClearMailData
ldr r0, [r4] ldr r0, [r4]
strb r5, [r0, 0x9] strb r5, [r0, 0x9]
ldr r0, [r4] ldr r0, [r4]
adds r0, 0xA8 adds r0, 0xA8
str r5, [r0] str r5, [r0]
bl set_player_trainer_id bl InitPlayerTrainerId
bl PlayTimeCounter_Reset bl PlayTimeCounter_Reset
bl sub_8084390 bl ClearPokedexFlags
bl InitEventData bl InitEventData
bl sub_80EBEE0 bl ClearTVShowData
bl GabbyAndTyNewGameInitData bl ResetGabbyAndTy
bl sub_80E8B28 bl ResetSecretBases
bl RemoveAllBerryTrees bl ClearBerryTrees
ldr r4, =gSaveBlock1Ptr ldr r4, =gSaveBlock1Ptr
ldr r0, [r4] ldr r0, [r4]
movs r1, 0x92 movs r1, 0x92
lsls r1, 3 lsls r1, 3
adds r0, r1 adds r0, r1
ldr r1, =0x00000bb8 ldr r1, =0x00000bb8
bl EncryptMoney bl SetMoney
movs r0, 0 movs r0, 0
bl SetCoins bl SetCoins
bl sub_80D766C bl ResetLinkContestBoolean
bl sub_80847A8 bl ResetGameStats
bl sub_80843C0 bl ClearAllContestWinnerPics
bl sub_813C1F8 bl InitLinkBattleRecords
bl sub_80F9A7C bl InitSeedotSizeRecord
bl sub_80F9AD4 bl InitLotadSizeRecord
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
strb r5, [r0] strb r5, [r0]
bl zero_player_party_data bl ZeroPlayerPartyMons
bl sub_80C7770 bl ResetPokemonStorageSystem
bl sub_8161B34 bl ClearRoamerData
bl sub_8161B60 bl ClearRoamerLocationData
ldr r0, [r4] ldr r0, [r4]
ldr r1, =0x00000496 ldr r1, =0x00000496
adds r0, r1 adds r0, r1
strh r5, [r0] strh r5, [r0]
bl sub_80D7094 bl ClearBag
bl sub_816ADF4 bl NewGameInitPCItems
bl sub_8136E88 bl ClearPokeblocks
bl sub_81618B4 bl ClearDecorationInventories
bl sub_811F184 bl InitEasyChatPhrases
bl sub_8120160 bl SetMauvilleOldMan
bl sub_81224D4 bl InitDewfordTrend
bl sub_813BA10 bl ResetFanClub
bl sub_8177558 bl ResetLotteryCorner
bl sub_808444C bl WarpToTruck
ldr r0, =gUnknown_082715DE ldr r0, =gUnknown_082715DE
bl script_env_2_execute_new_script bl ScriptContext2_RunNewScript
bl sub_80845CC bl ResetMiniGamesResults
bl copy_strings_to_sav1 bl copy_strings_to_sav1
bl sub_818DA30 bl SetLilycoveLady
bl sub_819FAA0 bl sub_819FAA0
bl sub_81A4B14 bl sub_81A4B14
bl sub_8195E10 bl sub_8195E10
bl sub_801AFD8 bl sub_801AFD8
bl sub_800E5AC bl sub_800E5AC
bl sub_81D54BC bl sub_81D54BC
bl sub_80DED74 bl ResetContestLinkResults
pop {r4,r5} pop {r4,r5}
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end NewGameInitData thumb_func_end NewGameInitData
thumb_func_start sub_80845CC thumb_func_start ResetMiniGamesResults
sub_80845CC: @ 80845CC ResetMiniGamesResults: @ 80845CC
push {r4-r6,lr} push {r4-r6,lr}
sub sp, 0x4 sub sp, 0x4
mov r0, sp mov r0, sp
@ -359,8 +121,8 @@ sub_80845CC: @ 80845CC
lsls r1, 1 lsls r1, 1
adds r0, r1 adds r0, r1
movs r1, 0 movs r1, 0
bl sub_802467C bl SetBerryPowder
bl sub_802E33C bl ResetPokeJumpResults
mov r0, sp mov r0, sp
adds r0, 0x2 adds r0, 0x2
strh r5, [r0] strh r5, [r0]
@ -375,6 +137,6 @@ sub_80845CC: @ 80845CC
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_80845CC thumb_func_end ResetMiniGamesResults
.align 2, 0 @ Don't pad with nop. .align 2, 0 @ Don't pad with nop.

View File

@ -5,8 +5,8 @@
.text .text
thumb_func_start sub_816ADF4 thumb_func_start NewGameInitPCItems
sub_816ADF4: @ 816ADF4 NewGameInitPCItems: @ 816ADF4
push {r4-r6,lr} push {r4-r6,lr}
movs r4, 0 movs r4, 0
ldr r0, =gSaveBlock1Ptr ldr r0, =gSaveBlock1Ptr
@ -53,7 +53,7 @@ _0816AE48:
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_816ADF4 thumb_func_end NewGameInitPCItems
thumb_func_start sub_816AE58 thumb_func_start sub_816AE58
sub_816AE58: @ 816AE58 sub_816AE58: @ 816AE58

View File

@ -5,8 +5,8 @@
.text .text
thumb_func_start sub_80BB2D0 thumb_func_start ResetPokedex
sub_80BB2D0: @ 80BB2D0 ResetPokedex: @ 80BB2D0
push {r4-r6,lr} push {r4-r6,lr}
ldr r0, =gUnknown_02039B50 ldr r0, =gUnknown_02039B50
movs r2, 0 movs r2, 0
@ -62,7 +62,7 @@ _080BB30C:
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_80BB2D0 thumb_func_end ResetPokedex
thumb_func_start sub_80BB358 thumb_func_start sub_80BB358
sub_80BB358: @ 80BB358 sub_80BB358: @ 80BB358

View File

@ -79,9 +79,9 @@ zero_pokemon_struct: @ 8067A8C
bx r0 bx r0
thumb_func_end zero_pokemon_struct thumb_func_end zero_pokemon_struct
thumb_func_start zero_player_party_data thumb_func_start ZeroPlayerPartyMons
@ void zero_player_party_data() @ void ZeroPlayerPartyMons()
zero_player_party_data: @ 8067B0C ZeroPlayerPartyMons: @ 8067B0C
push {r4,r5,lr} push {r4,r5,lr}
ldr r4, =gPlayerParty ldr r4, =gPlayerParty
movs r0, 0xFA movs r0, 0xFA
@ -97,10 +97,10 @@ _08067B16:
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end zero_player_party_data thumb_func_end ZeroPlayerPartyMons
thumb_func_start zero_enemy_party_data thumb_func_start ZeroEnemyPartyMons
zero_enemy_party_data: @ 8067B2C ZeroEnemyPartyMons: @ 8067B2C
push {r4,r5,lr} push {r4,r5,lr}
ldr r4, =gEnemyParty ldr r4, =gEnemyParty
movs r0, 0xFA movs r0, 0xFA
@ -116,7 +116,7 @@ _08067B36:
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end zero_enemy_party_data thumb_func_end ZeroEnemyPartyMons
thumb_func_start create_pokemon_set_level thumb_func_start create_pokemon_set_level
@ void create_pokemon_set_level(pokemon *mon, s16 species_num, u8 level, u8 forced_iv, char pokemon_id_is_nonrandom, int pokemon_id, u8 trainer_id_mode, int trainer_id) @ void create_pokemon_set_level(pokemon *mon, s16 species_num, u8 level, u8 forced_iv, char pokemon_id_is_nonrandom, int pokemon_id, u8 trainer_id_mode, int trainer_id)
@ -2139,7 +2139,7 @@ DoScriptedWildBattle: @ 8068C18
ldrh r4, [r0] ldrh r4, [r0]
ldr r0, =gSpecialVar_0x8006 ldr r0, =gSpecialVar_0x8006
ldrh r6, [r0] ldrh r6, [r0]
bl zero_enemy_party_data bl ZeroEnemyPartyMons
ldr r7, =gEnemyParty ldr r7, =gEnemyParty
lsls r4, 24 lsls r4, 24
lsrs r4, 24 lsrs r4, 24

View File

@ -2916,7 +2916,7 @@ _0806B446:
adds r1, r6, 0 adds r1, r6, 0
movs r2, 0x64 movs r2, 0x64
bl memcpy_pokemon bl memcpy_pokemon
ldr r1, =gUnknown_020244E9 ldr r1, =gPlayerPartyCount
adds r0, r5, 0x1 adds r0, r5, 0x1
strb r0, [r1] strb r0, [r1]
movs r0, 0 movs r0, 0
@ -3014,7 +3014,7 @@ _0806B530:
@ u8 calc_player_party_count() @ u8 calc_player_party_count()
calc_player_party_count: @ 806B53C calc_player_party_count: @ 806B53C
push {r4,lr} push {r4,lr}
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
movs r1, 0 movs r1, 0
strb r1, [r0] strb r1, [r0]
b _0806B554 b _0806B554
@ -3089,7 +3089,7 @@ sub_806B5C4: @ 806B5C4
push {r4-r6,lr} push {r4-r6,lr}
movs r6, 0 movs r6, 0
bl calc_player_party_count bl calc_player_party_count
ldr r1, =gUnknown_020244E9 ldr r1, =gPlayerPartyCount
ldrb r0, [r1] ldrb r0, [r1]
cmp r0, 0x1 cmp r0, 0x1
beq _0806B628 beq _0806B628
@ -3126,7 +3126,7 @@ _0806B5DC:
adds r6, 0x1 adds r6, 0x1
_0806B616: _0806B616:
adds r5, 0x1 adds r5, 0x1
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
cmp r5, r0 cmp r5, r0
blt _0806B5DC blt _0806B5DC
@ -3262,7 +3262,7 @@ create_enemy_party: @ 806B70C
push {r5-r7} push {r5-r7}
sub sp, 0x14 sub sp, 0x14
adds r5, r0, 0 adds r5, r0, 0
bl zero_enemy_party_data bl ZeroEnemyPartyMons
ldr r4, =gBattleResources ldr r4, =gBattleResources
ldr r0, [r4] ldr r0, [r4]
ldr r0, [r0] ldr r0, [r0]

View File

@ -2484,12 +2484,12 @@ _080E8150:
adds r5, r1, 0 adds r5, r1, 0
adds r5, 0x34 adds r5, 0x34
adds r0, r5, 0 adds r0, r5, 0
bl sub_80842DC bl ReadUnalignedWord
adds r4, r0, 0 adds r4, r0, 0
mov r1, r9 mov r1, r9
ldr r0, [r1] ldr r0, [r1]
adds r0, 0xA adds r0, 0xA
bl sub_80842DC bl ReadUnalignedWord
cmp r4, r0 cmp r4, r0
beq _080E819A beq _080E819A
movs r2, 0x1 movs r2, 0x1
@ -2497,12 +2497,12 @@ _080E8150:
str r6, [sp, 0x4] str r6, [sp, 0x4]
_080E819A: _080E819A:
adds r0, r5, 0 adds r0, r5, 0
bl sub_80842DC bl ReadUnalignedWord
adds r4, r0, 0 adds r4, r0, 0
mov r1, r9 mov r1, r9
ldr r0, [r1] ldr r0, [r1]
adds r0, 0xA adds r0, 0xA
bl sub_80842DC bl ReadUnalignedWord
cmp r4, r0 cmp r4, r0
bne _080E81B8 bne _080E81B8
ldr r2, [sp, 0xC] ldr r2, [sp, 0xC]
@ -2619,7 +2619,7 @@ _080E8286:
ldr r1, [r2] ldr r1, [r2]
adds r1, 0xA adds r1, 0xA
adds r0, r5, 0 adds r0, r5, 0
bl sub_80842F4 bl CopyUnalignedWord
movs r0, 0x2 movs r0, 0x2
strb r0, [r4, 0xE] strb r0, [r4, 0xE]
mov r0, r10 mov r0, r10
@ -2662,13 +2662,13 @@ _080E82DA:
ldr r1, [r2] ldr r1, [r2]
adds r1, 0xA adds r1, 0xA
adds r0, r5, 0 adds r0, r5, 0
bl sub_80842F4 bl CopyUnalignedWord
mov r0, r10 mov r0, r10
ldr r1, [r0] ldr r1, [r0]
ldr r2, [sp, 0x8] ldr r2, [sp, 0x8]
adds r1, r2 adds r1, r2
adds r0, r6, 0 adds r0, r6, 0
bl sub_80842F4 bl CopyUnalignedWord
mov r0, r10 mov r0, r10
ldr r1, [r0] ldr r1, [r0]
mov r0, r9 mov r0, r9
@ -2810,10 +2810,10 @@ sub_80E841C: @ 80E841C
_080E842E: _080E842E:
adds r0, r7, 0 adds r0, r7, 0
adds r0, 0x34 adds r0, 0x34
bl sub_80842DC bl ReadUnalignedWord
adds r4, r0, 0 adds r4, r0, 0
adds r0, r6, 0 adds r0, r6, 0
bl sub_80842DC bl ReadUnalignedWord
cmp r4, r0 cmp r4, r0
bne _080E844E bne _080E844E
ldrb r0, [r7, 0x2] ldrb r0, [r7, 0x2]
@ -3109,13 +3109,13 @@ _080E8666:
ldr r6, [sp, 0x1C] ldr r6, [sp, 0x1C]
adds r0, r6, r0 adds r0, r6, r0
str r3, [sp, 0x4C] str r3, [sp, 0x4C]
bl sub_80842DC bl ReadUnalignedWord
adds r4, r0, 0 adds r4, r0, 0
ldr r1, [sp, 0x50] ldr r1, [sp, 0x50]
ldr r0, [r1] ldr r0, [r1]
add r0, r9 add r0, r9
adds r0, r7 adds r0, r7
bl sub_80842DC bl ReadUnalignedWord
ldr r3, [sp, 0x4C] ldr r3, [sp, 0x4C]
cmp r4, r0 cmp r4, r0
bne _080E86A8 bne _080E86A8
@ -3271,7 +3271,7 @@ _080E878E:
adds r5, r0, r6 adds r5, r0, r6
adds r0, r5, 0 adds r0, r5, 0
str r3, [sp, 0x4C] str r3, [sp, 0x4C]
bl sub_80842DC bl ReadUnalignedWord
adds r4, r0, 0 adds r4, r0, 0
movs r6, 0x90 movs r6, 0x90
lsls r6, 1 lsls r6, 1
@ -3279,18 +3279,18 @@ _080E878E:
mov r1, r9 mov r1, r9
ldr r0, [r1] ldr r0, [r1]
adds r0, r6 adds r0, r6
bl sub_80842DC bl ReadUnalignedWord
ldr r3, [sp, 0x4C] ldr r3, [sp, 0x4C]
cmp r4, r0 cmp r4, r0
bne _080E8808 bne _080E8808
adds r0, r5, 0x4 adds r0, r5, 0x4
bl sub_80842DC bl ReadUnalignedWord
adds r4, r0, 0 adds r4, r0, 0
mov r2, r9 mov r2, r9
ldr r0, [r2] ldr r0, [r2]
adds r0, r6 adds r0, r6
adds r0, 0x4 adds r0, 0x4
bl sub_80842DC bl ReadUnalignedWord
ldr r3, [sp, 0x4C] ldr r3, [sp, 0x4C]
cmp r4, r0 cmp r4, r0
bne _080E8808 bne _080E8808

View File

@ -1154,7 +1154,7 @@ _0809F268:
beq _0809F276 beq _0809F276
b _0809F404 b _0809F404
_0809F276: _0809F276:
ldr r0, =gUnknown_03006210 ldr r0, =gSaveFileStatus
ldrh r0, [r0] ldrh r0, [r0]
cmp r0, 0 cmp r0, 0
beq _0809F282 beq _0809F282

View File

@ -85,7 +85,7 @@ _080326B8:
ands r0, r1 ands r0, r1
cmp r0, 0 cmp r0, 0
beq _08032728 beq _08032728
bl zero_enemy_party_data bl ZeroEnemyPartyMons
ldr r4, =gEnemyParty ldr r4, =gEnemyParty
movs r1, 0x90 movs r1, 0x90
lsls r1, 1 lsls r1, 1

View File

@ -9,7 +9,7 @@
sub_8084620: @ 8084620 sub_8084620: @ 8084620
push {r4,lr} push {r4,lr}
ldr r0, =gUnknown_08271857 ldr r0, =gUnknown_08271857
bl script_env_2_execute_new_script bl ScriptContext2_RunNewScript
ldr r0, =gSaveBlock1Ptr ldr r0, =gSaveBlock1Ptr
ldr r4, [r0] ldr r4, [r0]
movs r0, 0x92 movs r0, 0x92
@ -20,7 +20,7 @@ sub_8084620: @ 8084620
adds r1, r0, 0 adds r1, r0, 0
lsrs r1, 1 lsrs r1, 1
adds r0, r4, 0 adds r0, r4, 0
bl EncryptMoney bl SetMoney
bl sp000_heal_pokemon bl sp000_heal_pokemon
bl sub_8084720 bl sub_8084720
bl copy_saved_warp3_bank_and_enter_x_to_warp1 bl copy_saved_warp3_bank_and_enter_x_to_warp1
@ -65,7 +65,7 @@ sub_808469C: @ 808469C
ldr r0, =0x00000888 ldr r0, =0x00000888
bl FlagReset bl FlagReset
ldr r0, =gUnknown_08271862 ldr r0, =gUnknown_08271862
bl script_env_2_execute_new_script bl ScriptContext2_RunNewScript
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
@ -138,8 +138,8 @@ sub_8084788: @ 8084788
.pool .pool
thumb_func_end sub_8084788 thumb_func_end sub_8084788
thumb_func_start sub_80847A8 thumb_func_start ResetGameStats
sub_80847A8: @ 80847A8 ResetGameStats: @ 80847A8
push {r4,lr} push {r4,lr}
movs r4, 0 movs r4, 0
_080847AC: _080847AC:
@ -153,7 +153,7 @@ _080847AC:
pop {r4} pop {r4}
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_80847A8 thumb_func_end ResetGameStats
thumb_func_start IncrementGameStat thumb_func_start IncrementGameStat
@ void IncrementGameStat(u8 a1) @ void IncrementGameStat(u8 a1)
@ -3496,7 +3496,7 @@ sub_8086230: @ 8086230
bl sub_808631C bl sub_808631C
bl StopMapMusic bl StopMapMusic
bl ResetSafariZoneFlag_ bl ResetSafariZoneFlag_
ldr r0, =gUnknown_03006210 ldr r0, =gSaveFileStatus
ldrh r0, [r0] ldrh r0, [r0]
cmp r0, 0xFF cmp r0, 0xFF
bne _0808624A bne _0808624A

View File

@ -2978,8 +2978,8 @@ sub_8136E20: @ 8136E20
.pool .pool
thumb_func_end sub_8136E20 thumb_func_end sub_8136E20
thumb_func_start sub_8136E88 thumb_func_start ClearPokeblocks
sub_8136E88: @ 8136E88 ClearPokeblocks: @ 8136E88
push {r4,lr} push {r4,lr}
movs r4, 0 movs r4, 0
_08136E8C: _08136E8C:
@ -2993,7 +2993,7 @@ _08136E8C:
pop {r4} pop {r4}
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_8136E88 thumb_func_end ClearPokeblocks
thumb_func_start sub_8136EA4 thumb_func_start sub_8136EA4
sub_8136EA4: @ 8136EA4 sub_8136EA4: @ 8136EA4
@ -12124,8 +12124,8 @@ _0813BA08:
bx r1 bx r1
thumb_func_end sub_813B9C0 thumb_func_end sub_813B9C0
thumb_func_start sub_813BA10 thumb_func_start ResetFanClub
sub_813BA10: @ 813BA10 ResetFanClub: @ 813BA10
ldr r0, =gSaveBlock1Ptr ldr r0, =gSaveBlock1Ptr
ldr r0, [r0] ldr r0, [r0]
ldr r2, =0x0000141e ldr r2, =0x0000141e
@ -12138,7 +12138,7 @@ sub_813BA10: @ 813BA10
strh r2, [r0] strh r2, [r0]
bx lr bx lr
.pool .pool
thumb_func_end sub_813BA10 thumb_func_end ResetFanClub
thumb_func_start sub_813BA30 thumb_func_start sub_813BA30
sub_813BA30: @ 813BA30 sub_813BA30: @ 813BA30

View File

@ -5742,7 +5742,7 @@ _0803800C:
subs r6, 0x1 subs r6, 0x1
cmp r6, 0 cmp r6, 0
bge _08037FA4 bge _08037FA4
bl zero_enemy_party_data bl ZeroEnemyPartyMons
ldr r1, =gBattleCommunication ldr r1, =gBattleCommunication
ldrb r0, [r1] ldrb r0, [r1]
adds r0, 0x1 adds r0, 0x1
@ -6278,7 +6278,7 @@ sub_803849C: @ 803849C
negs r0, r0 negs r0, r0
ands r0, r2 ands r0, r2
strb r0, [r1] strb r0, [r1]
bl zero_enemy_party_data bl ZeroEnemyPartyMons
movs r0, 0x5A movs r0, 0x5A
bl m4aSongNumStop bl m4aSongNumStop
bl sub_805F094 bl sub_805F094
@ -6452,7 +6452,7 @@ _08038610:
_08038624: _08038624:
cmp r2, 0x1 cmp r2, 0x1
bne _0803862C bne _0803862C
bl zero_enemy_party_data bl ZeroEnemyPartyMons
_0803862C: _0803862C:
ldr r0, [r4] ldr r0, [r4]
movs r1, 0x80 movs r1, 0x80

View File

@ -991,8 +991,8 @@ _080C7764:
bx r1 bx r1
thumb_func_end sub_80C76A4 thumb_func_end sub_80C76A4
thumb_func_start sub_80C7770 thumb_func_start ResetPokemonStorageSystem
sub_80C7770: @ 80C7770 ResetPokemonStorageSystem: @ 80C7770
push {r4-r6,lr} push {r4-r6,lr}
movs r0, 0 movs r0, 0
bl sub_80D1D18 bl sub_80D1D18
@ -1048,7 +1048,7 @@ _080C77C2:
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_80C7770 thumb_func_end ResetPokemonStorageSystem
thumb_func_start sub_80C77E8 thumb_func_start sub_80C77E8
sub_80C77E8: @ 80C77E8 sub_80C77E8: @ 80C77E8
@ -5190,7 +5190,7 @@ _080C9CE4:
bne _080C9D08 bne _080C9D08
bl sub_80CABE0 bl sub_80CABE0
bl calc_player_party_count bl calc_player_party_count
ldr r1, =gUnknown_020244E9 ldr r1, =gPlayerPartyCount
strb r0, [r1] strb r0, [r1]
ldr r0, =gUnknown_02039D08 ldr r0, =gUnknown_02039D08
ldr r0, [r0] ldr r0, [r0]
@ -5322,7 +5322,7 @@ _080C9E18:
bne _080C9E3C bne _080C9E3C
bl sub_80CABE0 bl sub_80CABE0
bl calc_player_party_count bl calc_player_party_count
ldr r1, =gUnknown_020244E9 ldr r1, =gPlayerPartyCount
strb r0, [r1] strb r0, [r1]
ldr r0, =gUnknown_02039D08 ldr r0, =gUnknown_02039D08
ldr r0, [r0] ldr r0, [r0]
@ -25542,8 +25542,8 @@ sub_80D4354: @ 80D4354
bx r0 bx r0
thumb_func_end sub_80D4354 thumb_func_end sub_80D4354
thumb_func_start sub_80D436C thumb_func_start ClearMailData
sub_80D436C: @ 80D436C ClearMailData: @ 80D436C
push {r4,r5,lr} push {r4,r5,lr}
movs r4, 0 movs r4, 0
ldr r5, =gSaveBlock1Ptr ldr r5, =gSaveBlock1Ptr
@ -25565,7 +25565,7 @@ _080D4372:
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_80D436C thumb_func_end ClearMailData
thumb_func_start sub_80D439C thumb_func_start sub_80D439C
sub_80D439C: @ 80D439C sub_80D439C: @ 80D439C

View File

@ -15750,7 +15750,7 @@ _08160C56:
ldr r1, [r1] ldr r1, [r1]
adds r1, 0x44 adds r1, 0x44
ldrb r1, [r1] ldrb r1, [r1]
ldr r2, =gUnknown_020244E9 ldr r2, =gPlayerPartyCount
ldrb r2, [r2] ldrb r2, [r2]
subs r2, 0x1 subs r2, 0x1
lsls r2, 24 lsls r2, 24
@ -17157,8 +17157,8 @@ _081618AA:
.pool .pool
thumb_func_end sub_8161880 thumb_func_end sub_8161880
thumb_func_start sub_81618B4 thumb_func_start ClearDecorationInventories
sub_81618B4: @ 81618B4 ClearDecorationInventories: @ 81618B4
push {r4,lr} push {r4,lr}
movs r4, 0 movs r4, 0
_081618B8: _081618B8:
@ -17172,7 +17172,7 @@ _081618B8:
pop {r4} pop {r4}
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_81618B4 thumb_func_end ClearDecorationInventories
thumb_func_start sub_81618D0 thumb_func_start sub_81618D0
sub_81618D0: @ 81618D0 sub_81618D0: @ 81618D0
@ -17514,8 +17514,8 @@ _08161B16:
bx r1 bx r1
thumb_func_end sub_8161B10 thumb_func_end sub_8161B10
thumb_func_start sub_8161B34 thumb_func_start ClearRoamerData
sub_8161B34: @ 8161B34 ClearRoamerData: @ 8161B34
push {r4,r5,lr} push {r4,r5,lr}
ldr r5, =gSaveBlock1Ptr ldr r5, =gSaveBlock1Ptr
ldr r0, [r5] ldr r0, [r5]
@ -17532,10 +17532,10 @@ sub_8161B34: @ 8161B34
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_8161B34 thumb_func_end ClearRoamerData
thumb_func_start sub_8161B60 thumb_func_start ClearRoamerLocationData
sub_8161B60: @ 8161B60 ClearRoamerLocationData: @ 8161B60
push {r4-r6,lr} push {r4-r6,lr}
movs r2, 0 movs r2, 0
ldr r6, =gUnknown_0203BC86 ldr r6, =gUnknown_0203BC86
@ -17560,7 +17560,7 @@ _08161B6C:
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_8161B60 thumb_func_end ClearRoamerLocationData
thumb_func_start sub_8161B94 thumb_func_start sub_8161B94
sub_8161B94: @ 8161B94 sub_8161B94: @ 8161B94
@ -17692,8 +17692,8 @@ _08161BC8:
thumb_func_start sub_8161CBC thumb_func_start sub_8161CBC
sub_8161CBC: @ 8161CBC sub_8161CBC: @ 8161CBC
push {lr} push {lr}
bl sub_8161B34 bl ClearRoamerData
bl sub_8161B60 bl ClearRoamerLocationData
ldr r0, =gSpecialVar_0x8004 ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0] ldrh r0, [r0]
bl sub_8161B94 bl sub_8161B94
@ -17868,7 +17868,7 @@ sub_8161E28: @ 8161E28
push {r4,r5,lr} push {r4,r5,lr}
sub sp, 0x4 sub sp, 0x4
ldr r5, =gEnemyParty ldr r5, =gEnemyParty
bl zero_enemy_party_data bl ZeroEnemyPartyMons
ldr r4, =gSaveBlock1Ptr ldr r4, =gSaveBlock1Ptr
ldr r0, [r4] ldr r0, [r4]
ldr r1, =0x000031dc ldr r1, =0x000031dc
@ -19954,7 +19954,7 @@ sub_8163048: @ 8163048
adds r4, r0, 0 adds r4, r0, 0
lsls r4, 24 lsls r4, 24
lsrs r4, 24 lsrs r4, 24
bl zero_enemy_party_data bl ZeroEnemyPartyMons
ldr r0, =gUnknown_02038BCA ldr r0, =gUnknown_02038BCA
ldrh r0, [r0] ldrh r0, [r0]
movs r1, 0 movs r1, 0
@ -19972,7 +19972,7 @@ sub_816306C: @ 816306C
adds r4, r0, 0 adds r4, r0, 0
lsls r4, 24 lsls r4, 24
lsrs r4, 24 lsrs r4, 24
bl zero_enemy_party_data bl ZeroEnemyPartyMons
ldr r0, =gUnknown_02038BCA ldr r0, =gUnknown_02038BCA
ldrh r0, [r0] ldrh r0, [r0]
movs r1, 0 movs r1, 0
@ -19995,7 +19995,7 @@ sub_81630A0: @ 81630A0
adds r4, r0, 0 adds r4, r0, 0
lsls r4, 24 lsls r4, 24
lsrs r4, 24 lsrs r4, 24
bl zero_enemy_party_data bl ZeroEnemyPartyMons
ldr r0, =gUnknown_02038BCA ldr r0, =gUnknown_02038BCA
ldrh r0, [r0] ldrh r0, [r0]
movs r1, 0 movs r1, 0
@ -20604,7 +20604,7 @@ _08163580:
thumb_func_start sub_8163590 thumb_func_start sub_8163590
sub_8163590: @ 8163590 sub_8163590: @ 8163590
push {lr} push {lr}
bl zero_enemy_party_data bl ZeroEnemyPartyMons
ldr r0, =gSaveBlock2Ptr ldr r0, =gSaveBlock2Ptr
ldr r0, [r0] ldr r0, [r0]
ldr r1, =0x00000ca9 ldr r1, =0x00000ca9
@ -21340,7 +21340,7 @@ _08163BC4:
b _08163E10 b _08163E10
.pool .pool
_08163C10: _08163C10:
bl zero_enemy_party_data bl ZeroEnemyPartyMons
movs r5, 0 movs r5, 0
ldr r4, =gSaveBlock2Ptr ldr r4, =gSaveBlock2Ptr
_08163C18: _08163C18:
@ -21668,7 +21668,7 @@ _08163F52:
ldr r4, =gSaveBlock2Ptr ldr r4, =gSaveBlock2Ptr
ldr r1, [r4] ldr r1, [r4]
adds r1, 0xA adds r1, 0xA
bl sub_80842F4 bl CopyUnalignedWord
adds r0, r5, 0x4 adds r0, r5, 0x4
ldr r1, [r4] ldr r1, [r4]
bl StringCopy7 bl StringCopy7
@ -23782,7 +23782,7 @@ _081651A6:
adds r0, 0xC adds r0, 0xC
ldr r1, [r5] ldr r1, [r5]
adds r1, 0xA adds r1, 0xA
bl sub_80842F4 bl CopyUnalignedWord
adds r0, r7, 0x4 adds r0, r7, 0x4
ldr r1, [r5] ldr r1, [r5]
bl StringCopy7 bl StringCopy7

View File

@ -34,14 +34,14 @@ sub_81700F8: @ 81700F8
bl ResetSaveCounters bl ResetSaveCounters
movs r0, 0 movs r0, 0
bl sub_81534D0 bl sub_81534D0
ldr r0, =gUnknown_03006210 ldr r0, =gSaveFileStatus
ldrh r0, [r0] ldrh r0, [r0]
cmp r0, 0 cmp r0, 0
beq _08170148 beq _08170148
cmp r0, 0x2 cmp r0, 0x2
bne _0817014C bne _0817014C
_08170148: _08170148:
bl init_sav2 bl Sav2_ClearSetDefault
_0817014C: _0817014C:
ldr r0, =gSaveBlock2Ptr ldr r0, =gSaveBlock2Ptr
ldr r0, [r0] ldr r0, [r0]

View File

@ -1596,8 +1596,8 @@ sub_8185B60: @ 8185B60
push {r5-r7} push {r5-r7}
sub sp, 0x4 sub sp, 0x4
adds r7, r0, 0 adds r7, r0, 0
bl zero_player_party_data bl ZeroPlayerPartyMons
bl zero_enemy_party_data bl ZeroEnemyPartyMons
movs r6, 0 movs r6, 0
ldr r0, =gPlayerParty ldr r0, =gPlayerParty
mov r8, r0 mov r8, r0

View File

@ -1332,8 +1332,8 @@ _0818DA24:
.pool .pool
thumb_func_end sub_818D9C0 thumb_func_end sub_818D9C0
thumb_func_start sub_818DA30 thumb_func_start SetLilycoveLady
sub_818DA30: @ 818DA30 SetLilycoveLady: @ 818DA30
push {lr} push {lr}
ldr r0, =gSaveBlock2Ptr ldr r0, =gSaveBlock2Ptr
ldr r0, [r0] ldr r0, [r0]
@ -1369,7 +1369,7 @@ _0818DA6E:
_0818DA72: _0818DA72:
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_818DA30 thumb_func_end SetLilycoveLady
thumb_func_start sub_818DA78 thumb_func_start sub_818DA78
sub_818DA78: @ 818DA78 sub_818DA78: @ 818DA78
@ -5248,7 +5248,7 @@ sub_818FBDC: @ 818FBDC
lsrs r0, 16 lsrs r0, 16
mov r8, r0 mov r8, r0
movs r6, 0 movs r6, 0
bl zero_enemy_party_data bl ZeroEnemyPartyMons
mov r0, r8 mov r0, r8
bl sub_818FC78 bl sub_818FC78
adds r5, r0, 0 adds r5, r0, 0
@ -18708,7 +18708,7 @@ sub_8196D74: @ 8196D74
ldr r0, =gSaveBlock2Ptr ldr r0, =gSaveBlock2Ptr
ldr r0, [r0] ldr r0, [r0]
adds r0, 0xA adds r0, 0xA
bl sub_80842DC bl ReadUnalignedWord
adds r6, r0, 0 adds r6, r0, 0
ldr r0, =0x0000ffff ldr r0, =0x0000ffff
ands r6, r0 ands r6, r0
@ -39145,11 +39145,11 @@ _081A13D4:
ldr r0, [r7] ldr r0, [r7]
add r0, r8 add r0, r8
adds r0, 0x34 adds r0, 0x34
bl sub_80842DC bl ReadUnalignedWord
adds r4, r0, 0 adds r4, r0, 0
ldr r0, [r7] ldr r0, [r7]
adds r0, 0xA adds r0, 0xA
bl sub_80842DC bl ReadUnalignedWord
cmp r4, r0 cmp r4, r0
bne _081A13FC bne _081A13FC
ldr r0, [r7] ldr r0, [r7]
@ -42698,7 +42698,7 @@ _081A3298:
mov r3, r9 mov r3, r9
ldr r1, [r3] ldr r1, [r3]
adds r1, r2 adds r1, r2
bl write_word_to_mem bl WriteUnalignedWord
_081A32F2: _081A32F2:
mov r7, r9 mov r7, r9
ldr r0, [r7] ldr r0, [r7]
@ -45516,7 +45516,7 @@ _081A4B44:
movs r1, 0 movs r1, 0
str r2, [sp] str r2, [sp]
str r3, [sp, 0x4] str r3, [sp, 0x4]
bl sub_80842F4 bl CopyUnalignedWord
ldr r3, [sp, 0x4] ldr r3, [sp, 0x4]
ldr r0, [r3] ldr r0, [r3]
adds r0, r4 adds r0, r4
@ -45567,14 +45567,14 @@ _081A4BAE:
adds r0, r2 adds r0, r2
movs r1, 0 movs r1, 0
str r2, [sp] str r2, [sp]
bl sub_80842F4 bl CopyUnalignedWord
ldr r0, [r7] ldr r0, [r7]
adds r0, r6 adds r0, r6
ldr r2, [sp] ldr r2, [sp]
adds r0, r2 adds r0, r2
adds r0, 0x4 adds r0, 0x4
movs r1, 0 movs r1, 0
bl sub_80842F4 bl CopyUnalignedWord
ldr r1, [r7] ldr r1, [r7]
adds r1, r4 adds r1, r4
ldr r0, =0x00000586 ldr r0, =0x00000586
@ -45642,7 +45642,7 @@ _081A4C4E:
adds r5, 0x64 adds r5, 0x64
cmp r4, r6 cmp r4, r6
ble _081A4C4E ble _081A4C4E
ldr r4, =gUnknown_020244E9 ldr r4, =gPlayerPartyCount
ldrb r5, [r4] ldrb r5, [r4]
bl copy_player_party_from_sav1 bl copy_player_party_from_sav1
bl sub_8076D5C bl sub_8076D5C
@ -45859,7 +45859,7 @@ sub_81A4E04: @ 81A4E04
_081A4E44: _081A4E44:
movs r4, 0x7 movs r4, 0x7
_081A4E46: _081A4E46:
bl zero_enemy_party_data bl ZeroEnemyPartyMons
movs r1, 0 movs r1, 0
str r1, [sp, 0x18] str r1, [sp, 0x18]
bl sub_8165C40 bl sub_8165C40
@ -48079,7 +48079,7 @@ nullsub_123: @ 81A6184
thumb_func_start sub_81A6188 thumb_func_start sub_81A6188
sub_81A6188: @ 81A6188 sub_81A6188: @ 81A6188
push {lr} push {lr}
bl zero_player_party_data bl ZeroPlayerPartyMons
bl sub_819A4F8 bl sub_819A4F8
pop {r0} pop {r0}
bx r0 bx r0
@ -48509,7 +48509,7 @@ _081A6518:
bls _081A6522 bls _081A6522
b _081A666C b _081A666C
_081A6522: _081A6522:
bl zero_player_party_data bl ZeroPlayerPartyMons
movs r0, 0 movs r0, 0
mov r8, r0 mov r8, r0
mov r1, sp mov r1, sp
@ -57200,8 +57200,8 @@ _081AAB5A:
.pool .pool
thumb_func_end CalculateBattlePyramidPickupItemId thumb_func_end CalculateBattlePyramidPickupItemId
thumb_func_start sub_81AAB70 thumb_func_start ResetBagScrollPositions
sub_81AAB70: @ 81AAB70 ResetBagScrollPositions: @ 81AAB70
push {r4,lr} push {r4,lr}
ldr r4, =gUnknown_0203CE58 ldr r4, =gUnknown_0203CE58
movs r0, 0 movs r0, 0
@ -57220,7 +57220,7 @@ sub_81AAB70: @ 81AAB70
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_81AAB70 thumb_func_end ResetBagScrollPositions
thumb_func_start CB2_BagMenuFromStartMenu thumb_func_start CB2_BagMenuFromStartMenu
@ void CB2_BagMenuFromStartMenu() @ void CB2_BagMenuFromStartMenu()
@ -62757,7 +62757,7 @@ _081ADCAE:
adds r0, r2 adds r0, r2
movs r1, 0x10 movs r1, 0x10
bl ClearItemSlots bl ClearItemSlots
bl sub_81AAB70 bl ResetBagScrollPositions
pop {r4-r6} pop {r4-r6}
pop {r0} pop {r0}
bx r0 bx r0
@ -70216,7 +70216,7 @@ _081B187A:
_081B1888: _081B1888:
cmp r1, 0x6 cmp r1, 0x6
bne _081B1898 bne _081B1898
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
subs r0, 0x1 subs r0, 0x1
b _081B1950 b _081B1950
@ -70234,7 +70234,7 @@ _081B1898:
b _081B1950 b _081B1950
.pool .pool
_081B18B0: _081B18B0:
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
subs r0, 0x1 subs r0, 0x1
b _081B1950 b _081B1950
@ -70250,7 +70250,7 @@ _081B18C0:
beq _081B194E beq _081B194E
movs r1, 0 movs r1, 0
ldrsb r1, [r4, r1] ldrsb r1, [r4, r1]
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
subs r0, 0x1 subs r0, 0x1
cmp r1, r0 cmp r1, r0
@ -70271,7 +70271,7 @@ _081B18F4:
adds r0, r2, 0x1 adds r0, r2, 0x1
b _081B1950 b _081B1950
_081B18F8: _081B18F8:
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
cmp r0, 0x1 cmp r0, 0x1
beq _081B1952 beq _081B1952
@ -70359,7 +70359,7 @@ _081B1988:
_081B1996: _081B1996:
cmp r0, 0x6 cmp r0, 0x6
bne _081B19A8 bne _081B19A8
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
subs r0, 0x1 subs r0, 0x1
b _081B1AF2 b _081B1AF2
@ -71245,7 +71245,7 @@ sub_81B209C: @ 81B209C
cmp r0, 0 cmp r0, 0
bne _081B20FC bne _081B20FC
movs r4, 0 movs r4, 0
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
cmp r4, r0 cmp r4, r0
bcs _081B2126 bcs _081B2126
@ -71264,7 +71264,7 @@ _081B20C4:
adds r0, r4, 0x1 adds r0, r4, 0x1
lsls r0, 24 lsls r0, 24
lsrs r4, r0, 24 lsrs r4, r0, 24
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
cmp r4, r0 cmp r4, r0
bcc _081B20C4 bcc _081B20C4
@ -71289,7 +71289,7 @@ _081B2100:
lsls r0, 24 lsls r0, 24
lsrs r4, r0, 24 lsrs r4, r0, 24
_081B211E: _081B211E:
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
cmp r4, r0 cmp r4, r0
bcc _081B2100 bcc _081B2100
@ -74058,7 +74058,7 @@ sub_81B3828: @ 81B3828
bl pokemon_change_order bl pokemon_change_order
ldr r1, =gPlayerParty ldr r1, =gPlayerParty
ldrb r2, [r4, 0x9] ldrb r2, [r4, 0x9]
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r3, [r0] ldrb r3, [r0]
subs r3, 0x1 subs r3, 0x1
lsls r3, 24 lsls r3, 24
@ -74072,7 +74072,7 @@ sub_81B3828: @ 81B3828
_081B3868: _081B3868:
ldr r1, =gPlayerParty ldr r1, =gPlayerParty
ldrb r2, [r4, 0x9] ldrb r2, [r4, 0x9]
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r3, [r0] ldrb r3, [r0]
subs r3, 0x1 subs r3, 0x1
lsls r3, 24 lsls r3, 24
@ -80497,7 +80497,7 @@ sub_81B70B8: @ 81B70B8
ldr r0, =gPlayerParty ldr r0, =gPlayerParty
ldr r4, =gUnknown_0203CEC8 ldr r4, =gUnknown_0203CEC8
ldrb r1, [r4, 0x9] ldrb r1, [r4, 0x9]
ldr r2, =gUnknown_020244E9 ldr r2, =gPlayerPartyCount
ldrb r2, [r2] ldrb r2, [r2]
subs r2, 0x1 subs r2, 0x1
lsls r2, 24 lsls r2, 24
@ -84925,7 +84925,7 @@ sub_81B968C: @ 81B968C
ldr r1, =gPlayerParty ldr r1, =gPlayerParty
ldr r0, =gSpecialVar_0x8004 ldr r0, =gSpecialVar_0x8004
ldrb r2, [r0] ldrb r2, [r0]
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r3, [r0] ldrb r3, [r0]
subs r3, 0x1 subs r3, 0x1
lsls r3, 24 lsls r3, 24
@ -85824,7 +85824,7 @@ _081B9E6E:
thumb_func_start sub_81B9E78 thumb_func_start sub_81B9E78
sub_81B9E78: @ 81B9E78 sub_81B9E78: @ 81B9E78
push {lr} push {lr}
bl zero_player_party_data bl ZeroPlayerPartyMons
bl sub_819A4F8 bl sub_819A4F8
pop {r0} pop {r0}
bx r0 bx r0

View File

@ -46655,7 +46655,7 @@ _081D636A:
thumb_func_start sub_81D6384 thumb_func_start sub_81D6384
sub_81D6384: @ 81D6384 sub_81D6384: @ 81D6384
push {lr} push {lr}
bl zero_enemy_party_data bl ZeroEnemyPartyMons
ldr r0, =gUnknown_02038BCA ldr r0, =gUnknown_02038BCA
ldrh r0, [r0] ldrh r0, [r0]
movs r1, 0 movs r1, 0
@ -46668,7 +46668,7 @@ sub_81D6384: @ 81D6384
thumb_func_start sub_81D639C thumb_func_start sub_81D639C
sub_81D639C: @ 81D639C sub_81D639C: @ 81D639C
push {lr} push {lr}
bl zero_enemy_party_data bl ZeroEnemyPartyMons
ldr r0, =gUnknown_02038BCA ldr r0, =gUnknown_02038BCA
ldrh r0, [r0] ldrh r0, [r0]
movs r1, 0 movs r1, 0
@ -53206,7 +53206,7 @@ sub_81D9AC4: @ 81D9AC4
ldr r0, =gSaveBlock2Ptr ldr r0, =gSaveBlock2Ptr
ldr r0, [r0] ldr r0, [r0]
adds r0, 0xA adds r0, 0xA
bl sub_80842DC bl ReadUnalignedWord
adds r4, r0, 0 adds r4, r0, 0
lsls r4, 16 lsls r4, 16
lsrs r4, 16 lsrs r4, 16

View File

@ -152,7 +152,7 @@ _080FC1D8:
cmp r0, 0x8 cmp r0, 0x8
bne _080FC208 bne _080FC208
ldr r0, =gUnknown_082A4B4C ldr r0, =gUnknown_082A4B4C
bl script_env_2_execute_new_script bl ScriptContext2_RunNewScript
bl warp_in bl warp_in
ldr r1, =gUnknown_03005DAC ldr r1, =gUnknown_03005DAC
ldr r0, =sub_80AF6F0 ldr r0, =sub_80AF6F0

View File

@ -411,9 +411,9 @@ script_env_2_enable_and_set_ctx_running: @ 8098F3C
.pool .pool
thumb_func_end script_env_2_enable_and_set_ctx_running thumb_func_end script_env_2_enable_and_set_ctx_running
thumb_func_start script_env_2_execute_new_script thumb_func_start ScriptContext2_RunNewScript
@ void script_env_2_execute_new_script(void *script_ptr) @ void ScriptContext2_RunNewScript(void *script_ptr)
script_env_2_execute_new_script: @ 8098F50 ScriptContext2_RunNewScript: @ 8098F50
push {r4,r5,lr} push {r4,r5,lr}
adds r5, r0, 0 adds r5, r0, 0
ldr r4, =gUnknown_03000EB8 ldr r4, =gUnknown_03000EB8
@ -435,7 +435,7 @@ _08098F68:
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end script_env_2_execute_new_script thumb_func_end ScriptContext2_RunNewScript
thumb_func_start mapheader_get_tagged_pointer thumb_func_start mapheader_get_tagged_pointer
mapheader_get_tagged_pointer: @ 8098F88 mapheader_get_tagged_pointer: @ 8098F88
@ -484,7 +484,7 @@ mapheader_run_script_by_tag: @ 8098FC8
bl mapheader_get_tagged_pointer bl mapheader_get_tagged_pointer
cmp r0, 0 cmp r0, 0
beq _08098FDA beq _08098FDA
bl script_env_2_execute_new_script bl ScriptContext2_RunNewScript
_08098FDA: _08098FDA:
pop {r0} pop {r0}
bx r0 bx r0
@ -616,7 +616,7 @@ mapheader_run_first_tag4_script_list_match: @ 8099098
bl mapheader_get_first_match_from_tagged_ptr_list bl mapheader_get_first_match_from_tagged_ptr_list
cmp r0, 0 cmp r0, 0
beq _080990A8 beq _080990A8
bl script_env_2_execute_new_script bl ScriptContext2_RunNewScript
_080990A8: _080990A8:
pop {r0} pop {r0}
bx r0 bx r0

View File

@ -1184,7 +1184,7 @@ sp000_heal_pokemon: @ 80F9180
sub sp, 0x4 sub sp, 0x4
movs r0, 0 movs r0, 0
mov r8, r0 mov r8, r0
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
cmp r8, r0 cmp r8, r0
bcs _080F922C bcs _080F922C
@ -1253,7 +1253,7 @@ _080F91D4:
lsls r0, r1, 24 lsls r0, r1, 24
lsrs r0, 24 lsrs r0, 24
mov r8, r0 mov r8, r0
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
cmp r8, r0 cmp r8, r0
bcc _080F919E bcc _080F919E
@ -1464,7 +1464,7 @@ sub_80F93A0: @ 80F93A0
lsrs r5, 24 lsrs r5, 24
lsls r7, r2, 16 lsls r7, r2, 16
lsrs r6, r7, 16 lsrs r6, r7, 16
bl zero_enemy_party_data bl ZeroEnemyPartyMons
ldr r0, =gEnemyParty ldr r0, =gEnemyParty
mov r8, r0 mov r8, r0
movs r0, 0 movs r0, 0
@ -1509,7 +1509,7 @@ sub_80F9400: @ 80F9400
lsrs r2, 24 lsrs r2, 24
cmp r3, 0x6 cmp r3, 0x6
bls _080F941C bls _080F941C
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
subs r0, 0x1 subs r0, 0x1
lsls r0, 24 lsls r0, 24

View File

@ -36,8 +36,8 @@ _080E8B0A:
.pool .pool
thumb_func_end sub_80E8AF0 thumb_func_end sub_80E8AF0
thumb_func_start sub_80E8B28 thumb_func_start ResetSecretBases
sub_80E8B28: @ 80E8B28 ResetSecretBases: @ 80E8B28
push {r4,r5,lr} push {r4,r5,lr}
movs r4, 0 movs r4, 0
ldr r5, =gSaveBlock1Ptr ldr r5, =gSaveBlock1Ptr
@ -59,7 +59,7 @@ _080E8B2E:
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_80E8B28 thumb_func_end ResetSecretBases
thumb_func_start sub_80E8B58 thumb_func_start sub_80E8B58
sub_80E8B58: @ 80E8B58 sub_80E8B58: @ 80E8B58

View File

@ -1518,14 +1518,14 @@ _080A0124:
beq _080A0168 beq _080A0168
b _080A0174 b _080A0174
_080A012A: _080A012A:
ldr r0, =gUnknown_03006210 ldr r0, =gSaveFileStatus
ldrh r0, [r0] ldrh r0, [r0]
cmp r0, 0 cmp r0, 0
beq _080A0136 beq _080A0136
cmp r0, 0x2 cmp r0, 0x2
bne _080A013E bne _080A013E
_080A0136: _080A0136:
ldr r0, =gUnknown_020322D4 ldr r0, =gDifferentSaveFile
ldrb r0, [r0] ldrb r0, [r0]
cmp r0, 0 cmp r0, 0
bne _080A0158 bne _080A0158
@ -1556,7 +1556,7 @@ _080A0176:
thumb_func_start sub_80A017C thumb_func_start sub_80A017C
sub_80A017C: @ 80A017C sub_80A017C: @ 80A017C
push {lr} push {lr}
ldr r0, =gUnknown_020322D4 ldr r0, =gDifferentSaveFile
ldrb r0, [r0] ldrb r0, [r0]
cmp r0, 0x1 cmp r0, 0x1
bne _080A019C bne _080A019C
@ -1658,7 +1658,7 @@ sub_80A024C: @ 80A024C
movs r0, 0 movs r0, 0
bl IncrementGameStat bl IncrementGameStat
bl sub_81A9E90 bl sub_81A9E90
ldr r4, =gUnknown_020322D4 ldr r4, =gDifferentSaveFile
ldrb r0, [r4] ldrb r0, [r4]
cmp r0, 0x1 cmp r0, 0x1
bne _080A0274 bne _080A0274

View File

@ -595,7 +595,7 @@ _080776A8:
bl SetGpuReg bl SetGpuReg
ldr r2, =gUnknown_0203229C ldr r2, =gUnknown_0203229C
ldr r0, [r2] ldr r0, [r2]
ldr r1, =gUnknown_020244E9 ldr r1, =gPlayerPartyCount
ldrb r1, [r1] ldrb r1, [r1]
adds r0, 0x36 adds r0, 0x36
strb r1, [r0] strb r1, [r0]
@ -1206,7 +1206,7 @@ _08077C6C:
bl calc_enemy_party_count bl calc_enemy_party_count
ldr r4, =gUnknown_0203229C ldr r4, =gUnknown_0203229C
ldr r0, [r4] ldr r0, [r4]
ldr r1, =gUnknown_020244E9 ldr r1, =gPlayerPartyCount
ldrb r1, [r1] ldrb r1, [r1]
adds r0, 0x36 adds r0, 0x36
strb r1, [r0] strb r1, [r0]
@ -3382,7 +3382,7 @@ _08078F7E:
.pool .pool
_08078F9C: _08078F9C:
ldr r0, =gPlayerParty ldr r0, =gPlayerParty
ldr r1, =gUnknown_020244E9 ldr r1, =gPlayerPartyCount
ldrb r1, [r1] ldrb r1, [r1]
ldr r2, =gUnknown_0203229C ldr r2, =gUnknown_0203229C
ldr r2, [r2] ldr r2, [r2]
@ -6557,7 +6557,7 @@ sub_807A918: @ 807A918
lsrs r1, 16 lsrs r1, 16
mov r8, r1 mov r8, r1
movs r5, 0 movs r5, 0
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
cmp r5, r0 cmp r5, r0
bge _0807A95A bge _0807A95A
@ -6578,7 +6578,7 @@ _0807A934:
_0807A94E: _0807A94E:
adds r4, 0x4 adds r4, 0x4
adds r5, 0x1 adds r5, 0x1
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
cmp r5, r0 cmp r5, r0
blt _0807A934 blt _0807A934
@ -6659,7 +6659,7 @@ _0807A9E0:
_0807A9EA: _0807A9EA:
movs r2, 0 movs r2, 0
movs r5, 0 movs r5, 0
ldr r0, =gUnknown_020244E9 ldr r0, =gPlayerPartyCount
ldrb r0, [r0] ldrb r0, [r0]
cmp r2, r0 cmp r2, r0
bge _0807AA0A bge _0807AA0A

View File

@ -5,8 +5,8 @@
.text .text
thumb_func_start sub_80EBEE0 thumb_func_start ClearTVShowData
sub_80EBEE0: @ 80EBEE0 ClearTVShowData: @ 80EBEE0
push {r4-r7,lr} push {r4-r7,lr}
movs r3, 0 movs r3, 0
ldr r6, =gSaveBlock1Ptr ldr r6, =gSaveBlock1Ptr
@ -49,7 +49,7 @@ _080EBF0A:
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end sub_80EBEE0 thumb_func_end ClearTVShowData
thumb_func_start special_0x44 thumb_func_start special_0x44
special_0x44: @ 80EBF3C special_0x44: @ 80EBF3C
@ -419,8 +419,8 @@ _080EC216:
bx r1 bx r1
thumb_func_end special_0x4a thumb_func_end special_0x4a
thumb_func_start GabbyAndTyNewGameInitData thumb_func_start ResetGabbyAndTy
GabbyAndTyNewGameInitData: @ 80EC21C ResetGabbyAndTy: @ 80EC21C
push {r4-r6,lr} push {r4-r6,lr}
mov r6, r10 mov r6, r10
mov r5, r9 mov r5, r9
@ -535,7 +535,7 @@ GabbyAndTyNewGameInitData: @ 80EC21C
pop {r0} pop {r0}
bx r0 bx r0
.pool .pool
thumb_func_end GabbyAndTyNewGameInitData thumb_func_end ResetGabbyAndTy
thumb_func_start GabbyAndTyBeforeInterview thumb_func_start GabbyAndTyBeforeInterview
GabbyAndTyBeforeInterview: @ 80EC31C GabbyAndTyBeforeInterview: @ 80EC31C

View File

@ -783,7 +783,7 @@ sub_80B4E68: @ 80B4E68
lsrs r6, r0, 16 lsrs r6, r0, 16
lsls r1, 24 lsls r1, 24
lsrs r7, r1, 24 lsrs r7, r1, 24
bl zero_enemy_party_data bl ZeroEnemyPartyMons
movs r2, 0x1 movs r2, 0x1
ldr r1, =gBaseStats ldr r1, =gBaseStats
lsls r0, r6, 3 lsls r0, r6, 3

View File

@ -6,5 +6,5 @@ gSaveCounter
gFastSaveSection gFastSaveSection
gUnknown_03006208 gUnknown_03006208
gSaveUnusedVar gSaveUnusedVar
gUnknown_03006210 gSaveFileStatus
gGameContinueCallback gGameContinueCallback

View File

@ -507,7 +507,7 @@ gUnknown_08339CC8:: @ 8339CC8
gUnknown_08339D14:: @ 8339D14 gUnknown_08339D14:: @ 8339D14
.incbin "baserom.gba", 0x339d14, 0x8 .incbin "baserom.gba", 0x339d14, 0x8
gUnknown_08339D1C:: @ 8339D1C gContestWinnerPicDummy:: @ 8339D1C
.incbin "baserom.gba", 0x339d1c, 0x20 .incbin "baserom.gba", 0x339d1c, 0x20
gUnknown_08339D3C:: @ 8339D3C gUnknown_08339D3C:: @ 8339D3C

View File

@ -51,6 +51,9 @@
#define GAME_STAT_USED_DAYCARE 47 #define GAME_STAT_USED_DAYCARE 47
#define GAME_STAT_RODE_CABLE_CAR 48 #define GAME_STAT_RODE_CABLE_CAR 48
#define GAME_STAT_ENTERED_HOT_SPRINGS 49 #define GAME_STAT_ENTERED_HOT_SPRINGS 49
#define NUM_GAME_STATS 50
/*TODO: add new stats added in Emerald*/
#define NUM_GAME_STATS 64
#endif // GUARD_GAME_STAT_H #endif // GUARD_GAME_STAT_H

View File

@ -108,6 +108,32 @@ struct Pokedex
/*0x44*/ u8 seen[52]; /*0x44*/ u8 seen[52];
}; };
struct PokemonJumpResults // possibly used in the game itself?
{
u16 jumpsInRow;
u16 field2;
u16 excellentsInRow;
u16 field6;
u16 field8;
u16 fieldA;
u32 bestJumpScore;
};
struct BerryPickingResults // possibly used in the game itself? Size may be wrong as well
{
u32 bestScore;
u16 berriesPicked;
u16 berriesPickedInRow;
// unk size
};
struct PyramidBag
{
u16 items_Lvl50[10];
u16 items_OpenLvl[10];
u8 quantity[10];
};
struct SaveBlock2 struct SaveBlock2
{ {
/*0x00*/ u8 playerName[8]; /*0x00*/ u8 playerName[8];
@ -131,6 +157,34 @@ struct SaveBlock2
/*0xA0*/ struct Time lastBerryTreeUpdate; /*0xA0*/ struct Time lastBerryTreeUpdate;
/*0xA8*/ u8 filler_A8[0x4]; /*0xA8*/ u8 filler_A8[0x4];
/*0xAC*/ u32 encryptionKey; /*0xAC*/ u32 encryptionKey;
// TODO: fix and verify labels
/*0xB0*/ u8 field_B0[316];
/*0x1EC*/ u16 berryCrushResults[4];
/*0x1F4*/ u32 berryPowderAmount;
/*0x1F8*/ u32 field_1F8;
/*0x1FC*/ struct PokemonJumpResults pokeJumpResults;
/*0x20C*/ struct BerryPickingResults berryPickResults;
/*0x214*/ u8 field_214[1040];
/*0x624*/ u16 contestLinkResults[20]; // 4 positions for 5 categories, possibly a struct or a 2d array
// All below could be a one giant struct
/*0x64C*/ u8 field_64C[1629];
/*0xCA9*/ u8 frontierChosenLvl;
/*0xCAA*/ u8 field_CAA[368];
/*0xE1A*/ u16 battlePyramidFloor; // possibly?
/*0xE1C*/ u8 field_E1C[16];
/*0xE2C*/ struct PyramidBag pyramidBag;
/*0x???*/ u8 field_notSure[13];
/*0xE6E*/ u16 battleTentWinStreak;
/*0xE70*/ u8 field_E70[72];
/*0xEB8*/ u16 frontierBattlePoints;
/*0xEBA*/ u8 field_EBA[39];
/*0xEE1*/ u8 field_EE1;
/*0xEE2*/ u8 field_EE2[7];
/*0xEE9*/ u8 field_EE9;
/*0xEEA*/ u8 field_EEA[22];
}; };
extern struct SaveBlock2 *gSaveBlock2Ptr; extern struct SaveBlock2 *gSaveBlock2Ptr;
@ -219,12 +273,6 @@ struct RamScript
struct RamScriptData data; struct RamScriptData data;
}; };
struct SB1_2EFC_Struct
{
u16 var;
u8 unknown[0x1E];
};
struct EasyChatPair struct EasyChatPair
{ {
u16 unk0_0:7; u16 unk0_0:7;
@ -493,26 +541,6 @@ typedef union OldMan
u8 filler[0x40]; u8 filler[0x40];
} OldMan; } OldMan;
struct Unk_SB_Access_Struct1
{
u8 filler0[0xF8];
struct SB1_2EFC_Struct sb1_2EFC_struct[5];
};
struct Unk_SB_Access_Struct2
{
/*0x0000*/ struct SB1_2EFC_Struct sb1_2EFC_struct2[12]; // each is 0x20
/*0x2F84*/ u8 filler[0x18];
};
/*0x2E04*/
typedef union SB_Struct
{
struct Unk_SB_Access_Struct1 unkSB1;
struct Unk_SB_Access_Struct2 unkSB2;
} SB_Struct;
// size is 0x198
struct UnknownSaveStruct2ABC struct UnknownSaveStruct2ABC
{ {
u8 val0; u8 val0;
@ -579,6 +607,17 @@ struct RecordMixingGift
struct RecordMixingGiftData data; struct RecordMixingGiftData data;
}; };
struct ContestWinner
{
u32 personality;
u32 trainerId;
u16 species;
u8 contestCategory;
u8 monName[11];
u8 trainerName[8];
u8 contestRank;
};
#define FLAGS_NUMBER 300 #define FLAGS_NUMBER 300
#define VARS_NUMBER 256 #define VARS_NUMBER 256
@ -617,61 +656,63 @@ struct SaveBlock1
/*0xC70*/ struct MapObjectTemplate mapObjectTemplates[64]; /*0xC70*/ struct MapObjectTemplate mapObjectTemplates[64];
/*0x1270*/ u8 flags[FLAGS_NUMBER]; /*0x1270*/ u8 flags[FLAGS_NUMBER];
/*0x139C*/ u16 vars[VARS_NUMBER]; /*0x139C*/ u16 vars[VARS_NUMBER];
/*0x159C*/ u32 gameStats[NUM_GAME_STATS];
/*0x169C*/ struct BerryTree berryTrees[128];
/*0x1A9C*/ struct SecretBaseRecord secretBases[20];
/*0x271C*/ u8 playerRoomDecor[12];
/*0x2728*/ u8 playerRoomDecorPos[12];
/*0x2734*/ u8 decorDesk[10];
/*0x????*/ u8 decorChair[10];
/*0x????*/ u8 decorPlant[10];
/*0x????*/ u8 decorOrnament[30];
/*0x????*/ u8 decorMat[30];
/*0x????*/ u8 decorPoster[10];
/*0x????*/ u8 decorDoll[40];
/*0x????*/ u8 decorCushion[10];
/*0x27CA*/ u8 padding_27CA[2];
/*0x27CC*/ TVShow tvShows[25];
/*0x2B50*/ struct UnknownSaveStruct2ABC pokeNews[16];
/*0x2B90*/ u16 outbreakPokemonSpecies;
/*0x????*/ u8 outbreakLocationMapNum;
/*0x????*/ u8 outbreakLocationMapGroup;
/*0x????*/ u8 outbreakPokemonLevel;
/*0x????*/ u8 outbreakUnk1;
/*0x????*/ u16 outbreakUnk2;
/*0x????*/ u16 outbreakPokemonMoves[4];
/*0x????*/ u8 outbreakUnk4;
/*0x????*/ u8 outbreakPokemonProbability;
/*0x????*/ u16 outbreakUnk5;
/*0x2BA4*/ struct GabbyAndTyData gabbyAndTyData;
/*0x????*/ u16 unk2B1C[6];
/*0x????*/ u16 unk2B28[6];
/*0x????*/ u16 unk2B34[6];
/*0x????*/ u16 unk2B40[6];
/*0x2BE0*/ struct MailStruct mail[16];
/*0x2E20*/ u8 additionalPhrases; // bitfield for 33 additional phrases in easy chat system
/*0x2E25*/ u8 unk2E25[3]; // possibly padding?
/*0x2E28*/ OldMan oldMan;
/*0x2e64*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff
/*0x2e8c*/ u8 filler_2E8C[0x4];
/*0x2e90*/ struct ContestWinner contestWinners[13]; // 0 - 5 used in contest hall, 6 - 7 unused?, 8 - 12 museum
// TODO: FIX BELOW // TODO: fix
/*0x1540*/ u32 gameStats[NUM_GAME_STATS]; /*0x????*/ struct BoxPokemon daycareData[2];
/*0x1608*/ struct BerryTree berryTrees[128]; /*0x????*/ struct RecordMixing_UnknownStruct filler_303C;
/*0x1A08*/ struct SecretBaseRecord secretBases[20]; /*0x????*/ u8 filler_30B4[0x2];
/*0x2688*/ u8 playerRoomDecor[12]; /*0x????*/ u8 filler_30B6;
/*0x2694*/ u8 playerRoomDecorPos[12]; /*0x????*/ u8 filler_30B7[1];
/*0x26A0*/ u8 decorDesk[10]; /*0x????*/ struct LinkBattleRecord linkBattleRecords[5];
/*0x26AA*/ u8 decorChair[10]; /*0x????*/ u8 filler_3108[8];
/*0x26B4*/ u8 decorPlant[10];
/*0x26BE*/ u8 decorOrnament[30]; /*0x31A8*/ u8 giftRibbons[52];
/*0x26DC*/ u8 decorMat[30]; /*0x31DC*/ struct Roamer roamer;
/*0x26FA*/ u8 decorPoster[10]; /*0x31F8*/ struct EnigmaBerry enigmaBerry;
/*0x2704*/ u8 decorDoll[40];
/*0x272C*/ u8 decorCushion[10]; // TODO: fix
/*0x2736*/ u8 padding_2736[2]; /*0x????*/ struct RamScript ramScript;
/*0x2738*/ TVShow tvShows[25]; /*0x????*/ struct RecordMixingGift recordMixingGift;
/*0x2ABC*/ struct UnknownSaveStruct2ABC unknown_2ABC[16]; /*0x????*/ u8 unk3A8C[52]; //pokedex related
/*0x2AFC*/ u16 outbreakPokemonSpecies;
/*0x2AFE*/ u8 outbreakLocationMapNum;
/*0x2AFF*/ u8 outbreakLocationMapGroup;
/*0x2B00*/ u8 outbreakPokemonLevel;
/*0x2B01*/ u8 outbreakUnk1;
/*0x2B02*/ u16 outbreakUnk2;
/*0x2B04*/ u16 outbreakPokemonMoves[4];
/*0x2B0C*/ u8 outbreakUnk4;
/*0x2B0D*/ u8 outbreakPokemonProbability;
/*0x2B0E*/ u16 outbreakUnk5;
/*0x2B10*/ struct GabbyAndTyData gabbyAndTyData;
/*0x2B1C*/ u16 unk2B1C[6];
/*0x2B28*/ u16 unk2B28[6];
/*0x2B34*/ u16 unk2B34[6];
/*0x2B40*/ u16 unk2B40[6];
/*0x2B4C*/ struct MailStruct mail[16];
/*0x2D8C*/ u8 unk2D8C[4];
/*0x2D90*/ u8 filler_2D90[0x4];
/*0x2D94*/ OldMan oldMan;
/*0x2DD4*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff
/*0x2DFC*/ u8 filler_2DFC[0x8];
/*0x2E04*/ SB_Struct sbStruct;
/*0x2F9C*/ struct BoxPokemon daycareData[2];
/*0x303C*/ struct RecordMixing_UnknownStruct filler_303C;
/*0x30AC*/ u8 filler_30B4[0x2];
/*0x30B6*/ u8 filler_30B6;
/*0x30B7*/ u8 filler_30B7[1];
/*0x30B8*/ struct LinkBattleRecord linkBattleRecords[5];
/*0x3108*/ u8 filler_3108[8];
/*0x3110*/ u8 giftRibbons[7];
/*0x3117*/ u8 filler_311B[0x2D];
/*0x3144*/ struct Roamer roamer;
/*0x3160*/ struct EnigmaBerry enigmaBerry;
/*0x3690*/ struct RamScript ramScript;
/*0x3A7C*/ struct RecordMixingGift recordMixingGift;
/*0x3A8C*/ u8 unk3A8C[52]; //pokedex related
}; };
extern struct SaveBlock1* gSaveBlock1Ptr; extern struct SaveBlock1* gSaveBlock1Ptr;

12
include/new_game.h Normal file
View File

@ -0,0 +1,12 @@
#ifndef GUARD_NEW_GAME_H
#define GUARD_NEW_GAME_H
void WriteUnalignedWord(u32 var, u8 *dataPtr);
void CopyUnalignedWord(u8 *copyTo, u8 *copyFrom);
void InitPlayerTrainerId(void);
void SetDefaultOptions(void);
void ClearPokedexFlags(void);
void WarpToTruck(void);
void NewGameInitData(void);
#endif // GUARD_NEW_GAME_H

View File

@ -77,6 +77,7 @@ SECTIONS {
asm/trade.o(.text); asm/trade.o(.text);
asm/berry_blender.o(.text); asm/berry_blender.o(.text);
src/play_time.o(.text); src/play_time.o(.text);
src/new_game.o(.text);
asm/new_game.o(.text); asm/new_game.o(.text);
asm/rom4.o(.text); asm/rom4.o(.text);
asm/fieldmap.o(.text); asm/fieldmap.o(.text);

View File

@ -217,7 +217,7 @@ void SeedRngAndSetTrainerId(void)
gTrainerId = val; gTrainerId = val;
} }
u16 GetTrainerId(void) u16 GetGeneratedTrainerIdLower(void)
{ {
return gTrainerId; return gTrainerId;
} }

111
src/new_game.c Normal file
View File

@ -0,0 +1,111 @@
#include "global.h"
#include "new_game.h"
#include "rng.h"
extern u8 gPlayerPartyCount;
extern u8 gDifferentSaveFile;
extern u16 gSaveFileStatus;
extern u8 gUnknown_030060B0;
extern u16 GetGeneratedTrainerIdLower(void);
extern void ClearContestWinnerPicsInContestHall(void);
extern void warp1_set(s8 mapBank, s8 mapNo, s8 warpNo, s8 xPos, s8 yPos);
extern void warp_in(void);
extern void sub_80BB358(void);
extern void ZeroPlayerPartyMons(void);
extern void ZeroEnemyPartyMons(void);
extern void ResetBagScrollPositions(void);
extern void sub_813624C(void); // clears something pokeblock related
extern void ClearSav2(void); // clears something pokeblock related
void WriteUnalignedWord(u32 var, u8 *dataPtr)
{
dataPtr[0] = var;
dataPtr[1] = var >> 8;
dataPtr[2] = var >> 16;
dataPtr[3] = var >> 24;
}
u32 ReadUnalignedWord(u8* dataPtr)
{
return (dataPtr[3] << 24) | (dataPtr[2] << 16) | (dataPtr[1] << 8) | (dataPtr[0]);
}
void CopyUnalignedWord(u8 *copyTo, u8 *copyFrom)
{
s32 i;
for (i = 0; i < 4; i++)
copyTo[i] = copyFrom[i];
}
void InitPlayerTrainerId(void)
{
u32 trainerId = (Random() << 0x10) | GetGeneratedTrainerIdLower();
WriteUnalignedWord(trainerId, gSaveBlock2Ptr->playerTrainerId);
}
// L=A isnt set here for some reason.
void SetDefaultOptions(void)
{
gSaveBlock2Ptr->optionsTextSpeed = OPTIONS_TEXT_SPEED_MID;
gSaveBlock2Ptr->optionsWindowFrameType = 0;
gSaveBlock2Ptr->optionsSound = OPTIONS_SOUND_MONO;
gSaveBlock2Ptr->optionsBattleStyle = OPTIONS_BATTLE_STYLE_SHIFT;
gSaveBlock2Ptr->optionsBattleSceneOff = FALSE;
gSaveBlock2Ptr->regionMapZoom = FALSE;
}
void ClearPokedexFlags(void)
{
gUnknown_030060B0 = 0;
memset(&gSaveBlock2Ptr->pokedex.owned, 0, sizeof(gSaveBlock2Ptr->pokedex.owned));
memset(&gSaveBlock2Ptr->pokedex.seen, 0, sizeof(gSaveBlock2Ptr->pokedex.seen));
}
extern const struct ContestWinner gContestWinnerPicDummy;
void ClearAllContestWinnerPics(void)
{
s32 i;
ClearContestWinnerPicsInContestHall();
for (i = 8; i < 13; i++)
gSaveBlock1Ptr->contestWinners[i] = gContestWinnerPicDummy;
}
void sub_8084400(void)
{
// probably clearing one struct for battle frontier
CpuFill32(0, gSaveBlock2Ptr->field_64C, 2272);
// those look like strings
gSaveBlock2Ptr->field_EE1 = 0xFF;
gSaveBlock2Ptr->field_EE9 = 0xFF;
}
void WarpToTruck(void)
{
warp1_set(25, 40, -1, -1, -1); // inside of truck
warp_in();
}
void Sav2_ClearSetDefault(void)
{
ClearSav2();
SetDefaultOptions();
}
void sub_808447C(void)
{
gDifferentSaveFile = 0;
sub_80BB358();
ZeroPlayerPartyMons();
ZeroEnemyPartyMons();
ResetBagScrollPositions();
sub_813624C();
}
/*
void NewGameInitData(void)
{
Finish when more header files are available
}*/

View File

@ -24,7 +24,7 @@ u32 gSaveCounter;
struct SaveSection *gFastSaveSection; struct SaveSection *gFastSaveSection;
u16 gUnknown_03006208; u16 gUnknown_03006208;
u16 gSaveUnusedVar; u16 gSaveUnusedVar;
u16 gUnknown_03006210; u16 gSaveFileStatus;
void (*gGameContinueCallback)(void); void (*gGameContinueCallback)(void);
EWRAM_DATA struct SaveSection gSaveDataBuffer = {0}; EWRAM_DATA struct SaveSection gSaveDataBuffer = {0};
@ -806,7 +806,7 @@ u8 sub_81534D0(u8 a1)
if (gFlashMemoryPresent != TRUE) if (gFlashMemoryPresent != TRUE)
{ {
gUnknown_03006210 = 4; gSaveFileStatus = 4;
return 0xFF; return 0xFF;
} }
@ -817,7 +817,7 @@ u8 sub_81534D0(u8 a1)
default: default:
result = sub_8152DD0(0xFFFF, gRamSaveSectionLocations); result = sub_8152DD0(0xFFFF, gRamSaveSectionLocations);
LoadSerializedGame(); LoadSerializedGame();
gUnknown_03006210 = result; gSaveFileStatus = result;
gGameContinueCallback = 0; gGameContinueCallback = 0;
break; break;
case 3: case 3:

View File

@ -596,7 +596,7 @@ gUnknown_020244E4: @ 20244E4
gUnknown_020244E8: @ 20244E8 gUnknown_020244E8: @ 20244E8
.space 0x1 .space 0x1
gUnknown_020244E9: @ 20244E9 gPlayerPartyCount: @ 20244E9
.space 0x1 .space 0x1
gUnknown_020244EA: @ 20244EA gUnknown_020244EA: @ 20244EA
@ -707,7 +707,7 @@ gUnknown_020322BC: @ 20322BC
gUnknown_020322D0: @ 20322D0 gUnknown_020322D0: @ 20322D0
.space 0x4 .space 0x4
gUnknown_020322D4: @ 20322D4 gDifferentSaveFile: @ 20322D4
.space 0x1 .space 0x1
gUnknown_020322D5: @ 20322D5 gUnknown_020322D5: @ 20322D5