Merge branch 'master' into link
This commit is contained in:
+2
-2
@@ -2799,7 +2799,7 @@ _080E6F0E:
|
|||||||
ldr r4, _080E6FA4 @ =gSaveBlock2Ptr
|
ldr r4, _080E6FA4 @ =gSaveBlock2Ptr
|
||||||
ldr r1, [r4]
|
ldr r1, [r4]
|
||||||
adds r1, 0xA
|
adds r1, 0xA
|
||||||
bl CopyUnalignedWord
|
bl CopyTrainerId
|
||||||
adds r0, r5, 0x4
|
adds r0, r5, 0x4
|
||||||
ldr r1, [r4]
|
ldr r1, [r4]
|
||||||
bl StringCopy7
|
bl StringCopy7
|
||||||
@@ -3369,7 +3369,7 @@ _080E7372:
|
|||||||
adds r0, 0xC
|
adds r0, 0xC
|
||||||
ldr r1, [r5]
|
ldr r1, [r5]
|
||||||
adds r1, 0xA
|
adds r1, 0xA
|
||||||
bl CopyUnalignedWord
|
bl CopyTrainerId
|
||||||
adds r0, r7, 0x4
|
adds r0, r7, 0x4
|
||||||
ldr r1, [r5]
|
ldr r1, [r5]
|
||||||
bl StringCopy7
|
bl StringCopy7
|
||||||
|
|||||||
+3
-3
@@ -868,8 +868,8 @@ _080BDD2C: .4byte gUnknown_83ECED4
|
|||||||
_080BDD30: .4byte 0x0000ffff
|
_080BDD30: .4byte 0x0000ffff
|
||||||
thumb_func_end sub_80BDCB8
|
thumb_func_end sub_80BDCB8
|
||||||
|
|
||||||
thumb_func_start sub_80BDD34
|
thumb_func_start InitEasyChatPhrases
|
||||||
sub_80BDD34: @ 80BDD34
|
InitEasyChatPhrases: @ 80BDD34
|
||||||
push {r4-r7,lr}
|
push {r4-r7,lr}
|
||||||
movs r4, 0
|
movs r4, 0
|
||||||
ldr r5, _080BDE00 @ =gSaveBlock1Ptr
|
ldr r5, _080BDE00 @ =gSaveBlock1Ptr
|
||||||
@@ -988,7 +988,7 @@ _080BDE18: .4byte 0x0000ffff
|
|||||||
_080BDE1C: .4byte 0x00002cc4
|
_080BDE1C: .4byte 0x00002cc4
|
||||||
_080BDE20: .4byte 0x00002cd0
|
_080BDE20: .4byte 0x00002cd0
|
||||||
_080BDE24: .4byte 0x00002f10
|
_080BDE24: .4byte 0x00002f10
|
||||||
thumb_func_end sub_80BDD34
|
thumb_func_end InitEasyChatPhrases
|
||||||
|
|
||||||
thumb_func_start sub_80BDE28
|
thumb_func_start sub_80BDE28
|
||||||
sub_80BDE28: @ 80BDE28
|
sub_80BDE28: @ 80BDE28
|
||||||
|
|||||||
+3
-3
@@ -5,8 +5,8 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_806E0D0
|
thumb_func_start InitEventData
|
||||||
sub_806E0D0: @ 806E0D0
|
InitEventData: @ 806E0D0
|
||||||
push {r4,lr}
|
push {r4,lr}
|
||||||
ldr r4, _0806E108 @ =gSaveBlock1Ptr
|
ldr r4, _0806E108 @ =gSaveBlock1Ptr
|
||||||
ldr r0, [r4]
|
ldr r0, [r4]
|
||||||
@@ -35,7 +35,7 @@ sub_806E0D0: @ 806E0D0
|
|||||||
.align 2, 0
|
.align 2, 0
|
||||||
_0806E108: .4byte gSaveBlock1Ptr
|
_0806E108: .4byte gSaveBlock1Ptr
|
||||||
_0806E10C: .4byte gUnknown_20370E0
|
_0806E10C: .4byte gUnknown_20370E0
|
||||||
thumb_func_end sub_806E0D0
|
thumb_func_end InitEventData
|
||||||
|
|
||||||
thumb_func_start sub_806E110
|
thumb_func_start sub_806E110
|
||||||
sub_806E110: @ 806E110
|
sub_806E110: @ 806E110
|
||||||
|
|||||||
+1
-1
@@ -1458,7 +1458,7 @@ sub_80F2934: @ 80F2934
|
|||||||
movs r0, 0x3 @ MAP_GROUP(INDIGO_PLATEAU_EXTERIOR)
|
movs r0, 0x3 @ MAP_GROUP(INDIGO_PLATEAU_EXTERIOR)
|
||||||
movs r1, 0x9 @ MAP_NUM(INDIGO_PLATEAU_EXTERIOR)
|
movs r1, 0x9 @ MAP_NUM(INDIGO_PLATEAU_EXTERIOR)
|
||||||
movs r3, 0xB
|
movs r3, 0xB
|
||||||
bl Overworld_SetWarpDestination
|
bl SetWarpDestination
|
||||||
bl DoWarp
|
bl DoWarp
|
||||||
bl ResetInitialPlayerAvatarState
|
bl ResetInitialPlayerAvatarState
|
||||||
add sp, 0x4
|
add sp, 0x4
|
||||||
|
|||||||
+2
-2
@@ -3356,7 +3356,7 @@ sub_8117440: @ 8117440
|
|||||||
asrs r5, 24
|
asrs r5, 24
|
||||||
str r5, [sp]
|
str r5, [sp]
|
||||||
adds r3, r4, 0
|
adds r3, r4, 0
|
||||||
bl Overworld_SetWarpDestination
|
bl SetWarpDestination
|
||||||
ldr r0, [r6]
|
ldr r0, [r6]
|
||||||
movs r1, 0x4
|
movs r1, 0x4
|
||||||
ldrsb r1, [r0, r1]
|
ldrsb r1, [r0, r1]
|
||||||
@@ -3423,7 +3423,7 @@ sub_81174B4: @ 81174B4
|
|||||||
adds r0, r4, 0
|
adds r0, r4, 0
|
||||||
adds r1, r5, 0
|
adds r1, r5, 0
|
||||||
mov r3, r8
|
mov r3, r8
|
||||||
bl Overworld_SetWarpDestination
|
bl SetWarpDestination
|
||||||
bl WarpIntoMap
|
bl WarpIntoMap
|
||||||
add sp, 0x4
|
add sp, 0x4
|
||||||
pop {r3}
|
pop {r3}
|
||||||
|
|||||||
-340
@@ -1,340 +0,0 @@
|
|||||||
.include "asm/macros.inc"
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.syntax unified
|
|
||||||
|
|
||||||
.text
|
|
||||||
|
|
||||||
thumb_func_start WriteUnalignedWord
|
|
||||||
WriteUnalignedWord: @ 80548FC
|
|
||||||
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 WriteUnalignedWord
|
|
||||||
|
|
||||||
thumb_func_start CopyUnalignedWord
|
|
||||||
CopyUnalignedWord: @ 805490C
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
adds r3, r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
_08054914:
|
|
||||||
adds r0, r4, r2
|
|
||||||
adds r1, r3, r2
|
|
||||||
ldrb r1, [r1]
|
|
||||||
strb r1, [r0]
|
|
||||||
adds r2, 0x1
|
|
||||||
cmp r2, 0x3
|
|
||||||
ble _08054914
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end CopyUnalignedWord
|
|
||||||
|
|
||||||
thumb_func_start InitPlayerTrainerId
|
|
||||||
InitPlayerTrainerId: @ 8054928
|
|
||||||
push {r4,lr}
|
|
||||||
bl Random
|
|
||||||
adds r4, r0, 0
|
|
||||||
bl GetGeneratedTrainerIdLower
|
|
||||||
lsls r4, 16
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
orrs r4, r0
|
|
||||||
ldr r0, _08054950 @ =gSaveBlock2Ptr
|
|
||||||
ldr r1, [r0]
|
|
||||||
adds r1, 0xA
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl WriteUnalignedWord
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08054950: .4byte gSaveBlock2Ptr
|
|
||||||
thumb_func_end InitPlayerTrainerId
|
|
||||||
|
|
||||||
thumb_func_start SetDefaultOptions
|
|
||||||
SetDefaultOptions: @ 8054954
|
|
||||||
ldr r3, _080549A8 @ =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]
|
|
||||||
ldr r1, [r3]
|
|
||||||
movs r0, 0
|
|
||||||
strb r0, [r1, 0x13]
|
|
||||||
bx lr
|
|
||||||
.align 2, 0
|
|
||||||
_080549A8: .4byte gSaveBlock2Ptr
|
|
||||||
thumb_func_end SetDefaultOptions
|
|
||||||
|
|
||||||
thumb_func_start sub_80549AC
|
|
||||||
sub_80549AC: @ 80549AC
|
|
||||||
push {r4,lr}
|
|
||||||
ldr r4, _080549D0 @ =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
|
|
||||||
.align 2, 0
|
|
||||||
_080549D0: .4byte gSaveBlock2Ptr
|
|
||||||
thumb_func_end sub_80549AC
|
|
||||||
|
|
||||||
thumb_func_start sub_80549D4
|
|
||||||
sub_80549D4: @ 80549D4
|
|
||||||
push {lr}
|
|
||||||
sub sp, 0x4
|
|
||||||
movs r0, 0
|
|
||||||
str r0, [sp]
|
|
||||||
ldr r0, _080549F0 @ =gSaveBlock2Ptr
|
|
||||||
ldr r1, [r0]
|
|
||||||
adds r1, 0xB0
|
|
||||||
ldr r2, _080549F4 @ =0x050001fa
|
|
||||||
mov r0, sp
|
|
||||||
bl CpuSet
|
|
||||||
add sp, 0x4
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_080549F0: .4byte gSaveBlock2Ptr
|
|
||||||
_080549F4: .4byte 0x050001fa
|
|
||||||
thumb_func_end sub_80549D4
|
|
||||||
|
|
||||||
thumb_func_start sub_80549F8
|
|
||||||
sub_80549F8: @ 80549F8
|
|
||||||
push {lr}
|
|
||||||
sub sp, 0x4
|
|
||||||
movs r2, 0x1
|
|
||||||
negs r2, r2
|
|
||||||
movs r0, 0x6
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0x4
|
|
||||||
movs r1, 0x1
|
|
||||||
movs r3, 0x6
|
|
||||||
bl Overworld_SetWarpDestination
|
|
||||||
bl WarpIntoMap
|
|
||||||
add sp, 0x4
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_80549F8
|
|
||||||
|
|
||||||
thumb_func_start Sav2_ClearSetDefault
|
|
||||||
Sav2_ClearSetDefault: @ 8054A18
|
|
||||||
push {lr}
|
|
||||||
bl ClearSav2
|
|
||||||
bl SetDefaultOptions
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end Sav2_ClearSetDefault
|
|
||||||
|
|
||||||
thumb_func_start ResetMenuAndMonGlobals
|
|
||||||
ResetMenuAndMonGlobals: @ 8054A28
|
|
||||||
push {lr}
|
|
||||||
ldr r1, _08054A5C @ =gUnknown_2031DB0
|
|
||||||
movs r0, 0
|
|
||||||
strb r0, [r1]
|
|
||||||
bl ZeroPlayerPartyMons
|
|
||||||
bl ZeroEnemyPartyMons
|
|
||||||
bl sub_81089BC
|
|
||||||
bl ResetTMCaseCursorPos
|
|
||||||
bl BerryPouch_CursorResetToTop
|
|
||||||
bl sub_811089C
|
|
||||||
bl Random
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
bl sub_8083214
|
|
||||||
bl sub_806E6FC
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08054A5C: .4byte gUnknown_2031DB0
|
|
||||||
thumb_func_end ResetMenuAndMonGlobals
|
|
||||||
|
|
||||||
thumb_func_start sub_8054A60
|
|
||||||
sub_8054A60: @ 8054A60
|
|
||||||
push {r4-r6,lr}
|
|
||||||
mov r6, r8
|
|
||||||
push {r6}
|
|
||||||
sub sp, 0x8
|
|
||||||
ldr r6, _08054B50 @ =gSaveBlock1Ptr
|
|
||||||
ldr r1, [r6]
|
|
||||||
ldr r0, _08054B54 @ =0x00003a4c
|
|
||||||
mov r8, r0
|
|
||||||
add r1, r8
|
|
||||||
mov r0, sp
|
|
||||||
bl StringCopy
|
|
||||||
ldr r1, _08054B58 @ =gUnknown_2031DB0
|
|
||||||
movs r0, 0x1
|
|
||||||
strb r0, [r1]
|
|
||||||
ldr r4, _08054B5C @ =gSaveBlock2Ptr
|
|
||||||
ldr r0, [r4]
|
|
||||||
movs r1, 0xF2
|
|
||||||
lsls r1, 4
|
|
||||||
adds r0, r1
|
|
||||||
movs r5, 0
|
|
||||||
str r5, [r0]
|
|
||||||
bl ZeroPlayerPartyMons
|
|
||||||
bl ZeroEnemyPartyMons
|
|
||||||
bl sub_80549D4
|
|
||||||
bl ClearSav1
|
|
||||||
bl ClearMailData
|
|
||||||
ldr r0, [r4]
|
|
||||||
strb r5, [r0, 0x9]
|
|
||||||
ldr r0, [r4]
|
|
||||||
adds r1, r0, 0
|
|
||||||
adds r1, 0xA8
|
|
||||||
str r5, [r1]
|
|
||||||
adds r0, 0xAC
|
|
||||||
movs r1, 0x1
|
|
||||||
strb r1, [r0]
|
|
||||||
ldr r0, [r4]
|
|
||||||
adds r0, 0xAD
|
|
||||||
strb r5, [r0]
|
|
||||||
bl InitPlayerTrainerId
|
|
||||||
bl PlayTimeCounter_Reset
|
|
||||||
bl sub_80549AC
|
|
||||||
bl sub_806E0D0
|
|
||||||
bl ResetFameChecker
|
|
||||||
ldr r0, [r6]
|
|
||||||
movs r1, 0xA4
|
|
||||||
lsls r1, 2
|
|
||||||
adds r0, r1
|
|
||||||
ldr r1, _08054B60 @ =0x00000bb8
|
|
||||||
bl SetMoney
|
|
||||||
bl sub_8054E68
|
|
||||||
bl InitLinkBattleRecords
|
|
||||||
bl sub_80A0904
|
|
||||||
bl sub_80A0958
|
|
||||||
bl sub_806E190
|
|
||||||
ldr r0, _08054B64 @ =gPlayerPartyCount
|
|
||||||
strb r5, [r0]
|
|
||||||
bl ZeroPlayerPartyMons
|
|
||||||
bl sub_808C7E0
|
|
||||||
bl ClearRoamerData
|
|
||||||
ldr r0, [r6]
|
|
||||||
ldr r1, _08054B68 @ =0x00000296
|
|
||||||
adds r0, r1
|
|
||||||
strh r5, [r0]
|
|
||||||
bl ClearItemSlotsInAllBagPockets
|
|
||||||
bl sub_80EB658
|
|
||||||
bl sub_809C794
|
|
||||||
bl sub_80BDD34
|
|
||||||
bl sub_8113044
|
|
||||||
bl copy_strings_to_sav1
|
|
||||||
bl sub_8054B70
|
|
||||||
bl sub_8143D24
|
|
||||||
bl sub_815D838
|
|
||||||
bl sub_80549F8
|
|
||||||
ldr r0, _08054B6C @ =gUnknown_81A6481
|
|
||||||
bl ScriptContext2_RunNewScript
|
|
||||||
ldr r0, [r6]
|
|
||||||
add r0, r8
|
|
||||||
mov r1, sp
|
|
||||||
bl StringCopy
|
|
||||||
bl sub_815EE0C
|
|
||||||
add sp, 0x8
|
|
||||||
pop {r3}
|
|
||||||
mov r8, r3
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08054B50: .4byte gSaveBlock1Ptr
|
|
||||||
_08054B54: .4byte 0x00003a4c
|
|
||||||
_08054B58: .4byte gUnknown_2031DB0
|
|
||||||
_08054B5C: .4byte gSaveBlock2Ptr
|
|
||||||
_08054B60: .4byte 0x00000bb8
|
|
||||||
_08054B64: .4byte gPlayerPartyCount
|
|
||||||
_08054B68: .4byte 0x00000296
|
|
||||||
_08054B6C: .4byte gUnknown_81A6481
|
|
||||||
thumb_func_end sub_8054A60
|
|
||||||
|
|
||||||
thumb_func_start sub_8054B70
|
|
||||||
sub_8054B70: @ 8054B70
|
|
||||||
push {r4-r6,lr}
|
|
||||||
sub sp, 0x4
|
|
||||||
mov r0, sp
|
|
||||||
movs r5, 0
|
|
||||||
strh r5, [r0]
|
|
||||||
ldr r4, _08054BBC @ =gSaveBlock2Ptr
|
|
||||||
ldr r1, [r4]
|
|
||||||
movs r0, 0xAF
|
|
||||||
lsls r0, 4
|
|
||||||
adds r1, r0
|
|
||||||
ldr r6, _08054BC0 @ =0x01000008
|
|
||||||
mov r0, sp
|
|
||||||
adds r2, r6, 0
|
|
||||||
bl CpuSet
|
|
||||||
ldr r0, [r4]
|
|
||||||
ldr r1, _08054BC4 @ =0x00000af8
|
|
||||||
adds r0, r1
|
|
||||||
movs r1, 0
|
|
||||||
bl sub_815EE54
|
|
||||||
bl ResetPokeJumpResults
|
|
||||||
mov r0, sp
|
|
||||||
adds r0, 0x2
|
|
||||||
strh r5, [r0]
|
|
||||||
ldr r1, [r4]
|
|
||||||
movs r2, 0xB1
|
|
||||||
lsls r2, 4
|
|
||||||
adds r1, r2
|
|
||||||
adds r2, r6, 0
|
|
||||||
bl CpuSet
|
|
||||||
add sp, 0x4
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08054BBC: .4byte gSaveBlock2Ptr
|
|
||||||
_08054BC0: .4byte 0x01000008
|
|
||||||
_08054BC4: .4byte 0x00000af8
|
|
||||||
thumb_func_end sub_8054B70
|
|
||||||
|
|
||||||
.align 2, 0 @ Don't pad with nop.
|
|
||||||
+12
-12
@@ -289,8 +289,8 @@ sub_8054E40: @ 8054E40
|
|||||||
_08054E64: .4byte 0x0000406e
|
_08054E64: .4byte 0x0000406e
|
||||||
thumb_func_end sub_8054E40
|
thumb_func_end sub_8054E40
|
||||||
|
|
||||||
thumb_func_start sub_8054E68
|
thumb_func_start ResetGameStats
|
||||||
sub_8054E68: @ 8054E68
|
ResetGameStats: @ 8054E68
|
||||||
push {r4,r5,lr}
|
push {r4,r5,lr}
|
||||||
movs r2, 0
|
movs r2, 0
|
||||||
ldr r5, _08054E8C @ =gSaveBlock1Ptr
|
ldr r5, _08054E8C @ =gSaveBlock1Ptr
|
||||||
@@ -311,7 +311,7 @@ _08054E74:
|
|||||||
bx r0
|
bx r0
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08054E8C: .4byte gSaveBlock1Ptr
|
_08054E8C: .4byte gSaveBlock1Ptr
|
||||||
thumb_func_end sub_8054E68
|
thumb_func_end ResetGameStats
|
||||||
|
|
||||||
thumb_func_start IncrementGameStat
|
thumb_func_start IncrementGameStat
|
||||||
IncrementGameStat: @ 8054E90
|
IncrementGameStat: @ 8054E90
|
||||||
@@ -1003,8 +1003,8 @@ WarpIntoMap: @ 8055378
|
|||||||
bx r0
|
bx r0
|
||||||
thumb_func_end WarpIntoMap
|
thumb_func_end WarpIntoMap
|
||||||
|
|
||||||
thumb_func_start Overworld_SetWarpDestination
|
thumb_func_start SetWarpDestination
|
||||||
Overworld_SetWarpDestination: @ 805538C
|
SetWarpDestination: @ 805538C
|
||||||
push {r4-r6,lr}
|
push {r4-r6,lr}
|
||||||
sub sp, 0x8
|
sub sp, 0x8
|
||||||
adds r4, r0, 0
|
adds r4, r0, 0
|
||||||
@@ -1034,7 +1034,7 @@ Overworld_SetWarpDestination: @ 805538C
|
|||||||
bx r0
|
bx r0
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080553C4: .4byte gUnknown_2031DBC
|
_080553C4: .4byte gUnknown_2031DBC
|
||||||
thumb_func_end Overworld_SetWarpDestination
|
thumb_func_end SetWarpDestination
|
||||||
|
|
||||||
thumb_func_start warp1_set_2
|
thumb_func_start warp1_set_2
|
||||||
warp1_set_2: @ 80553C8
|
warp1_set_2: @ 80553C8
|
||||||
@@ -1049,7 +1049,7 @@ warp1_set_2: @ 80553C8
|
|||||||
movs r3, 0x1
|
movs r3, 0x1
|
||||||
negs r3, r3
|
negs r3, r3
|
||||||
str r3, [sp]
|
str r3, [sp]
|
||||||
bl Overworld_SetWarpDestination
|
bl SetWarpDestination
|
||||||
add sp, 0x4
|
add sp, 0x4
|
||||||
pop {r0}
|
pop {r0}
|
||||||
bx r0
|
bx r0
|
||||||
@@ -1151,7 +1151,7 @@ sub_805546C: @ 805546C
|
|||||||
lsls r4, 24
|
lsls r4, 24
|
||||||
asrs r4, 24
|
asrs r4, 24
|
||||||
str r4, [sp]
|
str r4, [sp]
|
||||||
bl Overworld_SetWarpDestination
|
bl SetWarpDestination
|
||||||
_0805549A:
|
_0805549A:
|
||||||
add sp, 0x4
|
add sp, 0x4
|
||||||
pop {r4}
|
pop {r4}
|
||||||
@@ -1458,7 +1458,7 @@ _080556BC:
|
|||||||
lsls r4, r6, 24
|
lsls r4, r6, 24
|
||||||
asrs r4, 24
|
asrs r4, 24
|
||||||
str r4, [sp]
|
str r4, [sp]
|
||||||
bl Overworld_SetWarpDestination
|
bl SetWarpDestination
|
||||||
_080556D6:
|
_080556D6:
|
||||||
add sp, 0x4
|
add sp, 0x4
|
||||||
pop {r4-r6}
|
pop {r4-r6}
|
||||||
@@ -1627,7 +1627,7 @@ sub_80557C4: @ 80557C4
|
|||||||
lsls r4, r5, 24
|
lsls r4, r5, 24
|
||||||
asrs r4, 24
|
asrs r4, 24
|
||||||
str r4, [sp]
|
str r4, [sp]
|
||||||
bl Overworld_SetWarpDestination
|
bl SetWarpDestination
|
||||||
b _08055818
|
b _08055818
|
||||||
_080557FC:
|
_080557FC:
|
||||||
bl mapheader_run_script_with_tag_x6
|
bl mapheader_run_script_with_tag_x6
|
||||||
@@ -1700,7 +1700,7 @@ sub_8055864: @ 8055864
|
|||||||
negs r3, r3
|
negs r3, r3
|
||||||
str r3, [sp]
|
str r3, [sp]
|
||||||
adds r2, r3, 0
|
adds r2, r3, 0
|
||||||
bl Overworld_SetWarpDestination
|
bl SetWarpDestination
|
||||||
bl sub_8055E94
|
bl sub_8055E94
|
||||||
bl warp_shift
|
bl warp_shift
|
||||||
bl set_current_map_header_from_sav1_save_old_name
|
bl set_current_map_header_from_sav1_save_old_name
|
||||||
@@ -3493,7 +3493,7 @@ CB2_NewGame: @ 8056644
|
|||||||
bl sub_80569BC
|
bl sub_80569BC
|
||||||
bl StopMapMusic
|
bl StopMapMusic
|
||||||
bl sub_8056420
|
bl sub_8056420
|
||||||
bl sub_8054A60
|
bl NewGameInitData
|
||||||
bl ResetInitialPlayerAvatarState
|
bl ResetInitialPlayerAvatarState
|
||||||
bl PlayTimeCounter_Start
|
bl PlayTimeCounter_Start
|
||||||
bl ScriptContext1_Init
|
bl ScriptContext1_Init
|
||||||
|
|||||||
+3
-3
@@ -5,8 +5,8 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_80EB658
|
thumb_func_start NewGameInitPCItems
|
||||||
sub_80EB658: @ 80EB658
|
NewGameInitPCItems: @ 80EB658
|
||||||
push {r4-r6,lr}
|
push {r4-r6,lr}
|
||||||
movs r4, 0
|
movs r4, 0
|
||||||
bl ClearPCItemSlots
|
bl ClearPCItemSlots
|
||||||
@@ -48,7 +48,7 @@ _080EB6A0:
|
|||||||
bx r0
|
bx r0
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080EB6A8: .4byte gUnknown_8402220
|
_080EB6A8: .4byte gUnknown_8402220
|
||||||
thumb_func_end sub_80EB658
|
thumb_func_end NewGameInitPCItems
|
||||||
|
|
||||||
thumb_func_start sub_80EB6AC
|
thumb_func_start sub_80EB6AC
|
||||||
sub_80EB6AC: @ 80EB6AC
|
sub_80EB6AC: @ 80EB6AC
|
||||||
|
|||||||
@@ -1897,8 +1897,8 @@ _0808C7D8: .4byte mapldr_0808C6D8
|
|||||||
_0808C7DC: .4byte CB2_ReturnToField
|
_0808C7DC: .4byte CB2_ReturnToField
|
||||||
thumb_func_end sub_808C7B4
|
thumb_func_end sub_808C7B4
|
||||||
|
|
||||||
thumb_func_start sub_808C7E0
|
thumb_func_start ResetPokemonStorageSystem
|
||||||
sub_808C7E0: @ 808C7E0
|
ResetPokemonStorageSystem: @ 808C7E0
|
||||||
push {r4-r6,lr}
|
push {r4-r6,lr}
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
bl sub_808BA00
|
bl sub_808BA00
|
||||||
@@ -1954,7 +1954,7 @@ _0808C832:
|
|||||||
bx r0
|
bx r0
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_0808C850: .4byte gUnknown_84186CD
|
_0808C850: .4byte gUnknown_84186CD
|
||||||
thumb_func_end sub_808C7E0
|
thumb_func_end ResetPokemonStorageSystem
|
||||||
|
|
||||||
thumb_func_start sub_808C854
|
thumb_func_start sub_808C854
|
||||||
sub_808C854: @ 808C854
|
sub_808C854: @ 808C854
|
||||||
|
|||||||
+6
-6
@@ -1386,7 +1386,7 @@ _0806F81A:
|
|||||||
cmp r0, 0x2
|
cmp r0, 0x2
|
||||||
bne _0806F82E
|
bne _0806F82E
|
||||||
_0806F826:
|
_0806F826:
|
||||||
ldr r0, _0806F83C @ =gUnknown_2031DB0
|
ldr r0, _0806F83C @ =gDifferentSaveFile
|
||||||
ldrb r0, [r0]
|
ldrb r0, [r0]
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
bne _0806F848
|
bne _0806F848
|
||||||
@@ -1397,7 +1397,7 @@ _0806F82E:
|
|||||||
b _0806F864
|
b _0806F864
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_0806F838: .4byte gSaveFileStatus
|
_0806F838: .4byte gSaveFileStatus
|
||||||
_0806F83C: .4byte gUnknown_2031DB0
|
_0806F83C: .4byte gDifferentSaveFile
|
||||||
_0806F840: .4byte gUnknown_3000FA4
|
_0806F840: .4byte gUnknown_3000FA4
|
||||||
_0806F844: .4byte sub_806F86C
|
_0806F844: .4byte sub_806F86C
|
||||||
_0806F848:
|
_0806F848:
|
||||||
@@ -1423,7 +1423,7 @@ _0806F866:
|
|||||||
thumb_func_start sub_806F86C
|
thumb_func_start sub_806F86C
|
||||||
sub_806F86C: @ 806F86C
|
sub_806F86C: @ 806F86C
|
||||||
push {lr}
|
push {lr}
|
||||||
ldr r0, _0806F880 @ =gUnknown_2031DB0
|
ldr r0, _0806F880 @ =gDifferentSaveFile
|
||||||
ldrb r0, [r0]
|
ldrb r0, [r0]
|
||||||
cmp r0, 0x1
|
cmp r0, 0x1
|
||||||
bne _0806F88C
|
bne _0806F88C
|
||||||
@@ -1432,7 +1432,7 @@ sub_806F86C: @ 806F86C
|
|||||||
bl sub_806F69C
|
bl sub_806F69C
|
||||||
b _0806F894
|
b _0806F894
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_0806F880: .4byte gUnknown_2031DB0
|
_0806F880: .4byte gDifferentSaveFile
|
||||||
_0806F884: .4byte gUnknown_81C566A
|
_0806F884: .4byte gUnknown_81C566A
|
||||||
_0806F888: .4byte sub_806F8C0
|
_0806F888: .4byte sub_806F8C0
|
||||||
_0806F88C:
|
_0806F88C:
|
||||||
@@ -1537,7 +1537,7 @@ sub_806F940: @ 806F940
|
|||||||
push {r4,lr}
|
push {r4,lr}
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
bl IncrementGameStat
|
bl IncrementGameStat
|
||||||
ldr r4, _0806F95C @ =gUnknown_2031DB0
|
ldr r4, _0806F95C @ =gDifferentSaveFile
|
||||||
ldrb r0, [r4]
|
ldrb r0, [r4]
|
||||||
cmp r0, 0x1
|
cmp r0, 0x1
|
||||||
bne _0806F960
|
bne _0806F960
|
||||||
@@ -1547,7 +1547,7 @@ sub_806F940: @ 806F940
|
|||||||
strb r0, [r4]
|
strb r0, [r4]
|
||||||
b _0806F966
|
b _0806F966
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_0806F95C: .4byte gUnknown_2031DB0
|
_0806F95C: .4byte gDifferentSaveFile
|
||||||
_0806F960:
|
_0806F960:
|
||||||
movs r0, 0
|
movs r0, 0
|
||||||
bl TrySavingData
|
bl TrySavingData
|
||||||
|
|||||||
@@ -1435,7 +1435,7 @@ Text_1A644F:: @ 81A644F
|
|||||||
.string "once. Is that okay?$"
|
.string "once. Is that okay?$"
|
||||||
|
|
||||||
|
|
||||||
gUnknown_81A6481:: @ 81A6481
|
EventScript_ResetAllMapFlags:: @ 81A6481
|
||||||
setflag FLAG_0x02B
|
setflag FLAG_0x02B
|
||||||
setflag FLAG_0x02C
|
setflag FLAG_0x02C
|
||||||
setflag FLAG_0x033
|
setflag FLAG_0x033
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
#ifndef GUARD_BATTLE_RECORDS_H
|
||||||
|
#define GUARD_BATTLE_RECORDS_H
|
||||||
|
|
||||||
|
void ClearPlayerLinkBattleRecords(void);
|
||||||
|
|
||||||
|
#endif // GUARD_BATTLE_RECORDS_H
|
||||||
@@ -62,6 +62,7 @@ void FieldObjectInteractionPickBerryTree(void);
|
|||||||
void FieldObjectInteractionRemoveBerryTree(void);
|
void FieldObjectInteractionRemoveBerryTree(void);
|
||||||
u8 PlayerHasBerries(void);
|
u8 PlayerHasBerries(void);
|
||||||
void ResetBerryTreeSparkleFlags(void);
|
void ResetBerryTreeSparkleFlags(void);
|
||||||
|
void sub_809C794(void);
|
||||||
const struct Berry * sub_809C8A0(u8 berryIdx);
|
const struct Berry * sub_809C8A0(u8 berryIdx);
|
||||||
|
|
||||||
extern const struct Berry gBerries[];
|
extern const struct Berry gBerries[];
|
||||||
|
|||||||
@@ -19,5 +19,6 @@ void BerryPouch_SetExitCallback(void (*exitCallback)(void));
|
|||||||
void InitBerryPouch(u8 type, void (*savedCallback)(void), u8 allowSelect);
|
void InitBerryPouch(u8 type, void (*savedCallback)(void), u8 allowSelect);
|
||||||
void DisplayItemMessageInBerryPouch(u8 taskId, u8 fontId, const u8 * str, TaskFunc followUpFunc);
|
void DisplayItemMessageInBerryPouch(u8 taskId, u8 fontId, const u8 * str, TaskFunc followUpFunc);
|
||||||
void Task_BerryPouch_DestroyDialogueWindowAndRefreshListMenu(u8 taskId);
|
void Task_BerryPouch_DestroyDialogueWindowAndRefreshListMenu(u8 taskId);
|
||||||
|
void BerryPouch_CursorResetToTop(void);
|
||||||
|
|
||||||
#endif //GUARD_BERRY_POUCH_H
|
#endif //GUARD_BERRY_POUCH_H
|
||||||
|
|||||||
@@ -2,5 +2,6 @@
|
|||||||
#define GUARD_BERRY_POWDER_H
|
#define GUARD_BERRY_POWDER_H
|
||||||
|
|
||||||
u32 GetBerryPowder(void);
|
u32 GetBerryPowder(void);
|
||||||
|
void SetBerryPowder(u32 *powder, u32 amount);
|
||||||
|
|
||||||
#endif //GUARD_BERRY_POWDER_H
|
#endif //GUARD_BERRY_POWDER_H
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ void InitializeEasyChatWordArray(u16 *words, u16 length);
|
|||||||
void ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 length1, u16 length2);
|
void ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 length1, u16 length2);
|
||||||
bool8 ECWord_CheckIfOutsideOfValidRange(u16 word);
|
bool8 ECWord_CheckIfOutsideOfValidRange(u16 word);
|
||||||
void sub_80BDE28(void);
|
void sub_80BDE28(void);
|
||||||
|
void InitEasyChatPhrases(void);
|
||||||
void EnableRareWord(u8);
|
void EnableRareWord(u8);
|
||||||
|
|
||||||
#endif // GUARD_EASYCHAT_H
|
#endif // GUARD_EASYCHAT_H
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ void sub_806E6FC(void);
|
|||||||
void sub_806E2D0(void);
|
void sub_806E2D0(void);
|
||||||
void sub_806E370(void);
|
void sub_806E370(void);
|
||||||
bool32 IsNationalPokedexEnabled(void);
|
bool32 IsNationalPokedexEnabled(void);
|
||||||
|
void sub_806E190(void);
|
||||||
extern u16 gSpecialVar_0x8000;
|
extern u16 gSpecialVar_0x8000;
|
||||||
extern u16 gSpecialVar_0x8001;
|
extern u16 gSpecialVar_0x8001;
|
||||||
extern u16 gSpecialVar_0x8002;
|
extern u16 gSpecialVar_0x8002;
|
||||||
|
|||||||
@@ -1155,4 +1155,7 @@ extern const u8 EventScript_SafariOutOfBalls[];
|
|||||||
|
|
||||||
extern const u8 EventScript_ItemfinderDigUpUnderfootItem[];
|
extern const u8 EventScript_ItemfinderDigUpUnderfootItem[];
|
||||||
|
|
||||||
|
// new_game
|
||||||
|
extern const u8 EventScript_ResetAllMapFlags[];
|
||||||
|
|
||||||
#endif //GUARD_EVENT_SCRIPTS_H
|
#endif //GUARD_EVENT_SCRIPTS_H
|
||||||
|
|||||||
+15
-5
@@ -205,6 +205,14 @@ struct UnkSaveBlock2Substruct_55C
|
|||||||
/* 0x016:0x572 */ u8 unk_16;
|
/* 0x016:0x572 */ u8 unk_16;
|
||||||
}; // size: 0x018
|
}; // size: 0x018
|
||||||
|
|
||||||
|
struct UnkSaveBlock2Substruct_B0
|
||||||
|
{
|
||||||
|
/* 0x000:0x0B0 */ u8 field_0[0x3F0];
|
||||||
|
/* 0x3F0:0x4A0 */ u32 field_3F0[0x2F];
|
||||||
|
/* 0x4AC:0x55C */ struct UnkSaveBlock2Substruct_55C field_4AC;
|
||||||
|
/* 0x4C4:0x574 */ u8 field_4C4[0x324];
|
||||||
|
}; // size: 0x7E8
|
||||||
|
|
||||||
struct SaveBlock2
|
struct SaveBlock2
|
||||||
{
|
{
|
||||||
/*0x000*/ u8 playerName[PLAYER_NAME_LENGTH];
|
/*0x000*/ u8 playerName[PLAYER_NAME_LENGTH];
|
||||||
@@ -227,14 +235,16 @@ struct SaveBlock2
|
|||||||
/*0x098*/ struct Time localTimeOffset;
|
/*0x098*/ struct Time localTimeOffset;
|
||||||
/*0x0A0*/ struct Time lastBerryTreeUpdate;
|
/*0x0A0*/ struct Time lastBerryTreeUpdate;
|
||||||
/*0x0A8*/ u32 field_A8;
|
/*0x0A8*/ u32 field_A8;
|
||||||
/*0x0AC*/ u8 filler_AC[0x3F4];
|
/*0x0AC*/ u8 field_AC;
|
||||||
/*0x4A0*/ u32 unk_4A0[0x2F];
|
/*0x0AD*/ u8 field_AD;
|
||||||
/*0x55c*/ struct UnkSaveBlock2Substruct_55C unk_55C;
|
/*0x0AE*/ u8 filler_AE[0x2];
|
||||||
/*0x574*/ u8 filler_574[0x324];
|
/*0x0B0*/ struct UnkSaveBlock2Substruct_B0 unk_B0;
|
||||||
/*0x898*/ u16 mapView[0x100];
|
/*0x898*/ u16 mapView[0x100];
|
||||||
/*0xA98*/ struct LinkBattleRecords linkBattleRecords;
|
/*0xA98*/ struct LinkBattleRecords linkBattleRecords;
|
||||||
/*0xAF0*/ struct BerryCrush berryCrush;
|
/*0xAF0*/ struct BerryCrush berryCrush;
|
||||||
/*0xB00*/ u8 filler_B00[0x420];
|
/*0xB00*/ struct PokemonJumpResults pokeJump;
|
||||||
|
/*0xB10*/ struct BerryPickingResults berryPick;
|
||||||
|
/*0xB20*/ u8 filler_B20[0x400];
|
||||||
/*0xF20*/ u32 encryptionKey;
|
/*0xF20*/ u32 encryptionKey;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -62,7 +62,7 @@ u8 ItemId_GetBattleUsage(u16 itemId);
|
|||||||
ItemUseFunc ItemId_GetBattleFunc(u16 itemId);
|
ItemUseFunc ItemId_GetBattleFunc(u16 itemId);
|
||||||
u8 ItemId_GetSecondaryId(u16 itemId);
|
u8 ItemId_GetSecondaryId(u16 itemId);
|
||||||
u16 itemid_get_market_price(u16 itemId);
|
u16 itemid_get_market_price(u16 itemId);
|
||||||
void ClearItemSlotsInAllBagPockets(void);
|
void ClearBag(void);
|
||||||
void ClearPCItemSlots(void);
|
void ClearPCItemSlots(void);
|
||||||
void sub_809A824(u16 itemId);
|
void sub_809A824(u16 itemId);
|
||||||
bool8 AddBagItem(u16 itemId, u16 amount);
|
bool8 AddBagItem(u16 itemId, u16 amount);
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ extern u16 gSpecialVar_ItemId;
|
|||||||
void sub_81AAC50(void);
|
void sub_81AAC50(void);
|
||||||
void sub_81AAC70(void);
|
void sub_81AAC70(void);
|
||||||
void sub_8108CF0(void);
|
void sub_8108CF0(void);
|
||||||
|
void sub_81089BC(void);
|
||||||
void sub_810B108(u8);
|
void sub_810B108(u8);
|
||||||
void ReturnToBagFromKeyItem(void);
|
void ReturnToBagFromKeyItem(void);
|
||||||
void ItemMenu_MoveItemSlotToNewPositionInArray(struct ItemSlot * slots, int pos1, int pos2);
|
void ItemMenu_MoveItemSlotToNewPositionInArray(struct ItemSlot * slots, int pos1, int pos2);
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ void SetVBlankCounter1Ptr(u32 *ptr);
|
|||||||
void DisableVBlankCounter1(void);
|
void DisableVBlankCounter1(void);
|
||||||
void StartTimer1(void);
|
void StartTimer1(void);
|
||||||
void SeedRngAndSetTrainerId(void);
|
void SeedRngAndSetTrainerId(void);
|
||||||
|
u16 GetGeneratedTrainerIdLower(void);
|
||||||
|
|
||||||
extern const char RomHeaderGameCode[4];
|
extern const char RomHeaderGameCode[4];
|
||||||
extern const char RomHeaderSoftwareVersion;
|
extern const char RomHeaderSoftwareVersion;
|
||||||
|
|||||||
@@ -66,5 +66,6 @@ void MENews_RemoveScrollIndicatorArrowPair(void);
|
|||||||
bool32 WonderNews_Test_Unk_02(void);
|
bool32 WonderNews_Test_Unk_02(void);
|
||||||
bool32 WonderCard_Test_Unk_08_6(void);
|
bool32 WonderCard_Test_Unk_08_6(void);
|
||||||
u32 MENews_GetInput(u16 input);
|
u32 MENews_GetInput(u16 input);
|
||||||
|
void sub_8143D24(void);
|
||||||
|
|
||||||
#endif //GUARD_MEVENT_H
|
#endif //GUARD_MEVENT_H
|
||||||
|
|||||||
+3
-10
@@ -3,17 +3,10 @@
|
|||||||
|
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
void WriteUnalignedWord(u32 var, u8 *dataPtr);
|
void SetTrainerId(u32 trainerId, u8 *dst);
|
||||||
u32 ReadUnalignedWord(u8* dataPtr);
|
void CopyTrainerId(u8 *dst, u8 *src);
|
||||||
void CopyUnalignedWord(u8 *copyTo, u8 *copyFrom);
|
|
||||||
void InitPlayerTrainerId(void);
|
|
||||||
void SetDefaultOptions(void);
|
|
||||||
void ClearPokedexFlags(void);
|
|
||||||
void WarpToTruck(void);
|
|
||||||
void NewGameInitData(void);
|
void NewGameInitData(void);
|
||||||
void ResetMiniGamesResults(void);
|
|
||||||
void sub_808447C(void);
|
|
||||||
void Sav2_ClearSetDefault(void);
|
|
||||||
void ResetMenuAndMonGlobals(void);
|
void ResetMenuAndMonGlobals(void);
|
||||||
|
void Sav2_ClearSetDefault(void);
|
||||||
|
|
||||||
#endif // GUARD_NEW_GAME_H
|
#endif // GUARD_NEW_GAME_H
|
||||||
|
|||||||
+2
-1
@@ -49,7 +49,7 @@ void IncrementGameStat(u8 index);
|
|||||||
void Overworld_SetMapObjTemplateCoords(u8, s16, s16);
|
void Overworld_SetMapObjTemplateCoords(u8, s16, s16);
|
||||||
void Overworld_SetMapObjTemplateMovementType(u8, u8);
|
void Overworld_SetMapObjTemplateMovementType(u8, u8);
|
||||||
|
|
||||||
void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
void SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||||
|
|
||||||
void saved_warp2_set(int unused, s8 mapGroup, s8 mapNum, s8 warpId);
|
void saved_warp2_set(int unused, s8 mapGroup, s8 mapNum, s8 warpId);
|
||||||
void SetDynamicWarpWithCoords(int unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
void SetDynamicWarpWithCoords(int unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||||
@@ -137,6 +137,7 @@ u8 get_map_light_from_warp0(void);
|
|||||||
const struct MapHeader *warp1_get_mapheader(void);
|
const struct MapHeader *warp1_get_mapheader(void);
|
||||||
void sub_8055F88(void);
|
void sub_8055F88(void);
|
||||||
void sub_8056788(void);
|
void sub_8056788(void);
|
||||||
|
void ResetGameStats(void);
|
||||||
|
|
||||||
void Overworld_CreditsMainCB(void);
|
void Overworld_CreditsMainCB(void);
|
||||||
bool32 Overworld_DoScrollSceneForCredits(u8 *, const struct CreditsOverworldCmd *, u8);
|
bool32 Overworld_DoScrollSceneForCredits(u8 *, const struct CreditsOverworldCmd *, u8);
|
||||||
|
|||||||
@@ -21,5 +21,6 @@ struct PlayerPC_Unk_203AAC4
|
|||||||
// Exported ROM declarations
|
// Exported ROM declarations
|
||||||
|
|
||||||
void sub_816B060(u8 taskId);
|
void sub_816B060(u8 taskId);
|
||||||
|
void NewGameInitPCItems(void);
|
||||||
|
|
||||||
#endif //GUARD_PLAYER_PC_H
|
#endif //GUARD_PLAYER_PC_H
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
#ifndef GUARD_POKEMON_JUMP_H
|
||||||
|
#define GUARD_POKEMON_JUMP_H
|
||||||
|
|
||||||
|
#include "main.h"
|
||||||
|
|
||||||
|
void ResetPokeJumpResults(void);
|
||||||
|
|
||||||
|
#endif // GUARD_POKEMON_JUMP_H
|
||||||
@@ -11,6 +11,9 @@ void InitLotadSizeRecord(void);
|
|||||||
void GetLotadSizeRecordInfo(void);
|
void GetLotadSizeRecordInfo(void);
|
||||||
void CompareLotadSize(void);
|
void CompareLotadSize(void);
|
||||||
|
|
||||||
|
void sub_80A0904(void);
|
||||||
|
void sub_80A0958(void);
|
||||||
|
|
||||||
void GiveGiftRibbonToParty(u8 index, u8 ribbonId);
|
void GiveGiftRibbonToParty(u8 index, u8 ribbonId);
|
||||||
|
|
||||||
#endif // GUARD_POKEMON_SIZE_RECORD_H
|
#endif // GUARD_POKEMON_SIZE_RECORD_H
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request);
|
|||||||
void sub_808BCB4(u8 boxId, u8 monPosition);
|
void sub_808BCB4(u8 boxId, u8 monPosition);
|
||||||
u8 * GetBoxNamePtr(u8 boxId);
|
u8 * GetBoxNamePtr(u8 boxId);
|
||||||
void sub_808CE60(void);
|
void sub_808CE60(void);
|
||||||
|
void ResetPokemonStorageSystem(void);
|
||||||
u8 StorageGetCurrentBox(void);
|
u8 StorageGetCurrentBox(void);
|
||||||
|
|
||||||
#endif // GUARD_POKEMON_STORAGE_SYSTEM_H
|
#endif // GUARD_POKEMON_STORAGE_SYSTEM_H
|
||||||
|
|||||||
@@ -33,6 +33,8 @@ u8 sub_8112EB4(void);
|
|||||||
void sub_8113018(const u8 * text, u8 mode);
|
void sub_8113018(const u8 * text, u8 mode);
|
||||||
void MapNamePopupWindowIdSetDummy(void);
|
void MapNamePopupWindowIdSetDummy(void);
|
||||||
void sub_8111CF0(void);
|
void sub_8111CF0(void);
|
||||||
|
void sub_811089C(void);
|
||||||
|
void sub_8113044(void);
|
||||||
|
|
||||||
extern u8 gUnknown_203ADFA;
|
extern u8 gUnknown_203ADFA;
|
||||||
|
|
||||||
|
|||||||
@@ -5,5 +5,7 @@ void PrintTrainerTowerRecords(void);
|
|||||||
void InitTrainerTowerBattleStruct(void);
|
void InitTrainerTowerBattleStruct(void);
|
||||||
void FreeTrainerTowerBattleStruct(void);
|
void FreeTrainerTowerBattleStruct(void);
|
||||||
u8 GetTrainerTowerTrainerFrontSpriteId(void);
|
u8 GetTrainerTowerTrainerFrontSpriteId(void);
|
||||||
|
void sub_815D838(void);
|
||||||
|
void ResetTrainerTowerResults(void);
|
||||||
|
|
||||||
#endif //GUARD_TRAINER_TOWER_H
|
#endif //GUARD_TRAINER_TOWER_H
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
#ifndef GUARD_UNION_ROOM_CHAT_H
|
||||||
|
#define GUARD_UNION_ROOM_CHAT_H
|
||||||
|
|
||||||
|
void sub_801DD98(void);
|
||||||
|
void copy_strings_to_sav1(void);
|
||||||
|
|
||||||
|
#endif // GUARD_UNION_ROOM_CHAT_H
|
||||||
@@ -45,5 +45,6 @@ bool8 UpdateRepelCounter(void);
|
|||||||
void sub_8082740(u8);
|
void sub_8082740(u8);
|
||||||
u8 GetUnownLetterByPersonalityLoByte(u32 personality);
|
u8 GetUnownLetterByPersonalityLoByte(u32 personality);
|
||||||
bool8 SweetScentWildEncounter(void);
|
bool8 SweetScentWildEncounter(void);
|
||||||
|
void sub_8083214(u16 randVal);
|
||||||
|
|
||||||
#endif // GUARD_WILD_ENCOUNTER_H
|
#endif // GUARD_WILD_ENCOUNTER_H
|
||||||
|
|||||||
+1
-1
@@ -88,7 +88,7 @@ SECTIONS {
|
|||||||
src/load_save.o(.text);
|
src/load_save.o(.text);
|
||||||
asm/trade.o(.text);
|
asm/trade.o(.text);
|
||||||
src/play_time.o(.text);
|
src/play_time.o(.text);
|
||||||
asm/new_game.o(.text);
|
src/new_game.o(.text);
|
||||||
asm/overworld.o(.text);
|
asm/overworld.o(.text);
|
||||||
src/fieldmap.o(.text);
|
src/fieldmap.o(.text);
|
||||||
src/metatile_behavior.o(.text);
|
src/metatile_behavior.o(.text);
|
||||||
|
|||||||
@@ -279,7 +279,7 @@ static void ResetBGPos(void)
|
|||||||
ChangeBgY(3, 0, 0);
|
ChangeBgY(3, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void InitLinkBattleRecord(struct LinkBattleRecord * record)
|
static void ClearLinkBattleRecord(struct LinkBattleRecord *record)
|
||||||
{
|
{
|
||||||
CpuFill16(0, record, sizeof(*record));
|
CpuFill16(0, record, sizeof(*record));
|
||||||
record->name[0] = EOS;
|
record->name[0] = EOS;
|
||||||
@@ -289,12 +289,12 @@ static void InitLinkBattleRecord(struct LinkBattleRecord * record)
|
|||||||
record->draws = 0;
|
record->draws = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void InitLinkBattleRecords_(struct LinkBattleRecords * records)
|
static void ClearLinkBattleRecords(struct LinkBattleRecords *records)
|
||||||
{
|
{
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
for (i = 0; i < LINK_B_RECORDS_COUNT; i++)
|
for (i = 0; i < LINK_B_RECORDS_COUNT; i++)
|
||||||
InitLinkBattleRecord(&records->entries[i]);
|
ClearLinkBattleRecord(&records->entries[i]);
|
||||||
SetGameStat(GAME_STAT_LINK_BATTLE_WINS, 0);
|
SetGameStat(GAME_STAT_LINK_BATTLE_WINS, 0);
|
||||||
SetGameStat(GAME_STAT_LINK_BATTLE_LOSSES, 0);
|
SetGameStat(GAME_STAT_LINK_BATTLE_LOSSES, 0);
|
||||||
SetGameStat(GAME_STAT_LINK_BATTLE_DRAWS, 0);
|
SetGameStat(GAME_STAT_LINK_BATTLE_DRAWS, 0);
|
||||||
@@ -404,7 +404,7 @@ static void AddOpponentLinkBattleRecord(struct LinkBattleRecords * records, cons
|
|||||||
{
|
{
|
||||||
i = LINK_B_RECORDS_COUNT - 1;
|
i = LINK_B_RECORDS_COUNT - 1;
|
||||||
record = &records->entries[LINK_B_RECORDS_COUNT - 1];
|
record = &records->entries[LINK_B_RECORDS_COUNT - 1];
|
||||||
InitLinkBattleRecord(record);
|
ClearLinkBattleRecord(record);
|
||||||
StringCopyN(record->name, namebuf, OT_NAME_LENGTH);
|
StringCopyN(record->name, namebuf, OT_NAME_LENGTH);
|
||||||
record->trainerId = trainerId;
|
record->trainerId = trainerId;
|
||||||
}
|
}
|
||||||
@@ -412,9 +412,9 @@ static void AddOpponentLinkBattleRecord(struct LinkBattleRecords * records, cons
|
|||||||
SortLinkBattleRecords(records);
|
SortLinkBattleRecords(records);
|
||||||
}
|
}
|
||||||
|
|
||||||
void InitLinkBattleRecords(void)
|
void ClearPlayerLinkBattleRecords(void)
|
||||||
{
|
{
|
||||||
InitLinkBattleRecords_(&gSaveBlock2Ptr->linkBattleRecords);
|
ClearLinkBattleRecords(&gSaveBlock2Ptr->linkBattleRecords);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void IncTrainerCardWinCount(s32 battlerId)
|
static void IncTrainerCardWinCount(s32 battlerId)
|
||||||
|
|||||||
+12
-12
@@ -11,12 +11,12 @@
|
|||||||
|
|
||||||
EWRAM_DATA u8 gUnknown_203F464 = 0;
|
EWRAM_DATA u8 gUnknown_203F464 = 0;
|
||||||
|
|
||||||
u32 sub_815EE3C(u32 * a0)
|
u32 DecryptBerryPowder(u32 * a0)
|
||||||
{
|
{
|
||||||
return *a0 ^ gSaveBlock2Ptr->encryptionKey;
|
return *a0 ^ gSaveBlock2Ptr->encryptionKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_815EE54(u32 * a0, u32 a1)
|
void SetBerryPowder(u32 * a0, u32 a1)
|
||||||
{
|
{
|
||||||
*a0 = gSaveBlock2Ptr->encryptionKey ^ a1;
|
*a0 = gSaveBlock2Ptr->encryptionKey ^ a1;
|
||||||
}
|
}
|
||||||
@@ -28,7 +28,7 @@ void sub_815EE6C(u32 a0)
|
|||||||
|
|
||||||
bool8 sub_815EE88(u32 a0)
|
bool8 sub_815EE88(u32 a0)
|
||||||
{
|
{
|
||||||
if (sub_815EE3C(&gSaveBlock2Ptr->berryCrush.berryPowderAmount) < a0)
|
if (DecryptBerryPowder(&gSaveBlock2Ptr->berryCrush.berryPowderAmount) < a0)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
else
|
else
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@@ -36,7 +36,7 @@ bool8 sub_815EE88(u32 a0)
|
|||||||
|
|
||||||
bool8 sub_815EEB0(void)
|
bool8 sub_815EEB0(void)
|
||||||
{
|
{
|
||||||
if (sub_815EE3C(&gSaveBlock2Ptr->berryCrush.berryPowderAmount) < gSpecialVar_0x8004)
|
if (DecryptBerryPowder(&gSaveBlock2Ptr->berryCrush.berryPowderAmount) < gSpecialVar_0x8004)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
else
|
else
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@@ -45,15 +45,15 @@ bool8 sub_815EEB0(void)
|
|||||||
bool8 sub_815EEE0(u32 a0)
|
bool8 sub_815EEE0(u32 a0)
|
||||||
{
|
{
|
||||||
u32 * ptr = &gSaveBlock2Ptr->berryCrush.berryPowderAmount;
|
u32 * ptr = &gSaveBlock2Ptr->berryCrush.berryPowderAmount;
|
||||||
u32 amount = sub_815EE3C(ptr) + a0;
|
u32 amount = DecryptBerryPowder(ptr) + a0;
|
||||||
if (amount > 99999)
|
if (amount > 99999)
|
||||||
{
|
{
|
||||||
sub_815EE54(ptr, 99999);
|
SetBerryPowder(ptr, 99999);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sub_815EE54(ptr, amount);
|
SetBerryPowder(ptr, amount);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -65,8 +65,8 @@ bool8 sub_815EF20(u32 a0)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
u32 amount = sub_815EE3C(ptr);
|
u32 amount = DecryptBerryPowder(ptr);
|
||||||
sub_815EE54(ptr, amount - a0);
|
SetBerryPowder(ptr, amount - a0);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -78,15 +78,15 @@ bool8 sub_815EF5C(void)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
u32 amount = sub_815EE3C(ptr);
|
u32 amount = DecryptBerryPowder(ptr);
|
||||||
sub_815EE54(ptr, amount - gSpecialVar_0x8004);
|
SetBerryPowder(ptr, amount - gSpecialVar_0x8004);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
u32 GetBerryPowder(void)
|
u32 GetBerryPowder(void)
|
||||||
{
|
{
|
||||||
return sub_815EE3C(&gSaveBlock2Ptr->berryCrush.berryPowderAmount);
|
return DecryptBerryPowder(&gSaveBlock2Ptr->berryCrush.berryPowderAmount);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_815EFBC(u8 windowId, u32 powder, u8 x, u8 y, u8 speed)
|
void sub_815EFBC(u8 windowId, u32 powder, u8 x, u8 y, u8 speed)
|
||||||
|
|||||||
+1
-1
@@ -326,7 +326,7 @@ void ClearPCItemSlots(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ClearItemSlotsInAllBagPockets(void)
|
void ClearBag(void)
|
||||||
{
|
{
|
||||||
u16 i;
|
u16 i;
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -588,7 +588,7 @@ void DestroyWonderCard(void)
|
|||||||
ClearRamScript();
|
ClearRamScript();
|
||||||
sub_806E2D0();
|
sub_806E2D0();
|
||||||
sub_806E370();
|
sub_806E370();
|
||||||
sub_80E7524(gSaveBlock2Ptr->unk_4A0);
|
sub_80E7524(gSaveBlock2Ptr->unk_B0.field_3F0);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool32 sub_8143F68(const struct MEventBuffer_32E0_Sub * data)
|
bool32 sub_8143F68(const struct MEventBuffer_32E0_Sub * data)
|
||||||
@@ -769,7 +769,7 @@ void sub_81442CC(struct MEventStruct_Unk1442CC * data)
|
|||||||
data->unk_14 = 0;
|
data->unk_14 = 0;
|
||||||
for (i = 0; i < 4; i++)
|
for (i = 0; i < 4; i++)
|
||||||
data->unk_16[i] = gSaveBlock1Ptr->unk_3120.unk_338[i];
|
data->unk_16[i] = gSaveBlock1Ptr->unk_3120.unk_338[i];
|
||||||
CopyUnalignedWord(data->unk_4C, gSaveBlock2Ptr->playerTrainerId);
|
CopyTrainerId(data->unk_4C, gSaveBlock2Ptr->playerTrainerId);
|
||||||
StringCopy(data->unk_45, gSaveBlock2Ptr->playerName);
|
StringCopy(data->unk_45, gSaveBlock2Ptr->playerName);
|
||||||
for (i = 0; i < 6; i++)
|
for (i = 0; i < 6; i++)
|
||||||
data->unk_50[i] = gSaveBlock1Ptr->unk2CA0[i];
|
data->unk_50[i] = gSaveBlock1Ptr->unk2CA0[i];
|
||||||
|
|||||||
+1
-1
@@ -226,7 +226,7 @@ static u32 ish_mainseq_4(struct mevent_client * svr)
|
|||||||
sub_8069EA4(svr->recvBuffer, 1000);
|
sub_8069EA4(svr->recvBuffer, 1000);
|
||||||
break;
|
break;
|
||||||
case 18:
|
case 18:
|
||||||
memcpy(gSaveBlock2Ptr->unk_4A0, svr->recvBuffer, 0xbc);
|
memcpy(gSaveBlock2Ptr->unk_B0.field_3F0, svr->recvBuffer, 0xbc);
|
||||||
ValidateEReaderTrainer();
|
ValidateEReaderTrainer();
|
||||||
break;
|
break;
|
||||||
case 21:
|
case 21:
|
||||||
|
|||||||
@@ -281,7 +281,7 @@ bool8 MEScrCmd_givepokemon(struct ScriptContext *ctx)
|
|||||||
bool8 MEScrCmd_addtrainer(struct ScriptContext *ctx)
|
bool8 MEScrCmd_addtrainer(struct ScriptContext *ctx)
|
||||||
{
|
{
|
||||||
u32 data = ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0];
|
u32 data = ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0];
|
||||||
memcpy(gSaveBlock2Ptr->unk_4A0, (void *)data, 0xBC);
|
memcpy(gSaveBlock2Ptr->unk_B0.field_3F0, (void *)data, 0xBC);
|
||||||
ValidateEReaderTrainer();
|
ValidateEReaderTrainer();
|
||||||
StringExpandPlaceholders(gStringVar4, gText_MysteryGiftNewTrainer);
|
StringExpandPlaceholders(gStringVar4, gText_MysteryGiftNewTrainer);
|
||||||
ctx->data[2] = 2;
|
ctx->data[2] = 2;
|
||||||
|
|||||||
+161
@@ -0,0 +1,161 @@
|
|||||||
|
#include "global.h"
|
||||||
|
#include "new_game.h"
|
||||||
|
#include "random.h"
|
||||||
|
#include "main.h"
|
||||||
|
#include "overworld.h"
|
||||||
|
#include "constants/maps.h"
|
||||||
|
#include "load_save.h"
|
||||||
|
#include "item_menu.h"
|
||||||
|
#include "tm_case.h"
|
||||||
|
#include "berry_pouch.h"
|
||||||
|
#include "quest_log.h"
|
||||||
|
#include "wild_encounter.h"
|
||||||
|
#include "event_data.h"
|
||||||
|
#include "string_util.h"
|
||||||
|
#include "mail_data.h"
|
||||||
|
#include "play_time.h"
|
||||||
|
#include "money.h"
|
||||||
|
#include "battle_records.h"
|
||||||
|
#include "pokemon_size_record.h"
|
||||||
|
#include "pokemon_storage_system.h"
|
||||||
|
#include "roamer.h"
|
||||||
|
#include "item.h"
|
||||||
|
#include "player_pc.h"
|
||||||
|
#include "berry.h"
|
||||||
|
#include "easy_chat.h"
|
||||||
|
#include "union_room_chat.h"
|
||||||
|
#include "mevent.h"
|
||||||
|
#include "trainer_tower.h"
|
||||||
|
#include "script.h"
|
||||||
|
#include "berry_powder.h"
|
||||||
|
#include "pokemon_jump.h"
|
||||||
|
#include "event_scripts.h"
|
||||||
|
|
||||||
|
// this file's functions
|
||||||
|
static void ResetMiniGamesResults(void);
|
||||||
|
|
||||||
|
// EWRAM vars
|
||||||
|
EWRAM_DATA bool8 gDifferentSaveFile = FALSE;
|
||||||
|
|
||||||
|
void SetTrainerId(u32 trainerId, u8 *dst)
|
||||||
|
{
|
||||||
|
dst[0] = trainerId;
|
||||||
|
dst[1] = trainerId >> 8;
|
||||||
|
dst[2] = trainerId >> 16;
|
||||||
|
dst[3] = trainerId >> 24;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CopyTrainerId(u8 *dst, u8 *src)
|
||||||
|
{
|
||||||
|
s32 i;
|
||||||
|
for (i = 0; i < 4; i++)
|
||||||
|
dst[i] = src[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
static void InitPlayerTrainerId(void)
|
||||||
|
{
|
||||||
|
u32 trainerId = (Random() << 0x10) | GetGeneratedTrainerIdLower();
|
||||||
|
SetTrainerId(trainerId, gSaveBlock2Ptr->playerTrainerId);
|
||||||
|
}
|
||||||
|
|
||||||
|
static 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;
|
||||||
|
gSaveBlock2Ptr->optionsButtonMode = OPTIONS_BUTTON_MODE_NORMAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void ClearPokedexFlags(void)
|
||||||
|
{
|
||||||
|
memset(&gSaveBlock2Ptr->pokedex.owned, 0, sizeof(gSaveBlock2Ptr->pokedex.owned));
|
||||||
|
memset(&gSaveBlock2Ptr->pokedex.seen, 0, sizeof(gSaveBlock2Ptr->pokedex.seen));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void sub_80549D4(void)
|
||||||
|
{
|
||||||
|
CpuFill32(0, &gSaveBlock2Ptr->unk_B0, sizeof(gSaveBlock2Ptr->unk_B0));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void WarpToPlayersRoom(void)
|
||||||
|
{
|
||||||
|
SetWarpDestination(MAP_GROUP(PALLET_TOWN_PLAYERS_HOUSE_2F), MAP_NUM(PALLET_TOWN_PLAYERS_HOUSE_2F), -1, 6, 6);
|
||||||
|
WarpIntoMap();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Sav2_ClearSetDefault(void)
|
||||||
|
{
|
||||||
|
ClearSav2();
|
||||||
|
SetDefaultOptions();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ResetMenuAndMonGlobals(void)
|
||||||
|
{
|
||||||
|
gDifferentSaveFile = FALSE;
|
||||||
|
ZeroPlayerPartyMons();
|
||||||
|
ZeroEnemyPartyMons();
|
||||||
|
sub_81089BC();
|
||||||
|
ResetTMCaseCursorPos();
|
||||||
|
BerryPouch_CursorResetToTop();
|
||||||
|
sub_811089C();
|
||||||
|
sub_8083214(Random());
|
||||||
|
sub_806E6FC();
|
||||||
|
}
|
||||||
|
|
||||||
|
void NewGameInitData(void)
|
||||||
|
{
|
||||||
|
u8 rivalName[PLAYER_NAME_LENGTH];
|
||||||
|
|
||||||
|
StringCopy(rivalName, gSaveBlock1Ptr->rivalName);
|
||||||
|
gDifferentSaveFile = TRUE;
|
||||||
|
gSaveBlock2Ptr->encryptionKey = 0;
|
||||||
|
ZeroPlayerPartyMons();
|
||||||
|
ZeroEnemyPartyMons();
|
||||||
|
sub_80549D4();
|
||||||
|
ClearSav1();
|
||||||
|
ClearMailData();
|
||||||
|
gSaveBlock2Ptr->specialSaveWarpFlags = 0;
|
||||||
|
gSaveBlock2Ptr->field_A8 = 0;
|
||||||
|
gSaveBlock2Ptr->field_AC = 1;
|
||||||
|
gSaveBlock2Ptr->field_AD = 0;
|
||||||
|
InitPlayerTrainerId();
|
||||||
|
PlayTimeCounter_Reset();
|
||||||
|
ClearPokedexFlags();
|
||||||
|
InitEventData();
|
||||||
|
ResetFameChecker();
|
||||||
|
SetMoney(&gSaveBlock1Ptr->money, 3000);
|
||||||
|
ResetGameStats();
|
||||||
|
ClearPlayerLinkBattleRecords();
|
||||||
|
sub_80A0904();
|
||||||
|
sub_80A0958();
|
||||||
|
sub_806E190();
|
||||||
|
gPlayerPartyCount = 0;
|
||||||
|
ZeroPlayerPartyMons();
|
||||||
|
ResetPokemonStorageSystem();
|
||||||
|
ClearRoamerData();
|
||||||
|
gSaveBlock1Ptr->registeredItem = 0;
|
||||||
|
ClearBag();
|
||||||
|
NewGameInitPCItems();
|
||||||
|
sub_809C794();
|
||||||
|
InitEasyChatPhrases();
|
||||||
|
sub_8113044();
|
||||||
|
copy_strings_to_sav1();
|
||||||
|
ResetMiniGamesResults();
|
||||||
|
sub_8143D24();
|
||||||
|
sub_815D838();
|
||||||
|
WarpToPlayersRoom();
|
||||||
|
ScriptContext2_RunNewScript(EventScript_ResetAllMapFlags);
|
||||||
|
StringCopy(gSaveBlock1Ptr->rivalName, rivalName);
|
||||||
|
ResetTrainerTowerResults();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void ResetMiniGamesResults(void)
|
||||||
|
{
|
||||||
|
CpuFill16(0, &gSaveBlock2Ptr->berryCrush, sizeof(struct BerryCrush));
|
||||||
|
SetBerryPowder(&gSaveBlock2Ptr->berryCrush.berryPowderAmount, 0);
|
||||||
|
ResetPokeJumpResults();
|
||||||
|
CpuFill16(0, &gSaveBlock2Ptr->berryPick, sizeof(struct BerryPickingResults));
|
||||||
|
}
|
||||||
+1
-1
@@ -986,7 +986,7 @@ void sub_8111368(void)
|
|||||||
{
|
{
|
||||||
gUnknown_203ADFA = 2;
|
gUnknown_203ADFA = 2;
|
||||||
sub_806E6FC();
|
sub_806E6FC();
|
||||||
ClearItemSlotsInAllBagPockets();
|
ClearBag();
|
||||||
ClearPCItemSlots();
|
ClearPCItemSlots();
|
||||||
if (sub_8110AC8() == 1)
|
if (sub_8110AC8() == 1)
|
||||||
{
|
{
|
||||||
|
|||||||
+7
-7
@@ -733,7 +733,7 @@ bool8 ScrCmd_warp(struct ScriptContext *ctx)
|
|||||||
u16 x = VarGet(ScriptReadHalfword(ctx));
|
u16 x = VarGet(ScriptReadHalfword(ctx));
|
||||||
u16 y = VarGet(ScriptReadHalfword(ctx));
|
u16 y = VarGet(ScriptReadHalfword(ctx));
|
||||||
|
|
||||||
Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y);
|
SetWarpDestination(mapGroup, mapNum, warpId, x, y);
|
||||||
DoWarp();
|
DoWarp();
|
||||||
ResetInitialPlayerAvatarState();
|
ResetInitialPlayerAvatarState();
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@@ -747,7 +747,7 @@ bool8 ScrCmd_warpsilent(struct ScriptContext *ctx)
|
|||||||
u16 x = VarGet(ScriptReadHalfword(ctx));
|
u16 x = VarGet(ScriptReadHalfword(ctx));
|
||||||
u16 y = VarGet(ScriptReadHalfword(ctx));
|
u16 y = VarGet(ScriptReadHalfword(ctx));
|
||||||
|
|
||||||
Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y);
|
SetWarpDestination(mapGroup, mapNum, warpId, x, y);
|
||||||
DoDiveWarp();
|
DoDiveWarp();
|
||||||
ResetInitialPlayerAvatarState();
|
ResetInitialPlayerAvatarState();
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@@ -761,7 +761,7 @@ bool8 ScrCmd_warpdoor(struct ScriptContext *ctx)
|
|||||||
u16 x = VarGet(ScriptReadHalfword(ctx));
|
u16 x = VarGet(ScriptReadHalfword(ctx));
|
||||||
u16 y = VarGet(ScriptReadHalfword(ctx));
|
u16 y = VarGet(ScriptReadHalfword(ctx));
|
||||||
|
|
||||||
Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y);
|
SetWarpDestination(mapGroup, mapNum, warpId, x, y);
|
||||||
DoDoorWarp();
|
DoDoorWarp();
|
||||||
ResetInitialPlayerAvatarState();
|
ResetInitialPlayerAvatarState();
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@@ -778,7 +778,7 @@ bool8 ScrCmd_warphole(struct ScriptContext *ctx)
|
|||||||
if (mapGroup == 0xFF && mapNum == 0xFF)
|
if (mapGroup == 0xFF && mapNum == 0xFF)
|
||||||
SetWarpDestinationToFixedHoleWarp(x - 7, y - 7);
|
SetWarpDestinationToFixedHoleWarp(x - 7, y - 7);
|
||||||
else
|
else
|
||||||
Overworld_SetWarpDestination(mapGroup, mapNum, -1, x - 7, y - 7);
|
SetWarpDestination(mapGroup, mapNum, -1, x - 7, y - 7);
|
||||||
DoFallWarp();
|
DoFallWarp();
|
||||||
ResetInitialPlayerAvatarState();
|
ResetInitialPlayerAvatarState();
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@@ -792,7 +792,7 @@ bool8 ScrCmd_warpteleport(struct ScriptContext *ctx)
|
|||||||
u16 x = VarGet(ScriptReadHalfword(ctx));
|
u16 x = VarGet(ScriptReadHalfword(ctx));
|
||||||
u16 y = VarGet(ScriptReadHalfword(ctx));
|
u16 y = VarGet(ScriptReadHalfword(ctx));
|
||||||
|
|
||||||
Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y);
|
SetWarpDestination(mapGroup, mapNum, warpId, x, y);
|
||||||
sub_807E59C();
|
sub_807E59C();
|
||||||
ResetInitialPlayerAvatarState();
|
ResetInitialPlayerAvatarState();
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@@ -806,7 +806,7 @@ bool8 ScrCmd_warpteleport2(struct ScriptContext *ctx)
|
|||||||
u16 x = VarGet(ScriptReadHalfword(ctx));
|
u16 x = VarGet(ScriptReadHalfword(ctx));
|
||||||
u16 y = VarGet(ScriptReadHalfword(ctx));
|
u16 y = VarGet(ScriptReadHalfword(ctx));
|
||||||
|
|
||||||
Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y);
|
SetWarpDestination(mapGroup, mapNum, warpId, x, y);
|
||||||
sub_805DAE4(GetPlayerFacingDirection());
|
sub_805DAE4(GetPlayerFacingDirection());
|
||||||
sub_807E500();
|
sub_807E500();
|
||||||
ResetInitialPlayerAvatarState();
|
ResetInitialPlayerAvatarState();
|
||||||
@@ -821,7 +821,7 @@ bool8 ScrCmd_setwarp(struct ScriptContext *ctx)
|
|||||||
u16 x = VarGet(ScriptReadHalfword(ctx));
|
u16 x = VarGet(ScriptReadHalfword(ctx));
|
||||||
u16 y = VarGet(ScriptReadHalfword(ctx));
|
u16 y = VarGet(ScriptReadHalfword(ctx));
|
||||||
|
|
||||||
Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y);
|
SetWarpDestination(mapGroup, mapNum, warpId, x, y);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -319,7 +319,7 @@ static void Task_SeaGallop_3(void)
|
|||||||
gSpecialVar_0x8006 = 0;
|
gSpecialVar_0x8006 = 0;
|
||||||
|
|
||||||
warpInfo = sSeaGallopSpawnTable[gSpecialVar_0x8006];
|
warpInfo = sSeaGallopSpawnTable[gSpecialVar_0x8006];
|
||||||
Overworld_SetWarpDestination(warpInfo[0], warpInfo[1], -1, warpInfo[2], warpInfo[3]);
|
SetWarpDestination(warpInfo[0], warpInfo[1], -1, warpInfo[2], warpInfo[3]);
|
||||||
PlayRainStoppingSoundEffect();
|
PlayRainStoppingSoundEffect();
|
||||||
PlaySE(SE_KAIDAN);
|
PlaySE(SE_KAIDAN);
|
||||||
gFieldCallback = sub_807DF64;
|
gFieldCallback = sub_807DF64;
|
||||||
|
|||||||
+1
-1
@@ -1458,7 +1458,7 @@ void sub_815EDF4(u32 * counter, u32 value)
|
|||||||
*counter = value ^ gSaveBlock2Ptr->encryptionKey;
|
*counter = value ^ gSaveBlock2Ptr->encryptionKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_815EE0C(void)
|
void ResetTrainerTowerResults(void)
|
||||||
{
|
{
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
|
|||||||
+3
-2
@@ -437,9 +437,10 @@ gUnknown_2031DA8: @ 2031DA8
|
|||||||
gUnknown_2031DAC: @ 2031DAC
|
gUnknown_2031DAC: @ 2031DAC
|
||||||
.space 0x4
|
.space 0x4
|
||||||
|
|
||||||
gUnknown_2031DB0: @ 2031DB0
|
.align 2
|
||||||
.space 0x4
|
.include "src/new_game.o"
|
||||||
|
|
||||||
|
.align 2
|
||||||
gUnknown_2031DB4: @ 2031DB4
|
gUnknown_2031DB4: @ 2031DB4
|
||||||
.space 0x8
|
.space 0x8
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user