mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 03:34:15 +01:00
begin new save.c, label lots of things
This commit is contained in:
parent
d09f39e971
commit
5afd2d5bfb
@ -14892,7 +14892,7 @@ _0804E170:
|
||||
ldr r1, =gBattleStruct
|
||||
ldr r1, [r1]
|
||||
ldrb r1, [r1, 0x10]
|
||||
ldr r2, =gUnknown_020244E9
|
||||
ldr r2, =gPlayerPartyCount
|
||||
ldrb r2, [r2]
|
||||
subs r2, 0x1
|
||||
lsls r2, 24
|
||||
|
@ -336,8 +336,8 @@ _0813C1D4:
|
||||
.pool
|
||||
thumb_func_end sub_813C170
|
||||
|
||||
thumb_func_start sub_813C1F8
|
||||
sub_813C1F8: @ 813C1F8
|
||||
thumb_func_start InitLinkBattleRecords
|
||||
InitLinkBattleRecords: @ 813C1F8
|
||||
push {lr}
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
@ -347,7 +347,7 @@ sub_813C1F8: @ 813C1F8
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_813C1F8
|
||||
thumb_func_end InitLinkBattleRecords
|
||||
|
||||
thumb_func_start sub_813C214
|
||||
sub_813C214: @ 813C214
|
||||
|
@ -256,9 +256,9 @@ _080E178E:
|
||||
bx r1
|
||||
thumb_func_end WaterBerryTree
|
||||
|
||||
thumb_func_start RemoveAllBerryTrees
|
||||
@ void RemoveAllBerryTrees()
|
||||
RemoveAllBerryTrees: @ 80E1794
|
||||
thumb_func_start ClearBerryTrees
|
||||
@ void ClearBerryTrees()
|
||||
ClearBerryTrees: @ 80E1794
|
||||
push {r4-r6,lr}
|
||||
movs r2, 0
|
||||
ldr r6, =gSaveBlock1Ptr
|
||||
@ -280,7 +280,7 @@ _080E17A2:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end RemoveAllBerryTrees
|
||||
thumb_func_end ClearBerryTrees
|
||||
|
||||
thumb_func_start BerryTreeGrow
|
||||
@ bool8 BerryTreeGrow(struct BerryTreeInfo *berryTree)
|
||||
|
@ -327,8 +327,8 @@ _080F9A6E:
|
||||
.pool
|
||||
thumb_func_end sub_80F9A14
|
||||
|
||||
thumb_func_start sub_80F9A7C
|
||||
sub_80F9A7C: @ 80F9A7C
|
||||
thumb_func_start InitSeedotSizeRecord
|
||||
InitSeedotSizeRecord: @ 80F9A7C
|
||||
push {lr}
|
||||
ldr r0, =0x00004047
|
||||
movs r1, 0x80
|
||||
@ -337,7 +337,7 @@ sub_80F9A7C: @ 80F9A7C
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_80F9A7C
|
||||
thumb_func_end InitSeedotSizeRecord
|
||||
|
||||
thumb_func_start sub_80F9A90
|
||||
sub_80F9A90: @ 80F9A90
|
||||
@ -372,8 +372,8 @@ sub_80F9AAC: @ 80F9AAC
|
||||
.pool
|
||||
thumb_func_end sub_80F9AAC
|
||||
|
||||
thumb_func_start sub_80F9AD4
|
||||
sub_80F9AD4: @ 80F9AD4
|
||||
thumb_func_start InitLotadSizeRecord
|
||||
InitLotadSizeRecord: @ 80F9AD4
|
||||
push {lr}
|
||||
ldr r0, =0x0000404f
|
||||
movs r1, 0x80
|
||||
@ -382,7 +382,7 @@ sub_80F9AD4: @ 80F9AD4
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_80F9AD4
|
||||
thumb_func_end InitLotadSizeRecord
|
||||
|
||||
thumb_func_start sub_80F9AE8
|
||||
sub_80F9AE8: @ 80F9AE8
|
||||
|
@ -92,7 +92,7 @@ sub_81796AC: @ 81796AC
|
||||
cmp r0, r1
|
||||
bne _081796F4
|
||||
bl calc_player_party_count
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r1, [r0]
|
||||
movs r0, 0x64
|
||||
muls r0, r1
|
||||
|
@ -10,14 +10,14 @@ TaskDummy1: @ 80D7668
|
||||
bx lr
|
||||
thumb_func_end TaskDummy1
|
||||
|
||||
thumb_func_start sub_80D766C
|
||||
sub_80D766C: @ 80D766C
|
||||
thumb_func_start ResetLinkContestBoolean
|
||||
ResetLinkContestBoolean: @ 80D766C
|
||||
ldr r1, =gUnknown_02039F2A
|
||||
movs r0, 0
|
||||
strb r0, [r1]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end sub_80D766C
|
||||
thumb_func_end ResetLinkContestBoolean
|
||||
|
||||
thumb_func_start sub_80D7678
|
||||
sub_80D7678: @ 80D7678
|
||||
@ -14187,8 +14187,8 @@ sub_80DED60: @ 80DED60
|
||||
.pool
|
||||
thumb_func_end sub_80DED60
|
||||
|
||||
thumb_func_start sub_80DED74
|
||||
sub_80DED74: @ 80DED74
|
||||
thumb_func_start ResetContestLinkResults
|
||||
ResetContestLinkResults: @ 80DED74
|
||||
push {r4-r6,lr}
|
||||
movs r0, 0
|
||||
ldr r6, =gSaveBlock2Ptr
|
||||
@ -14214,7 +14214,7 @@ _080DED84:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_80DED74
|
||||
thumb_func_end ResetContestLinkResults
|
||||
|
||||
thumb_func_start sub_80DEDA8
|
||||
sub_80DEDA8: @ 80DEDA8
|
||||
@ -14522,8 +14522,8 @@ _080DF03A:
|
||||
bx r1
|
||||
thumb_func_end sub_80DEFA8
|
||||
|
||||
thumb_func_start sub_80DF040
|
||||
sub_80DF040: @ 80DF040
|
||||
thumb_func_start ClearContestWinnerPicsInContestHall
|
||||
ClearContestWinnerPicsInContestHall: @ 80DF040
|
||||
push {r4-r7,lr}
|
||||
movs r2, 0
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
@ -14551,7 +14551,7 @@ _080DF04C:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_80DF040
|
||||
thumb_func_end ClearContestWinnerPicsInContestHall
|
||||
|
||||
thumb_func_start sub_80DF080
|
||||
sub_80DF080: @ 80DF080
|
||||
|
@ -2179,7 +2179,7 @@ _08070B34:
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
movs r5, 0
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
cmp r5, r0
|
||||
bcs _08070BC0
|
||||
@ -2225,7 +2225,7 @@ _08070BA8:
|
||||
_08070BB4:
|
||||
adds r4, 0x64
|
||||
adds r5, 0x1
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
cmp r5, r0
|
||||
bcc _08070B5C
|
||||
|
@ -5,8 +5,8 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_81224D4
|
||||
sub_81224D4: @ 81224D4
|
||||
thumb_func_start InitDewfordTrend
|
||||
InitDewfordTrend: @ 81224D4
|
||||
push {r4-r7,lr}
|
||||
movs r6, 0
|
||||
ldr r5, =gSaveBlock1Ptr
|
||||
@ -77,7 +77,7 @@ _08122522:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81224D4
|
||||
thumb_func_end InitDewfordTrend
|
||||
|
||||
thumb_func_start sub_8122580
|
||||
sub_8122580: @ 8122580
|
||||
|
@ -10202,8 +10202,8 @@ _0811F174:
|
||||
.pool
|
||||
thumb_func_end sub_811F108
|
||||
|
||||
thumb_func_start sub_811F184
|
||||
sub_811F184: @ 811F184
|
||||
thumb_func_start InitEasyChatPhrases
|
||||
InitEasyChatPhrases: @ 811F184
|
||||
push {r4-r7,lr}
|
||||
movs r2, 0
|
||||
ldr r5, =gSaveBlock1Ptr
|
||||
@ -10320,7 +10320,7 @@ _0811F244:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_811F184
|
||||
thumb_func_end InitEasyChatPhrases
|
||||
|
||||
thumb_func_start sub_811F28C
|
||||
sub_811F28C: @ 811F28C
|
||||
|
@ -1031,7 +1031,7 @@ evovle_mon_internal_maybe: @ 813E3DC
|
||||
beq _0813E40C
|
||||
b _0813E546
|
||||
_0813E40C:
|
||||
ldr r6, =gUnknown_020244E9
|
||||
ldr r6, =gPlayerPartyCount
|
||||
ldrb r0, [r6]
|
||||
cmp r0, 0x5
|
||||
bls _0813E416
|
||||
@ -1099,7 +1099,7 @@ _0813E484:
|
||||
cmp r4, 0x36
|
||||
ble _0813E484
|
||||
movs r4, 0x43
|
||||
ldr r7, =gUnknown_020244E9
|
||||
ldr r7, =gPlayerPartyCount
|
||||
_0813E4A0:
|
||||
ldrb r0, [r7]
|
||||
movs r6, 0x64
|
||||
@ -1112,7 +1112,7 @@ _0813E4A0:
|
||||
adds r4, 0x1
|
||||
cmp r4, 0x4F
|
||||
ble _0813E4A0
|
||||
ldr r4, =gUnknown_020244E9
|
||||
ldr r4, =gPlayerPartyCount
|
||||
ldrb r0, [r4]
|
||||
muls r0, r6
|
||||
adds r0, r5
|
||||
@ -2231,7 +2231,7 @@ _0813EF3E:
|
||||
lsls r5, 3
|
||||
adds r5, r1
|
||||
ldrb r1, [r5, 0x1C]
|
||||
ldr r2, =gUnknown_020244E9
|
||||
ldr r2, =gPlayerPartyCount
|
||||
ldrb r2, [r2]
|
||||
subs r2, 0x1
|
||||
lsls r2, 24
|
||||
@ -3382,7 +3382,7 @@ _0813FA3E:
|
||||
lsls r5, 3
|
||||
adds r5, r1
|
||||
ldrb r1, [r5, 0x1C]
|
||||
ldr r2, =gUnknown_020244E9
|
||||
ldr r2, =gPlayerPartyCount
|
||||
ldrb r2, [r2]
|
||||
subs r2, 0x1
|
||||
lsls r2, 24
|
||||
|
@ -2172,7 +2172,7 @@ _0809D062:
|
||||
b _0809D084
|
||||
_0809D07C:
|
||||
adds r0, r1, 0
|
||||
bl script_env_2_execute_new_script
|
||||
bl ScriptContext2_RunNewScript
|
||||
_0809D082:
|
||||
movs r0, 0
|
||||
_0809D084:
|
||||
|
@ -312,14 +312,14 @@ c2_copyright_1: @ 816CEAC
|
||||
bl ResetSaveCounters
|
||||
movs r0, 0
|
||||
bl sub_81534D0
|
||||
ldr r0, =gUnknown_03006210
|
||||
ldr r0, =gSaveFileStatus
|
||||
ldrh r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _0816CEDE
|
||||
cmp r0, 0x2
|
||||
bne _0816CEE2
|
||||
_0816CEDE:
|
||||
bl init_sav2
|
||||
bl Sav2_ClearSetDefault
|
||||
_0816CEE2:
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r0, [r0]
|
||||
|
@ -1153,8 +1153,8 @@ _080D708C:
|
||||
bx r0
|
||||
thumb_func_end sub_80D702C
|
||||
|
||||
thumb_func_start sub_80D7094
|
||||
sub_80D7094: @ 80D7094
|
||||
thumb_func_start ClearBag
|
||||
ClearBag: @ 80D7094
|
||||
push {r4,r5,lr}
|
||||
movs r4, 0
|
||||
ldr r5, =gBagPockets
|
||||
@ -1173,7 +1173,7 @@ _080D709A:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_80D7094
|
||||
thumb_func_end ClearBag
|
||||
|
||||
thumb_func_start CountTotalItemQuantityInBag
|
||||
@ u16 CountTotalItemQuantityInBag(u16 itemId)
|
||||
|
34
asm/link.s
34
asm/link.s
@ -27719,7 +27719,7 @@ _08017D14:
|
||||
beq _08017D74
|
||||
adds r4, 0x1
|
||||
_08017D2E:
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
cmp r4, r0
|
||||
blt _08017D14
|
||||
@ -27728,7 +27728,7 @@ _08017D2E:
|
||||
.pool
|
||||
_08017D44:
|
||||
movs r4, 0
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
cmp r4, r0
|
||||
bge _08017D8E
|
||||
@ -27757,7 +27757,7 @@ _08017D74:
|
||||
.pool
|
||||
_08017D84:
|
||||
adds r4, 0x1
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
cmp r4, r0
|
||||
blt _08017D50
|
||||
@ -28090,7 +28090,7 @@ sub_8018024: @ 8018024
|
||||
push {r4-r6,lr}
|
||||
movs r6, 0
|
||||
movs r5, 0
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
cmp r6, r0
|
||||
bge _08018064
|
||||
@ -28115,7 +28115,7 @@ _08018032:
|
||||
adds r6, 0x1
|
||||
_0801805A:
|
||||
adds r5, 0x1
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
cmp r5, r0
|
||||
blt _08018032
|
||||
@ -28266,7 +28266,7 @@ _08018146:
|
||||
_0801816C:
|
||||
adds r5, 0x1
|
||||
_0801816E:
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
cmp r5, r0
|
||||
blt _08018146
|
||||
@ -34712,7 +34712,7 @@ _0801B628:
|
||||
ldr r1, [r0]
|
||||
adds r1, 0xA
|
||||
adds r0, r4, 0
|
||||
bl sub_80842F4
|
||||
bl CopyUnalignedWord
|
||||
mov r2, r8
|
||||
ldr r1, [r2]
|
||||
adds r0, r6, 0
|
||||
@ -52660,8 +52660,8 @@ sub_8024668: @ 8024668
|
||||
.pool
|
||||
thumb_func_end sub_8024668
|
||||
|
||||
thumb_func_start sub_802467C
|
||||
sub_802467C: @ 802467C
|
||||
thumb_func_start SetBerryPowder
|
||||
SetBerryPowder: @ 802467C
|
||||
ldr r2, =gSaveBlock2Ptr
|
||||
ldr r2, [r2]
|
||||
adds r2, 0xAC
|
||||
@ -52670,7 +52670,7 @@ sub_802467C: @ 802467C
|
||||
str r2, [r0]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end sub_802467C
|
||||
thumb_func_end SetBerryPowder
|
||||
|
||||
thumb_func_start sub_8024690
|
||||
sub_8024690: @ 8024690
|
||||
@ -52749,14 +52749,14 @@ sub_8024700: @ 8024700
|
||||
cmp r1, r2
|
||||
bhi _08024730
|
||||
adds r0, r5, 0
|
||||
bl sub_802467C
|
||||
bl SetBerryPowder
|
||||
movs r0, 0x1
|
||||
b _0802473A
|
||||
.pool
|
||||
_08024730:
|
||||
adds r0, r5, 0
|
||||
adds r1, r2, 0
|
||||
bl sub_802467C
|
||||
bl SetBerryPowder
|
||||
movs r0, 0
|
||||
_0802473A:
|
||||
pop {r4,r5}
|
||||
@ -52783,7 +52783,7 @@ sub_8024740: @ 8024740
|
||||
adds r1, r0, 0
|
||||
subs r1, r5
|
||||
adds r0, r4, 0
|
||||
bl sub_802467C
|
||||
bl SetBerryPowder
|
||||
movs r0, 0x1
|
||||
b _08024776
|
||||
.pool
|
||||
@ -52815,7 +52815,7 @@ sub_802477C: @ 802477C
|
||||
ldrh r0, [r5]
|
||||
subs r1, r0
|
||||
adds r0, r4, 0
|
||||
bl sub_802467C
|
||||
bl SetBerryPowder
|
||||
movs r0, 0x1
|
||||
b _080247B6
|
||||
.pool
|
||||
@ -72146,8 +72146,8 @@ sub_802E32C: @ 802E32C
|
||||
.pool
|
||||
thumb_func_end sub_802E32C
|
||||
|
||||
thumb_func_start sub_802E33C
|
||||
sub_802E33C: @ 802E33C
|
||||
thumb_func_start ResetPokeJumpResults
|
||||
ResetPokeJumpResults: @ 802E33C
|
||||
push {lr}
|
||||
bl sub_802E32C
|
||||
movs r1, 0
|
||||
@ -72159,7 +72159,7 @@ sub_802E33C: @ 802E33C
|
||||
strh r1, [r0, 0x2]
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_802E33C
|
||||
thumb_func_end ResetPokeJumpResults
|
||||
|
||||
thumb_func_start sub_802E354
|
||||
sub_802E354: @ 802E354
|
||||
|
@ -29,8 +29,8 @@ _08076B8A:
|
||||
.pool
|
||||
thumb_func_end CheckForFlashMemory
|
||||
|
||||
thumb_func_start memclr_stdsav2
|
||||
memclr_stdsav2: @ 8076B94
|
||||
thumb_func_start ClearSav2
|
||||
ClearSav2: @ 8076B94
|
||||
push {lr}
|
||||
sub sp, 0x4
|
||||
mov r1, sp
|
||||
@ -44,10 +44,10 @@ memclr_stdsav2: @ 8076B94
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end memclr_stdsav2
|
||||
thumb_func_end ClearSav2
|
||||
|
||||
thumb_func_start clear_sav1
|
||||
clear_sav1: @ 8076BB8
|
||||
thumb_func_start ClearSav1
|
||||
ClearSav1: @ 8076BB8
|
||||
push {lr}
|
||||
sub sp, 0x4
|
||||
mov r1, sp
|
||||
@ -61,7 +61,7 @@ clear_sav1: @ 8076BB8
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end clear_sav1
|
||||
thumb_func_end ClearSav1
|
||||
|
||||
thumb_func_start InitSaveBlockPointersWithRandomOffset
|
||||
@ void InitSaveBlockPointersWithRandomOffset(u8 offset)
|
||||
@ -258,7 +258,7 @@ copy_player_party_to_sav1: @ 8076D8C
|
||||
push {r4,lr}
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
ldr r1, =gUnknown_020244E9
|
||||
ldr r1, =gPlayerPartyCount
|
||||
ldrb r1, [r1]
|
||||
movs r2, 0x8D
|
||||
lsls r2, 2
|
||||
@ -290,7 +290,7 @@ _08076DA0:
|
||||
thumb_func_start copy_player_party_from_sav1
|
||||
copy_player_party_from_sav1: @ 8076DD4
|
||||
push {r4,r5,lr}
|
||||
ldr r1, =gUnknown_020244E9
|
||||
ldr r1, =gPlayerPartyCount
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
movs r2, 0x8D
|
||||
|
@ -5,8 +5,8 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8177558
|
||||
sub_8177558: @ 8177558
|
||||
thumb_func_start ResetLotteryCorner
|
||||
ResetLotteryCorner: @ 8177558
|
||||
push {r4,lr}
|
||||
bl Random
|
||||
adds r4, r0, 0
|
||||
@ -23,7 +23,7 @@ sub_8177558: @ 8177558
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8177558
|
||||
thumb_func_end ResetLotteryCorner
|
||||
|
||||
thumb_func_start sub_8177584
|
||||
sub_8177584: @ 8177584
|
||||
|
@ -278,7 +278,7 @@ _0802F900:
|
||||
movs r0, 0x1
|
||||
strh r0, [r4, 0x1E]
|
||||
_0802F946:
|
||||
ldr r0, =gUnknown_03006210
|
||||
ldr r0, =gSaveFileStatus
|
||||
ldrh r0, [r0]
|
||||
cmp r0, 0x2
|
||||
beq _0802F990
|
||||
|
@ -95,8 +95,8 @@ sub_8120154: @ 8120154
|
||||
bx r0
|
||||
thumb_func_end sub_8120154
|
||||
|
||||
thumb_func_start sub_8120160
|
||||
sub_8120160: @ 8120160
|
||||
thumb_func_start SetMauvilleOldMan
|
||||
SetMauvilleOldMan: @ 8120160
|
||||
push {lr}
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r0, [r0]
|
||||
@ -141,7 +141,7 @@ _081201C0:
|
||||
bl sub_8120B5C
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8120160
|
||||
thumb_func_end SetMauvilleOldMan
|
||||
|
||||
thumb_func_start sub_81201C8
|
||||
sub_81201C8: @ 81201C8
|
||||
|
12
asm/money.s
12
asm/money.s
@ -18,9 +18,9 @@ DecryptMoney: @ 80E5114
|
||||
.pool
|
||||
thumb_func_end DecryptMoney
|
||||
|
||||
thumb_func_start EncryptMoney
|
||||
@ void EncryptMoney(u32 *moneyPointer, u32 moneyAmount)
|
||||
EncryptMoney: @ 80E5128
|
||||
thumb_func_start SetMoney
|
||||
@ void SetMoney(u32 *moneyPointer, u32 moneyAmount)
|
||||
SetMoney: @ 80E5128
|
||||
ldr r2, =gSaveBlock2Ptr
|
||||
ldr r2, [r2]
|
||||
adds r2, 0xAC
|
||||
@ -29,7 +29,7 @@ EncryptMoney: @ 80E5128
|
||||
str r2, [r0]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end EncryptMoney
|
||||
thumb_func_end SetMoney
|
||||
|
||||
thumb_func_start IsEnoughMoney
|
||||
@ bool8 IsEnoughMoney(u32 *moneyPointer, u32 price)
|
||||
@ -71,7 +71,7 @@ add_money: @ 80E5154
|
||||
_080E5178:
|
||||
adds r0, r6, 0
|
||||
adds r1, r5, 0
|
||||
bl EncryptMoney
|
||||
bl SetMoney
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
@ -94,7 +94,7 @@ _080E51A0:
|
||||
subs r1, r4
|
||||
_080E51A2:
|
||||
adds r0, r5, 0
|
||||
bl EncryptMoney
|
||||
bl SetMoney
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
|
@ -418,7 +418,7 @@ sub_8153ACC: @ 8153ACC
|
||||
subs r0, r1
|
||||
ldr r1, [r4, 0x64]
|
||||
adds r0, r1
|
||||
bl script_env_2_execute_new_script
|
||||
bl ScriptContext2_RunNewScript
|
||||
movs r0, 0
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
@ -680,7 +680,7 @@ _08153D18:
|
||||
movs r2, 0xB
|
||||
bl StringCopyN
|
||||
_08153D22:
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x6
|
||||
bne _08153D4C
|
||||
|
326
asm/new_game.s
326
asm/new_game.s
@ -5,251 +5,13 @@
|
||||
|
||||
.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
|
||||
@ void NewGameInitData()
|
||||
NewGameInitData: @ 80844A0
|
||||
push {r4,r5,lr}
|
||||
ldr r0, =gUnknown_03006210
|
||||
ldr r0, =gSaveFileStatus
|
||||
ldrh r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _080844AE
|
||||
@ -258,7 +20,7 @@ NewGameInitData: @ 80844A0
|
||||
_080844AE:
|
||||
bl RtcReset
|
||||
_080844B2:
|
||||
ldr r1, =gUnknown_020322D4
|
||||
ldr r1, =gDifferentSaveFile
|
||||
movs r0, 0x1
|
||||
strb r0, [r1]
|
||||
ldr r4, =gSaveBlock2Ptr
|
||||
@ -266,80 +28,80 @@ _080844B2:
|
||||
adds r0, 0xAC
|
||||
movs r5, 0
|
||||
str r5, [r0]
|
||||
bl zero_player_party_data
|
||||
bl zero_enemy_party_data
|
||||
bl sub_80BB2D0
|
||||
bl ZeroPlayerPartyMons
|
||||
bl ZeroEnemyPartyMons
|
||||
bl ResetPokedex
|
||||
bl sub_8084400
|
||||
bl clear_sav1
|
||||
bl sub_80D436C
|
||||
bl ClearSav1
|
||||
bl ClearMailData
|
||||
ldr r0, [r4]
|
||||
strb r5, [r0, 0x9]
|
||||
ldr r0, [r4]
|
||||
adds r0, 0xA8
|
||||
str r5, [r0]
|
||||
bl set_player_trainer_id
|
||||
bl InitPlayerTrainerId
|
||||
bl PlayTimeCounter_Reset
|
||||
bl sub_8084390
|
||||
bl ClearPokedexFlags
|
||||
bl InitEventData
|
||||
bl sub_80EBEE0
|
||||
bl GabbyAndTyNewGameInitData
|
||||
bl sub_80E8B28
|
||||
bl RemoveAllBerryTrees
|
||||
bl ClearTVShowData
|
||||
bl ResetGabbyAndTy
|
||||
bl ResetSecretBases
|
||||
bl ClearBerryTrees
|
||||
ldr r4, =gSaveBlock1Ptr
|
||||
ldr r0, [r4]
|
||||
movs r1, 0x92
|
||||
lsls r1, 3
|
||||
adds r0, r1
|
||||
ldr r1, =0x00000bb8
|
||||
bl EncryptMoney
|
||||
bl SetMoney
|
||||
movs r0, 0
|
||||
bl SetCoins
|
||||
bl sub_80D766C
|
||||
bl sub_80847A8
|
||||
bl sub_80843C0
|
||||
bl sub_813C1F8
|
||||
bl sub_80F9A7C
|
||||
bl sub_80F9AD4
|
||||
ldr r0, =gUnknown_020244E9
|
||||
bl ResetLinkContestBoolean
|
||||
bl ResetGameStats
|
||||
bl ClearAllContestWinnerPics
|
||||
bl InitLinkBattleRecords
|
||||
bl InitSeedotSizeRecord
|
||||
bl InitLotadSizeRecord
|
||||
ldr r0, =gPlayerPartyCount
|
||||
strb r5, [r0]
|
||||
bl zero_player_party_data
|
||||
bl sub_80C7770
|
||||
bl sub_8161B34
|
||||
bl sub_8161B60
|
||||
bl ZeroPlayerPartyMons
|
||||
bl ResetPokemonStorageSystem
|
||||
bl ClearRoamerData
|
||||
bl ClearRoamerLocationData
|
||||
ldr r0, [r4]
|
||||
ldr r1, =0x00000496
|
||||
adds r0, r1
|
||||
strh r5, [r0]
|
||||
bl sub_80D7094
|
||||
bl sub_816ADF4
|
||||
bl sub_8136E88
|
||||
bl sub_81618B4
|
||||
bl sub_811F184
|
||||
bl sub_8120160
|
||||
bl sub_81224D4
|
||||
bl sub_813BA10
|
||||
bl sub_8177558
|
||||
bl sub_808444C
|
||||
bl ClearBag
|
||||
bl NewGameInitPCItems
|
||||
bl ClearPokeblocks
|
||||
bl ClearDecorationInventories
|
||||
bl InitEasyChatPhrases
|
||||
bl SetMauvilleOldMan
|
||||
bl InitDewfordTrend
|
||||
bl ResetFanClub
|
||||
bl ResetLotteryCorner
|
||||
bl WarpToTruck
|
||||
ldr r0, =gUnknown_082715DE
|
||||
bl script_env_2_execute_new_script
|
||||
bl sub_80845CC
|
||||
bl ScriptContext2_RunNewScript
|
||||
bl ResetMiniGamesResults
|
||||
bl copy_strings_to_sav1
|
||||
bl sub_818DA30
|
||||
bl SetLilycoveLady
|
||||
bl sub_819FAA0
|
||||
bl sub_81A4B14
|
||||
bl sub_8195E10
|
||||
bl sub_801AFD8
|
||||
bl sub_800E5AC
|
||||
bl sub_81D54BC
|
||||
bl sub_80DED74
|
||||
bl ResetContestLinkResults
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end NewGameInitData
|
||||
|
||||
thumb_func_start sub_80845CC
|
||||
sub_80845CC: @ 80845CC
|
||||
thumb_func_start ResetMiniGamesResults
|
||||
ResetMiniGamesResults: @ 80845CC
|
||||
push {r4-r6,lr}
|
||||
sub sp, 0x4
|
||||
mov r0, sp
|
||||
@ -359,8 +121,8 @@ sub_80845CC: @ 80845CC
|
||||
lsls r1, 1
|
||||
adds r0, r1
|
||||
movs r1, 0
|
||||
bl sub_802467C
|
||||
bl sub_802E33C
|
||||
bl SetBerryPowder
|
||||
bl ResetPokeJumpResults
|
||||
mov r0, sp
|
||||
adds r0, 0x2
|
||||
strh r5, [r0]
|
||||
@ -375,6 +137,6 @@ sub_80845CC: @ 80845CC
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_80845CC
|
||||
thumb_func_end ResetMiniGamesResults
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
|
@ -5,8 +5,8 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_816ADF4
|
||||
sub_816ADF4: @ 816ADF4
|
||||
thumb_func_start NewGameInitPCItems
|
||||
NewGameInitPCItems: @ 816ADF4
|
||||
push {r4-r6,lr}
|
||||
movs r4, 0
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
@ -53,7 +53,7 @@ _0816AE48:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_816ADF4
|
||||
thumb_func_end NewGameInitPCItems
|
||||
|
||||
thumb_func_start sub_816AE58
|
||||
sub_816AE58: @ 816AE58
|
||||
|
@ -5,8 +5,8 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_80BB2D0
|
||||
sub_80BB2D0: @ 80BB2D0
|
||||
thumb_func_start ResetPokedex
|
||||
ResetPokedex: @ 80BB2D0
|
||||
push {r4-r6,lr}
|
||||
ldr r0, =gUnknown_02039B50
|
||||
movs r2, 0
|
||||
@ -62,7 +62,7 @@ _080BB30C:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_80BB2D0
|
||||
thumb_func_end ResetPokedex
|
||||
|
||||
thumb_func_start sub_80BB358
|
||||
sub_80BB358: @ 80BB358
|
||||
|
@ -79,9 +79,9 @@ zero_pokemon_struct: @ 8067A8C
|
||||
bx r0
|
||||
thumb_func_end zero_pokemon_struct
|
||||
|
||||
thumb_func_start zero_player_party_data
|
||||
@ void zero_player_party_data()
|
||||
zero_player_party_data: @ 8067B0C
|
||||
thumb_func_start ZeroPlayerPartyMons
|
||||
@ void ZeroPlayerPartyMons()
|
||||
ZeroPlayerPartyMons: @ 8067B0C
|
||||
push {r4,r5,lr}
|
||||
ldr r4, =gPlayerParty
|
||||
movs r0, 0xFA
|
||||
@ -97,10 +97,10 @@ _08067B16:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end zero_player_party_data
|
||||
thumb_func_end ZeroPlayerPartyMons
|
||||
|
||||
thumb_func_start zero_enemy_party_data
|
||||
zero_enemy_party_data: @ 8067B2C
|
||||
thumb_func_start ZeroEnemyPartyMons
|
||||
ZeroEnemyPartyMons: @ 8067B2C
|
||||
push {r4,r5,lr}
|
||||
ldr r4, =gEnemyParty
|
||||
movs r0, 0xFA
|
||||
@ -116,7 +116,7 @@ _08067B36:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end zero_enemy_party_data
|
||||
thumb_func_end ZeroEnemyPartyMons
|
||||
|
||||
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)
|
||||
@ -2139,7 +2139,7 @@ DoScriptedWildBattle: @ 8068C18
|
||||
ldrh r4, [r0]
|
||||
ldr r0, =gSpecialVar_0x8006
|
||||
ldrh r6, [r0]
|
||||
bl zero_enemy_party_data
|
||||
bl ZeroEnemyPartyMons
|
||||
ldr r7, =gEnemyParty
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
|
@ -2916,7 +2916,7 @@ _0806B446:
|
||||
adds r1, r6, 0
|
||||
movs r2, 0x64
|
||||
bl memcpy_pokemon
|
||||
ldr r1, =gUnknown_020244E9
|
||||
ldr r1, =gPlayerPartyCount
|
||||
adds r0, r5, 0x1
|
||||
strb r0, [r1]
|
||||
movs r0, 0
|
||||
@ -3014,7 +3014,7 @@ _0806B530:
|
||||
@ u8 calc_player_party_count()
|
||||
calc_player_party_count: @ 806B53C
|
||||
push {r4,lr}
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
movs r1, 0
|
||||
strb r1, [r0]
|
||||
b _0806B554
|
||||
@ -3089,7 +3089,7 @@ sub_806B5C4: @ 806B5C4
|
||||
push {r4-r6,lr}
|
||||
movs r6, 0
|
||||
bl calc_player_party_count
|
||||
ldr r1, =gUnknown_020244E9
|
||||
ldr r1, =gPlayerPartyCount
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0x1
|
||||
beq _0806B628
|
||||
@ -3126,7 +3126,7 @@ _0806B5DC:
|
||||
adds r6, 0x1
|
||||
_0806B616:
|
||||
adds r5, 0x1
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
cmp r5, r0
|
||||
blt _0806B5DC
|
||||
@ -3262,7 +3262,7 @@ create_enemy_party: @ 806B70C
|
||||
push {r5-r7}
|
||||
sub sp, 0x14
|
||||
adds r5, r0, 0
|
||||
bl zero_enemy_party_data
|
||||
bl ZeroEnemyPartyMons
|
||||
ldr r4, =gBattleResources
|
||||
ldr r0, [r4]
|
||||
ldr r0, [r0]
|
||||
|
@ -2484,12 +2484,12 @@ _080E8150:
|
||||
adds r5, r1, 0
|
||||
adds r5, 0x34
|
||||
adds r0, r5, 0
|
||||
bl sub_80842DC
|
||||
bl ReadUnalignedWord
|
||||
adds r4, r0, 0
|
||||
mov r1, r9
|
||||
ldr r0, [r1]
|
||||
adds r0, 0xA
|
||||
bl sub_80842DC
|
||||
bl ReadUnalignedWord
|
||||
cmp r4, r0
|
||||
beq _080E819A
|
||||
movs r2, 0x1
|
||||
@ -2497,12 +2497,12 @@ _080E8150:
|
||||
str r6, [sp, 0x4]
|
||||
_080E819A:
|
||||
adds r0, r5, 0
|
||||
bl sub_80842DC
|
||||
bl ReadUnalignedWord
|
||||
adds r4, r0, 0
|
||||
mov r1, r9
|
||||
ldr r0, [r1]
|
||||
adds r0, 0xA
|
||||
bl sub_80842DC
|
||||
bl ReadUnalignedWord
|
||||
cmp r4, r0
|
||||
bne _080E81B8
|
||||
ldr r2, [sp, 0xC]
|
||||
@ -2619,7 +2619,7 @@ _080E8286:
|
||||
ldr r1, [r2]
|
||||
adds r1, 0xA
|
||||
adds r0, r5, 0
|
||||
bl sub_80842F4
|
||||
bl CopyUnalignedWord
|
||||
movs r0, 0x2
|
||||
strb r0, [r4, 0xE]
|
||||
mov r0, r10
|
||||
@ -2662,13 +2662,13 @@ _080E82DA:
|
||||
ldr r1, [r2]
|
||||
adds r1, 0xA
|
||||
adds r0, r5, 0
|
||||
bl sub_80842F4
|
||||
bl CopyUnalignedWord
|
||||
mov r0, r10
|
||||
ldr r1, [r0]
|
||||
ldr r2, [sp, 0x8]
|
||||
adds r1, r2
|
||||
adds r0, r6, 0
|
||||
bl sub_80842F4
|
||||
bl CopyUnalignedWord
|
||||
mov r0, r10
|
||||
ldr r1, [r0]
|
||||
mov r0, r9
|
||||
@ -2810,10 +2810,10 @@ sub_80E841C: @ 80E841C
|
||||
_080E842E:
|
||||
adds r0, r7, 0
|
||||
adds r0, 0x34
|
||||
bl sub_80842DC
|
||||
bl ReadUnalignedWord
|
||||
adds r4, r0, 0
|
||||
adds r0, r6, 0
|
||||
bl sub_80842DC
|
||||
bl ReadUnalignedWord
|
||||
cmp r4, r0
|
||||
bne _080E844E
|
||||
ldrb r0, [r7, 0x2]
|
||||
@ -3109,13 +3109,13 @@ _080E8666:
|
||||
ldr r6, [sp, 0x1C]
|
||||
adds r0, r6, r0
|
||||
str r3, [sp, 0x4C]
|
||||
bl sub_80842DC
|
||||
bl ReadUnalignedWord
|
||||
adds r4, r0, 0
|
||||
ldr r1, [sp, 0x50]
|
||||
ldr r0, [r1]
|
||||
add r0, r9
|
||||
adds r0, r7
|
||||
bl sub_80842DC
|
||||
bl ReadUnalignedWord
|
||||
ldr r3, [sp, 0x4C]
|
||||
cmp r4, r0
|
||||
bne _080E86A8
|
||||
@ -3271,7 +3271,7 @@ _080E878E:
|
||||
adds r5, r0, r6
|
||||
adds r0, r5, 0
|
||||
str r3, [sp, 0x4C]
|
||||
bl sub_80842DC
|
||||
bl ReadUnalignedWord
|
||||
adds r4, r0, 0
|
||||
movs r6, 0x90
|
||||
lsls r6, 1
|
||||
@ -3279,18 +3279,18 @@ _080E878E:
|
||||
mov r1, r9
|
||||
ldr r0, [r1]
|
||||
adds r0, r6
|
||||
bl sub_80842DC
|
||||
bl ReadUnalignedWord
|
||||
ldr r3, [sp, 0x4C]
|
||||
cmp r4, r0
|
||||
bne _080E8808
|
||||
adds r0, r5, 0x4
|
||||
bl sub_80842DC
|
||||
bl ReadUnalignedWord
|
||||
adds r4, r0, 0
|
||||
mov r2, r9
|
||||
ldr r0, [r2]
|
||||
adds r0, r6
|
||||
adds r0, 0x4
|
||||
bl sub_80842DC
|
||||
bl ReadUnalignedWord
|
||||
ldr r3, [sp, 0x4C]
|
||||
cmp r4, r0
|
||||
bne _080E8808
|
||||
|
@ -1154,7 +1154,7 @@ _0809F268:
|
||||
beq _0809F276
|
||||
b _0809F404
|
||||
_0809F276:
|
||||
ldr r0, =gUnknown_03006210
|
||||
ldr r0, =gSaveFileStatus
|
||||
ldrh r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _0809F282
|
||||
|
@ -85,7 +85,7 @@ _080326B8:
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _08032728
|
||||
bl zero_enemy_party_data
|
||||
bl ZeroEnemyPartyMons
|
||||
ldr r4, =gEnemyParty
|
||||
movs r1, 0x90
|
||||
lsls r1, 1
|
||||
|
14
asm/rom4.s
14
asm/rom4.s
@ -9,7 +9,7 @@
|
||||
sub_8084620: @ 8084620
|
||||
push {r4,lr}
|
||||
ldr r0, =gUnknown_08271857
|
||||
bl script_env_2_execute_new_script
|
||||
bl ScriptContext2_RunNewScript
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r4, [r0]
|
||||
movs r0, 0x92
|
||||
@ -20,7 +20,7 @@ sub_8084620: @ 8084620
|
||||
adds r1, r0, 0
|
||||
lsrs r1, 1
|
||||
adds r0, r4, 0
|
||||
bl EncryptMoney
|
||||
bl SetMoney
|
||||
bl sp000_heal_pokemon
|
||||
bl sub_8084720
|
||||
bl copy_saved_warp3_bank_and_enter_x_to_warp1
|
||||
@ -65,7 +65,7 @@ sub_808469C: @ 808469C
|
||||
ldr r0, =0x00000888
|
||||
bl FlagReset
|
||||
ldr r0, =gUnknown_08271862
|
||||
bl script_env_2_execute_new_script
|
||||
bl ScriptContext2_RunNewScript
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
@ -138,8 +138,8 @@ sub_8084788: @ 8084788
|
||||
.pool
|
||||
thumb_func_end sub_8084788
|
||||
|
||||
thumb_func_start sub_80847A8
|
||||
sub_80847A8: @ 80847A8
|
||||
thumb_func_start ResetGameStats
|
||||
ResetGameStats: @ 80847A8
|
||||
push {r4,lr}
|
||||
movs r4, 0
|
||||
_080847AC:
|
||||
@ -153,7 +153,7 @@ _080847AC:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80847A8
|
||||
thumb_func_end ResetGameStats
|
||||
|
||||
thumb_func_start IncrementGameStat
|
||||
@ void IncrementGameStat(u8 a1)
|
||||
@ -3496,7 +3496,7 @@ sub_8086230: @ 8086230
|
||||
bl sub_808631C
|
||||
bl StopMapMusic
|
||||
bl ResetSafariZoneFlag_
|
||||
ldr r0, =gUnknown_03006210
|
||||
ldr r0, =gSaveFileStatus
|
||||
ldrh r0, [r0]
|
||||
cmp r0, 0xFF
|
||||
bne _0808624A
|
||||
|
12
asm/rom6.s
12
asm/rom6.s
@ -2978,8 +2978,8 @@ sub_8136E20: @ 8136E20
|
||||
.pool
|
||||
thumb_func_end sub_8136E20
|
||||
|
||||
thumb_func_start sub_8136E88
|
||||
sub_8136E88: @ 8136E88
|
||||
thumb_func_start ClearPokeblocks
|
||||
ClearPokeblocks: @ 8136E88
|
||||
push {r4,lr}
|
||||
movs r4, 0
|
||||
_08136E8C:
|
||||
@ -2993,7 +2993,7 @@ _08136E8C:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8136E88
|
||||
thumb_func_end ClearPokeblocks
|
||||
|
||||
thumb_func_start sub_8136EA4
|
||||
sub_8136EA4: @ 8136EA4
|
||||
@ -12124,8 +12124,8 @@ _0813BA08:
|
||||
bx r1
|
||||
thumb_func_end sub_813B9C0
|
||||
|
||||
thumb_func_start sub_813BA10
|
||||
sub_813BA10: @ 813BA10
|
||||
thumb_func_start ResetFanClub
|
||||
ResetFanClub: @ 813BA10
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
ldr r2, =0x0000141e
|
||||
@ -12138,7 +12138,7 @@ sub_813BA10: @ 813BA10
|
||||
strh r2, [r0]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end sub_813BA10
|
||||
thumb_func_end ResetFanClub
|
||||
|
||||
thumb_func_start sub_813BA30
|
||||
sub_813BA30: @ 813BA30
|
||||
|
@ -5742,7 +5742,7 @@ _0803800C:
|
||||
subs r6, 0x1
|
||||
cmp r6, 0
|
||||
bge _08037FA4
|
||||
bl zero_enemy_party_data
|
||||
bl ZeroEnemyPartyMons
|
||||
ldr r1, =gBattleCommunication
|
||||
ldrb r0, [r1]
|
||||
adds r0, 0x1
|
||||
@ -6278,7 +6278,7 @@ sub_803849C: @ 803849C
|
||||
negs r0, r0
|
||||
ands r0, r2
|
||||
strb r0, [r1]
|
||||
bl zero_enemy_party_data
|
||||
bl ZeroEnemyPartyMons
|
||||
movs r0, 0x5A
|
||||
bl m4aSongNumStop
|
||||
bl sub_805F094
|
||||
@ -6452,7 +6452,7 @@ _08038610:
|
||||
_08038624:
|
||||
cmp r2, 0x1
|
||||
bne _0803862C
|
||||
bl zero_enemy_party_data
|
||||
bl ZeroEnemyPartyMons
|
||||
_0803862C:
|
||||
ldr r0, [r4]
|
||||
movs r1, 0x80
|
||||
|
@ -991,8 +991,8 @@ _080C7764:
|
||||
bx r1
|
||||
thumb_func_end sub_80C76A4
|
||||
|
||||
thumb_func_start sub_80C7770
|
||||
sub_80C7770: @ 80C7770
|
||||
thumb_func_start ResetPokemonStorageSystem
|
||||
ResetPokemonStorageSystem: @ 80C7770
|
||||
push {r4-r6,lr}
|
||||
movs r0, 0
|
||||
bl sub_80D1D18
|
||||
@ -1048,7 +1048,7 @@ _080C77C2:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_80C7770
|
||||
thumb_func_end ResetPokemonStorageSystem
|
||||
|
||||
thumb_func_start sub_80C77E8
|
||||
sub_80C77E8: @ 80C77E8
|
||||
@ -5190,7 +5190,7 @@ _080C9CE4:
|
||||
bne _080C9D08
|
||||
bl sub_80CABE0
|
||||
bl calc_player_party_count
|
||||
ldr r1, =gUnknown_020244E9
|
||||
ldr r1, =gPlayerPartyCount
|
||||
strb r0, [r1]
|
||||
ldr r0, =gUnknown_02039D08
|
||||
ldr r0, [r0]
|
||||
@ -5322,7 +5322,7 @@ _080C9E18:
|
||||
bne _080C9E3C
|
||||
bl sub_80CABE0
|
||||
bl calc_player_party_count
|
||||
ldr r1, =gUnknown_020244E9
|
||||
ldr r1, =gPlayerPartyCount
|
||||
strb r0, [r1]
|
||||
ldr r0, =gUnknown_02039D08
|
||||
ldr r0, [r0]
|
||||
@ -25542,8 +25542,8 @@ sub_80D4354: @ 80D4354
|
||||
bx r0
|
||||
thumb_func_end sub_80D4354
|
||||
|
||||
thumb_func_start sub_80D436C
|
||||
sub_80D436C: @ 80D436C
|
||||
thumb_func_start ClearMailData
|
||||
ClearMailData: @ 80D436C
|
||||
push {r4,r5,lr}
|
||||
movs r4, 0
|
||||
ldr r5, =gSaveBlock1Ptr
|
||||
@ -25565,7 +25565,7 @@ _080D4372:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_80D436C
|
||||
thumb_func_end ClearMailData
|
||||
|
||||
thumb_func_start sub_80D439C
|
||||
sub_80D439C: @ 80D439C
|
||||
|
@ -15750,7 +15750,7 @@ _08160C56:
|
||||
ldr r1, [r1]
|
||||
adds r1, 0x44
|
||||
ldrb r1, [r1]
|
||||
ldr r2, =gUnknown_020244E9
|
||||
ldr r2, =gPlayerPartyCount
|
||||
ldrb r2, [r2]
|
||||
subs r2, 0x1
|
||||
lsls r2, 24
|
||||
@ -17157,8 +17157,8 @@ _081618AA:
|
||||
.pool
|
||||
thumb_func_end sub_8161880
|
||||
|
||||
thumb_func_start sub_81618B4
|
||||
sub_81618B4: @ 81618B4
|
||||
thumb_func_start ClearDecorationInventories
|
||||
ClearDecorationInventories: @ 81618B4
|
||||
push {r4,lr}
|
||||
movs r4, 0
|
||||
_081618B8:
|
||||
@ -17172,7 +17172,7 @@ _081618B8:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_81618B4
|
||||
thumb_func_end ClearDecorationInventories
|
||||
|
||||
thumb_func_start sub_81618D0
|
||||
sub_81618D0: @ 81618D0
|
||||
@ -17514,8 +17514,8 @@ _08161B16:
|
||||
bx r1
|
||||
thumb_func_end sub_8161B10
|
||||
|
||||
thumb_func_start sub_8161B34
|
||||
sub_8161B34: @ 8161B34
|
||||
thumb_func_start ClearRoamerData
|
||||
ClearRoamerData: @ 8161B34
|
||||
push {r4,r5,lr}
|
||||
ldr r5, =gSaveBlock1Ptr
|
||||
ldr r0, [r5]
|
||||
@ -17532,10 +17532,10 @@ sub_8161B34: @ 8161B34
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8161B34
|
||||
thumb_func_end ClearRoamerData
|
||||
|
||||
thumb_func_start sub_8161B60
|
||||
sub_8161B60: @ 8161B60
|
||||
thumb_func_start ClearRoamerLocationData
|
||||
ClearRoamerLocationData: @ 8161B60
|
||||
push {r4-r6,lr}
|
||||
movs r2, 0
|
||||
ldr r6, =gUnknown_0203BC86
|
||||
@ -17560,7 +17560,7 @@ _08161B6C:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8161B60
|
||||
thumb_func_end ClearRoamerLocationData
|
||||
|
||||
thumb_func_start sub_8161B94
|
||||
sub_8161B94: @ 8161B94
|
||||
@ -17692,8 +17692,8 @@ _08161BC8:
|
||||
thumb_func_start sub_8161CBC
|
||||
sub_8161CBC: @ 8161CBC
|
||||
push {lr}
|
||||
bl sub_8161B34
|
||||
bl sub_8161B60
|
||||
bl ClearRoamerData
|
||||
bl ClearRoamerLocationData
|
||||
ldr r0, =gSpecialVar_0x8004
|
||||
ldrh r0, [r0]
|
||||
bl sub_8161B94
|
||||
@ -17868,7 +17868,7 @@ sub_8161E28: @ 8161E28
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x4
|
||||
ldr r5, =gEnemyParty
|
||||
bl zero_enemy_party_data
|
||||
bl ZeroEnemyPartyMons
|
||||
ldr r4, =gSaveBlock1Ptr
|
||||
ldr r0, [r4]
|
||||
ldr r1, =0x000031dc
|
||||
@ -19954,7 +19954,7 @@ sub_8163048: @ 8163048
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
bl zero_enemy_party_data
|
||||
bl ZeroEnemyPartyMons
|
||||
ldr r0, =gUnknown_02038BCA
|
||||
ldrh r0, [r0]
|
||||
movs r1, 0
|
||||
@ -19972,7 +19972,7 @@ sub_816306C: @ 816306C
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
bl zero_enemy_party_data
|
||||
bl ZeroEnemyPartyMons
|
||||
ldr r0, =gUnknown_02038BCA
|
||||
ldrh r0, [r0]
|
||||
movs r1, 0
|
||||
@ -19995,7 +19995,7 @@ sub_81630A0: @ 81630A0
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
bl zero_enemy_party_data
|
||||
bl ZeroEnemyPartyMons
|
||||
ldr r0, =gUnknown_02038BCA
|
||||
ldrh r0, [r0]
|
||||
movs r1, 0
|
||||
@ -20604,7 +20604,7 @@ _08163580:
|
||||
thumb_func_start sub_8163590
|
||||
sub_8163590: @ 8163590
|
||||
push {lr}
|
||||
bl zero_enemy_party_data
|
||||
bl ZeroEnemyPartyMons
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r0, [r0]
|
||||
ldr r1, =0x00000ca9
|
||||
@ -21340,7 +21340,7 @@ _08163BC4:
|
||||
b _08163E10
|
||||
.pool
|
||||
_08163C10:
|
||||
bl zero_enemy_party_data
|
||||
bl ZeroEnemyPartyMons
|
||||
movs r5, 0
|
||||
ldr r4, =gSaveBlock2Ptr
|
||||
_08163C18:
|
||||
@ -21668,7 +21668,7 @@ _08163F52:
|
||||
ldr r4, =gSaveBlock2Ptr
|
||||
ldr r1, [r4]
|
||||
adds r1, 0xA
|
||||
bl sub_80842F4
|
||||
bl CopyUnalignedWord
|
||||
adds r0, r5, 0x4
|
||||
ldr r1, [r4]
|
||||
bl StringCopy7
|
||||
@ -23782,7 +23782,7 @@ _081651A6:
|
||||
adds r0, 0xC
|
||||
ldr r1, [r5]
|
||||
adds r1, 0xA
|
||||
bl sub_80842F4
|
||||
bl CopyUnalignedWord
|
||||
adds r0, r7, 0x4
|
||||
ldr r1, [r5]
|
||||
bl StringCopy7
|
||||
|
@ -34,14 +34,14 @@ sub_81700F8: @ 81700F8
|
||||
bl ResetSaveCounters
|
||||
movs r0, 0
|
||||
bl sub_81534D0
|
||||
ldr r0, =gUnknown_03006210
|
||||
ldr r0, =gSaveFileStatus
|
||||
ldrh r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _08170148
|
||||
cmp r0, 0x2
|
||||
bne _0817014C
|
||||
_08170148:
|
||||
bl init_sav2
|
||||
bl Sav2_ClearSetDefault
|
||||
_0817014C:
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r0, [r0]
|
||||
|
@ -1596,8 +1596,8 @@ sub_8185B60: @ 8185B60
|
||||
push {r5-r7}
|
||||
sub sp, 0x4
|
||||
adds r7, r0, 0
|
||||
bl zero_player_party_data
|
||||
bl zero_enemy_party_data
|
||||
bl ZeroPlayerPartyMons
|
||||
bl ZeroEnemyPartyMons
|
||||
movs r6, 0
|
||||
ldr r0, =gPlayerParty
|
||||
mov r8, r0
|
||||
|
@ -1332,8 +1332,8 @@ _0818DA24:
|
||||
.pool
|
||||
thumb_func_end sub_818D9C0
|
||||
|
||||
thumb_func_start sub_818DA30
|
||||
sub_818DA30: @ 818DA30
|
||||
thumb_func_start SetLilycoveLady
|
||||
SetLilycoveLady: @ 818DA30
|
||||
push {lr}
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r0, [r0]
|
||||
@ -1369,7 +1369,7 @@ _0818DA6E:
|
||||
_0818DA72:
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_818DA30
|
||||
thumb_func_end SetLilycoveLady
|
||||
|
||||
thumb_func_start sub_818DA78
|
||||
sub_818DA78: @ 818DA78
|
||||
@ -5248,7 +5248,7 @@ sub_818FBDC: @ 818FBDC
|
||||
lsrs r0, 16
|
||||
mov r8, r0
|
||||
movs r6, 0
|
||||
bl zero_enemy_party_data
|
||||
bl ZeroEnemyPartyMons
|
||||
mov r0, r8
|
||||
bl sub_818FC78
|
||||
adds r5, r0, 0
|
||||
@ -18708,7 +18708,7 @@ sub_8196D74: @ 8196D74
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r0, [r0]
|
||||
adds r0, 0xA
|
||||
bl sub_80842DC
|
||||
bl ReadUnalignedWord
|
||||
adds r6, r0, 0
|
||||
ldr r0, =0x0000ffff
|
||||
ands r6, r0
|
||||
@ -39145,11 +39145,11 @@ _081A13D4:
|
||||
ldr r0, [r7]
|
||||
add r0, r8
|
||||
adds r0, 0x34
|
||||
bl sub_80842DC
|
||||
bl ReadUnalignedWord
|
||||
adds r4, r0, 0
|
||||
ldr r0, [r7]
|
||||
adds r0, 0xA
|
||||
bl sub_80842DC
|
||||
bl ReadUnalignedWord
|
||||
cmp r4, r0
|
||||
bne _081A13FC
|
||||
ldr r0, [r7]
|
||||
@ -42698,7 +42698,7 @@ _081A3298:
|
||||
mov r3, r9
|
||||
ldr r1, [r3]
|
||||
adds r1, r2
|
||||
bl write_word_to_mem
|
||||
bl WriteUnalignedWord
|
||||
_081A32F2:
|
||||
mov r7, r9
|
||||
ldr r0, [r7]
|
||||
@ -45516,7 +45516,7 @@ _081A4B44:
|
||||
movs r1, 0
|
||||
str r2, [sp]
|
||||
str r3, [sp, 0x4]
|
||||
bl sub_80842F4
|
||||
bl CopyUnalignedWord
|
||||
ldr r3, [sp, 0x4]
|
||||
ldr r0, [r3]
|
||||
adds r0, r4
|
||||
@ -45567,14 +45567,14 @@ _081A4BAE:
|
||||
adds r0, r2
|
||||
movs r1, 0
|
||||
str r2, [sp]
|
||||
bl sub_80842F4
|
||||
bl CopyUnalignedWord
|
||||
ldr r0, [r7]
|
||||
adds r0, r6
|
||||
ldr r2, [sp]
|
||||
adds r0, r2
|
||||
adds r0, 0x4
|
||||
movs r1, 0
|
||||
bl sub_80842F4
|
||||
bl CopyUnalignedWord
|
||||
ldr r1, [r7]
|
||||
adds r1, r4
|
||||
ldr r0, =0x00000586
|
||||
@ -45642,7 +45642,7 @@ _081A4C4E:
|
||||
adds r5, 0x64
|
||||
cmp r4, r6
|
||||
ble _081A4C4E
|
||||
ldr r4, =gUnknown_020244E9
|
||||
ldr r4, =gPlayerPartyCount
|
||||
ldrb r5, [r4]
|
||||
bl copy_player_party_from_sav1
|
||||
bl sub_8076D5C
|
||||
@ -45859,7 +45859,7 @@ sub_81A4E04: @ 81A4E04
|
||||
_081A4E44:
|
||||
movs r4, 0x7
|
||||
_081A4E46:
|
||||
bl zero_enemy_party_data
|
||||
bl ZeroEnemyPartyMons
|
||||
movs r1, 0
|
||||
str r1, [sp, 0x18]
|
||||
bl sub_8165C40
|
||||
@ -48079,7 +48079,7 @@ nullsub_123: @ 81A6184
|
||||
thumb_func_start sub_81A6188
|
||||
sub_81A6188: @ 81A6188
|
||||
push {lr}
|
||||
bl zero_player_party_data
|
||||
bl ZeroPlayerPartyMons
|
||||
bl sub_819A4F8
|
||||
pop {r0}
|
||||
bx r0
|
||||
@ -48509,7 +48509,7 @@ _081A6518:
|
||||
bls _081A6522
|
||||
b _081A666C
|
||||
_081A6522:
|
||||
bl zero_player_party_data
|
||||
bl ZeroPlayerPartyMons
|
||||
movs r0, 0
|
||||
mov r8, r0
|
||||
mov r1, sp
|
||||
@ -57200,8 +57200,8 @@ _081AAB5A:
|
||||
.pool
|
||||
thumb_func_end CalculateBattlePyramidPickupItemId
|
||||
|
||||
thumb_func_start sub_81AAB70
|
||||
sub_81AAB70: @ 81AAB70
|
||||
thumb_func_start ResetBagScrollPositions
|
||||
ResetBagScrollPositions: @ 81AAB70
|
||||
push {r4,lr}
|
||||
ldr r4, =gUnknown_0203CE58
|
||||
movs r0, 0
|
||||
@ -57220,7 +57220,7 @@ sub_81AAB70: @ 81AAB70
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81AAB70
|
||||
thumb_func_end ResetBagScrollPositions
|
||||
|
||||
thumb_func_start CB2_BagMenuFromStartMenu
|
||||
@ void CB2_BagMenuFromStartMenu()
|
||||
@ -62757,7 +62757,7 @@ _081ADCAE:
|
||||
adds r0, r2
|
||||
movs r1, 0x10
|
||||
bl ClearItemSlots
|
||||
bl sub_81AAB70
|
||||
bl ResetBagScrollPositions
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
@ -70216,7 +70216,7 @@ _081B187A:
|
||||
_081B1888:
|
||||
cmp r1, 0x6
|
||||
bne _081B1898
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
subs r0, 0x1
|
||||
b _081B1950
|
||||
@ -70234,7 +70234,7 @@ _081B1898:
|
||||
b _081B1950
|
||||
.pool
|
||||
_081B18B0:
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
subs r0, 0x1
|
||||
b _081B1950
|
||||
@ -70250,7 +70250,7 @@ _081B18C0:
|
||||
beq _081B194E
|
||||
movs r1, 0
|
||||
ldrsb r1, [r4, r1]
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
subs r0, 0x1
|
||||
cmp r1, r0
|
||||
@ -70271,7 +70271,7 @@ _081B18F4:
|
||||
adds r0, r2, 0x1
|
||||
b _081B1950
|
||||
_081B18F8:
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x1
|
||||
beq _081B1952
|
||||
@ -70359,7 +70359,7 @@ _081B1988:
|
||||
_081B1996:
|
||||
cmp r0, 0x6
|
||||
bne _081B19A8
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
subs r0, 0x1
|
||||
b _081B1AF2
|
||||
@ -71245,7 +71245,7 @@ sub_81B209C: @ 81B209C
|
||||
cmp r0, 0
|
||||
bne _081B20FC
|
||||
movs r4, 0
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
cmp r4, r0
|
||||
bcs _081B2126
|
||||
@ -71264,7 +71264,7 @@ _081B20C4:
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
cmp r4, r0
|
||||
bcc _081B20C4
|
||||
@ -71289,7 +71289,7 @@ _081B2100:
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
_081B211E:
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
cmp r4, r0
|
||||
bcc _081B2100
|
||||
@ -74058,7 +74058,7 @@ sub_81B3828: @ 81B3828
|
||||
bl pokemon_change_order
|
||||
ldr r1, =gPlayerParty
|
||||
ldrb r2, [r4, 0x9]
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r3, [r0]
|
||||
subs r3, 0x1
|
||||
lsls r3, 24
|
||||
@ -74072,7 +74072,7 @@ sub_81B3828: @ 81B3828
|
||||
_081B3868:
|
||||
ldr r1, =gPlayerParty
|
||||
ldrb r2, [r4, 0x9]
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r3, [r0]
|
||||
subs r3, 0x1
|
||||
lsls r3, 24
|
||||
@ -80497,7 +80497,7 @@ sub_81B70B8: @ 81B70B8
|
||||
ldr r0, =gPlayerParty
|
||||
ldr r4, =gUnknown_0203CEC8
|
||||
ldrb r1, [r4, 0x9]
|
||||
ldr r2, =gUnknown_020244E9
|
||||
ldr r2, =gPlayerPartyCount
|
||||
ldrb r2, [r2]
|
||||
subs r2, 0x1
|
||||
lsls r2, 24
|
||||
@ -84925,7 +84925,7 @@ sub_81B968C: @ 81B968C
|
||||
ldr r1, =gPlayerParty
|
||||
ldr r0, =gSpecialVar_0x8004
|
||||
ldrb r2, [r0]
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r3, [r0]
|
||||
subs r3, 0x1
|
||||
lsls r3, 24
|
||||
@ -85824,7 +85824,7 @@ _081B9E6E:
|
||||
thumb_func_start sub_81B9E78
|
||||
sub_81B9E78: @ 81B9E78
|
||||
push {lr}
|
||||
bl zero_player_party_data
|
||||
bl ZeroPlayerPartyMons
|
||||
bl sub_819A4F8
|
||||
pop {r0}
|
||||
bx r0
|
||||
|
@ -46655,7 +46655,7 @@ _081D636A:
|
||||
thumb_func_start sub_81D6384
|
||||
sub_81D6384: @ 81D6384
|
||||
push {lr}
|
||||
bl zero_enemy_party_data
|
||||
bl ZeroEnemyPartyMons
|
||||
ldr r0, =gUnknown_02038BCA
|
||||
ldrh r0, [r0]
|
||||
movs r1, 0
|
||||
@ -46668,7 +46668,7 @@ sub_81D6384: @ 81D6384
|
||||
thumb_func_start sub_81D639C
|
||||
sub_81D639C: @ 81D639C
|
||||
push {lr}
|
||||
bl zero_enemy_party_data
|
||||
bl ZeroEnemyPartyMons
|
||||
ldr r0, =gUnknown_02038BCA
|
||||
ldrh r0, [r0]
|
||||
movs r1, 0
|
||||
@ -53206,7 +53206,7 @@ sub_81D9AC4: @ 81D9AC4
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r0, [r0]
|
||||
adds r0, 0xA
|
||||
bl sub_80842DC
|
||||
bl ReadUnalignedWord
|
||||
adds r4, r0, 0
|
||||
lsls r4, 16
|
||||
lsrs r4, 16
|
||||
|
@ -152,7 +152,7 @@ _080FC1D8:
|
||||
cmp r0, 0x8
|
||||
bne _080FC208
|
||||
ldr r0, =gUnknown_082A4B4C
|
||||
bl script_env_2_execute_new_script
|
||||
bl ScriptContext2_RunNewScript
|
||||
bl warp_in
|
||||
ldr r1, =gUnknown_03005DAC
|
||||
ldr r0, =sub_80AF6F0
|
||||
|
12
asm/script.s
12
asm/script.s
@ -411,9 +411,9 @@ script_env_2_enable_and_set_ctx_running: @ 8098F3C
|
||||
.pool
|
||||
thumb_func_end script_env_2_enable_and_set_ctx_running
|
||||
|
||||
thumb_func_start script_env_2_execute_new_script
|
||||
@ void script_env_2_execute_new_script(void *script_ptr)
|
||||
script_env_2_execute_new_script: @ 8098F50
|
||||
thumb_func_start ScriptContext2_RunNewScript
|
||||
@ void ScriptContext2_RunNewScript(void *script_ptr)
|
||||
ScriptContext2_RunNewScript: @ 8098F50
|
||||
push {r4,r5,lr}
|
||||
adds r5, r0, 0
|
||||
ldr r4, =gUnknown_03000EB8
|
||||
@ -435,7 +435,7 @@ _08098F68:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end script_env_2_execute_new_script
|
||||
thumb_func_end ScriptContext2_RunNewScript
|
||||
|
||||
thumb_func_start mapheader_get_tagged_pointer
|
||||
mapheader_get_tagged_pointer: @ 8098F88
|
||||
@ -484,7 +484,7 @@ mapheader_run_script_by_tag: @ 8098FC8
|
||||
bl mapheader_get_tagged_pointer
|
||||
cmp r0, 0
|
||||
beq _08098FDA
|
||||
bl script_env_2_execute_new_script
|
||||
bl ScriptContext2_RunNewScript
|
||||
_08098FDA:
|
||||
pop {r0}
|
||||
bx r0
|
||||
@ -616,7 +616,7 @@ mapheader_run_first_tag4_script_list_match: @ 8099098
|
||||
bl mapheader_get_first_match_from_tagged_ptr_list
|
||||
cmp r0, 0
|
||||
beq _080990A8
|
||||
bl script_env_2_execute_new_script
|
||||
bl ScriptContext2_RunNewScript
|
||||
_080990A8:
|
||||
pop {r0}
|
||||
bx r0
|
||||
|
@ -1184,7 +1184,7 @@ sp000_heal_pokemon: @ 80F9180
|
||||
sub sp, 0x4
|
||||
movs r0, 0
|
||||
mov r8, r0
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
cmp r8, r0
|
||||
bcs _080F922C
|
||||
@ -1253,7 +1253,7 @@ _080F91D4:
|
||||
lsls r0, r1, 24
|
||||
lsrs r0, 24
|
||||
mov r8, r0
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
cmp r8, r0
|
||||
bcc _080F919E
|
||||
@ -1464,7 +1464,7 @@ sub_80F93A0: @ 80F93A0
|
||||
lsrs r5, 24
|
||||
lsls r7, r2, 16
|
||||
lsrs r6, r7, 16
|
||||
bl zero_enemy_party_data
|
||||
bl ZeroEnemyPartyMons
|
||||
ldr r0, =gEnemyParty
|
||||
mov r8, r0
|
||||
movs r0, 0
|
||||
@ -1509,7 +1509,7 @@ sub_80F9400: @ 80F9400
|
||||
lsrs r2, 24
|
||||
cmp r3, 0x6
|
||||
bls _080F941C
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
subs r0, 0x1
|
||||
lsls r0, 24
|
||||
|
@ -36,8 +36,8 @@ _080E8B0A:
|
||||
.pool
|
||||
thumb_func_end sub_80E8AF0
|
||||
|
||||
thumb_func_start sub_80E8B28
|
||||
sub_80E8B28: @ 80E8B28
|
||||
thumb_func_start ResetSecretBases
|
||||
ResetSecretBases: @ 80E8B28
|
||||
push {r4,r5,lr}
|
||||
movs r4, 0
|
||||
ldr r5, =gSaveBlock1Ptr
|
||||
@ -59,7 +59,7 @@ _080E8B2E:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_80E8B28
|
||||
thumb_func_end ResetSecretBases
|
||||
|
||||
thumb_func_start sub_80E8B58
|
||||
sub_80E8B58: @ 80E8B58
|
||||
|
@ -1518,14 +1518,14 @@ _080A0124:
|
||||
beq _080A0168
|
||||
b _080A0174
|
||||
_080A012A:
|
||||
ldr r0, =gUnknown_03006210
|
||||
ldr r0, =gSaveFileStatus
|
||||
ldrh r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _080A0136
|
||||
cmp r0, 0x2
|
||||
bne _080A013E
|
||||
_080A0136:
|
||||
ldr r0, =gUnknown_020322D4
|
||||
ldr r0, =gDifferentSaveFile
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _080A0158
|
||||
@ -1556,7 +1556,7 @@ _080A0176:
|
||||
thumb_func_start sub_80A017C
|
||||
sub_80A017C: @ 80A017C
|
||||
push {lr}
|
||||
ldr r0, =gUnknown_020322D4
|
||||
ldr r0, =gDifferentSaveFile
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x1
|
||||
bne _080A019C
|
||||
@ -1658,7 +1658,7 @@ sub_80A024C: @ 80A024C
|
||||
movs r0, 0
|
||||
bl IncrementGameStat
|
||||
bl sub_81A9E90
|
||||
ldr r4, =gUnknown_020322D4
|
||||
ldr r4, =gDifferentSaveFile
|
||||
ldrb r0, [r4]
|
||||
cmp r0, 0x1
|
||||
bne _080A0274
|
||||
|
12
asm/trade.s
12
asm/trade.s
@ -595,7 +595,7 @@ _080776A8:
|
||||
bl SetGpuReg
|
||||
ldr r2, =gUnknown_0203229C
|
||||
ldr r0, [r2]
|
||||
ldr r1, =gUnknown_020244E9
|
||||
ldr r1, =gPlayerPartyCount
|
||||
ldrb r1, [r1]
|
||||
adds r0, 0x36
|
||||
strb r1, [r0]
|
||||
@ -1206,7 +1206,7 @@ _08077C6C:
|
||||
bl calc_enemy_party_count
|
||||
ldr r4, =gUnknown_0203229C
|
||||
ldr r0, [r4]
|
||||
ldr r1, =gUnknown_020244E9
|
||||
ldr r1, =gPlayerPartyCount
|
||||
ldrb r1, [r1]
|
||||
adds r0, 0x36
|
||||
strb r1, [r0]
|
||||
@ -3382,7 +3382,7 @@ _08078F7E:
|
||||
.pool
|
||||
_08078F9C:
|
||||
ldr r0, =gPlayerParty
|
||||
ldr r1, =gUnknown_020244E9
|
||||
ldr r1, =gPlayerPartyCount
|
||||
ldrb r1, [r1]
|
||||
ldr r2, =gUnknown_0203229C
|
||||
ldr r2, [r2]
|
||||
@ -6557,7 +6557,7 @@ sub_807A918: @ 807A918
|
||||
lsrs r1, 16
|
||||
mov r8, r1
|
||||
movs r5, 0
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
cmp r5, r0
|
||||
bge _0807A95A
|
||||
@ -6578,7 +6578,7 @@ _0807A934:
|
||||
_0807A94E:
|
||||
adds r4, 0x4
|
||||
adds r5, 0x1
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
cmp r5, r0
|
||||
blt _0807A934
|
||||
@ -6659,7 +6659,7 @@ _0807A9E0:
|
||||
_0807A9EA:
|
||||
movs r2, 0
|
||||
movs r5, 0
|
||||
ldr r0, =gUnknown_020244E9
|
||||
ldr r0, =gPlayerPartyCount
|
||||
ldrb r0, [r0]
|
||||
cmp r2, r0
|
||||
bge _0807AA0A
|
||||
|
12
asm/tv.s
12
asm/tv.s
@ -5,8 +5,8 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_80EBEE0
|
||||
sub_80EBEE0: @ 80EBEE0
|
||||
thumb_func_start ClearTVShowData
|
||||
ClearTVShowData: @ 80EBEE0
|
||||
push {r4-r7,lr}
|
||||
movs r3, 0
|
||||
ldr r6, =gSaveBlock1Ptr
|
||||
@ -49,7 +49,7 @@ _080EBF0A:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_80EBEE0
|
||||
thumb_func_end ClearTVShowData
|
||||
|
||||
thumb_func_start special_0x44
|
||||
special_0x44: @ 80EBF3C
|
||||
@ -419,8 +419,8 @@ _080EC216:
|
||||
bx r1
|
||||
thumb_func_end special_0x4a
|
||||
|
||||
thumb_func_start GabbyAndTyNewGameInitData
|
||||
GabbyAndTyNewGameInitData: @ 80EC21C
|
||||
thumb_func_start ResetGabbyAndTy
|
||||
ResetGabbyAndTy: @ 80EC21C
|
||||
push {r4-r6,lr}
|
||||
mov r6, r10
|
||||
mov r5, r9
|
||||
@ -535,7 +535,7 @@ GabbyAndTyNewGameInitData: @ 80EC21C
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end GabbyAndTyNewGameInitData
|
||||
thumb_func_end ResetGabbyAndTy
|
||||
|
||||
thumb_func_start GabbyAndTyBeforeInterview
|
||||
GabbyAndTyBeforeInterview: @ 80EC31C
|
||||
|
@ -783,7 +783,7 @@ sub_80B4E68: @ 80B4E68
|
||||
lsrs r6, r0, 16
|
||||
lsls r1, 24
|
||||
lsrs r7, r1, 24
|
||||
bl zero_enemy_party_data
|
||||
bl ZeroEnemyPartyMons
|
||||
movs r2, 0x1
|
||||
ldr r1, =gBaseStats
|
||||
lsls r0, r6, 3
|
||||
|
@ -6,5 +6,5 @@ gSaveCounter
|
||||
gFastSaveSection
|
||||
gUnknown_03006208
|
||||
gSaveUnusedVar
|
||||
gUnknown_03006210
|
||||
gSaveFileStatus
|
||||
gGameContinueCallback
|
||||
|
@ -507,7 +507,7 @@ gUnknown_08339CC8:: @ 8339CC8
|
||||
gUnknown_08339D14:: @ 8339D14
|
||||
.incbin "baserom.gba", 0x339d14, 0x8
|
||||
|
||||
gUnknown_08339D1C:: @ 8339D1C
|
||||
gContestWinnerPicDummy:: @ 8339D1C
|
||||
.incbin "baserom.gba", 0x339d1c, 0x20
|
||||
|
||||
gUnknown_08339D3C:: @ 8339D3C
|
||||
|
@ -51,6 +51,9 @@
|
||||
#define GAME_STAT_USED_DAYCARE 47
|
||||
#define GAME_STAT_RODE_CABLE_CAR 48
|
||||
#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
|
||||
|
199
include/global.h
199
include/global.h
@ -108,6 +108,32 @@ struct Pokedex
|
||||
/*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
|
||||
{
|
||||
/*0x00*/ u8 playerName[8];
|
||||
@ -131,6 +157,34 @@ struct SaveBlock2
|
||||
/*0xA0*/ struct Time lastBerryTreeUpdate;
|
||||
/*0xA8*/ u8 filler_A8[0x4];
|
||||
/*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;
|
||||
@ -219,12 +273,6 @@ struct RamScript
|
||||
struct RamScriptData data;
|
||||
};
|
||||
|
||||
struct SB1_2EFC_Struct
|
||||
{
|
||||
u16 var;
|
||||
u8 unknown[0x1E];
|
||||
};
|
||||
|
||||
struct EasyChatPair
|
||||
{
|
||||
u16 unk0_0:7;
|
||||
@ -493,26 +541,6 @@ typedef union OldMan
|
||||
u8 filler[0x40];
|
||||
} 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
|
||||
{
|
||||
u8 val0;
|
||||
@ -579,6 +607,17 @@ struct RecordMixingGift
|
||||
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 VARS_NUMBER 256
|
||||
|
||||
@ -617,61 +656,63 @@ struct SaveBlock1
|
||||
/*0xC70*/ struct MapObjectTemplate mapObjectTemplates[64];
|
||||
/*0x1270*/ u8 flags[FLAGS_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];
|
||||
/*0x1608*/ struct BerryTree berryTrees[128];
|
||||
/*0x1A08*/ struct SecretBaseRecord secretBases[20];
|
||||
/*0x2688*/ u8 playerRoomDecor[12];
|
||||
/*0x2694*/ u8 playerRoomDecorPos[12];
|
||||
/*0x26A0*/ u8 decorDesk[10];
|
||||
/*0x26AA*/ u8 decorChair[10];
|
||||
/*0x26B4*/ u8 decorPlant[10];
|
||||
/*0x26BE*/ u8 decorOrnament[30];
|
||||
/*0x26DC*/ u8 decorMat[30];
|
||||
/*0x26FA*/ u8 decorPoster[10];
|
||||
/*0x2704*/ u8 decorDoll[40];
|
||||
/*0x272C*/ u8 decorCushion[10];
|
||||
/*0x2736*/ u8 padding_2736[2];
|
||||
/*0x2738*/ TVShow tvShows[25];
|
||||
/*0x2ABC*/ struct UnknownSaveStruct2ABC unknown_2ABC[16];
|
||||
/*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
|
||||
/*0x????*/ struct BoxPokemon daycareData[2];
|
||||
/*0x????*/ struct RecordMixing_UnknownStruct filler_303C;
|
||||
/*0x????*/ u8 filler_30B4[0x2];
|
||||
/*0x????*/ u8 filler_30B6;
|
||||
/*0x????*/ u8 filler_30B7[1];
|
||||
/*0x????*/ struct LinkBattleRecord linkBattleRecords[5];
|
||||
/*0x????*/ u8 filler_3108[8];
|
||||
|
||||
/*0x31A8*/ u8 giftRibbons[52];
|
||||
/*0x31DC*/ struct Roamer roamer;
|
||||
/*0x31F8*/ struct EnigmaBerry enigmaBerry;
|
||||
|
||||
// TODO: fix
|
||||
/*0x????*/ struct RamScript ramScript;
|
||||
/*0x????*/ struct RecordMixingGift recordMixingGift;
|
||||
/*0x????*/ u8 unk3A8C[52]; //pokedex related
|
||||
};
|
||||
|
||||
extern struct SaveBlock1* gSaveBlock1Ptr;
|
||||
|
12
include/new_game.h
Normal file
12
include/new_game.h
Normal 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
|
@ -77,6 +77,7 @@ SECTIONS {
|
||||
asm/trade.o(.text);
|
||||
asm/berry_blender.o(.text);
|
||||
src/play_time.o(.text);
|
||||
src/new_game.o(.text);
|
||||
asm/new_game.o(.text);
|
||||
asm/rom4.o(.text);
|
||||
asm/fieldmap.o(.text);
|
||||
|
@ -217,7 +217,7 @@ void SeedRngAndSetTrainerId(void)
|
||||
gTrainerId = val;
|
||||
}
|
||||
|
||||
u16 GetTrainerId(void)
|
||||
u16 GetGeneratedTrainerIdLower(void)
|
||||
{
|
||||
return gTrainerId;
|
||||
}
|
||||
|
111
src/new_game.c
Normal file
111
src/new_game.c
Normal 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
|
||||
}*/
|
@ -24,7 +24,7 @@ u32 gSaveCounter;
|
||||
struct SaveSection *gFastSaveSection;
|
||||
u16 gUnknown_03006208;
|
||||
u16 gSaveUnusedVar;
|
||||
u16 gUnknown_03006210;
|
||||
u16 gSaveFileStatus;
|
||||
void (*gGameContinueCallback)(void);
|
||||
|
||||
EWRAM_DATA struct SaveSection gSaveDataBuffer = {0};
|
||||
@ -806,7 +806,7 @@ u8 sub_81534D0(u8 a1)
|
||||
|
||||
if (gFlashMemoryPresent != TRUE)
|
||||
{
|
||||
gUnknown_03006210 = 4;
|
||||
gSaveFileStatus = 4;
|
||||
return 0xFF;
|
||||
}
|
||||
|
||||
@ -817,7 +817,7 @@ u8 sub_81534D0(u8 a1)
|
||||
default:
|
||||
result = sub_8152DD0(0xFFFF, gRamSaveSectionLocations);
|
||||
LoadSerializedGame();
|
||||
gUnknown_03006210 = result;
|
||||
gSaveFileStatus = result;
|
||||
gGameContinueCallback = 0;
|
||||
break;
|
||||
case 3:
|
||||
|
@ -596,7 +596,7 @@ gUnknown_020244E4: @ 20244E4
|
||||
gUnknown_020244E8: @ 20244E8
|
||||
.space 0x1
|
||||
|
||||
gUnknown_020244E9: @ 20244E9
|
||||
gPlayerPartyCount: @ 20244E9
|
||||
.space 0x1
|
||||
|
||||
gUnknown_020244EA: @ 20244EA
|
||||
@ -707,7 +707,7 @@ gUnknown_020322BC: @ 20322BC
|
||||
gUnknown_020322D0: @ 20322D0
|
||||
.space 0x4
|
||||
|
||||
gUnknown_020322D4: @ 20322D4
|
||||
gDifferentSaveFile: @ 20322D4
|
||||
.space 0x1
|
||||
|
||||
gUnknown_020322D5: @ 20322D5
|
||||
|
Loading…
Reference in New Issue
Block a user