Merge branch 'master' into link
This commit is contained in:
@@ -14531,7 +14531,7 @@ sub_81965D8: @ 81965D8
|
||||
negs r0, r0
|
||||
ands r0, r1
|
||||
strb r0, [r2]
|
||||
bl sav2_get_text_speed
|
||||
bl GetPlayerTextSpeed
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
|
||||
+44
-44
@@ -14280,7 +14280,7 @@ sub_81A1C4C: @ 81A1C4C
|
||||
adds r3, r0, 0
|
||||
lsls r0, r5, 3
|
||||
adds r5, r0, 0x1
|
||||
ldr r0, =gUnknown_0203AB74
|
||||
ldr r0, =gResultsWindowId
|
||||
ldrb r0, [r0]
|
||||
lsls r3, 24
|
||||
lsrs r3, 24
|
||||
@@ -14306,7 +14306,7 @@ sub_81A1C90: @ 81A1C90
|
||||
push {r4,lr}
|
||||
sub sp, 0x34
|
||||
adds r2, r0, 0
|
||||
ldr r3, =gUnknown_0203AB74
|
||||
ldr r3, =gResultsWindowId
|
||||
movs r1, 0xAE
|
||||
mov r0, sp
|
||||
adds r0, 0x2F
|
||||
@@ -14361,7 +14361,7 @@ sub_81A1CD8: @ 81A1CD8
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
adds r7, r0, 0
|
||||
ldr r0, =gUnknown_0203AB74
|
||||
ldr r0, =gResultsWindowId
|
||||
mov r10, r0
|
||||
ldrb r0, [r0]
|
||||
str r7, [sp]
|
||||
@@ -14580,7 +14580,7 @@ sub_81A1EA8: @ 81A1EA8
|
||||
sub sp, 0xC
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
ldr r4, =gUnknown_0203AB74
|
||||
ldr r4, =gResultsWindowId
|
||||
ldr r0, =gUnknown_08611C74
|
||||
bl AddWindow
|
||||
strb r0, [r4]
|
||||
@@ -14621,7 +14621,7 @@ _081A1F28:
|
||||
ldr r0, =gStringVar4
|
||||
movs r1, 0x2
|
||||
bl sub_81A1C4C
|
||||
ldr r6, =gUnknown_0203AB74
|
||||
ldr r6, =gResultsWindowId
|
||||
ldrb r0, [r6]
|
||||
ldr r2, =gText_Lv502
|
||||
movs r1, 0x31
|
||||
@@ -14734,7 +14734,7 @@ sub_81A2008: @ 81A2008
|
||||
lsrs r6, 24
|
||||
lsls r5, 24
|
||||
lsrs r5, 24
|
||||
ldr r0, =gUnknown_0203AB74
|
||||
ldr r0, =gResultsWindowId
|
||||
mov r10, r0
|
||||
ldrb r0, [r0]
|
||||
str r5, [sp]
|
||||
@@ -14868,7 +14868,7 @@ sub_81A2134: @ 81A2134
|
||||
sub sp, 0xC
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
ldr r4, =gUnknown_0203AB74
|
||||
ldr r4, =gResultsWindowId
|
||||
ldr r0, =gUnknown_08611C74
|
||||
bl AddWindow
|
||||
strb r0, [r4]
|
||||
@@ -14893,7 +14893,7 @@ _081A2184:
|
||||
ldr r0, =gStringVar4
|
||||
movs r1, 0
|
||||
bl sub_81A1C4C
|
||||
ldr r1, =gUnknown_0203AB74
|
||||
ldr r1, =gResultsWindowId
|
||||
ldrb r0, [r1]
|
||||
ldr r2, =gText_Lv502
|
||||
movs r6, 0x21
|
||||
@@ -14905,7 +14905,7 @@ _081A2184:
|
||||
movs r1, 0x1
|
||||
movs r3, 0x8
|
||||
bl PrintTextOnWindow
|
||||
ldr r1, =gUnknown_0203AB74
|
||||
ldr r1, =gResultsWindowId
|
||||
ldrb r0, [r1]
|
||||
ldr r2, =gText_OpenLv
|
||||
movs r1, 0x61
|
||||
@@ -14988,10 +14988,10 @@ _081A2184:
|
||||
mov r1, r8
|
||||
movs r3, 0x40
|
||||
bl sub_81A2008
|
||||
ldr r1, =gUnknown_0203AB74
|
||||
ldr r1, =gResultsWindowId
|
||||
ldrb r0, [r1]
|
||||
bl PutWindowTilemap
|
||||
ldr r1, =gUnknown_0203AB74
|
||||
ldr r1, =gResultsWindowId
|
||||
ldrb r0, [r1]
|
||||
movs r1, 0x3
|
||||
bl CopyWindowToVram
|
||||
@@ -15027,7 +15027,7 @@ sub_81A22B8: @ 81A22B8
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
adds r7, r0, 0
|
||||
ldr r0, =gUnknown_0203AB74
|
||||
ldr r0, =gResultsWindowId
|
||||
mov r10, r0
|
||||
ldrb r0, [r0]
|
||||
str r7, [sp]
|
||||
@@ -15221,7 +15221,7 @@ sub_81A2460: @ 81A2460
|
||||
sub sp, 0xC
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
ldr r4, =gUnknown_0203AB74
|
||||
ldr r4, =gResultsWindowId
|
||||
ldr r0, =gUnknown_08611C74
|
||||
bl AddWindow
|
||||
strb r0, [r4]
|
||||
@@ -15246,7 +15246,7 @@ _081A24B0:
|
||||
ldr r0, =gStringVar4
|
||||
movs r1, 0x2
|
||||
bl sub_81A1C4C
|
||||
ldr r6, =gUnknown_0203AB74
|
||||
ldr r6, =gResultsWindowId
|
||||
ldrb r0, [r6]
|
||||
ldr r2, =gText_Lv502
|
||||
movs r1, 0x31
|
||||
@@ -15356,7 +15356,7 @@ sub_81A258C: @ 81A258C
|
||||
lsrs r6, 24
|
||||
lsls r5, 24
|
||||
lsrs r5, 24
|
||||
ldr r0, =gUnknown_0203AB74
|
||||
ldr r0, =gResultsWindowId
|
||||
mov r10, r0
|
||||
ldrb r0, [r0]
|
||||
str r5, [sp]
|
||||
@@ -15469,7 +15469,7 @@ sub_81A2698: @ 81A2698
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0xC
|
||||
ldr r6, =gUnknown_0203AB74
|
||||
ldr r6, =gResultsWindowId
|
||||
ldr r0, =gUnknown_08611C74
|
||||
bl AddWindow
|
||||
strb r0, [r6]
|
||||
@@ -15608,7 +15608,7 @@ sub_81A27E8: @ 81A27E8
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
adds r7, r0, 0
|
||||
ldr r0, =gUnknown_0203AB74
|
||||
ldr r0, =gResultsWindowId
|
||||
mov r10, r0
|
||||
ldrb r0, [r0]
|
||||
str r7, [sp]
|
||||
@@ -15772,7 +15772,7 @@ _081A2956:
|
||||
sub_81A2968: @ 81A2968
|
||||
push {r4-r6,lr}
|
||||
sub sp, 0xC
|
||||
ldr r5, =gUnknown_0203AB74
|
||||
ldr r5, =gResultsWindowId
|
||||
ldr r0, =gUnknown_08611C74
|
||||
bl AddWindow
|
||||
strb r0, [r5]
|
||||
@@ -15871,7 +15871,7 @@ sub_81A2A28: @ 81A2A28
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
adds r6, r0, 0
|
||||
ldr r0, =gUnknown_0203AB74
|
||||
ldr r0, =gResultsWindowId
|
||||
mov r10, r0
|
||||
ldrb r0, [r0]
|
||||
str r6, [sp]
|
||||
@@ -16147,7 +16147,7 @@ sub_81A2C94: @ 81A2C94
|
||||
sub sp, 0xC
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
ldr r4, =gUnknown_0203AB74
|
||||
ldr r4, =gResultsWindowId
|
||||
ldr r0, =gUnknown_08611C74
|
||||
bl AddWindow
|
||||
strb r0, [r4]
|
||||
@@ -16172,7 +16172,7 @@ _081A2CE0:
|
||||
ldr r0, =gStringVar4
|
||||
movs r1, 0
|
||||
bl sub_81A1C4C
|
||||
ldr r0, =gUnknown_0203AB74
|
||||
ldr r0, =gResultsWindowId
|
||||
mov r8, r0
|
||||
ldrb r0, [r0]
|
||||
ldr r2, =gText_Lv502
|
||||
@@ -16276,7 +16276,7 @@ sub_81A2DB4: @ 81A2DB4
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
adds r7, r0, 0
|
||||
ldr r0, =gUnknown_0203AB74
|
||||
ldr r0, =gResultsWindowId
|
||||
mov r10, r0
|
||||
ldrb r0, [r0]
|
||||
str r7, [sp]
|
||||
@@ -16442,7 +16442,7 @@ _081A2F26:
|
||||
sub_81A2F38: @ 81A2F38
|
||||
push {r4-r6,lr}
|
||||
sub sp, 0xC
|
||||
ldr r5, =gUnknown_0203AB74
|
||||
ldr r5, =gResultsWindowId
|
||||
ldr r0, =gUnknown_08611C74
|
||||
bl AddWindow
|
||||
strb r0, [r5]
|
||||
@@ -16520,7 +16520,7 @@ sub_81A2FF8: @ 81A2FF8
|
||||
mov r6, r8
|
||||
push {r6,r7}
|
||||
sub sp, 0xC
|
||||
ldr r4, =gUnknown_0203AB74
|
||||
ldr r4, =gResultsWindowId
|
||||
ldr r0, =gUnknown_08611C7C
|
||||
bl AddWindow
|
||||
strb r0, [r4]
|
||||
@@ -16686,7 +16686,7 @@ _081A315C:
|
||||
movs r2, 0x1
|
||||
movs r3, 0x4
|
||||
bl ConvertIntToDecimalStringN
|
||||
ldr r6, =gUnknown_0203AB74
|
||||
ldr r6, =gResultsWindowId
|
||||
ldrb r0, [r6]
|
||||
movs r1, 0x26
|
||||
adds r3, r5, 0
|
||||
@@ -18962,7 +18962,7 @@ sub_81A4594: @ 81A4594
|
||||
sub sp, 0x2C
|
||||
mov r8, r1
|
||||
adds r6, r3, 0
|
||||
ldr r1, =gUnknown_0203AB74
|
||||
ldr r1, =gResultsWindowId
|
||||
ldrb r5, [r1]
|
||||
lsls r4, r0, 1
|
||||
adds r4, r0
|
||||
@@ -18998,7 +18998,7 @@ sub_81A4594: @ 81A4594
|
||||
ldrb r2, [r6, 0xE]
|
||||
add r0, sp, 0xC
|
||||
bl TVShowConvertInternationalString
|
||||
ldr r1, =gUnknown_0203AB74
|
||||
ldr r1, =gResultsWindowId
|
||||
ldrb r0, [r1]
|
||||
mov r3, r8
|
||||
adds r3, 0x2
|
||||
@@ -19038,7 +19038,7 @@ _081A4618:
|
||||
adds r3, r0, 0
|
||||
lsls r3, 24
|
||||
lsrs r3, 24
|
||||
ldr r1, =gUnknown_0203AB74
|
||||
ldr r1, =gResultsWindowId
|
||||
ldrb r0, [r1]
|
||||
str r7, [sp]
|
||||
mov r1, r10
|
||||
@@ -19072,7 +19072,7 @@ sub_81A4684: @ 81A4684
|
||||
adds r7, r1, 0
|
||||
mov r10, r2
|
||||
adds r5, r3, 0
|
||||
ldr r1, =gUnknown_0203AB74
|
||||
ldr r1, =gResultsWindowId
|
||||
ldrb r0, [r1]
|
||||
lsls r2, r6, 1
|
||||
adds r2, r6
|
||||
@@ -19112,7 +19112,7 @@ sub_81A4684: @ 81A4684
|
||||
ldrb r2, [r5, 0x1A]
|
||||
add r0, sp, 0xC
|
||||
bl TVShowConvertInternationalString
|
||||
ldr r1, =gUnknown_0203AB74
|
||||
ldr r1, =gResultsWindowId
|
||||
ldrb r0, [r1]
|
||||
adds r3, r7, 0x2
|
||||
lsls r3, 27
|
||||
@@ -19147,7 +19147,7 @@ _081A4734:
|
||||
adds r1, r4, 0
|
||||
bl StringCopy
|
||||
_081A473C:
|
||||
ldr r2, =gUnknown_0203AB74
|
||||
ldr r2, =gResultsWindowId
|
||||
mov r9, r2
|
||||
ldrb r0, [r2]
|
||||
adds r3, r7, 0x4
|
||||
@@ -19468,7 +19468,7 @@ sub_81A4998: @ 81A4998
|
||||
ldr r1, [r5]
|
||||
adds r0, r6, 0
|
||||
bl StringExpandPlaceholders
|
||||
ldr r0, =gUnknown_0203AB74
|
||||
ldr r0, =gResultsWindowId
|
||||
mov r8, r0
|
||||
ldrb r0, [r0]
|
||||
movs r1, 0x1
|
||||
@@ -19567,7 +19567,7 @@ _081A4A90:
|
||||
thumb_func_start sub_81A4AA0
|
||||
sub_81A4AA0: @ 81A4AA0
|
||||
push {r4,lr}
|
||||
ldr r4, =gUnknown_0203AB74
|
||||
ldr r4, =gResultsWindowId
|
||||
ldr r0, =gUnknown_08611C84
|
||||
bl AddWindow
|
||||
strb r0, [r4]
|
||||
@@ -19595,7 +19595,7 @@ sub_81A4AA0: @ 81A4AA0
|
||||
thumb_func_start sub_81A4AE8
|
||||
sub_81A4AE8: @ 81A4AE8
|
||||
push {r4,lr}
|
||||
ldr r4, =gUnknown_0203AB74
|
||||
ldr r4, =gResultsWindowId
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
@@ -25426,8 +25426,8 @@ sub_81A7B84: @ 81A7B84
|
||||
.pool
|
||||
thumb_func_end sub_81A7B84
|
||||
|
||||
thumb_func_start sub_81A7B90
|
||||
sub_81A7B90: @ 81A7B90
|
||||
thumb_func_start TryGenerateBattlePikeWildMon
|
||||
TryGenerateBattlePikeWildMon: @ 81A7B90
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
@@ -25437,7 +25437,7 @@ sub_81A7B90: @ 81A7B90
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
mov r8, r0
|
||||
bl sub_81A7D00
|
||||
bl GetBattlePikeWildMonHeaderId
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
ldr r7, =gSaveBlock2Ptr
|
||||
@@ -25596,10 +25596,10 @@ _081A7CE2:
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
thumb_func_end sub_81A7B90
|
||||
thumb_func_end TryGenerateBattlePikeWildMon
|
||||
|
||||
thumb_func_start sub_81A7D00
|
||||
sub_81A7D00: @ 81A7D00
|
||||
thumb_func_start GetBattlePikeWildMonHeaderId
|
||||
GetBattlePikeWildMonHeaderId: @ 81A7D00
|
||||
push {lr}
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r1, [r0]
|
||||
@@ -25638,7 +25638,7 @@ _081A7D4C:
|
||||
adds r0, r1, 0
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_81A7D00
|
||||
thumb_func_end GetBattlePikeWildMonHeaderId
|
||||
|
||||
thumb_func_start sub_81A7D54
|
||||
sub_81A7D54: @ 81A7D54
|
||||
@@ -29386,8 +29386,8 @@ _081A9B86:
|
||||
.pool
|
||||
thumb_func_end sub_81A9B44
|
||||
|
||||
thumb_func_start sub_81A9C04
|
||||
sub_81A9C04: @ 81A9C04
|
||||
thumb_func_start GenerateBattlePyramidWildMon
|
||||
GenerateBattlePyramidWildMon: @ 81A9C04
|
||||
push {r4-r6,lr}
|
||||
sub sp, 0x14
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
@@ -29627,7 +29627,7 @@ _081A9E0C:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81A9C04
|
||||
thumb_func_end GenerateBattlePyramidWildMon
|
||||
|
||||
thumb_func_start sub_81A9E28
|
||||
sub_81A9E28: @ 81A9E28
|
||||
|
||||
@@ -496,7 +496,7 @@ sub_813C2F4: @ 813C2F4
|
||||
movs r2, 0xD0
|
||||
bl GetStringCenterAlignXOffset
|
||||
adds r3, r0, 0
|
||||
ldr r0, =gUnknown_0203AB74
|
||||
ldr r0, =gResultsWindowId
|
||||
ldrb r0, [r0]
|
||||
lsls r3, 24
|
||||
lsrs r3, 24
|
||||
@@ -531,7 +531,7 @@ sub_813C384: @ 813C384
|
||||
ldr r7, [r6, 0xC]
|
||||
cmp r7, 0
|
||||
bne _0813C40C
|
||||
ldr r0, =gUnknown_0203AB74
|
||||
ldr r0, =gResultsWindowId
|
||||
mov r8, r0
|
||||
ldrb r0, [r0]
|
||||
ldr r2, =gUnknown_085B3D84
|
||||
@@ -587,7 +587,7 @@ _0813C40C:
|
||||
lsrs r1, 24
|
||||
ldr r0, =gStringVar1
|
||||
bl ConvertInternationalString
|
||||
ldr r0, =gUnknown_0203AB74
|
||||
ldr r0, =gResultsWindowId
|
||||
mov r8, r0
|
||||
ldrb r0, [r0]
|
||||
lsls r4, 3
|
||||
@@ -661,7 +661,7 @@ sub_813C4BC: @ 813C4BC
|
||||
mov r6, r8
|
||||
push {r6,r7}
|
||||
sub sp, 0xC
|
||||
ldr r6, =gUnknown_0203AB74
|
||||
ldr r6, =gResultsWindowId
|
||||
ldr r0, =gUnknown_085B3D7C
|
||||
bl AddWindow
|
||||
strb r0, [r6]
|
||||
@@ -729,7 +729,7 @@ _0813C540:
|
||||
adds r4, 0x1
|
||||
cmp r4, 0x4
|
||||
ble _0813C540
|
||||
ldr r4, =gUnknown_0203AB74
|
||||
ldr r4, =gResultsWindowId
|
||||
ldrb r0, [r4]
|
||||
bl PutWindowTilemap
|
||||
ldrb r0, [r4]
|
||||
@@ -748,7 +748,7 @@ _0813C540:
|
||||
thumb_func_start sub_813C5A0
|
||||
sub_813C5A0: @ 813C5A0
|
||||
push {r4,lr}
|
||||
ldr r4, =gUnknown_0203AB74
|
||||
ldr r4, =gResultsWindowId
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0
|
||||
bl sub_819746C
|
||||
|
||||
+9
-9
@@ -82,8 +82,8 @@ task_add_01_battle_start: @ 80B065C
|
||||
.pool
|
||||
thumb_func_end task_add_01_battle_start
|
||||
|
||||
thumb_func_start sub_80B0698
|
||||
sub_80B0698: @ 80B0698
|
||||
thumb_func_start BattleSetup_StartWildBattle
|
||||
BattleSetup_StartWildBattle: @ 80B0698
|
||||
push {lr}
|
||||
bl GetSafariZoneFlag
|
||||
cmp r0, 0
|
||||
@@ -95,15 +95,15 @@ _080B06A8:
|
||||
_080B06AC:
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80B0698
|
||||
thumb_func_end BattleSetup_StartWildBattle
|
||||
|
||||
thumb_func_start sub_80B06B0
|
||||
sub_80B06B0: @ 80B06B0
|
||||
thumb_func_start BattleSetup_StartBattlePikeWildBattle
|
||||
BattleSetup_StartBattlePikeWildBattle: @ 80B06B0
|
||||
push {lr}
|
||||
bl sub_80B07B4
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80B06B0
|
||||
thumb_func_end BattleSetup_StartBattlePikeWildBattle
|
||||
|
||||
thumb_func_start sub_80B06BC
|
||||
sub_80B06BC: @ 80B06BC
|
||||
@@ -147,8 +147,8 @@ _080B06F2:
|
||||
.pool
|
||||
thumb_func_end sub_80B06BC
|
||||
|
||||
thumb_func_start sub_80B072C
|
||||
sub_80B072C: @ 80B072C
|
||||
thumb_func_start BattleSetup_StartRoamerBattle
|
||||
BattleSetup_StartRoamerBattle: @ 80B072C
|
||||
push {lr}
|
||||
bl ScriptContext2_Enable
|
||||
bl player_bitmagic
|
||||
@@ -174,7 +174,7 @@ sub_80B072C: @ 80B072C
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_80B072C
|
||||
thumb_func_end BattleSetup_StartRoamerBattle
|
||||
|
||||
thumb_func_start sub_80B077C
|
||||
sub_80B077C: @ 80B077C
|
||||
|
||||
-8788
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -14067,7 +14067,7 @@ _080DEC80:
|
||||
b _080DEC9C
|
||||
.pool
|
||||
_080DEC94:
|
||||
bl sav2_get_text_speed
|
||||
bl GetPlayerTextSpeed
|
||||
lsls r0, 24
|
||||
lsrs r1, r0, 24
|
||||
_080DEC9C:
|
||||
|
||||
+4
-4
@@ -3691,7 +3691,7 @@ sub_811BDF0: @ 811BDF0
|
||||
adds r6, r0, 0
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r4, [r0]
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
ldr r0, =0x00003b70
|
||||
adds r5, r4, r0
|
||||
adds r0, r5, 0
|
||||
@@ -3707,17 +3707,17 @@ sub_811BDF0: @ 811BDF0
|
||||
bl TVShowConvertInternationalString
|
||||
movs r0, 0
|
||||
mov r1, sp
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
b _0811BE3C
|
||||
.pool
|
||||
_0811BE34:
|
||||
ldr r1, =gText_Lady
|
||||
movs r0, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
_0811BE3C:
|
||||
ldr r1, =gText_F700sQuiz
|
||||
adds r0, r6, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
add sp, 0x20
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
|
||||
@@ -1246,7 +1246,7 @@ sub_809C8DC: @ 809C8DC
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
beq _0809C92E
|
||||
bl sub_80B5870
|
||||
bl UpdateRepelCounter
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
@@ -1607,7 +1607,7 @@ _0809CC0C:
|
||||
ldr r5, =gUnknown_020375D6
|
||||
ldrh r1, [r5]
|
||||
adds r0, r4, 0
|
||||
bl is_it_battle_time_2
|
||||
bl StandardWildEncounter
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
|
||||
@@ -4316,7 +4316,7 @@ fish5: @ 808CABC
|
||||
adds r0, 0x1
|
||||
strh r0, [r5, 0x8]
|
||||
movs r6, 0
|
||||
bl GetFishingWildMonListHeader
|
||||
bl DoesCurrentMapHaveFishingMons
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0808CADC
|
||||
@@ -4640,7 +4640,7 @@ _0808CD58:
|
||||
ldrh r0, [r5, 0x26]
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl sub_80B5734
|
||||
bl FishingWildEncounter
|
||||
movs r0, 0x1
|
||||
bl sub_80ED950
|
||||
ldr r0, =Task_Fish
|
||||
|
||||
+1
-1
@@ -1863,7 +1863,7 @@ DisplayItemMessage: @ 81ABB4C
|
||||
strh r0, [r4, 0x14]
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
bl sav2_get_text_speed
|
||||
bl GetPlayerTextSpeed
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldrb r1, [r4, 0x14]
|
||||
|
||||
+1
-1
@@ -5100,7 +5100,7 @@ sub_800F820: @ 800F820
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0800F83C
|
||||
bl sub_8082D18
|
||||
bl GetBlenderArrowPosition
|
||||
ldr r1, =gSendCmd
|
||||
strh r0, [r1, 0xC]
|
||||
_0800F83C:
|
||||
|
||||
-669
@@ -1,669 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start MoveSaveBlocks_ResetHeap
|
||||
MoveSaveBlocks_ResetHeap: @ 8076C2C
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x8
|
||||
ldr r5, =gMain
|
||||
ldr r0, [r5, 0xC]
|
||||
str r0, [sp]
|
||||
ldr r1, [r5, 0x10]
|
||||
str r1, [sp, 0x4]
|
||||
movs r0, 0
|
||||
str r0, [r5, 0xC]
|
||||
str r0, [r5, 0x10]
|
||||
ldr r1, =gUnknown_0203CF5C
|
||||
str r0, [r1]
|
||||
ldr r4, =0x02000000
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r1, [r0]
|
||||
ldr r6, =0x00000f2c
|
||||
adds r0, r4, 0
|
||||
adds r2, r6, 0
|
||||
bl memcpy
|
||||
ldr r1, =gSaveBlock1Ptr
|
||||
mov r10, r1
|
||||
ldr r1, [r1]
|
||||
ldr r7, =0x00003d88
|
||||
ldr r0, =0x02000f2c
|
||||
adds r2, r7, 0
|
||||
bl memcpy
|
||||
ldr r0, =gPokemonStoragePtr
|
||||
mov r8, r0
|
||||
ldr r1, [r0]
|
||||
ldr r0, =0x000083d0
|
||||
mov r9, r0
|
||||
ldr r0, =0x02004cb4
|
||||
mov r2, r9
|
||||
bl memcpy
|
||||
ldrb r1, [r4, 0xA]
|
||||
ldrb r0, [r4, 0xB]
|
||||
adds r1, r0
|
||||
ldrb r0, [r4, 0xC]
|
||||
adds r1, r0
|
||||
ldrb r0, [r4, 0xD]
|
||||
adds r0, r1
|
||||
bl SetSaveBlocksPointers
|
||||
ldr r1, =gSaveBlock2Ptr
|
||||
ldr r0, [r1]
|
||||
adds r1, r4, 0
|
||||
adds r2, r6, 0
|
||||
bl memcpy
|
||||
mov r1, r10
|
||||
ldr r0, [r1]
|
||||
ldr r1, =0x02000f2c
|
||||
adds r2, r7, 0
|
||||
bl memcpy
|
||||
mov r1, r8
|
||||
ldr r0, [r1]
|
||||
ldr r1, =0x02004cb4
|
||||
mov r2, r9
|
||||
bl memcpy
|
||||
movs r1, 0xE0
|
||||
lsls r1, 9
|
||||
adds r0, r4, 0
|
||||
bl InitHeap
|
||||
ldr r0, [sp, 0x4]
|
||||
str r0, [r5, 0x10]
|
||||
ldr r1, [sp]
|
||||
str r1, [r5, 0xC]
|
||||
bl Random
|
||||
adds r4, r0, 0
|
||||
bl Random
|
||||
lsls r4, 16
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
adds r4, r0
|
||||
adds r0, r4, 0
|
||||
bl ApplyNewEncyprtionKeyToAllEncryptedData
|
||||
ldr r1, =gSaveBlock2Ptr
|
||||
ldr r0, [r1]
|
||||
adds r0, 0xAC
|
||||
str r4, [r0]
|
||||
add sp, 0x8
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end MoveSaveBlocks_ResetHeap
|
||||
|
||||
thumb_func_start sav2_x1_query_bit1
|
||||
sav2_x1_query_bit1: @ 8076D24
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r0, [r0]
|
||||
ldrb r1, [r0, 0x9]
|
||||
movs r0, 0x1
|
||||
ands r0, r1
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end sav2_x1_query_bit1
|
||||
|
||||
thumb_func_start sav2_x9_clear_bit1
|
||||
sav2_x9_clear_bit1: @ 8076D34
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r2, [r0]
|
||||
ldrb r1, [r2, 0x9]
|
||||
movs r0, 0xFE
|
||||
ands r0, r1
|
||||
strb r0, [r2, 0x9]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end sav2_x9_clear_bit1
|
||||
|
||||
thumb_func_start sub_8076D48
|
||||
sub_8076D48: @ 8076D48
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r2, [r0]
|
||||
ldrb r1, [r2, 0x9]
|
||||
movs r0, 0x1
|
||||
orrs r0, r1
|
||||
strb r0, [r2, 0x9]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end sub_8076D48
|
||||
|
||||
thumb_func_start sub_8076D5C
|
||||
sub_8076D5C: @ 8076D5C
|
||||
push {lr}
|
||||
movs r0, 0
|
||||
bl sub_8084FAC
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r2, [r0]
|
||||
ldrb r1, [r2, 0x9]
|
||||
movs r0, 0x1
|
||||
orrs r0, r1
|
||||
strb r0, [r2, 0x9]
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8076D5C
|
||||
|
||||
thumb_func_start sav2_gender2_inplace_and_xFE
|
||||
sav2_gender2_inplace_and_xFE: @ 8076D78
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r2, [r0]
|
||||
ldrb r1, [r2, 0x9]
|
||||
movs r0, 0xFE
|
||||
ands r0, r1
|
||||
strb r0, [r2, 0x9]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end sav2_gender2_inplace_and_xFE
|
||||
|
||||
thumb_func_start copy_player_party_to_sav1
|
||||
@ void copy_player_party_to_sav1()
|
||||
copy_player_party_to_sav1: @ 8076D8C
|
||||
push {r4,lr}
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
ldr r1, =gPlayerPartyCount
|
||||
ldrb r1, [r1]
|
||||
movs r2, 0x8D
|
||||
lsls r2, 2
|
||||
adds r0, r2
|
||||
strb r1, [r0]
|
||||
movs r4, 0
|
||||
_08076DA0:
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
movs r1, 0x64
|
||||
muls r1, r4
|
||||
adds r0, r1
|
||||
movs r2, 0x8E
|
||||
lsls r2, 2
|
||||
adds r0, r2
|
||||
ldr r2, =gPlayerParty
|
||||
adds r1, r2
|
||||
movs r2, 0x64
|
||||
bl memcpy
|
||||
adds r4, 0x1
|
||||
cmp r4, 0x5
|
||||
ble _08076DA0
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end copy_player_party_to_sav1
|
||||
|
||||
thumb_func_start copy_player_party_from_sav1
|
||||
copy_player_party_from_sav1: @ 8076DD4
|
||||
push {r4,r5,lr}
|
||||
ldr r1, =gPlayerPartyCount
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
movs r2, 0x8D
|
||||
lsls r2, 2
|
||||
adds r0, r2
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r1]
|
||||
movs r4, 0
|
||||
ldr r5, =gPlayerParty
|
||||
_08076DEA:
|
||||
movs r0, 0x64
|
||||
adds r2, r4, 0
|
||||
muls r2, r0
|
||||
adds r0, r2, r5
|
||||
ldr r1, =gSaveBlock1Ptr
|
||||
ldr r1, [r1]
|
||||
adds r1, r2
|
||||
movs r2, 0x8E
|
||||
lsls r2, 2
|
||||
adds r1, r2
|
||||
movs r2, 0x64
|
||||
bl memcpy
|
||||
adds r4, 0x1
|
||||
cmp r4, 0x5
|
||||
ble _08076DEA
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end copy_player_party_from_sav1
|
||||
|
||||
thumb_func_start save_serialize_npcs
|
||||
save_serialize_npcs: @ 8076E1C
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
mov r12, r0
|
||||
movs r5, 0xA3
|
||||
lsls r5, 4
|
||||
mov r8, r5
|
||||
ldr r4, =gMapObjects
|
||||
movs r3, 0
|
||||
movs r2, 0xF
|
||||
_08076E32:
|
||||
mov r6, r12
|
||||
ldr r1, [r6]
|
||||
adds r1, r3
|
||||
add r1, r8
|
||||
adds r0, r4, 0
|
||||
ldm r0!, {r5-r7}
|
||||
stm r1!, {r5-r7}
|
||||
ldm r0!, {r5-r7}
|
||||
stm r1!, {r5-r7}
|
||||
ldm r0!, {r5-r7}
|
||||
stm r1!, {r5-r7}
|
||||
adds r4, 0x24
|
||||
adds r3, 0x24
|
||||
subs r2, 0x1
|
||||
cmp r2, 0
|
||||
bge _08076E32
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end save_serialize_npcs
|
||||
|
||||
thumb_func_start save_deserialize_npcs
|
||||
save_deserialize_npcs: @ 8076E64
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
mov r12, r0
|
||||
movs r5, 0xA3
|
||||
lsls r5, 4
|
||||
mov r8, r5
|
||||
ldr r4, =gMapObjects
|
||||
movs r3, 0
|
||||
movs r2, 0xF
|
||||
_08076E7A:
|
||||
mov r6, r12
|
||||
ldr r1, [r6]
|
||||
adds r1, r3
|
||||
adds r0, r4, 0
|
||||
add r1, r8
|
||||
ldm r1!, {r5-r7}
|
||||
stm r0!, {r5-r7}
|
||||
ldm r1!, {r5-r7}
|
||||
stm r0!, {r5-r7}
|
||||
ldm r1!, {r5-r7}
|
||||
stm r0!, {r5-r7}
|
||||
adds r4, 0x24
|
||||
adds r3, 0x24
|
||||
subs r2, 0x1
|
||||
cmp r2, 0
|
||||
bge _08076E7A
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end save_deserialize_npcs
|
||||
|
||||
thumb_func_start SaveSerializedGame
|
||||
SaveSerializedGame: @ 8076EAC
|
||||
push {lr}
|
||||
bl copy_player_party_to_sav1
|
||||
bl save_serialize_npcs
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end SaveSerializedGame
|
||||
|
||||
thumb_func_start LoadSerializedGame
|
||||
LoadSerializedGame: @ 8076EBC
|
||||
push {lr}
|
||||
bl copy_player_party_from_sav1
|
||||
bl save_deserialize_npcs
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end LoadSerializedGame
|
||||
|
||||
thumb_func_start copy_bags_and_unk_data_from_save_blocks
|
||||
copy_bags_and_unk_data_from_save_blocks: @ 8076ECC
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
movs r2, 0
|
||||
ldr r0, =gUnknown_02032180
|
||||
mov r12, r0
|
||||
ldr r1, =gSaveBlock2Ptr
|
||||
mov r10, r1
|
||||
ldr r5, =gSaveBlock1Ptr
|
||||
movs r3, 0xAC
|
||||
lsls r3, 3
|
||||
ldr r4, =gUnknown_02031C58
|
||||
_08076EE8:
|
||||
lsls r0, r2, 2
|
||||
ldr r1, [r5]
|
||||
adds r1, r3
|
||||
adds r1, r0
|
||||
ldr r0, [r1]
|
||||
stm r4!, {r0}
|
||||
adds r2, 0x1
|
||||
cmp r2, 0x1D
|
||||
ble _08076EE8
|
||||
movs r2, 0
|
||||
ldr r0, =gUnknown_02031C58
|
||||
ldr r5, =gSaveBlock1Ptr
|
||||
movs r3, 0xBB
|
||||
lsls r3, 3
|
||||
adds r4, r0, 0
|
||||
adds r4, 0x78
|
||||
_08076F08:
|
||||
lsls r0, r2, 2
|
||||
ldr r1, [r5]
|
||||
adds r1, r3
|
||||
adds r1, r0
|
||||
ldr r0, [r1]
|
||||
stm r4!, {r0}
|
||||
adds r2, 0x1
|
||||
cmp r2, 0x1D
|
||||
ble _08076F08
|
||||
movs r2, 0
|
||||
ldr r0, =gUnknown_02031C58
|
||||
ldr r5, =gSaveBlock1Ptr
|
||||
movs r3, 0xCA
|
||||
lsls r3, 3
|
||||
adds r4, r0, 0
|
||||
adds r4, 0xF0
|
||||
_08076F28:
|
||||
lsls r0, r2, 2
|
||||
ldr r1, [r5]
|
||||
adds r1, r3
|
||||
adds r1, r0
|
||||
ldr r0, [r1]
|
||||
stm r4!, {r0}
|
||||
adds r2, 0x1
|
||||
cmp r2, 0xF
|
||||
ble _08076F28
|
||||
movs r2, 0
|
||||
ldr r0, =gUnknown_02031C58
|
||||
ldr r5, =gSaveBlock1Ptr
|
||||
movs r6, 0x98
|
||||
lsls r6, 1
|
||||
adds r4, r0, r6
|
||||
movs r3, 0xD2
|
||||
lsls r3, 3
|
||||
_08076F4A:
|
||||
lsls r0, r2, 2
|
||||
ldr r1, [r5]
|
||||
adds r1, r3
|
||||
adds r1, r0
|
||||
ldr r0, [r1]
|
||||
stm r4!, {r0}
|
||||
adds r2, 0x1
|
||||
cmp r2, 0x3F
|
||||
ble _08076F4A
|
||||
movs r2, 0
|
||||
ldr r0, =gUnknown_02031C58
|
||||
ldr r5, =gSaveBlock1Ptr
|
||||
movs r7, 0x8C
|
||||
lsls r7, 2
|
||||
adds r4, r0, r7
|
||||
movs r3, 0xF2
|
||||
lsls r3, 3
|
||||
_08076F6C:
|
||||
lsls r0, r2, 2
|
||||
ldr r1, [r5]
|
||||
adds r1, r3
|
||||
adds r1, r0
|
||||
ldr r0, [r1]
|
||||
stm r4!, {r0}
|
||||
adds r2, 0x1
|
||||
cmp r2, 0x2D
|
||||
ble _08076F6C
|
||||
ldr r0, =gUnknown_02031C58
|
||||
ldr r1, =gSaveBlock1Ptr
|
||||
mov r8, r1
|
||||
movs r5, 0xBA
|
||||
lsls r5, 2
|
||||
adds r4, r0, r5
|
||||
movs r3, 0
|
||||
ldr r6, =0x00002be0
|
||||
mov r9, r6
|
||||
movs r2, 0xF
|
||||
_08076F92:
|
||||
mov r7, r8
|
||||
ldr r1, [r7]
|
||||
adds r1, r3
|
||||
adds r0, r4, 0
|
||||
add r1, r9
|
||||
ldm r1!, {r5-r7}
|
||||
stm r0!, {r5-r7}
|
||||
ldm r1!, {r5-r7}
|
||||
stm r0!, {r5-r7}
|
||||
ldm r1!, {r5-r7}
|
||||
stm r0!, {r5-r7}
|
||||
adds r4, 0x24
|
||||
adds r3, 0x24
|
||||
subs r2, 0x1
|
||||
cmp r2, 0
|
||||
bge _08076F92
|
||||
mov r1, r10
|
||||
ldr r0, [r1]
|
||||
adds r0, 0xAC
|
||||
ldr r0, [r0]
|
||||
mov r5, r12
|
||||
str r0, [r5]
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end copy_bags_and_unk_data_from_save_blocks
|
||||
|
||||
thumb_func_start copy_bags_and_unk_data_to_save_blocks
|
||||
copy_bags_and_unk_data_to_save_blocks: @ 8076FE0
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
movs r2, 0
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
mov r8, r0
|
||||
ldr r1, =gUnknown_02032180
|
||||
mov r12, r1
|
||||
ldr r5, =gSaveBlock1Ptr
|
||||
movs r3, 0xAC
|
||||
lsls r3, 3
|
||||
ldr r4, =gUnknown_02031C58
|
||||
_08076FFC:
|
||||
ldr r0, [r5]
|
||||
lsls r1, r2, 2
|
||||
adds r0, r3
|
||||
adds r0, r1
|
||||
ldm r4!, {r1}
|
||||
str r1, [r0]
|
||||
adds r2, 0x1
|
||||
cmp r2, 0x1D
|
||||
ble _08076FFC
|
||||
movs r2, 0
|
||||
ldr r5, =gSaveBlock1Ptr
|
||||
movs r4, 0xBB
|
||||
lsls r4, 3
|
||||
ldr r0, =gUnknown_02031C58
|
||||
adds r3, r0, 0
|
||||
adds r3, 0x78
|
||||
_0807701C:
|
||||
ldr r0, [r5]
|
||||
lsls r1, r2, 2
|
||||
adds r0, r4
|
||||
adds r0, r1
|
||||
ldm r3!, {r1}
|
||||
str r1, [r0]
|
||||
adds r2, 0x1
|
||||
cmp r2, 0x1D
|
||||
ble _0807701C
|
||||
movs r2, 0
|
||||
ldr r5, =gSaveBlock1Ptr
|
||||
movs r4, 0xCA
|
||||
lsls r4, 3
|
||||
ldr r0, =gUnknown_02031C58
|
||||
adds r3, r0, 0
|
||||
adds r3, 0xF0
|
||||
_0807703C:
|
||||
ldr r0, [r5]
|
||||
lsls r1, r2, 2
|
||||
adds r0, r4
|
||||
adds r0, r1
|
||||
ldm r3!, {r1}
|
||||
str r1, [r0]
|
||||
adds r2, 0x1
|
||||
cmp r2, 0xF
|
||||
ble _0807703C
|
||||
movs r2, 0
|
||||
ldr r5, =gSaveBlock1Ptr
|
||||
movs r4, 0xD2
|
||||
lsls r4, 3
|
||||
ldr r0, =gUnknown_02031C58
|
||||
movs r6, 0x98
|
||||
lsls r6, 1
|
||||
adds r3, r0, r6
|
||||
_0807705E:
|
||||
ldr r0, [r5]
|
||||
lsls r1, r2, 2
|
||||
adds r0, r4
|
||||
adds r0, r1
|
||||
ldm r3!, {r1}
|
||||
str r1, [r0]
|
||||
adds r2, 0x1
|
||||
cmp r2, 0x3F
|
||||
ble _0807705E
|
||||
movs r2, 0
|
||||
ldr r5, =gSaveBlock1Ptr
|
||||
movs r4, 0xF2
|
||||
lsls r4, 3
|
||||
ldr r0, =gUnknown_02031C58
|
||||
movs r7, 0x8C
|
||||
lsls r7, 2
|
||||
adds r3, r0, r7
|
||||
_08077080:
|
||||
ldr r0, [r5]
|
||||
lsls r1, r2, 2
|
||||
adds r0, r4
|
||||
adds r0, r1
|
||||
ldm r3!, {r1}
|
||||
str r1, [r0]
|
||||
adds r2, 0x1
|
||||
cmp r2, 0x2D
|
||||
ble _08077080
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
mov r9, r0
|
||||
ldr r1, =0x00002be0
|
||||
mov r10, r1
|
||||
ldr r4, =gUnknown_02031C58
|
||||
movs r3, 0
|
||||
movs r2, 0xF
|
||||
_080770A0:
|
||||
mov r5, r9
|
||||
ldr r1, [r5]
|
||||
adds r1, r3
|
||||
add r1, r10
|
||||
movs r6, 0xBA
|
||||
lsls r6, 2
|
||||
adds r0, r4, r6
|
||||
ldm r0!, {r5-r7}
|
||||
stm r1!, {r5-r7}
|
||||
ldm r0!, {r5-r7}
|
||||
stm r1!, {r5-r7}
|
||||
ldm r0!, {r5-r7}
|
||||
stm r1!, {r5-r7}
|
||||
adds r4, 0x24
|
||||
adds r3, 0x24
|
||||
subs r2, 0x1
|
||||
cmp r2, 0
|
||||
bge _080770A0
|
||||
mov r7, r8
|
||||
ldr r0, [r7]
|
||||
adds r0, 0xAC
|
||||
ldr r4, [r0]
|
||||
mov r2, r12
|
||||
ldr r1, [r2]
|
||||
str r1, [r0]
|
||||
adds r0, r4, 0
|
||||
bl ApplyNewEncyprtionKeyToBagItems
|
||||
ldr r0, [r7]
|
||||
adds r0, 0xAC
|
||||
str r4, [r0]
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end copy_bags_and_unk_data_to_save_blocks
|
||||
|
||||
thumb_func_start ApplyNewEncyprtionKeyToHword
|
||||
ApplyNewEncyprtionKeyToHword: @ 8077100
|
||||
ldr r2, =gSaveBlock2Ptr
|
||||
ldr r2, [r2]
|
||||
adds r2, 0xAC
|
||||
ldr r2, [r2]
|
||||
ldrh r3, [r0]
|
||||
eors r2, r3
|
||||
eors r2, r1
|
||||
strh r2, [r0]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end ApplyNewEncyprtionKeyToHword
|
||||
|
||||
thumb_func_start ApplyNewEncyprtionKeyToWord
|
||||
ApplyNewEncyprtionKeyToWord: @ 8077118
|
||||
ldr r2, =gSaveBlock2Ptr
|
||||
ldr r3, [r2]
|
||||
adds r3, 0xAC
|
||||
ldr r2, [r0]
|
||||
ldr r3, [r3]
|
||||
eors r2, r3
|
||||
eors r2, r1
|
||||
str r2, [r0]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end ApplyNewEncyprtionKeyToWord
|
||||
|
||||
thumb_func_start ApplyNewEncyprtionKeyToAllEncryptedData
|
||||
ApplyNewEncyprtionKeyToAllEncryptedData: @ 8077130
|
||||
push {r4,r5,lr}
|
||||
adds r4, r0, 0
|
||||
bl ApplyNewEncyprtionKeyToGameStats
|
||||
adds r0, r4, 0
|
||||
bl ApplyNewEncyprtionKeyToBagItems_
|
||||
adds r0, r4, 0
|
||||
bl ApplyNewEncyprtionKeyToBerryPowder
|
||||
ldr r5, =gSaveBlock1Ptr
|
||||
ldr r0, [r5]
|
||||
movs r1, 0x92
|
||||
lsls r1, 3
|
||||
adds r0, r1
|
||||
adds r1, r4, 0
|
||||
bl ApplyNewEncyprtionKeyToWord
|
||||
ldr r0, [r5]
|
||||
ldr r1, =0x00000494
|
||||
adds r0, r1
|
||||
adds r1, r4, 0
|
||||
bl ApplyNewEncyprtionKeyToHword
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end ApplyNewEncyprtionKeyToAllEncryptedData
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -22,7 +22,7 @@ AddTextPrinterWithCallbackForMessage: @ 8197A9C
|
||||
ands r1, r2
|
||||
orrs r1, r0
|
||||
strb r1, [r3]
|
||||
bl sav2_get_text_speed
|
||||
bl GetPlayerTextSpeed
|
||||
adds r3, r0, 0
|
||||
lsls r3, 24
|
||||
lsrs r3, 24
|
||||
|
||||
+1
-1
@@ -904,7 +904,7 @@ _080E3586:
|
||||
movs r1, 0x1
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
bl sav2_get_text_speed
|
||||
bl GetPlayerTextSpeed
|
||||
adds r3, r0, 0
|
||||
lsls r3, 24
|
||||
lsrs r3, 24
|
||||
|
||||
@@ -185,7 +185,7 @@ AddTextPrinterForMessage: @ 81972C4
|
||||
ands r1, r2
|
||||
orrs r1, r0
|
||||
strb r1, [r3]
|
||||
bl sav2_get_text_speed
|
||||
bl GetPlayerTextSpeed
|
||||
adds r3, r0, 0
|
||||
lsls r3, 24
|
||||
lsrs r3, 24
|
||||
@@ -222,7 +222,7 @@ AddTextPrinterForMessage_2: @ 8197310
|
||||
ands r1, r2
|
||||
orrs r1, r0
|
||||
strb r1, [r3]
|
||||
bl sav2_get_text_speed
|
||||
bl GetPlayerTextSpeed
|
||||
adds r3, r0, 0
|
||||
lsls r3, 24
|
||||
lsrs r3, 24
|
||||
@@ -945,7 +945,7 @@ DisplayItemMessageOnField: @ 81978EC
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
bl sub_81973A4
|
||||
bl sav2_get_text_speed
|
||||
bl GetPlayerTextSpeed
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r2, 0x80
|
||||
@@ -1021,8 +1021,8 @@ _0819798A:
|
||||
bx r1
|
||||
thumb_func_end sub_8197964
|
||||
|
||||
thumb_func_start sav2_get_text_speed
|
||||
sav2_get_text_speed: @ 8197990
|
||||
thumb_func_start GetPlayerTextSpeed
|
||||
GetPlayerTextSpeed: @ 8197990
|
||||
push {lr}
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r2, [r0]
|
||||
@@ -1045,7 +1045,7 @@ _081979AC:
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
thumb_func_end sav2_get_text_speed
|
||||
thumb_func_end GetPlayerTextSpeed
|
||||
|
||||
thumb_func_start sub_81979C4
|
||||
sub_81979C4: @ 81979C4
|
||||
|
||||
+1
-1
@@ -5992,7 +5992,7 @@ sub_81B3300: @ 81B3300
|
||||
movs r1, 0x1
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
bl sav2_get_text_speed
|
||||
bl GetPlayerTextSpeed
|
||||
adds r3, r0, 0
|
||||
lsls r3, 24
|
||||
lsrs r3, 24
|
||||
|
||||
@@ -704,7 +704,7 @@ sub_817A1C4: @ 817A1C4
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
adds r1, r4, 0
|
||||
bl sub_8136FE4
|
||||
bl PokeblockGetGain
|
||||
ldr r6, =gUnknown_0203BC9E
|
||||
strh r0, [r6]
|
||||
ldr r1, =gStringVar1
|
||||
@@ -740,7 +740,7 @@ _0817A268:
|
||||
movs r1, 0x1
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
bl sav2_get_text_speed
|
||||
bl GetPlayerTextSpeed
|
||||
adds r3, r0, 0
|
||||
lsls r3, 24
|
||||
lsrs r3, 24
|
||||
|
||||
@@ -6737,7 +6737,7 @@ sub_80CAC58: @ 80CAC58
|
||||
sub sp, 0xC
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
ldr r1, =gUnknown_0857276C
|
||||
lsls r0, r6, 3
|
||||
adds r0, r1
|
||||
@@ -6774,7 +6774,7 @@ _080CACB8:
|
||||
adds r1, r2
|
||||
_080CACC0:
|
||||
movs r0, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
b _080CAD30
|
||||
.pool
|
||||
_080CACD0:
|
||||
@@ -6817,7 +6817,7 @@ _080CAD16:
|
||||
ldr r0, =0x000021eb
|
||||
adds r1, r0
|
||||
movs r0, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
_080CAD30:
|
||||
ldr r5, =gUnknown_02039D08
|
||||
ldr r0, [r5]
|
||||
@@ -6827,7 +6827,7 @@ _080CAD30:
|
||||
lsls r1, r6, 3
|
||||
adds r1, r2
|
||||
ldr r1, [r1]
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
movs r0, 0x1
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
|
||||
@@ -212,17 +212,17 @@ _081C3FEC:
|
||||
movs r2, 0x1
|
||||
movs r3, 0x2
|
||||
bl ConvertIntToDecimalStringN
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
movs r0, 0
|
||||
adds r1, r4, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
movs r0, 0x1
|
||||
adds r1, r4, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
ldr r4, =gStringVar4
|
||||
ldr r1, =gUnknown_0861CE97
|
||||
adds r0, r4, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
movs r0, 0x1
|
||||
adds r1, r4, 0
|
||||
movs r2, 0x2C
|
||||
@@ -5547,7 +5547,7 @@ DisplayItemMessageInBattlePyramid: @ 81C6DD8
|
||||
movs r0, 0x2
|
||||
movs r1, 0x11
|
||||
bl FillWindowPixelBuffer
|
||||
bl sav2_get_text_speed
|
||||
bl GetPlayerTextSpeed
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x1
|
||||
|
||||
+8
-8
@@ -10207,7 +10207,7 @@ sub_81CC158: @ 81CC158
|
||||
adds r1, 0xF
|
||||
bl sub_81CAF78
|
||||
adds r5, r0, 0
|
||||
bl sav2_get_text_speed
|
||||
bl GetPlayerTextSpeed
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldrb r2, [r4, 0x14]
|
||||
@@ -16941,17 +16941,17 @@ sub_81CF7F4: @ 81CF7F4
|
||||
mov r8, r0
|
||||
bl sub_81CF0F0
|
||||
adds r7, r0, 0
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
ldr r4, =gStringVar1
|
||||
movs r0, 0
|
||||
adds r1, r4, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
movs r0, 0xFF
|
||||
strb r0, [r4]
|
||||
ldr r5, =gStringVar2
|
||||
ldr r1, =gText_NumberF700
|
||||
adds r0, r5, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
mov r1, r8
|
||||
ldrb r0, [r1, 0x8]
|
||||
movs r1, 0x1
|
||||
@@ -19854,14 +19854,14 @@ sub_81D0E84: @ 81D0E84
|
||||
movs r2, 0
|
||||
movs r3, 0x2
|
||||
bl ConvertIntToDecimalStringN
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
movs r0, 0
|
||||
adds r1, r4, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
ldr r4, =gStringVar4
|
||||
ldr r1, =gText_RibbonsF700
|
||||
adds r0, r4, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
ldrb r0, [r5, 0xA]
|
||||
movs r1, 0x44
|
||||
bl FillWindowPixelBuffer
|
||||
@@ -23751,7 +23751,7 @@ sub_81D2BF4: @ 81D2BF4
|
||||
movs r1, 0x1
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
bl sav2_get_text_speed
|
||||
bl GetPlayerTextSpeed
|
||||
adds r3, r0, 0
|
||||
lsls r3, 24
|
||||
lsrs r3, 24
|
||||
|
||||
+6
-6
@@ -238,8 +238,8 @@ _08084854:
|
||||
.pool
|
||||
thumb_func_end sav12_xor_set
|
||||
|
||||
thumb_func_start ApplyNewEncyprtionKeyToGameStats
|
||||
ApplyNewEncyprtionKeyToGameStats: @ 8084864
|
||||
thumb_func_start ApplyNewEncryptionKeyToGameStats
|
||||
ApplyNewEncryptionKeyToGameStats: @ 8084864
|
||||
push {r4-r6,lr}
|
||||
adds r5, r0, 0
|
||||
movs r4, 0
|
||||
@@ -251,7 +251,7 @@ _0808486C:
|
||||
ldr r0, [r6]
|
||||
adds r0, r1
|
||||
adds r1, r5, 0
|
||||
bl ApplyNewEncyprtionKeyToWord
|
||||
bl ApplyNewEncryptionKeyToWord
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
@@ -261,7 +261,7 @@ _0808486C:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end ApplyNewEncyprtionKeyToGameStats
|
||||
thumb_func_end ApplyNewEncryptionKeyToGameStats
|
||||
|
||||
thumb_func_start CopyFieldObjectTemplatesToSav1
|
||||
@ void CopyFieldObjectTemplatesToSav1()
|
||||
@@ -2675,12 +2675,12 @@ sub_8085B2C: @ 8085B2C
|
||||
ldr r1, =gUnknown_02032306
|
||||
movs r0, 0x1
|
||||
strb r0, [r1]
|
||||
bl sub_80B582C
|
||||
bl GetLocalWaterMon
|
||||
b _08085B62
|
||||
.pool
|
||||
_08085B5C:
|
||||
ldr r0, =gUnknown_02032306
|
||||
bl wild_pokemon_rand_for_map
|
||||
bl GetLocalWildMon
|
||||
_08085B62:
|
||||
ldr r1, =gUnknown_02032304
|
||||
strh r0, [r1]
|
||||
|
||||
+25
-25
@@ -1223,7 +1223,7 @@ sub_8135F04: @ 8135F04
|
||||
adds r4, 0x1
|
||||
ldr r6, =gStringVar1
|
||||
adds r0, r5, 0
|
||||
bl sub_8136EA4
|
||||
bl GetHighestPokeblocksFlavorLevel
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -1364,7 +1364,7 @@ _08136032:
|
||||
bls _08136002
|
||||
ldr r4, =gStringVar1
|
||||
mov r0, r8
|
||||
bl sub_8136EDC
|
||||
bl GetPokeblocksFeel
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
@@ -2601,7 +2601,7 @@ sub_8136AB4: @ 8136AB4
|
||||
ldr r1, =gText_ThrowAwayVar1
|
||||
adds r0, r5, 0
|
||||
bl StringExpandPlaceholders
|
||||
bl sav2_get_text_speed
|
||||
bl GetPlayerTextSpeed
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x1
|
||||
@@ -2657,7 +2657,7 @@ sub_8136B78: @ 8136B78
|
||||
ldr r1, =gText_Var1ThrownAway
|
||||
adds r0, r5, 0
|
||||
bl StringExpandPlaceholders
|
||||
bl sav2_get_text_speed
|
||||
bl GetPlayerTextSpeed
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x1
|
||||
@@ -2779,7 +2779,7 @@ sub_8136C8C: @ 8136C8C
|
||||
adds r2, r6
|
||||
ldr r1, [r5]
|
||||
adds r1, r2
|
||||
bl sub_8136FE4
|
||||
bl PokeblockGetGain
|
||||
adds r4, r0, 0
|
||||
lsls r4, 16
|
||||
lsrs r4, 16
|
||||
@@ -2995,8 +2995,8 @@ _08136E8C:
|
||||
bx r0
|
||||
thumb_func_end ClearPokeblocks
|
||||
|
||||
thumb_func_start sub_8136EA4
|
||||
sub_8136EA4: @ 8136EA4
|
||||
thumb_func_start GetHighestPokeblocksFlavorLevel
|
||||
GetHighestPokeblocksFlavorLevel: @ 8136EA4
|
||||
push {r4-r6,lr}
|
||||
adds r6, r0, 0
|
||||
movs r1, 0x1
|
||||
@@ -3024,10 +3024,10 @@ _08136ECC:
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8136EA4
|
||||
thumb_func_end GetHighestPokeblocksFlavorLevel
|
||||
|
||||
thumb_func_start sub_8136EDC
|
||||
sub_8136EDC: @ 8136EDC
|
||||
thumb_func_start GetPokeblocksFeel
|
||||
GetPokeblocksFeel: @ 8136EDC
|
||||
push {lr}
|
||||
movs r1, 0x6
|
||||
bl sub_8136F9C
|
||||
@@ -3039,10 +3039,10 @@ sub_8136EDC: @ 8136EDC
|
||||
_08136EEE:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8136EDC
|
||||
thumb_func_end GetPokeblocksFeel
|
||||
|
||||
thumb_func_start sub_8136EF4
|
||||
sub_8136EF4: @ 8136EF4
|
||||
thumb_func_start GetFirstFreePokeblockSlot
|
||||
GetFirstFreePokeblockSlot: @ 8136EF4
|
||||
push {lr}
|
||||
movs r1, 0
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
@@ -3070,13 +3070,13 @@ _08136F18:
|
||||
_08136F26:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8136EF4
|
||||
thumb_func_end GetFirstFreePokeblockSlot
|
||||
|
||||
thumb_func_start sub_8136F2C
|
||||
sub_8136F2C: @ 8136F2C
|
||||
thumb_func_start AddPokeblock
|
||||
AddPokeblock: @ 8136F2C
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
bl sub_8136EF4
|
||||
bl GetFirstFreePokeblockSlot
|
||||
lsls r0, 24
|
||||
asrs r1, r0, 24
|
||||
movs r0, 0x1
|
||||
@@ -3102,7 +3102,7 @@ _08136F62:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8136F2C
|
||||
thumb_func_end AddPokeblock
|
||||
|
||||
thumb_func_start sub_8136F68
|
||||
sub_8136F68: @ 8136F68
|
||||
@@ -3177,8 +3177,8 @@ _08136FDE:
|
||||
bx r1
|
||||
thumb_func_end sub_8136F9C
|
||||
|
||||
thumb_func_start sub_8136FE4
|
||||
sub_8136FE4: @ 8136FE4
|
||||
thumb_func_start PokeblockGetGain
|
||||
PokeblockGetGain: @ 8136FE4
|
||||
push {r4-r7,lr}
|
||||
mov r7, r9
|
||||
mov r6, r8
|
||||
@@ -3227,7 +3227,7 @@ _0813702A:
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
thumb_func_end sub_8136FE4
|
||||
thumb_func_end PokeblockGetGain
|
||||
|
||||
thumb_func_start sub_8137044
|
||||
sub_8137044: @ 8137044
|
||||
@@ -3261,7 +3261,7 @@ _08137074:
|
||||
ldr r0, =gUnknown_085B2720
|
||||
adds r1, r0
|
||||
adds r0, r5, 0
|
||||
bl sub_8136FE4
|
||||
bl PokeblockGetGain
|
||||
lsls r0, 16
|
||||
cmp r0, 0
|
||||
ble _081370A0
|
||||
@@ -3287,8 +3287,8 @@ _081370AC:
|
||||
bx r1
|
||||
thumb_func_end sub_8137068
|
||||
|
||||
thumb_func_start sub_81370B4
|
||||
sub_81370B4: @ 81370B4
|
||||
thumb_func_start GetPokeblocksFlavor
|
||||
GetPokeblocksFlavor: @ 81370B4
|
||||
push {r4-r7,lr}
|
||||
adds r5, r0, 0
|
||||
movs r7, 0
|
||||
@@ -3324,7 +3324,7 @@ _081370E2:
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_81370B4
|
||||
thumb_func_end GetPokeblocksFlavor
|
||||
|
||||
thumb_func_start sub_81370FC
|
||||
sub_81370FC: @ 81370FC
|
||||
|
||||
+52
-52
@@ -10246,14 +10246,14 @@ _08017F8A:
|
||||
lsls r0, r4, 24
|
||||
lsrs r0, 24
|
||||
adds r1, r5, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
adds r5, 0x10
|
||||
adds r4, 0x1
|
||||
cmp r4, 0x3
|
||||
ble _08017F8A
|
||||
ldr r1, =gUnknown_082EE47C
|
||||
adds r0, r7, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
b _08017FB4
|
||||
.pool
|
||||
_08017FAC:
|
||||
@@ -10618,7 +10618,7 @@ sub_8018220: @ 8018220
|
||||
ldr r0, =gUnknown_02039B58
|
||||
adds r1, r0
|
||||
mov r8, r1
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
mov r6, r9
|
||||
adds r6, 0xC0
|
||||
bl sub_8068BB0
|
||||
@@ -10632,11 +10632,11 @@ sub_8018220: @ 8018220
|
||||
bl StringCopy
|
||||
movs r0, 0
|
||||
adds r1, r6, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
mov r1, r8
|
||||
adds r1, 0x30
|
||||
movs r0, 0x1
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
movs r4, 0xBA
|
||||
lsls r4, 1
|
||||
add r4, r9
|
||||
@@ -10650,7 +10650,7 @@ sub_8018220: @ 8018220
|
||||
bl StringCopy
|
||||
movs r0, 0x2
|
||||
adds r1, r4, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
mov r5, r9
|
||||
adds r5, 0xDE
|
||||
mov r0, r8
|
||||
@@ -10661,7 +10661,7 @@ sub_8018220: @ 8018220
|
||||
bl ConvertIntToDecimalStringN
|
||||
movs r0, 0x3
|
||||
adds r1, r5, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
movs r2, 0xED
|
||||
add r2, r9
|
||||
mov r10, r2
|
||||
@@ -10681,16 +10681,16 @@ sub_8018220: @ 8018220
|
||||
bl ConvertIntToDecimalStringN
|
||||
movs r0, 0x4
|
||||
mov r1, r10
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
movs r0, 0x5
|
||||
adds r1, r4, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
movs r4, 0xD2
|
||||
lsls r4, 1
|
||||
add r4, r9
|
||||
ldr r1, =gUnknown_082EFF64
|
||||
adds r0, r4, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
ldr r0, =gStringVar4
|
||||
adds r1, r4, 0
|
||||
bl StringCopy
|
||||
@@ -10707,7 +10707,7 @@ _0801830C:
|
||||
bl ConvertIntToDecimalStringN
|
||||
movs r0, 0
|
||||
adds r1, r6, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
mov r2, r8
|
||||
ldrh r1, [r2, 0x16]
|
||||
cmp r1, r4
|
||||
@@ -10722,7 +10722,7 @@ _08018328:
|
||||
bl ConvertIntToDecimalStringN
|
||||
movs r0, 0x2
|
||||
adds r1, r4, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
mov r0, r8
|
||||
ldrh r1, [r0, 0x20]
|
||||
adds r0, r5, 0
|
||||
@@ -10731,7 +10731,7 @@ _08018328:
|
||||
bl ConvertIntToDecimalStringN
|
||||
movs r0, 0x3
|
||||
adds r1, r5, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
movs r7, 0
|
||||
movs r6, 0x80
|
||||
lsls r6, 19
|
||||
@@ -10744,7 +10744,7 @@ _08018360:
|
||||
bl CopyEasyChatWord
|
||||
lsrs r0, r6, 24
|
||||
adds r1, r4, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
movs r2, 0x80
|
||||
lsls r2, 17
|
||||
adds r6, r2
|
||||
@@ -10758,7 +10758,7 @@ _08018360:
|
||||
add r4, r9
|
||||
ldr r1, =gUnknown_082EFFA4
|
||||
adds r0, r4, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
ldr r5, =gStringVar4
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
@@ -10768,7 +10768,7 @@ _08018360:
|
||||
bne _080183D0
|
||||
ldr r1, =gUnknown_082F0020
|
||||
adds r0, r4, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
bl StringAppend
|
||||
@@ -10785,7 +10785,7 @@ _080183D0:
|
||||
adds r1, r0
|
||||
ldr r1, [r1]
|
||||
adds r0, r4, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
bl StringAppend
|
||||
@@ -14898,7 +14898,7 @@ sub_801A43C: @ 801A43C
|
||||
bl LoadPalette
|
||||
movs r0, 0xF0
|
||||
bl sub_81978B0
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
movs r0, 0x20
|
||||
str r0, [sp]
|
||||
str r0, [sp, 0x4]
|
||||
@@ -24175,10 +24175,10 @@ _0801F020:
|
||||
ldrb r1, [r4, 0x8]
|
||||
cmp r0, r1
|
||||
beq _0801F0A8
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
movs r0, 0
|
||||
adds r1, r4, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
ldr r1, =gText_F700JoinedChat
|
||||
b _0801F094
|
||||
.pool
|
||||
@@ -24215,14 +24215,14 @@ _0801F07A:
|
||||
ldrb r5, [r5]
|
||||
cmp r0, r5
|
||||
beq _0801F0A8
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
movs r0, 0
|
||||
adds r1, r4, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
ldr r1, =gText_F700LeftChat
|
||||
_0801F094:
|
||||
adds r0, r6, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
movs r0, 0x1
|
||||
b _0801F0AA
|
||||
.pool
|
||||
@@ -25695,11 +25695,11 @@ sub_801FBF8: @ 801FBF8
|
||||
beq _0801FC38
|
||||
b _0801FC42
|
||||
_0801FC08:
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
bl sub_801F1D0
|
||||
adds r1, r0, 0
|
||||
movs r0, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
movs r0, 0x5
|
||||
movs r1, 0
|
||||
bl sub_801FF18
|
||||
@@ -25856,11 +25856,11 @@ sub_801FD30: @ 801FD30
|
||||
beq _0801FD74
|
||||
b _0801FD7E
|
||||
_0801FD40:
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
movs r0, 0x9
|
||||
movs r1, 0
|
||||
bl sub_801FF18
|
||||
@@ -26164,7 +26164,7 @@ _0801FF98:
|
||||
adds r0, r1, 0
|
||||
adds r0, 0x22
|
||||
ldr r1, [r4]
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
ldr r0, [r5]
|
||||
adds r6, r0, 0
|
||||
adds r6, 0x22
|
||||
@@ -29443,7 +29443,7 @@ _08021A92:
|
||||
lsls r4, 2
|
||||
str r4, [sp, 0x24]
|
||||
_08021A98:
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
ldr r0, [sp, 0x10]
|
||||
cmp r0, 0x1
|
||||
beq _08021B48
|
||||
@@ -29702,10 +29702,10 @@ _08021CC8:
|
||||
ldr r0, [sp, 0xC]
|
||||
adds r1, r0, r1
|
||||
movs r0, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
ldr r0, =gStringVar4
|
||||
adds r1, r4, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
ldr r1, [sp, 0xC]
|
||||
movs r2, 0xDD
|
||||
lsls r2, 1
|
||||
@@ -34911,8 +34911,8 @@ SetBerryPowder: @ 802467C
|
||||
.pool
|
||||
thumb_func_end SetBerryPowder
|
||||
|
||||
thumb_func_start ApplyNewEncyprtionKeyToBerryPowder
|
||||
ApplyNewEncyprtionKeyToBerryPowder: @ 8024690
|
||||
thumb_func_start ApplyNewEncryptionKeyToBerryPowder
|
||||
ApplyNewEncryptionKeyToBerryPowder: @ 8024690
|
||||
push {lr}
|
||||
adds r1, r0, 0
|
||||
ldr r0, =gSaveBlock2Ptr
|
||||
@@ -34920,11 +34920,11 @@ ApplyNewEncyprtionKeyToBerryPowder: @ 8024690
|
||||
movs r2, 0xFA
|
||||
lsls r2, 1
|
||||
adds r0, r2
|
||||
bl ApplyNewEncyprtionKeyToWord
|
||||
bl ApplyNewEncryptionKeyToWord
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end ApplyNewEncyprtionKeyToBerryPowder
|
||||
thumb_func_end ApplyNewEncryptionKeyToBerryPowder
|
||||
|
||||
thumb_func_start sub_80246AC
|
||||
sub_80246AC: @ 80246AC
|
||||
@@ -45753,7 +45753,7 @@ _08029DA0:
|
||||
movs r1, 0x1
|
||||
adds r2, r5, 0
|
||||
bl PrintTextOnWindow
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
bl sub_802762C
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
@@ -45762,11 +45762,11 @@ _08029DA0:
|
||||
bl CopyItemName
|
||||
movs r0, 0
|
||||
adds r1, r5, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
ldr r7, =gStringVar4
|
||||
ldr r1, =gText_FirstPlacePrize
|
||||
adds r0, r7, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
ldr r0, [r4]
|
||||
add r0, r10
|
||||
ldrb r0, [r0]
|
||||
@@ -45787,7 +45787,7 @@ _08029DA0:
|
||||
beq _08029EC8
|
||||
cmp r4, 0x3
|
||||
beq _08029EC8
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
bl sub_802762C
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
@@ -45795,12 +45795,12 @@ _08029DA0:
|
||||
bl CopyItemName
|
||||
movs r0, 0
|
||||
adds r1, r5, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
cmp r4, 0x2
|
||||
bne _08029E9C
|
||||
ldr r1, =gText_CantHoldAnyMore
|
||||
adds r0, r7, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
b _08029EA8
|
||||
.pool
|
||||
_08029E9C:
|
||||
@@ -45808,7 +45808,7 @@ _08029E9C:
|
||||
bne _08029EA8
|
||||
ldr r1, =gText_FilledStorageSpace
|
||||
adds r0, r7, 0
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
_08029EA8:
|
||||
ldr r0, =gUnknown_02022CF8
|
||||
ldr r0, [r0]
|
||||
@@ -52968,19 +52968,19 @@ sub_802D7E8: @ 802D7E8
|
||||
movs r2, 0
|
||||
movs r3, 0x1
|
||||
bl ConvertIntToDecimalStringN
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
ldr r1, [r5]
|
||||
adds r1, 0x26
|
||||
movs r0, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
ldr r1, [r5]
|
||||
adds r1, 0x66
|
||||
movs r0, 0x1
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
ldr r0, [r5]
|
||||
adds r0, 0xA6
|
||||
ldr r1, =gText_AwesomeWonF701F700
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
movs r0, 0x4
|
||||
movs r1, 0x8
|
||||
movs r2, 0x16
|
||||
@@ -53025,15 +53025,15 @@ sub_802D884: @ 802D884
|
||||
ldr r1, [r4]
|
||||
adds r1, 0x26
|
||||
bl CopyItemName
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
ldr r1, [r4]
|
||||
adds r1, 0x26
|
||||
movs r0, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
ldr r0, [r4]
|
||||
adds r0, 0xA6
|
||||
ldr r1, =gText_FilledStorageSpace2
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
movs r0, 0x4
|
||||
movs r1, 0x8
|
||||
movs r2, 0x16
|
||||
@@ -53078,15 +53078,15 @@ sub_802D8FC: @ 802D8FC
|
||||
ldr r1, [r4]
|
||||
adds r1, 0x26
|
||||
bl CopyItemName
|
||||
bl sub_81AFBF0
|
||||
bl UnkTextUtil_Reset
|
||||
ldr r1, [r4]
|
||||
adds r1, 0x26
|
||||
movs r0, 0
|
||||
bl sub_81AFC0C
|
||||
bl UnkTextUtil_SetPtrI
|
||||
ldr r0, [r4]
|
||||
adds r0, 0xA6
|
||||
ldr r1, =gText_CantHoldMore
|
||||
bl sub_81AFC28
|
||||
bl UnkTextUtil_StringExpandPlaceholders
|
||||
movs r0, 0x4
|
||||
movs r1, 0x9
|
||||
movs r2, 0x16
|
||||
|
||||
+1
-1
@@ -1219,7 +1219,7 @@ BuyMenuDisplayMessage: @ 80E04E8
|
||||
adds r6, r2, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
bl sav2_get_text_speed
|
||||
bl GetPlayerTextSpeed
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x1
|
||||
|
||||
@@ -1,99 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_81AFBF0
|
||||
sub_81AFBF0: @ 81AFBF0
|
||||
push {lr}
|
||||
ldr r1, =gUnknown_0203CE9C
|
||||
movs r2, 0
|
||||
adds r0, r1, 0
|
||||
adds r0, 0x1C
|
||||
_081AFBFA:
|
||||
str r2, [r0]
|
||||
subs r0, 0x4
|
||||
cmp r0, r1
|
||||
bge _081AFBFA
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81AFBF0
|
||||
|
||||
thumb_func_start sub_81AFC0C
|
||||
sub_81AFC0C: @ 81AFC0C
|
||||
push {lr}
|
||||
adds r2, r1, 0
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x7
|
||||
bhi _081AFC20
|
||||
ldr r1, =gUnknown_0203CE9C
|
||||
lsls r0, 2
|
||||
adds r0, r1
|
||||
str r2, [r0]
|
||||
_081AFC20:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81AFC0C
|
||||
|
||||
thumb_func_start sub_81AFC28
|
||||
sub_81AFC28: @ 81AFC28
|
||||
push {r4,r5,lr}
|
||||
adds r2, r0, 0
|
||||
adds r4, r1, 0
|
||||
ldrb r1, [r4]
|
||||
adds r0, r1, 0
|
||||
cmp r0, 0xFF
|
||||
beq _081AFC68
|
||||
ldr r5, =gUnknown_0203CE9C
|
||||
_081AFC38:
|
||||
cmp r1, 0xF7
|
||||
beq _081AFC48
|
||||
strb r1, [r2]
|
||||
adds r4, 0x1
|
||||
adds r2, 0x1
|
||||
b _081AFC60
|
||||
.pool
|
||||
_081AFC48:
|
||||
adds r4, 0x1
|
||||
ldrb r0, [r4]
|
||||
lsls r0, 2
|
||||
adds r0, r5
|
||||
ldr r1, [r0]
|
||||
cmp r1, 0
|
||||
beq _081AFC5E
|
||||
adds r0, r2, 0
|
||||
bl StringCopy
|
||||
adds r2, r0, 0
|
||||
_081AFC5E:
|
||||
adds r4, 0x1
|
||||
_081AFC60:
|
||||
ldrb r1, [r4]
|
||||
adds r0, r1, 0
|
||||
cmp r0, 0xFF
|
||||
bne _081AFC38
|
||||
_081AFC68:
|
||||
movs r0, 0xFF
|
||||
strb r0, [r2]
|
||||
adds r0, r2, 0
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_81AFC28
|
||||
|
||||
thumb_func_start sub_81AFC74
|
||||
sub_81AFC74: @ 81AFC74
|
||||
lsls r0, 24
|
||||
ldr r1, =gUnknown_0203CE9C
|
||||
lsrs r0, 22
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end sub_81AFC74
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
+1
-1
@@ -1769,7 +1769,7 @@ _0816721C:
|
||||
adds r0, r6, r0
|
||||
ldrb r1, [r0]
|
||||
mov r0, r10
|
||||
bl GetMonFlavourRelation
|
||||
bl GetMonFlavorRelation
|
||||
lsls r0, 24
|
||||
asrs r2, r0, 24
|
||||
cmp r0, r9
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,170 @@
|
||||
@ battle types
|
||||
.set BATTLE_TYPE_DOUBLE , 0x0001
|
||||
.set BATTLE_TYPE_LINK, 0x0002
|
||||
.set BATTLE_TYPE_WILD, 0x0004
|
||||
.set BATTLE_TYPE_TRAINER, 0x0008
|
||||
.set BATTLE_TYPE_FIRST_BATTLE, 0x0010
|
||||
.set BATTLE_TYPE_20, 0x0020
|
||||
.set BATTLE_TYPE_MULTI, 0x0040
|
||||
.set BATTLE_TYPE_SAFARI, 0x0080
|
||||
.set BATTLE_TYPE_BATTLE_TOWER, 0x0100
|
||||
.set BATTLE_TYPE_WALLY_TUTORIAL, 0x0200
|
||||
.set BATTLE_TYPE_ROAMER, 0x0400
|
||||
.set BATTLE_TYPE_EREADER_TRAINER, 0x0800
|
||||
.set BATTLE_TYPE_KYOGRE_GROUDON, 0x1000
|
||||
.set BATTLE_TYPE_LEGENDARY, 0x2000
|
||||
.set BATTLE_TYPE_REGI, 0x4000
|
||||
.set BATTLE_TYPE_TWO_OPPONENTS, 0x8000
|
||||
.set BATTLE_TYPE_DOME, 0x10000
|
||||
.set BATTLE_TYPE_PALACE, 0x20000
|
||||
.set BATTLE_TYPE_ARENA, 0x40000
|
||||
.set BATTLE_TYPE_FACTORY, 0x80000
|
||||
.set BATTLE_TYPE_x100000, 0x100000
|
||||
.set BATTLE_TYPE_PYRAMID, 0x200000
|
||||
.set BATTLE_TYPE_INGAME_PARTNER, 0x400000
|
||||
.set BATTLE_TYPE_x800000, 0x800000
|
||||
.set BATTLE_TYPE_RECORDED, 0x1000000
|
||||
.set BATTLE_TYPE_x2000000, 0x2000000
|
||||
.set BATTLE_TYPE_x4000000, 0x4000000
|
||||
.set BATTLE_TYPE_SECRET_BASE, 0x8000000
|
||||
.set BATTLE_TYPE_GROUDON, 0x10000000
|
||||
.set BATTLE_TYPE_KYORGE, 0x20000000
|
||||
.set BATTLE_TYPE_RAYQUAZA, 0x40000000
|
||||
.set BATTLE_TYPE_x80000000, 0x80000000
|
||||
|
||||
@ battle outcomes
|
||||
.set WON, 0x1
|
||||
.set LOST, 0x2
|
||||
.set DREW, 0x3
|
||||
.set RAN, 0x4
|
||||
.set PLAYER_TELEPORTED, 0x5
|
||||
.set MON_FLED, 0x6
|
||||
.set CAUGHT, 0x7
|
||||
.set OUT_OF_BALLS, 0x8
|
||||
.set FORFEITED, 0x9
|
||||
.set OPPONENT_TELEPORTED, 0xA
|
||||
|
||||
@ identities
|
||||
.set IDENTITY_PLAYER_MON1, 0
|
||||
.set IDENTITY_OPPONENT_MON1, 1
|
||||
.set IDENTITY_PLAYER_MON2, 2
|
||||
.set IDENTITY_OPPONENT_MON2, 3
|
||||
|
||||
@ status 1
|
||||
.set STATUS_SLEEP, 0x7
|
||||
.set STATUS_POISON, 0x8
|
||||
.set STATUS_BURN, 0x10
|
||||
.set STATUS_FREEZE, 0x20
|
||||
.set STATUS_PARALYSIS, 0x40
|
||||
.set STATUS_TOXIC_POISON, 0x80
|
||||
.set STATUS_TOXIC_COUNTER, 0xF00
|
||||
|
||||
.set STATUS_ANY, STATUS_SLEEP | STATUS_POISON | STATUS_BURN | STATUS_FREEZE | STATUS_PARALYSIS | STATUS_TOXIC_POISON
|
||||
|
||||
@ status 2
|
||||
.set STATUS2_CONFUSION, 0x00000007
|
||||
.set STATUS2_FLINCHED, 0x00000008
|
||||
.set STATUS2_UPROAR, 0x00000070
|
||||
.set STATUS2_BIDE, 0x00000300
|
||||
.set STATUS2_LOCK_CONFUSE, 0x00000C00
|
||||
.set STATUS2_MULTIPLETURNS, 0x00001000
|
||||
.set STATUS2_WRAPPED, 0x0000E000
|
||||
.set STATUS2_INFATUATION, 0x000F0000
|
||||
.set STATUS2_FOCUS_ENERGY, 0x00100000
|
||||
.set STATUS2_TRANSFORMED, 0x00200000
|
||||
.set STATUS2_RECHARGE, 0x00400000
|
||||
.set STATUS2_RAGE, 0x00800000
|
||||
.set STATUS2_SUBSTITUTE, 0x01000000
|
||||
.set STATUS2_DESTINY_BOND, 0x02000000
|
||||
.set STATUS2_ESCAPE_PREVENTION, 0x04000000
|
||||
.set STATUS2_NIGHTMARE, 0x08000000
|
||||
.set STATUS2_CURSED, 0x10000000
|
||||
.set STATUS2_FORESIGHT, 0x20000000
|
||||
.set STATUS2_DEFENSE_CURL, 0x40000000
|
||||
.set STATUS2_TORMENT, 0x80000000
|
||||
|
||||
@ status 3
|
||||
.set STATUS3_LEECHSEED_BANK, 0x3
|
||||
.set STATUS3_LEECHSEED, 0x4
|
||||
.set STATUS3_ALWAYS_HITS, 0x18
|
||||
.set STATUS3_PERISH_SONG, 0x20
|
||||
.set STATUS3_ON_AIR, 0x40
|
||||
.set STATUS3_UNDERGROUND, 0x80
|
||||
.set STATUS3_MINIMIZED, 0x100
|
||||
.set STATUS3_ROOTED, 0x400
|
||||
.set STATUS3_CHARGED_UP, 0x200
|
||||
.set STATUS3_YAWN, 0x1800
|
||||
.set STATUS3_IMPRISONED_OTHERS, 0x2000
|
||||
.set STATUS3_GRUDGE, 0x4000
|
||||
.set STATUS3_CANT_SCORE_A_CRIT, 0x8000
|
||||
.set STATUS3_MUDSPORT, 0x10000
|
||||
.set STATUS3_WATERSPORT, 0x20000
|
||||
.set STATUS3_UNDERWATER, 0x40000
|
||||
.set STATUS3_INTIMIDATE_POKES, 0x80000
|
||||
.set STATUS3_TRACE, 0x100000
|
||||
|
||||
@ side status
|
||||
.set SIDE_STATUS_REFLECT, 0x1
|
||||
.set SIDE_STATUS_LIGHTSCREEN, 0x2
|
||||
.set SIDE_STATUS_X4, 0x4
|
||||
.set SIDE_STATUS_SPIKES, 0x10
|
||||
.set SIDE_STATUS_SAFEGUARD, 0x20
|
||||
.set SIDE_STATUS_FUTUREATTACK, 0x40
|
||||
.set SIDE_STATUS_MIST, 0x100
|
||||
.set SIDE_STATUS_SPIKES_DAMAGED, 0x200
|
||||
|
||||
@ stats
|
||||
.set HP, 0x0
|
||||
.set ATK, 0x1
|
||||
.set DEF, 0x2
|
||||
.set SPEED, 0x3
|
||||
.set SPATK, 0x4
|
||||
.set SPDEF, 0x5
|
||||
.set ACC, 0x6
|
||||
.set EVASION, 0x7
|
||||
|
||||
@ weather flags
|
||||
.set WEATHER_RAIN_TEMPORARY, 0x01
|
||||
.set WEATHER_RAIN_DOWNPOUR, 0x02
|
||||
.set WEATHER_RAIN_PERMANENT, 0x04
|
||||
.set WEATHER_SANDSTORM_TEMPORARY, 0x08
|
||||
.set WEATHER_SANDSTORM_PERMANENT, 0x10
|
||||
.set WEATHER_SUN_TEMPORARY, 0x20
|
||||
.set WEATHER_SUN_PERMANENT, 0x40
|
||||
.set WEATHER_HAIL, 0x80
|
||||
|
||||
@ hitmarker
|
||||
.set HITMARKER_x10, 0x00000010
|
||||
.set HITMARKER_x20, 0x00000020
|
||||
.set HITMARKER_DESTINYBOND, 0x00000040
|
||||
.set HITMARKER_NO_ANIMATIONS, 0x00000080
|
||||
.set HITMARKER_IGNORE_SUBSTITUTE, 0x00000100
|
||||
.set HITMARKER_NO_ATTACKSTRING, 0x00000200
|
||||
.set HITMARKER_ATTACKSTRING_PRINTED, 0x00000400
|
||||
.set HITMARKER_NO_PPDEDUCT, 0x00000800
|
||||
.set HITMARKER_PURSUIT_TRAP, 0x00001000
|
||||
.set HITMARKER_IGNORE_SAFEGUARD, 0x00002000
|
||||
.set HITMARKER_SYNCHRONISE_EFFECT, 0x00004000
|
||||
.set HITMARKER_RUN, 0x00008000
|
||||
.set HITMARKER_IGNORE_ON_AIR, 0x00010000
|
||||
.set HITMARKER_IGNORE_UNDERGROUND, 0x00020000
|
||||
.set HITMARKER_IGNORE_UNDERWATER, 0x00040000
|
||||
.set HITMARKER_UNABLE_TO_USE_MOVE, 0x00080000
|
||||
.set HITMARKER_x100000, 0x00100000
|
||||
.set HITMARKER_x200000, 0x00200000
|
||||
.set HITMARKER_x400000, 0x00400000
|
||||
.set HITMARKER_x800000, 0x00800000
|
||||
.set HITMARKER_GRUDGE, 0x01000000
|
||||
.set HITMARKER_OBEYS, 0x02000000
|
||||
.set HITMARKER_x4000000, 0x04000000
|
||||
.set HITMARKER_x8000000, 0x08000000
|
||||
|
||||
@ move flags
|
||||
.set MOVESTATUS_MISSED, 0x1
|
||||
.set MOVESTATUS_SUPEREFFECTIVE, 0x2
|
||||
.set MOVESTATUS_NOTVERYEFFECTIVE, 0x4
|
||||
.set MOVESTATUS_NOTAFFECTED, 0x8
|
||||
.set MOVESTATUS_ONEHITKO, 0x10
|
||||
.set MOVESTATUS_FAILED, 0x20
|
||||
.set MOVESTATUS_ENDURED, 0x40
|
||||
.set MOVESTATUS_HUNGON, 0x80
|
||||
@@ -0,0 +1,169 @@
|
||||
@ animation ids
|
||||
.set ANIM_CASTFORM_CHANGE, 0x0
|
||||
.set ANIM_STATS_CHANGE, 0x1
|
||||
.set ANIM_SUBSTITUTE_FADE, 0x2
|
||||
.set ANIM_SUBSTITUTE_APPEAR, 0x3
|
||||
.set ANIM_x4, 0x4
|
||||
.set ANIM_ITEM_KNOCKOFF, 0x5
|
||||
.set ANIM_TURN_TRAP, 0x6
|
||||
.set ANIM_ITEM_EFFECT, 0x7
|
||||
.set ANIM_SMOKEBALL_ESCAPE, 0x8
|
||||
.set ANIM_HANGED_ON, 0x9
|
||||
.set ANIM_RAIN_CONTINUES, 0xA
|
||||
.set ANIM_SUN_CONTINUES, 0xB
|
||||
.set ANIM_SANDSTORM_CONTINUES, 0xC
|
||||
.set ANIM_HAIL_CONTINUES, 0xD
|
||||
.set ANIM_LEECH_SEED_DRAIN, 0xE
|
||||
.set ANIM_MON_HIT, 0xF
|
||||
.set ANIM_ITEM_STEAL, 0x10
|
||||
.set ANIM_SNATCH_MOVE, 0x11
|
||||
.set ANIM_FUTURE_SIGHT_HIT, 0x12
|
||||
.set ANIM_x13, 0x13
|
||||
.set ANIM_x14, 0x14
|
||||
.set ANIM_INGRAIN_HEAL, 0x15
|
||||
.set ANIM_WISH_HEAL, 0x16
|
||||
|
||||
@ atk 80
|
||||
.set ATK80_DMG_CHANGE_SIGN, 0x0
|
||||
.set ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP, 0x1
|
||||
.set ATK80_DMG_DOUBLED, 0x2
|
||||
|
||||
@ compare operands
|
||||
.set EQUAL, 0x0
|
||||
.set NOT_EQUAL, 0x1
|
||||
.set GREATER_THAN, 0x2
|
||||
.set LESS_THAN, 0x3
|
||||
.set COMMON_BITS, 0x4
|
||||
.set NO_COMMON_BITS, 0x5
|
||||
|
||||
@ move effects
|
||||
.set EFFECT_SLEEP, 0x1
|
||||
.set EFFECT_POISON, 0x2
|
||||
.set EFFECT_BURN, 0x3
|
||||
.set EFFECT_FREEZE, 0x4
|
||||
.set EFFECT_PARALYSIS, 0x5
|
||||
.set EFFECT_TOXIC, 0x6
|
||||
.set EFFECT_CONFUSION, 0x7
|
||||
.set EFFECT_FLINCH, 0x8
|
||||
.set EFFECT_TRI_ATTACK, 0x9
|
||||
.set EFFECT_UPROAR, 0xA
|
||||
.set EFFECT_PAYDAY, 0xB
|
||||
.set EFFECT_CHARGING, 0xC
|
||||
.set EFFECT_WRAP, 0xD
|
||||
.set EFFECT_RECOIL_25, 0xE
|
||||
.set EFFECT_ATK_PLUS_1, 0xF
|
||||
.set EFFECT_DEF_PLUS_1, 0x10
|
||||
.set EFFECT_SPD_PLUS_1, 0x11
|
||||
.set EFFECT_SP_ATK_PLUS_1, 0x12
|
||||
.set EFFECT_SP_DEF_PLUS_1, 0x13
|
||||
.set EFFECT_ACC_PLUS_1, 0x14
|
||||
.set EFFECT_EVS_PLUS_1, 0x15
|
||||
.set EFFECT_ATK_MINUS_1, 0x16
|
||||
.set EFFECT_DEF_MINUS_1, 0x17
|
||||
.set EFFECT_SPD_MINUS_1, 0x18
|
||||
.set EFFECT_SP_ATK_MINUS_1, 0x19
|
||||
.set EFFECT_SP_DEF_MINUS_1, 0x1A
|
||||
.set EFFECT_ACC_MINUS_1, 0x1B
|
||||
.set EFFECT_EVS_MINUS_1, 0x1C
|
||||
.set EFFECT_RECHARGE, 0x1D
|
||||
.set EFFECT_RAGE, 0x1E
|
||||
.set EFFECT_STEAL_ITEM, 0x1F
|
||||
.set EFFECT_PREVENT_ESCAPE, 0x20
|
||||
.set EFFECT_NIGHTMARE, 0x21
|
||||
.set EFFECT_ALL_STATS_UP, 0x22
|
||||
.set EFFECT_RAPIDSPIN, 0x23
|
||||
.set EFFECT_REMOVE_PARALYSIS, 0x24
|
||||
.set EFFECT_ATK_DEF_DOWN, 0x25
|
||||
.set EFFECT_RECOIL_33_PARALYSIS, 0x26
|
||||
.set EFFECT_ATK_PLUS_2, 0x27
|
||||
.set EFFECT_DEF_PLUS_2, 0x28
|
||||
.set EFFECT_SPD_PLUS_2, 0x29
|
||||
.set EFFECT_SP_ATK_PLUS_2, 0x2A
|
||||
.set EFFECT_SP_DEF_PLUS_2, 0x2B
|
||||
.set EFFECT_ACC_PLUS_2, 0x2C
|
||||
.set EFFECT_EVS_PLUS_2, 0x2D
|
||||
.set EFFECT_ATK_MINUS_2, 0x2E
|
||||
.set EFFECT_DEF_MINUS_2, 0x2F
|
||||
.set EFFECT_SPD_MINUS_2, 0x30
|
||||
.set EFFECT_SP_ATK_MINUS_2, 0x31
|
||||
.set EFFECT_SP_DEF_MINUS_2, 0x32
|
||||
.set EFFECT_ACC_MINUS_2, 0x33
|
||||
.set EFFECT_EVS_MINUS_2, 0x34
|
||||
.set EFFECT_THRASH, 0x35
|
||||
.set EFFECT_KNOCK_OFF, 0x36
|
||||
.set EFFECT_NOTHING_37, 0x37
|
||||
.set EFFECT_NOTHING_38, 0x38
|
||||
.set EFFECT_NOTHING_39, 0x39
|
||||
.set EFFECT_NOTHING_3A, 0x3A
|
||||
.set EFFECT_SP_ATK_TWO_DOWN, 0x3B
|
||||
.set EFFECT_NOTHING_3C, 0x3C
|
||||
.set EFFECT_NOTHING_3D, 0x3D
|
||||
.set EFFECT_NOTHING_3E, 0x3E
|
||||
.set EFFECT_NOTHING_3F, 0x3F
|
||||
|
||||
.set AFFECTS_USER, 0x40
|
||||
.set CERTAIN, 0x80
|
||||
|
||||
@ accuracy calc
|
||||
.set NO_ACC_CALC, 0xFFFE
|
||||
.set NO_ACC_CALC_CHECK_LOCK_ON, 0xFFFF
|
||||
.set ACC_CURR_MOVE, 0x0
|
||||
|
||||
@ bank values
|
||||
.set TARGET, 0x0
|
||||
.set ATTACKER, 0x1
|
||||
.set EFFECT_BANK, 0x2
|
||||
.set GBANK_1, 0x3
|
||||
.set ATTACKER_WITH_PARTNER, 0x4 @ only for cmd98
|
||||
.set BANK0, 0x7
|
||||
.set SCRIPTING_BANK, 0xA
|
||||
.set OPPONENT1, 0xC
|
||||
|
||||
@ various
|
||||
.set VARIOUS_CANCEL_MULTI_TURN_MOVES, 0
|
||||
.set VARIOUS_SET_MAGIC_COAT_TARGET, 1
|
||||
.set VARIOUS_IS_RUNNING_IMPOSSIBLE, 2
|
||||
.set VARIOUS_GET_MOVE_TARGET, 3
|
||||
.set VARIOUS_RESET_INTIMIDATE_TRACE_BITS, 5
|
||||
.set VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP, 6
|
||||
.set VARIOUS_EMIT_YESNOBOX, 13
|
||||
.set VARIOUS_WAIT_CRY, 18
|
||||
.set VARIOUS_RETURN_OPPONENT_MON1, 19
|
||||
.set VARIOUS_RETURN_OPPONENT_MON2, 20
|
||||
.set VARIOUS_SET_TELEPORT_OUTCOME, 25
|
||||
.set VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC, 26
|
||||
|
||||
@ jumpifcant switch flag argument
|
||||
.set ATK4F_DONT_CHECK_STATUSES, 0x80
|
||||
|
||||
@ battle scripting struct
|
||||
.equiv sPAINSPLIT_HP, gBattleScripting
|
||||
.equiv sBIDE_DMG, gBattleScripting + 4
|
||||
.equiv sMULTIHIT_STRING, gBattleScripting + 8
|
||||
.equiv sDMG_MULTIPLIER, gBattleScripting + 0xE
|
||||
.equiv sTWOTURN_STRINGID, gBattleScripting + 0xF
|
||||
.equiv sANIM_ARG1, gBattleScripting + 0x10
|
||||
.equiv sANIM_ARG2, gBattleScripting + 0x11
|
||||
.equiv sTRIPLE_KICK_POWER, gBattleScripting + 0x12
|
||||
.equiv sMOVEEND_STATE, gBattleScripting + 0x14
|
||||
.equiv sFIELD_15, gBattleScripting + 0x15
|
||||
.equiv sFIELD_16, gBattleScripting + 0x16
|
||||
.equiv sBANK, gBattleScripting + 0x17
|
||||
.equiv sANIM_TURN, gBattleScripting + 0x18
|
||||
.equiv sANIM_TARGETS_HIT, gBattleScripting + 0x19
|
||||
.equiv sSTATCHANGER, gBattleScripting + 0x1A
|
||||
.equiv sFIELD_1B, gBattleScripting + 0x1B
|
||||
.equiv sGIVEEXP_STATE, gBattleScripting + 0x1C
|
||||
.equiv sBATTLE_STYLE, gBattleScripting + 0x1D
|
||||
.equiv sLVLBOX_STATE, gBattleScripting + 0x1E
|
||||
.equiv sLEARNMOVE_STATE, gBattleScripting + 0x1F
|
||||
.equiv sFIELD_20, gBattleScripting + 0x20
|
||||
.equiv sRESHOW_MAIN_STATE, gBattleScripting + 0x21
|
||||
.equiv sRESHOW_HELPER_STATE, gBattleScripting + 0x22
|
||||
.equiv sFIELD_23, gBattleScripting + 0x23
|
||||
.equiv sFIELD_24, gBattleScripting + 0x24
|
||||
.equiv sMULTIPLAYER_ID, gBattleScripting + 0x25
|
||||
|
||||
@ battle communication struct
|
||||
.equiv cEFFECT_CHOOSER, gBattleCommunication + 3
|
||||
.equiv cMULTISTRING_CHOOSER, gBattleCommunication + 5
|
||||
@@ -0,0 +1,375 @@
|
||||
.set STRINGID_INTROMSG, 0
|
||||
.set STRINGID_INTROSENDOUT, 1
|
||||
.set STRINGID_RETURNMON, 2
|
||||
.set STRINGID_SWITCHINMON, 3
|
||||
.set STRINGID_USEDMOVE, 4
|
||||
.set STRINGID_BATTLEEND, 5
|
||||
.set STRINGID_TRAINER1LOSETEXT, 12
|
||||
.set STRINGID_PKMNGAINEDEXP, 13
|
||||
.set STRINGID_PKMNGREWTOLV, 14
|
||||
.set STRINGID_PKMNLEARNEDMOVE, 15
|
||||
.set STRINGID_TRYTOLEARNMOVE1, 16
|
||||
.set STRINGID_TRYTOLEARNMOVE2, 17
|
||||
.set STRINGID_TRYTOLEARNMOVE3, 18
|
||||
.set STRINGID_PKMNFORGOTMOVE, 19
|
||||
.set STRINGID_STOPLEARNINGMOVE, 20
|
||||
.set STRINGID_DIDNOTLEARNMOVE, 21
|
||||
.set STRINGID_PKMNLEARNEDMOVE2, 22
|
||||
.set STRINGID_ATTACKMISSED, 23
|
||||
.set STRINGID_PKMNPROTECTEDITSELF, 24
|
||||
.set STRINGID_STATSWONTINCREASE2, 25
|
||||
.set STRINGID_AVOIDEDDAMAGE, 26
|
||||
.set STRINGID_ITDOESNTAFFECT, 27
|
||||
.set STRINGID_ATTACKERFAINTED, 28
|
||||
.set STRINGID_TARGETFAINTED, 29
|
||||
.set STRINGID_PLAYERGOTMONEY, 30
|
||||
.set STRINGID_PLAYERWHITEOUT, 31
|
||||
.set STRINGID_PLAYERWHITEOUT2, 32
|
||||
.set STRINGID_PREVENTSESCAPE, 33
|
||||
.set STRINGID_HITXTIMES, 34
|
||||
.set STRINGID_PKMNFELLASLEEP, 35
|
||||
.set STRINGID_PKMNMADESLEEP, 36
|
||||
.set STRINGID_PKMNALREADYASLEEP, 37
|
||||
.set STRINGID_PKMNALREADYASLEEP2, 38
|
||||
.set STRINGID_PKMNWASNTAFFECTED, 39
|
||||
.set STRINGID_PKMNWASPOISONED, 40
|
||||
.set STRINGID_PKMNPOISONEDBY, 41
|
||||
.set STRINGID_PKMNHURTBYPOISON, 42
|
||||
.set STRINGID_PKMNALREADYPOISONED, 43
|
||||
.set STRINGID_PKMNBADLYPOISONED, 44
|
||||
.set STRINGID_PKMNENERGYDRAINED, 45
|
||||
.set STRINGID_PKMNWASBURNED, 46
|
||||
.set STRINGID_PKMNBURNEDBY, 47
|
||||
.set STRINGID_PKMNHURTBYBURN, 48
|
||||
.set STRINGID_PKMNWASFROZEN, 49
|
||||
.set STRINGID_PKMNFROZENBY, 50
|
||||
.set STRINGID_PKMNISFROZEN, 51
|
||||
.set STRINGID_PKMNWASDEFROSTED, 52
|
||||
.set STRINGID_PKMNWASDEFROSTED2, 53
|
||||
.set STRINGID_PKMNWASDEFROSTEDBY, 54
|
||||
.set STRINGID_PKMNWASPARALYZED, 55
|
||||
.set STRINGID_PKMNWASPARALYZEDBY, 56
|
||||
.set STRINGID_PKMNISPARALYZED, 57
|
||||
.set STRINGID_PKMNISALREADYPARALYZED, 58
|
||||
.set STRINGID_PKMNHEALEDPARALYSIS, 59
|
||||
.set STRINGID_PKMNDREAMEATEN, 60
|
||||
.set STRINGID_STATSWONTINCREASE, 61
|
||||
.set STRINGID_STATSWONTDECREASE, 62
|
||||
.set STRINGID_TEAMSTOPPEDWORKING, 63
|
||||
.set STRINGID_FOESTOPPEDWORKING, 64
|
||||
.set STRINGID_PKMNISCONFUSED, 65
|
||||
.set STRINGID_PKMNHEALEDCONFUSION, 66
|
||||
.set STRINGID_PKMNWASCONFUSED, 67
|
||||
.set STRINGID_PKMNALREADYCONFUSED, 68
|
||||
.set STRINGID_PKMNFELLINLOVE, 69
|
||||
.set STRINGID_PKMNINLOVE, 70
|
||||
.set STRINGID_PKMNIMMOBILIZEDBYLOVE, 71
|
||||
.set STRINGID_PKMNBLOWNAWAY, 72
|
||||
.set STRINGID_PKMNCHANGEDTYPE, 73
|
||||
.set STRINGID_PKMNFLINCHED, 74
|
||||
.set STRINGID_PKMNREGAINEDHEALTH, 75
|
||||
.set STRINGID_PKMNHPFULL, 76
|
||||
.set STRINGID_PKMNRAISEDSPDEF, 77
|
||||
.set STRINGID_PKMNRAISEDDEF, 78
|
||||
.set STRINGID_PKMNCOVEREDBYVEIL, 79
|
||||
.set STRINGID_PKMNUSEDSAFEGUARD, 80
|
||||
.set STRINGID_PKMNSAFEGUARDEXPIRED, 81
|
||||
.set STRINGID_PKMNWENTTOSLEEP, 82
|
||||
.set STRINGID_PKMNSLEPTHEALTHY, 83
|
||||
.set STRINGID_PKMNWHIPPEDWHIRLWIND, 84
|
||||
.set STRINGID_PKMNTOOKSUNLIGHT, 85
|
||||
.set STRINGID_PKMNLOWEREDHEAD, 86
|
||||
.set STRINGID_PKMNISGLOWING, 87
|
||||
.set STRINGID_PKMNFLEWHIGH, 88
|
||||
.set STRINGID_PKMNDUGHOLE, 89
|
||||
.set STRINGID_PKMNSQUEEZEDBYBIND, 90
|
||||
.set STRINGID_PKMNTRAPPEDINVORTEX, 91
|
||||
.set STRINGID_PKMNWRAPPEDBY, 92
|
||||
.set STRINGID_PKMNCLAMPED, 93
|
||||
.set STRINGID_PKMNHURTBY, 94
|
||||
.set STRINGID_PKMNFREEDFROM, 95
|
||||
.set STRINGID_PKMNCRASHED, 96
|
||||
.set STRINGID_PKMNSHROUDEDINMIST, 97
|
||||
.set STRINGID_PKMNPROTECTEDBYMIST, 98
|
||||
.set STRINGID_PKMNGETTINGPUMPED, 99
|
||||
.set STRINGID_PKMNHITWITHRECOIL, 100
|
||||
.set STRINGID_PKMNPROTECTEDITSELF2, 101
|
||||
.set STRINGID_PKMNBUFFETEDBYSANDSTORM, 102
|
||||
.set STRINGID_PKMNPELTEDBYHAIL, 103
|
||||
.set STRINGID_PKMNSEEDED, 104
|
||||
.set STRINGID_PKMNEVADEDATTACK, 105
|
||||
.set STRINGID_PKMNSAPPEDBYLEECHSEED, 106
|
||||
.set STRINGID_PKMNFASTASLEEP, 107
|
||||
.set STRINGID_PKMNWOKEUP, 108
|
||||
.set STRINGID_PKMNUPROARKEPTAWAKE, 109
|
||||
.set STRINGID_PKMNWOKEUPINUPROAR, 110
|
||||
.set STRINGID_PKMNCAUSEDUPROAR, 111
|
||||
.set STRINGID_PKMNMAKINGUPROAR, 112
|
||||
.set STRINGID_PKMNCALMEDDOWN, 113
|
||||
.set STRINGID_PKMNCANTSLEEPINUPROAR, 114
|
||||
.set STRINGID_PKMNSTOCKPILED, 115
|
||||
.set STRINGID_PKMNCANTSTOCKPILE, 116
|
||||
.set STRINGID_PKMNCANTSLEEPINUPROAR2, 117
|
||||
.set STRINGID_UPROARKEPTPKMNAWAKE, 118
|
||||
.set STRINGID_PKMNSTAYEDAWAKEUSING, 119
|
||||
.set STRINGID_PKMNSTORINGENERGY, 120
|
||||
.set STRINGID_PKMNUNLEASHEDENERGY, 121
|
||||
.set STRINGID_PKMNFATIGUECONFUSION, 122
|
||||
.set STRINGID_PKMNPICKEDUPITEM, 123
|
||||
.set STRINGID_PKMNUNAFFECTED, 124
|
||||
.set STRINGID_PKMNTRANSFORMEDINTO, 125
|
||||
.set STRINGID_PKMNMADESUBSTITUTE, 126
|
||||
.set STRINGID_PKMNHASSUBSTITUTE, 127
|
||||
.set STRINGID_SUBSTITUTEDAMAGED, 128
|
||||
.set STRINGID_PKMNSUBSTITUTEFADED, 129
|
||||
.set STRINGID_PKMNMUSTRECHARGE, 130
|
||||
.set STRINGID_PKMNRAGEBUILDING, 131
|
||||
.set STRINGID_PKMNMOVEWASDISABLED, 132
|
||||
.set STRINGID_PKMNMOVEISDISABLED, 133
|
||||
.set STRINGID_PKMNMOVEDISABLEDNOMORE, 134
|
||||
.set STRINGID_PKMNGOTENCORE, 135
|
||||
.set STRINGID_PKMNENCOREENDED, 136
|
||||
.set STRINGID_PKMNTOOKAIM, 137
|
||||
.set STRINGID_PKMNSKETCHEDMOVE, 138
|
||||
.set STRINGID_PKMNTRYINGTOTAKEFOE, 139
|
||||
.set STRINGID_PKMNTOOKFOE, 140
|
||||
.set STRINGID_PKMNREDUCEDPP, 141
|
||||
.set STRINGID_PKMNSTOLEITEM, 142
|
||||
.set STRINGID_TARGETCANTESCAPENOW, 143
|
||||
.set STRINGID_PKMNFELLINTONIGHTMARE, 144
|
||||
.set STRINGID_PKMNLOCKEDINNIGHTMARE, 145
|
||||
.set STRINGID_PKMNLAIDCURSE, 146
|
||||
.set STRINGID_PKMNAFFLICTEDBYCURSE, 147
|
||||
.set STRINGID_SPIKESSCATTERED, 148
|
||||
.set STRINGID_PKMNHURTBYSPIKES, 149
|
||||
.set STRINGID_PKMNIDENTIFIED, 150
|
||||
.set STRINGID_PKMNPERISHCOUNTFELL, 151
|
||||
.set STRINGID_PKMNBRACEDITSELF, 152
|
||||
.set STRINGID_PKMNENDUREDHIT, 153
|
||||
.set STRINGID_MAGNITUDESTRENGTH, 154
|
||||
.set STRINGID_PKMNCUTHPMAXEDATTACK, 155
|
||||
.set STRINGID_PKMNCOPIEDSTATCHANGES, 156
|
||||
.set STRINGID_PKMNGOTFREE, 157
|
||||
.set STRINGID_PKMNSHEDLEECHSEED, 158
|
||||
.set STRINGID_PKMNBLEWAWAYSPIKES, 159
|
||||
.set STRINGID_PKMNFLEDFROMBATTLE, 160
|
||||
.set STRINGID_PKMNFORESAWATTACK, 161
|
||||
.set STRINGID_PKMNTOOKATTACK, 162
|
||||
.set STRINGID_PKMNATTACK, 163
|
||||
.set STRINGID_PKMNCENTERATTENTION, 164
|
||||
.set STRINGID_PKMNCHARGINGPOWER, 165
|
||||
.set STRINGID_NATUREPOWERTURNEDINTO, 166
|
||||
.set STRINGID_PKMNSTATUSNORMAL, 167
|
||||
.set STRINGID_PKMNHASNOMOVESLEFT, 168
|
||||
.set STRINGID_PKMNSUBJECTEDTOTORMENT, 169
|
||||
.set STRINGID_PKMNCANTUSEMOVETORMENT, 170
|
||||
.set STRINGID_PKMNTIGHTENINGFOCUS, 171
|
||||
.set STRINGID_PKMNFELLFORTAUNT, 172
|
||||
.set STRINGID_PKMNCANTUSEMOVETAUNT, 173
|
||||
.set STRINGID_PKMNREADYTOHELP, 174
|
||||
.set STRINGID_PKMNSWITCHEDITEMS, 175
|
||||
.set STRINGID_PKMNCOPIEDFOE, 176
|
||||
.set STRINGID_PKMNMADEWISH, 177
|
||||
.set STRINGID_PKMNWISHCAMETRUE, 178
|
||||
.set STRINGID_PKMNPLANTEDROOTS, 179
|
||||
.set STRINGID_PKMNABSORBEDNUTRIENTS, 180
|
||||
.set STRINGID_PKMNANCHOREDITSELF, 181
|
||||
.set STRINGID_PKMNWASMADEDROWSY, 182
|
||||
.set STRINGID_PKMNKNOCKEDOFF, 183
|
||||
.set STRINGID_PKMNSWAPPEDABILITIES, 184
|
||||
.set STRINGID_PKMNSEALEDOPPONENTMOVE, 185
|
||||
.set STRINGID_PKMNCANTUSEMOVESEALED, 186
|
||||
.set STRINGID_PKMNWANTSGRUDGE, 187
|
||||
.set STRINGID_PKMNLOSTPPGRUDGE, 188
|
||||
.set STRINGID_PKMNSHROUDEDITSELF, 189
|
||||
.set STRINGID_PKMNMOVEBOUNCED, 190
|
||||
.set STRINGID_PKMNWAITSFORTARGET, 191
|
||||
.set STRINGID_PKMNSNATCHEDMOVE, 192
|
||||
.set STRINGID_PKMNMADEITRAIN, 193
|
||||
.set STRINGID_PKMNRAISEDSPEED, 194
|
||||
.set STRINGID_PKMNPROTECTEDBY, 195
|
||||
.set STRINGID_PKMNPREVENTSUSAGE, 196
|
||||
.set STRINGID_PKMNRESTOREDHPUSING, 197
|
||||
.set STRINGID_PKMNCHANGEDTYPEWITH, 198
|
||||
.set STRINGID_PKMNPREVENTSPARALYSISWITH, 199
|
||||
.set STRINGID_PKMNPREVENTSROMANCEWITH, 200
|
||||
.set STRINGID_PKMNPREVENTSPOISONINGWITH, 201
|
||||
.set STRINGID_PKMNPREVENTSCONFUSIONWITH, 202
|
||||
.set STRINGID_PKMNRAISEDFIREPOWERWITH, 203
|
||||
.set STRINGID_PKMNANCHORSITSELFWITH, 204
|
||||
.set STRINGID_PKMNCUTSATTACKWITH, 205
|
||||
.set STRINGID_PKMNPREVENTSSTATLOSSWITH, 206
|
||||
.set STRINGID_PKMNHURTSWITH, 207
|
||||
.set STRINGID_PKMNTRACED, 208
|
||||
.set STRINGID_STATSHARPLY, 209
|
||||
.set STRINGID_STATROSE, 210
|
||||
.set STRINGID_STATHARSHLY, 211
|
||||
.set STRINGID_STATFELL, 212
|
||||
.set STRINGID_PKMNSSTATCHANGED, 213
|
||||
.set STRINGID_PKMNSSTATCHANGED2, 214
|
||||
.set STRINGID_PKMNSSTATCHANGED3, 215
|
||||
.set STRINGID_PKMNSSTATCHANGED4, 216
|
||||
.set STRINGID_CRITICALHIT, 217
|
||||
.set STRINGID_ONEHITKO, 218
|
||||
.set STRINGID_123POOF, 219
|
||||
.set STRINGID_ANDELLIPSIS, 220
|
||||
.set STRINGID_NOTVERYEFFECTIVE, 221
|
||||
.set STRINGID_SUPEREFFECTIVE, 222
|
||||
.set STRINGID_GOTAWAYSAFELY, 223
|
||||
.set STRINGID_WILDPKMNFLED, 224
|
||||
.set STRINGID_NORUNNINGFROMTRAINERS, 225
|
||||
.set STRINGID_CANTESCAPE, 226
|
||||
.set STRINGID_DONTLEAVEBIRCH, 227
|
||||
.set STRINGID_BUTNOTHINGHAPPENED, 228
|
||||
.set STRINGID_BUTITFAILED, 229
|
||||
.set STRINGID_ITHURTCONFUSION, 230
|
||||
.set STRINGID_MIRRORMOVEFAILED, 231
|
||||
.set STRINGID_STARTEDTORAIN, 232
|
||||
.set STRINGID_DOWNPOURSTARTED, 233
|
||||
.set STRINGID_RAINCONTINUES, 234
|
||||
.set STRINGID_DOWNPOURCONTINUES, 235
|
||||
.set STRINGID_RAINSTOPPED, 236
|
||||
.set STRINGID_SANDSTORMBREWED, 237
|
||||
.set STRINGID_SANDSTORMRAGES, 238
|
||||
.set STRINGID_SANDSTORMSUBSIDED, 239
|
||||
.set STRINGID_SUNLIGHTGOTBRIGHT, 240
|
||||
.set STRINGID_SUNLIGHTSTRONG, 241
|
||||
.set STRINGID_SUNLIGHTFADED, 242
|
||||
.set STRINGID_STARTEDHAIL, 243
|
||||
.set STRINGID_HAILCONTINUES, 244
|
||||
.set STRINGID_HAILSTOPPED, 245
|
||||
.set STRINGID_FAILEDTOSPITUP, 246
|
||||
.set STRINGID_FAILEDTOSWALLOW, 247
|
||||
.set STRINGID_WINDBECAMEHEATWAVE, 248
|
||||
.set STRINGID_STATCHANGESGONE, 249
|
||||
.set STRINGID_COINSSCATTERED, 250
|
||||
.set STRINGID_TOOWEAKFORSUBSTITUTE, 251
|
||||
.set STRINGID_SHAREDPAIN, 252
|
||||
.set STRINGID_BELLCHIMED, 253
|
||||
.set STRINGID_FAINTINTHREE, 254
|
||||
.set STRINGID_NOPPLEFT, 255
|
||||
.set STRINGID_BUTNOPPLEFT, 256
|
||||
.set STRINGID_PLAYERUSEDITEM, 257
|
||||
.set STRINGID_WALLYUSEDITEM, 258
|
||||
.set STRINGID_TRAINERBLOCKEDBALL, 259
|
||||
.set STRINGID_DONTBEATHIEF, 260
|
||||
.set STRINGID_ITDODGEDBALL, 261
|
||||
.set STRINGID_YOUMISSEDPKMN, 262
|
||||
.set STRINGID_PKMNBROKEFREE, 263
|
||||
.set STRINGID_ITAPPEAREDCAUGHT, 264
|
||||
.set STRINGID_AARGHALMOSTHADIT, 265
|
||||
.set STRINGID_SHOOTSOCLOSE, 266
|
||||
.set STRINGID_GOTCHAPKMNCAUGHT, 267
|
||||
.set STRINGID_GOTCHAPKMNCAUGHT2, 268
|
||||
.set STRINGID_GIVENICKNAMECAPTURED, 269
|
||||
.set STRINGID_PKMNSENTTOPC, 270
|
||||
.set STRINGID_PKMNDATAADDEDTODEX, 271
|
||||
.set STRINGID_ITISRAINING, 272
|
||||
.set STRINGID_SANDSTORMISRAGING, 273
|
||||
.set STRINGID_CANTESCAPE2, 274
|
||||
.set STRINGID_PKMNIGNORESASLEEP, 275
|
||||
.set STRINGID_PKMNIGNOREDORDERS, 276
|
||||
.set STRINGID_PKMNBEGANTONAP, 277
|
||||
.set STRINGID_PKMNLOAFING, 278
|
||||
.set STRINGID_PKMNWONTOBEY, 279
|
||||
.set STRINGID_PKMNTURNEDAWAY, 280
|
||||
.set STRINGID_PKMNPRETENDNOTNOTICE, 281
|
||||
.set STRINGID_ENEMYABOUTTOSWITCHPKMN, 282
|
||||
.set STRINGID_CREPTCLOSER, 283
|
||||
.set STRINGID_CANTGETCLOSER, 284
|
||||
.set STRINGID_PKMNWATCHINGCAREFULLY, 285
|
||||
.set STRINGID_PKMNCURIOUSABOUTX, 286
|
||||
.set STRINGID_PKMNENTHRALLEDBYX, 287
|
||||
.set STRINGID_PKMNIGNOREDX, 288
|
||||
.set STRINGID_THREWPOKEBLOCKATPKMN, 289
|
||||
.set STRINGID_OUTOFSAFARIBALLS, 290
|
||||
.set STRINGID_PKMNSITEMCUREDPARALYSIS, 291
|
||||
.set STRINGID_PKMNSITEMCUREDPOISON, 292
|
||||
.set STRINGID_PKMNSITEMHEALEDBURN, 293
|
||||
.set STRINGID_PKMNSITEMDEFROSTEDIT, 294
|
||||
.set STRINGID_PKMNSITEMWOKEIT, 295
|
||||
.set STRINGID_PKMNSITEMSNAPPEDOUT, 296
|
||||
.set STRINGID_PKMNSITEMCUREDPROBLEM, 297
|
||||
.set STRINGID_PKMNSITEMRESTOREDHEALTH, 298
|
||||
.set STRINGID_PKMNSITEMRESTOREDPP, 299
|
||||
.set STRINGID_PKMNSITEMRESTOREDSTATUS, 300
|
||||
.set STRINGID_PKMNSITEMRESTOREDHPALITTLE, 301
|
||||
.set STRINGID_ITEMALLOWSONLYYMOVE, 302
|
||||
.set STRINGID_PKMNHUNGONWITHX, 303
|
||||
.set STRINGID_EMPTYSTRING3, 304
|
||||
.set STRINGID_PKMNSXPREVENTSBURNS, 305
|
||||
.set STRINGID_PKMNSXBLOCKSY, 306
|
||||
.set STRINGID_PKMNSXRESTOREDHPALITTLE2, 307
|
||||
.set STRINGID_PKMNSXWHIPPEDUPSANDSTORM, 308
|
||||
.set STRINGID_PKMNSXPREVENTSYLOSS, 309
|
||||
.set STRINGID_PKMNSXINFATUATEDY, 310
|
||||
.set STRINGID_PKMNSXMADEYINEFFECTIVE, 311
|
||||
.set STRINGID_PKMNSXCUREDYPROBLEM, 312
|
||||
.set STRINGID_ITSUCKEDLIQUIDOOZE, 313
|
||||
.set STRINGID_PKMNTRANSFORMED, 314
|
||||
.set STRINGID_ELECTRICITYWEAKENED, 315
|
||||
.set STRINGID_FIREWEAKENED, 316
|
||||
.set STRINGID_PKMNHIDUNDERWATER, 317
|
||||
.set STRINGID_PKMNSPRANGUP, 318
|
||||
.set STRINGID_HMMOVESCANTBEFORGOTTEN, 319
|
||||
.set STRINGID_XFOUNDONEY, 320
|
||||
.set STRINGID_PLAYERDEFEATEDTRAINER1, 321
|
||||
.set STRINGID_SOOTHINGAROMA, 322
|
||||
.set STRINGID_ITEMSCANTBEUSEDNOW, 323
|
||||
.set STRINGID_FORXCOMMAYZ, 324
|
||||
.set STRINGID_USINGXTHEYOFZN, 325
|
||||
.set STRINGID_PKMNUSEDXTOGETPUMPED, 326
|
||||
.set STRINGID_PKMNSXMADEYUSELESS, 327
|
||||
.set STRINGID_PKMNTRAPPEDBYSANDTOMB, 328
|
||||
.set STRINGID_EMPTYSTRING4, 329
|
||||
.set STRINGID_ABOOSTED, 330
|
||||
.set STRINGID_PKMNSXINTENSIFIEDSUN, 331
|
||||
.set STRINGID_PKMNMAKESGROUNDMISS, 332
|
||||
.set STRINGID_YOUTHROWABALLNOWRIGHT, 333
|
||||
.set STRINGID_PKMNSXTOOKATTACK, 334
|
||||
.set STRINGID_PKMNCHOSEXASDESTINY, 335
|
||||
.set STRINGID_PKMNLOSTFOCUS, 336
|
||||
.set STRINGID_USENEXTPKMN, 337
|
||||
.set STRINGID_PKMNFLEDUSINGITS, 338
|
||||
.set STRINGID_PKMNFLEDUSING, 339
|
||||
.set STRINGID_PKMNWASDRAGGEDOUT, 340
|
||||
.set STRINGID_PREVENTEDFROMWORKING, 341
|
||||
.set STRINGID_PKMNSITEMNORMALIZEDSTATUS, 342
|
||||
.set STRINGID_TRAINER1USEDITEM, 343
|
||||
.set STRINGID_BOXISFULL, 344
|
||||
.set STRINGID_PKMNAVOIDEDATTACK, 345
|
||||
.set STRINGID_PKMNSXMADEITINEFFECTIVE, 346
|
||||
.set STRINGID_PKMNSXPREVENTSFLINCHING, 347
|
||||
.set STRINGID_PKMNALREADYHASBURN, 348
|
||||
.set STRINGID_STATSWONTDECREASE2, 349
|
||||
.set STRINGID_PKMNSXBLOCKSY2, 350
|
||||
.set STRINGID_PKMNSXWOREOFF, 351
|
||||
.set STRINGID_PKMNRAISEDDEFALITTLE, 352
|
||||
.set STRINGID_PKMNRAISEDSPDEFALITTLE, 353
|
||||
.set STRINGID_THEWALLSHATTERED, 354
|
||||
.set STRINGID_PKMNSXPREVENTSYSZ, 355
|
||||
.set STRINGID_PKMNSXCUREDITSYPROBLEM, 356
|
||||
.set STRINGID_ATTACKERCANTESCAPE, 357
|
||||
.set STRINGID_PKMNOBTAINEDX, 358
|
||||
.set STRINGID_PKMNOBTAINEDX2, 359
|
||||
.set STRINGID_PKMNOBTAINEDXYOBTAINEDZ, 360
|
||||
.set STRINGID_BUTNOEFFECT, 361
|
||||
.set STRINGID_PKMNSXHADNOEFFECTONY, 362
|
||||
.set STRINGID_TWOENEMIESDEFEATED, 363
|
||||
.set STRINGID_TRAINER2LOSETEXT, 364
|
||||
.set STRINGID_PKMNINCAPABLEOFPOWER, 365
|
||||
.set STRINGID_GLINTAPPEARSINEYE, 366
|
||||
.set STRINGID_PKMNGETTINGINTOPOSITION, 367
|
||||
.set STRINGID_PKMNBEGANGROWLINGDEEPLY, 368
|
||||
.set STRINGID_PKMNEAGERFORMORE, 369
|
||||
.set STRINGID_DEFEATEDOPPONENTBYREFEREE, 370
|
||||
.set STRINGID_LOSTTOOPPONENTBYREFEREE, 371
|
||||
.set STRINGID_TIEDOPPONENTBYREFEREE, 372
|
||||
.set STRINGID_QUESTIONFORFEITMATCH, 373
|
||||
.set STRINGID_FORFEITEDMATCH, 374
|
||||
.set STRINGID_PKMNTRANSFERREDSOMEONESPC, 375
|
||||
.set STRINGID_PKMNTRANSFERREDLANETTESPC, 376
|
||||
.set STRINGID_PKMNBOXSOMEONESPCFULL, 377
|
||||
.set STRINGID_PKMNBOXLANETTESPCFULL, 378
|
||||
.set STRINGID_TRAINER1WINTEXT, 379
|
||||
.set STRINGID_TRAINER2WINTEXT, 380
|
||||
+1
-1
@@ -80,7 +80,7 @@
|
||||
.equiv FLAG_0x050, 0x50
|
||||
.equiv FLAG_0x051, 0x51
|
||||
.equiv FLAG_0x052, 0x52
|
||||
.equiv FLAG_0x053, 0x53
|
||||
.equiv FLAG_LEGENDARIES_IN_SOOTOPOLIS, 0x53
|
||||
.equiv FLAG_0x054, 0x54
|
||||
.equiv FLAG_0x055, 0x55
|
||||
.equiv FLAG_0x056, 0x56
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
.equiv VAR_0x403B, 0x403B
|
||||
.equiv VAR_0x403C, 0x403C
|
||||
.equiv VAR_0x403D, 0x403D
|
||||
.equiv VAR_0x403E, 0x403E
|
||||
.equiv VAR_ALTERING_CAVE_WILD_SET, 0x403E
|
||||
.equiv VAR_0x403F, 0x403F
|
||||
.equiv VAR_DAYS, 0x4040
|
||||
.equiv VAR_0x4041, 0x4041
|
||||
|
||||
+4586
-580
File diff suppressed because it is too large
Load Diff
+170
-55
@@ -1,32 +1,36 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "asm/macros/battle_script.inc"
|
||||
.include "constants/constants.inc"
|
||||
.include "constants/battle_constants.inc"
|
||||
.include "constants/battle_script_constants.inc"
|
||||
.include "constants/battle_text.inc"
|
||||
|
||||
.section script_data, "aw", %progbits
|
||||
|
||||
.align 2
|
||||
gBattlescriptsForBallThrow:: @ 82DBD08
|
||||
.4byte gUnknown_082DBD68
|
||||
.4byte gUnknown_082DBD68
|
||||
.4byte gUnknown_082DBD68
|
||||
.4byte gUnknown_082DBD68
|
||||
.4byte gUnknown_082DBD68
|
||||
.4byte gUnknown_082DBD7E
|
||||
.4byte gUnknown_082DBD68
|
||||
.4byte gUnknown_082DBD68
|
||||
.4byte gUnknown_082DBD68
|
||||
.4byte gUnknown_082DBD68
|
||||
.4byte gUnknown_082DBD68
|
||||
.4byte gUnknown_082DBD68
|
||||
.4byte gUnknown_082DBD68
|
||||
.4byte BattleScript_BallThrow
|
||||
.4byte BattleScript_BallThrow
|
||||
.4byte BattleScript_BallThrow
|
||||
.4byte BattleScript_BallThrow
|
||||
.4byte BattleScript_BallThrow
|
||||
.4byte BattleScript_SafariBallThrow
|
||||
.4byte BattleScript_BallThrow
|
||||
.4byte BattleScript_BallThrow
|
||||
.4byte BattleScript_BallThrow
|
||||
.4byte BattleScript_BallThrow
|
||||
.4byte BattleScript_BallThrow
|
||||
.4byte BattleScript_BallThrow
|
||||
.4byte BattleScript_BallThrow
|
||||
|
||||
.align 2
|
||||
gUnknown_082DBD3C:: @ 82DBD3C
|
||||
.4byte gUnknown_082DBE12
|
||||
.4byte gUnknown_082DBE1C
|
||||
.4byte gUnknown_082DBE1C
|
||||
.4byte gUnknown_082DBE4B
|
||||
.4byte gUnknown_082DBE6F
|
||||
.4byte gUnknown_082DBE91
|
||||
.4byte BattleScript_82DBE12
|
||||
.4byte BattleScript_82DBE1C
|
||||
.4byte BattleScript_82DBE1C
|
||||
.4byte BattleScript_82DBE4B
|
||||
.4byte BattleScript_82DBE6F
|
||||
.4byte BattleScript_82DBE91
|
||||
|
||||
.align 2
|
||||
gBattlescriptsForRunningByItem:: @ 82DBD54
|
||||
@@ -34,55 +38,166 @@ gBattlescriptsForRunningByItem:: @ 82DBD54
|
||||
|
||||
.align 2
|
||||
gBattlescriptsForSafariActions:: @ 82DBD58
|
||||
.4byte gUnknown_082DBEBD
|
||||
.4byte gUnknown_082DBEC4
|
||||
.4byte gUnknown_082DBECD
|
||||
.4byte gUnknown_082DBEE3
|
||||
.4byte BattleScript_ActionWatchesCarefully
|
||||
.4byte BattleScript_ActionGetNear
|
||||
.4byte BattleScript_ActionThrowPokeblock
|
||||
.4byte BattleScript_82DBEE3
|
||||
|
||||
gUnknown_082DBD68:: @ 82DBD68
|
||||
.incbin "baserom.gba", 0x2dbd68, 0x16
|
||||
BattleScript_BallThrow::
|
||||
jumpifword COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_WALLY_TUTORIAL, BattleScript_BallThrowByWally
|
||||
printstring STRINGID_PLAYERUSEDITEM
|
||||
handleballthrow
|
||||
|
||||
gUnknown_082DBD7E:: @ 82DBD7E
|
||||
.incbin "baserom.gba", 0x2dbd7e, 0x6
|
||||
BattleScript_BallThrowByWally::
|
||||
printstring STRINGID_WALLYUSEDITEM
|
||||
handleballthrow
|
||||
|
||||
BattleScript_SuccessBallThrow:: @ 82DBD84
|
||||
.incbin "baserom.gba", 0x2dbd84, 0x46
|
||||
BattleScript_SafariBallThrow::
|
||||
printstring STRINGID_PLAYERUSEDITEM
|
||||
updatestatusicon ATTACKER
|
||||
handleballthrow
|
||||
|
||||
BattleScript_WallyBallThrow:: @ 82DBDCA
|
||||
.incbin "baserom.gba", 0x2dbdca, 0xa
|
||||
BattleScript_SuccessBallThrow::
|
||||
jumpifhalfword EQUAL, gLastUsedItem, ITEM_SAFARI_BALL, BattleScript_82DBD92
|
||||
incrementgamestat 0xB
|
||||
BattleScript_82DBD92::
|
||||
printstring STRINGID_GOTCHAPKMNCAUGHT
|
||||
trysetcaughtmondexflags BattleScript_82DBDA5
|
||||
printstring STRINGID_PKMNDATAADDEDTODEX
|
||||
waitstate
|
||||
setbyte gBattleCommunication, 0x0
|
||||
displaydexinfo
|
||||
BattleScript_82DBDA5::
|
||||
printstring STRINGID_GIVENICKNAMECAPTURED
|
||||
waitstate
|
||||
setbyte gBattleCommunication, 0x0
|
||||
trygivecaughtmonnick BattleScript_82DBDC2
|
||||
givecaughtmon
|
||||
printfromtable gCaughtMonStringIds
|
||||
waitmessage 0x40
|
||||
goto BattleScript_82DBDC3
|
||||
BattleScript_82DBDC2::
|
||||
givecaughtmon
|
||||
BattleScript_82DBDC3::
|
||||
setbyte gBattleOutcome, CAUGHT
|
||||
finishturn
|
||||
|
||||
BattleScript_ShakeBallThrow:: @ 82DBDD4
|
||||
.incbin "baserom.gba", 0x2dbdd4, 0x2e
|
||||
BattleScript_WallyBallThrow::
|
||||
printstring STRINGID_GOTCHAPKMNCAUGHT2
|
||||
setbyte gBattleOutcome, CAUGHT
|
||||
finishturn
|
||||
|
||||
BattleScript_TrainerBallBlock:: @ 82DBE02
|
||||
.incbin "baserom.gba", 0x2dbe02, 0x10
|
||||
BattleScript_ShakeBallThrow::
|
||||
printfromtable gBallEscapeStringIds
|
||||
waitmessage 0x40
|
||||
jumpifword NO_COMMON_BITS, gBattleTypeFlags, BATTLE_TYPE_SAFARI, BattleScript_82DBE01
|
||||
jumpifbyte NOT_EQUAL, gNumSafariBalls, 0x0, BattleScript_82DBE01
|
||||
printstring STRINGID_OUTOFSAFARIBALLS
|
||||
waitmessage 0x40
|
||||
setbyte gBattleOutcome, OUT_OF_BALLS
|
||||
BattleScript_82DBE01::
|
||||
finishaction
|
||||
|
||||
gUnknown_082DBE12:: @ 82DBE12
|
||||
.incbin "baserom.gba", 0x2dbe12, 0xa
|
||||
BattleScript_TrainerBallBlock::
|
||||
waitmessage 0x40
|
||||
printstring STRINGID_TRAINERBLOCKEDBALL
|
||||
waitmessage 0x40
|
||||
printstring STRINGID_DONTBEATHIEF
|
||||
waitmessage 0x40
|
||||
finishaction
|
||||
|
||||
gUnknown_082DBE1C:: @ 82DBE1C
|
||||
.incbin "baserom.gba", 0x2dbe1c, 0x2f
|
||||
BattleScript_82DBE12::
|
||||
setbyte sMOVEEND_STATE, 0xF
|
||||
moveend 0x1, 0x0
|
||||
end
|
||||
|
||||
gUnknown_082DBE4B:: @ 82DBE4B
|
||||
.incbin "baserom.gba", 0x2dbe4b, 0x24
|
||||
BattleScript_82DBE1C::
|
||||
printstring STRINGID_EMPTYSTRING3
|
||||
pause 0x30
|
||||
playse SE_KAIFUKU
|
||||
printstring STRINGID_TRAINER1USEDITEM
|
||||
waitmessage 0x40
|
||||
useitemonopponent
|
||||
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE
|
||||
healthbarupdate ATTACKER
|
||||
datahpupdate ATTACKER
|
||||
printstring STRINGID_PKMNSITEMRESTOREDHEALTH
|
||||
waitmessage 0x40
|
||||
updatestatusicon ATTACKER
|
||||
setbyte sMOVEEND_STATE, 0xF
|
||||
moveend 0x1, 0x0
|
||||
finishaction
|
||||
|
||||
gUnknown_082DBE6F:: @ 82DBE6F
|
||||
.incbin "baserom.gba", 0x2dbe6f, 0x22
|
||||
BattleScript_82DBE4B::
|
||||
printstring STRINGID_EMPTYSTRING3
|
||||
pause 0x30
|
||||
playse SE_KAIFUKU
|
||||
printstring STRINGID_TRAINER1USEDITEM
|
||||
waitmessage 0x40
|
||||
useitemonopponent
|
||||
printfromtable gTrainerItemCuredStatusStringIds
|
||||
waitmessage 0x40
|
||||
updatestatusicon ATTACKER
|
||||
setbyte sMOVEEND_STATE, 0xF
|
||||
moveend 0x1, 0x0
|
||||
finishaction
|
||||
|
||||
gUnknown_082DBE91:: @ 82DBE91
|
||||
.incbin "baserom.gba", 0x2dbe91, 0x22
|
||||
BattleScript_82DBE6F::
|
||||
printstring STRINGID_EMPTYSTRING3
|
||||
pause 0x30
|
||||
playse SE_KAIFUKU
|
||||
printstring STRINGID_TRAINER1USEDITEM
|
||||
waitmessage 0x40
|
||||
useitemonopponent
|
||||
printfromtable gStatUpStringIds
|
||||
waitmessage 0x40
|
||||
setbyte sMOVEEND_STATE, 0xF
|
||||
moveend 0x1, 0x0
|
||||
finishaction
|
||||
|
||||
BattleScript_RunByUsingItem:: @ 82DBEB3
|
||||
.incbin "baserom.gba", 0x2dbeb3, 0xA
|
||||
BattleScript_82DBE91::
|
||||
printstring STRINGID_EMPTYSTRING3
|
||||
pause 0x30
|
||||
playse SE_KAIFUKU
|
||||
printstring STRINGID_TRAINER1USEDITEM
|
||||
waitmessage 0x40
|
||||
useitemonopponent
|
||||
printfromtable gMistUsedStringIds
|
||||
waitmessage 0x40
|
||||
setbyte sMOVEEND_STATE, 0xF
|
||||
moveend 0x1, 0x0
|
||||
finishaction
|
||||
|
||||
gUnknown_082DBEBD:: @ 82DBEBD
|
||||
.incbin "baserom.gba", 0x2dbebd, 0x7
|
||||
BattleScript_RunByUsingItem::
|
||||
playse SE_NIGERU
|
||||
setbyte gBattleOutcome, RAN
|
||||
finishturn
|
||||
|
||||
gUnknown_082DBEC4:: @ 82DBEC4
|
||||
.incbin "baserom.gba", 0x2dbec4, 0x9
|
||||
BattleScript_ActionWatchesCarefully::
|
||||
printstring STRINGID_PKMNWATCHINGCAREFULLY
|
||||
waitmessage 0x40
|
||||
end2
|
||||
|
||||
gUnknown_082DBECD:: @ 82DBECD
|
||||
.incbin "baserom.gba", 0x2dbecd, 0x16
|
||||
BattleScript_ActionGetNear::
|
||||
printfromtable gSafariGetNearStringIds
|
||||
waitmessage 0x40
|
||||
end2
|
||||
|
||||
gUnknown_082DBEE3:: @ 82DBEE3
|
||||
.incbin "baserom.gba", 0x2dbee3, 0x15
|
||||
BattleScript_ActionThrowPokeblock::
|
||||
printstring STRINGID_THREWPOKEBLOCKATPKMN
|
||||
waitmessage 0x40
|
||||
playanimation ATTACKER, ANIM_x4, NULL
|
||||
printfromtable gSafariPokeblockResultStringIds
|
||||
waitmessage 0x40
|
||||
end2
|
||||
|
||||
BattleScript_82DBEE3::
|
||||
printstring STRINGID_RETURNMON
|
||||
waitmessage 0x40
|
||||
returnatktoball
|
||||
waitstate
|
||||
trainerslidein TARGET
|
||||
waitstate
|
||||
printstring STRINGID_YOUTHROWABALLNOWRIGHT
|
||||
waitmessage 0x40
|
||||
end2
|
||||
|
||||
+1
-1
@@ -682,7 +682,7 @@ gMonIcon_Egg:: @ 8D8FC74
|
||||
|
||||
.incbin "baserom.gba", 0xd90074, 0x1524
|
||||
|
||||
gUnknown_08D91598:: @ 8D91598
|
||||
sBlenderCenterGfx:: @ 8D91598
|
||||
.incbin "baserom.gba", 0xd91598, 0x820
|
||||
|
||||
gUnknown_08D91DB8:: @ 8D91DB8
|
||||
|
||||
@@ -116,7 +116,7 @@ Route111_EventScript_2907FB:: @ 82907FB
|
||||
specialvar VAR_RESULT, sub_81393FC
|
||||
compare_var_to_value VAR_RESULT, 1
|
||||
goto_eq Route111_EventScript_290829
|
||||
special rock_smash_wild_pokemon_encounter
|
||||
special RockSmashWildEncounter
|
||||
compare_var_to_value VAR_RESULT, 0
|
||||
goto_eq Route111_EventScript_290829
|
||||
waitstate
|
||||
|
||||
@@ -127,7 +127,7 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9
|
||||
clearflag FLAG_0x3E6
|
||||
clearflag FLAG_0x3E5
|
||||
setflag FLAG_0x347
|
||||
setflag FLAG_0x053
|
||||
setflag FLAG_LEGENDARIES_IN_SOOTOPOLIS
|
||||
clearflag FLAG_0x3B0
|
||||
clearflag FLAG_0x3B1
|
||||
setflag FLAG_SYS_WEATHER_CTRL
|
||||
|
||||
@@ -545,7 +545,7 @@ SootopolisCity_EventScript_1E5C1E:: @ 81E5C1E
|
||||
waitstate
|
||||
clearflag FLAG_SYS_WEATHER_CTRL
|
||||
setvar VAR_0x40CA, 3
|
||||
clearflag FLAG_0x053
|
||||
clearflag FLAG_LEGENDARIES_IN_SOOTOPOLIS
|
||||
fadenewbgm BGM_RUNECITY
|
||||
delay 120
|
||||
clearflag FLAG_SPECIAL_FLAG_0x4000
|
||||
@@ -598,7 +598,7 @@ SootopolisCity_EventScript_1E5CCE:: @ 81E5CCE
|
||||
waitstate
|
||||
clearflag FLAG_SYS_WEATHER_CTRL
|
||||
setvar VAR_0x40CA, 2
|
||||
clearflag FLAG_0x053
|
||||
clearflag FLAG_LEGENDARIES_IN_SOOTOPOLIS
|
||||
fadenewbgm BGM_NAMINORI
|
||||
delay 120
|
||||
clearflag FLAG_SPECIAL_FLAG_0x4000
|
||||
|
||||
@@ -290,7 +290,7 @@ LilycoveCity_ContestLobby_EventScript_293CEE:: @ 8293CEE
|
||||
checkitem ITEM_POKEBLOCK_CASE, 1
|
||||
compare_var_to_value VAR_RESULT, 0
|
||||
goto_eq LilycoveCity_ContestLobby_EventScript_293D43
|
||||
specialvar VAR_RESULT, sub_8136EF4
|
||||
specialvar VAR_RESULT, GetFirstFreePokeblockSlot
|
||||
compare_var_to_value VAR_RESULT, 65535
|
||||
goto_eq LilycoveCity_ContestLobby_EventScript_293D39
|
||||
specialvar VAR_RESULT, PlayerHasBerries
|
||||
@@ -303,7 +303,7 @@ LilycoveCity_ContestLobby_EventScript_293CEE:: @ 8293CEE
|
||||
LilycoveCity_ContestLobby_EventScript_293D2C:: @ 8293D2C
|
||||
copyvar VAR_0x8004, VAR_0x8009
|
||||
fadescreen 1
|
||||
special sub_807FA80
|
||||
special DoBerryBlending
|
||||
waitstate
|
||||
releaseall
|
||||
end
|
||||
@@ -365,7 +365,7 @@ LilycoveCity_ContestLobby_EventScript_293DC6:: @ 8293DC6
|
||||
compare_var_to_value VAR_RESULT, 0
|
||||
goto_eq LilycoveCity_ContestLobby_EventScript_293E14
|
||||
msgbox LilycoveCity_ContestLobby_Text_293237, 4
|
||||
specialvar VAR_RESULT, sub_8136EF4
|
||||
specialvar VAR_RESULT, GetFirstFreePokeblockSlot
|
||||
compare_var_to_value VAR_RESULT, 65535
|
||||
goto_if 5, LilycoveCity_ContestLobby_EventScript_293D91
|
||||
compare_var_to_value VAR_RESULT, 65535
|
||||
@@ -431,7 +431,7 @@ LilycoveCity_ContestLobby_EventScript_293EA3:: @ 8293EA3
|
||||
compare_var_to_value VAR_RESULT, 0
|
||||
goto_eq LilycoveCity_ContestLobby_EventScript_293EF1
|
||||
msgbox LilycoveCity_ContestLobby_Text_29354E, 4
|
||||
specialvar VAR_RESULT, sub_8136EF4
|
||||
specialvar VAR_RESULT, GetFirstFreePokeblockSlot
|
||||
compare_var_to_value VAR_RESULT, 65535
|
||||
goto_if 5, LilycoveCity_ContestLobby_EventScript_293E6E
|
||||
compare_var_to_value VAR_RESULT, 65535
|
||||
@@ -470,7 +470,7 @@ LilycoveCity_ContestLobby_EventScript_293F28:: @ 8293F28
|
||||
specialvar VAR_RESULT, PlayerHasBerries
|
||||
compare_var_to_value VAR_RESULT, 0
|
||||
goto_eq LilycoveCity_ContestLobby_EventScript_293F1E
|
||||
specialvar VAR_RESULT, sub_8136EF4
|
||||
specialvar VAR_RESULT, GetFirstFreePokeblockSlot
|
||||
compare_var_to_value VAR_RESULT, 65535
|
||||
goto_if 5, LilycoveCity_ContestLobby_EventScript_293F64
|
||||
compare_var_to_value VAR_RESULT, 65535
|
||||
@@ -536,7 +536,7 @@ LilycoveCity_ContestLobby_EventScript_293FF8:: @ 8293FF8
|
||||
checkitem ITEM_POKEBLOCK_CASE, 1
|
||||
compare_var_to_value VAR_RESULT, 0
|
||||
goto_eq LilycoveCity_ContestLobby_EventScript_294028
|
||||
specialvar VAR_RESULT, sub_8136EF4
|
||||
specialvar VAR_RESULT, GetFirstFreePokeblockSlot
|
||||
compare_var_to_value VAR_RESULT, 65535
|
||||
goto_eq LilycoveCity_ContestLobby_EventScript_294028
|
||||
dodailyevents
|
||||
@@ -570,7 +570,7 @@ LilycoveCity_ContestLobby_EventScript_294055:: @ 8294055
|
||||
checkitem ITEM_POKEBLOCK_CASE, 1
|
||||
compare_var_to_value VAR_RESULT, 0
|
||||
goto_eq LilycoveCity_ContestLobby_EventScript_29416C
|
||||
specialvar VAR_RESULT, sub_8136EF4
|
||||
specialvar VAR_RESULT, GetFirstFreePokeblockSlot
|
||||
compare_var_to_value VAR_RESULT, 65535
|
||||
goto_if 5, LilycoveCity_ContestLobby_EventScript_294092
|
||||
compare_var_to_value VAR_RESULT, 65535
|
||||
@@ -635,7 +635,7 @@ LilycoveCity_ContestLobby_EventScript_294147:: @ 8294147
|
||||
removeobject 239
|
||||
removeobject 238
|
||||
removeobject 237
|
||||
special sub_807FA80
|
||||
special DoBerryBlending
|
||||
waitstate
|
||||
releaseall
|
||||
end
|
||||
|
||||
+3
-3
@@ -170,8 +170,8 @@ gSpecials:: @ 81DBA64
|
||||
def_special sub_80B086C
|
||||
def_special ChangePokemonNickname
|
||||
def_special sub_81B94B0
|
||||
def_special sub_8136EF4
|
||||
def_special sub_807FA80
|
||||
def_special GetFirstFreePokeblockSlot
|
||||
def_special DoBerryBlending
|
||||
def_special sub_8142BC8
|
||||
def_special sub_813BD60
|
||||
def_special sub_813BCA8
|
||||
@@ -181,7 +181,7 @@ gSpecials:: @ 81DBA64
|
||||
def_special sub_813BF60
|
||||
def_special sub_813BA60
|
||||
def_special sub_813BF7C
|
||||
def_special rock_smash_wild_pokemon_encounter
|
||||
def_special RockSmashWildEncounter
|
||||
def_special GabbyAndTyGetBattleNum
|
||||
def_special GabbyAndTyAfterInterview
|
||||
def_special GabbyAndTyBeforeInterview
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
|
||||
.incbin "baserom.gba", 0x55370c, 0x188
|
||||
|
||||
gUnknown_08553894:: @ 8553894
|
||||
gBattlePyramidWildMonHeaders:: @ 8553894
|
||||
.incbin "baserom.gba", 0x553894, 0x180
|
||||
|
||||
gUnknown_08553A14:: @ 8553A14
|
||||
gBattlePikeWildMonHeaders:: @ 8553A14
|
||||
.incbin "baserom.gba", 0x553a14, 0x64
|
||||
|
||||
gUnknown_08553A78:: @ 8553A78
|
||||
gWildFeebasRoute119Data:: @ 8553A78
|
||||
.incbin "baserom.gba", 0x553a78, 0x4
|
||||
|
||||
gUnknown_08553A7C:: @ 8553A7C
|
||||
gRoute119WaterTileData:: @ 8553A7C
|
||||
.incbin "baserom.gba", 0x553a7c, 0x14
|
||||
|
||||
+6
-11
@@ -272,6 +272,8 @@
|
||||
#define BS_GET_TARGET 0
|
||||
#define BS_GET_ATTACKER 1
|
||||
#define BS_GET_EFFECT_BANK 2
|
||||
#define BS_GET_gBank1 3
|
||||
#define BS_GET_BANK_0 7
|
||||
#define BS_ATTACKER_WITH_PARTNER 4 // for atk98_status_icon_update
|
||||
#define BS_GET_ATTACKER_SIDE 8 // for atk1E_jumpifability
|
||||
#define BS_GET_NOT_ATTACKER_SIDE 9 // for atk1E_jumpifability
|
||||
@@ -704,13 +706,6 @@ struct BattleStruct
|
||||
|
||||
extern struct BattleStruct* gBattleStruct;
|
||||
|
||||
#define MEME_ACCESS_U8(structName, structPtr, arrayId, offsetField, value) \
|
||||
{ \
|
||||
u8* var2 = (u8*)((u32)(arrayId)); \
|
||||
var2 = (u32)(structPtr) + var2; \
|
||||
var2[offsetof(struct structName, offsetField)] = value; \
|
||||
}
|
||||
|
||||
#define GET_MOVE_TYPE(move, typeArg) \
|
||||
{ \
|
||||
if (gBattleStruct->dynamicMoveType) \
|
||||
@@ -835,20 +830,20 @@ extern struct BattleStruct* gBattleStruct;
|
||||
#define GET_STAT_BUFF_VALUE(n)(((n >> 4) & 7)) // 0x10, 0x20, 0x40
|
||||
#define STAT_BUFF_NEGATIVE 0x80 // 0x80, the sign bit
|
||||
|
||||
#define SET_STAT_BUFF_ID(n)((n & 0xF))
|
||||
#define SET_STAT_BUFF_VALUE(n)(((s8)(((s8)(n) << 4)) & 0xF0))
|
||||
|
||||
#define SET_STATCHANGER(statId, stage, goesDown)(gBattleScripting.statChanger = (statId) + (stage << 4) + (goesDown << 7))
|
||||
|
||||
struct BattleScripting
|
||||
{
|
||||
s32 painSplitHp;
|
||||
s32 bideDmg;
|
||||
u8 multihitString[6];
|
||||
u8 dmgMultiplier;
|
||||
u8 field_F;
|
||||
u8 twoTurnsMoveStringId;
|
||||
u8 animArg1;
|
||||
u8 animArg2;
|
||||
u8 field_12;
|
||||
u8 field_13;
|
||||
u16 tripleKickPower;
|
||||
u8 atk49_state;
|
||||
u8 field_15;
|
||||
u8 field_16;
|
||||
|
||||
@@ -198,7 +198,7 @@ void EmitBallThrowAnim(u8 bufferId, u8 caseId);
|
||||
void EmitPause(u8 bufferId, u8 toWait, void *data); // unused
|
||||
void EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr, u8 multihit);
|
||||
void EmitPrintString(u8 bufferId, u16 stringId);
|
||||
void EmitPrintStringPlayerOnly(u8 bufferId, u16 stringId);
|
||||
void EmitPrintSelectionString(u8 bufferId, u16 stringId);
|
||||
void EmitChooseAction(u8 bufferId, u8 arg1, u16 arg2);
|
||||
void EmitUnknownYesNoBox(u8 bufferId);
|
||||
void EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct *movePpData);
|
||||
@@ -224,7 +224,7 @@ void EmitCmd39(u8 bufferId); // unused
|
||||
void EmitCmd40(u8 bufferId); // unused
|
||||
void EmitHitAnimation(u8 bufferId);
|
||||
void EmitCmd42(u8 bufferId);
|
||||
void EmitEffectivenessSound(u8 bufferId, u16 songId);
|
||||
void EmitPlaySE(u8 bufferId, u16 songId);
|
||||
void EmitPlayFanfareOrBGM(u8 bufferId, u16 songId, bool8 playBGM);
|
||||
void EmitFaintingCry(u8 bufferId);
|
||||
void EmitIntroSlide(u8 bufferId, u8 terrainId);
|
||||
|
||||
@@ -67,13 +67,21 @@
|
||||
#define B_BUFF_STAT 5
|
||||
#define B_BUFF_SPECIES 6
|
||||
#define B_BUFF_MON_NICK 7
|
||||
#define B_BUFF_NEGATIVE_FLAVOUR 8
|
||||
#define B_BUFF_NEGATIVE_FLAVOR 8
|
||||
#define B_BUFF_ABILITY 9
|
||||
#define B_BUFF_ITEM 10
|
||||
|
||||
#define B_BUFF_PLACEHOLDER_BEGIN 0xFD
|
||||
#define B_BUFF_EOS 0xFF
|
||||
|
||||
#define PREPARE_FLAVOR_BUFFER(textVar, flavorId) \
|
||||
{ \
|
||||
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
|
||||
textVar[1] = B_BUFF_NEGATIVE_FLAVOR; \
|
||||
textVar[2] = flavorId; \
|
||||
textVar[3] = B_BUFF_EOS; \
|
||||
}
|
||||
|
||||
#define PREPARE_STAT_BUFFER(textVar, statId) \
|
||||
{ \
|
||||
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
|
||||
@@ -189,7 +197,7 @@
|
||||
struct StringInfoBattle
|
||||
{
|
||||
u16 currentMove;
|
||||
u16 lastMove;
|
||||
u16 originallyUsedMove;
|
||||
u16 lastItem;
|
||||
u8 lastAbility;
|
||||
u8 scrActive;
|
||||
|
||||
@@ -153,12 +153,12 @@ enum
|
||||
EFFECT_EARTHQUAKE,
|
||||
EFFECT_FUTURE_SIGHT,
|
||||
EFFECT_GUST,
|
||||
EFFECT_FLINCH_HIT_2, // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM
|
||||
EFFECT_STOMP, // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM
|
||||
EFFECT_SOLARBEAM,
|
||||
EFFECT_THUNDER,
|
||||
EFFECT_TELEPORT,
|
||||
EFFECT_BEAT_UP,
|
||||
EFFECT_FLY,
|
||||
EFFECT_SEMI_INVULNERABLE,
|
||||
EFFECT_DEFENSE_CURL,
|
||||
EFFECT_SOFTBOILED,
|
||||
EFFECT_FAKE_OUT,
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef GUARD_BATTLE_SCRIPT_COMMANDS_H
|
||||
#define GUARD_BATTLE_SCRIPT_COMMANDS_H
|
||||
|
||||
#define NO_ACC_CALC 0xFFFE
|
||||
#define NO_ACC_CALC_CHECK_LOCK_ON 0xFFFF
|
||||
#define ACC_CURR_MOVE 0
|
||||
|
||||
#define CMP_EQUAL 0x0
|
||||
#define CMP_NOT_EQUAL 0x1
|
||||
#define CMP_GREATER_THAN 0x2
|
||||
@@ -21,7 +25,7 @@
|
||||
|
||||
#define VARIOUS_CANCEL_MULTI_TURN_MOVES 0
|
||||
#define VARIOUS_SET_MAGIC_COAT_TARGET 1
|
||||
#define VARIOUS_CAN_RUN_FROM_BATTLE 2
|
||||
#define VARIOUS_IS_RUNNING_IMPOSSIBLE 2
|
||||
#define VARIOUS_GET_MOVE_TARGET 3
|
||||
#define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5
|
||||
#define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6
|
||||
|
||||
@@ -0,0 +1,640 @@
|
||||
#ifndef GUARD_BATTLE_SCRIPTS_H
|
||||
#define GUARD_BATTLE_SCRIPTS_H
|
||||
|
||||
extern const u8 BattleScript_EffectHit[];
|
||||
extern const u8 BattleScript_HitFromAtkCanceler[];
|
||||
extern const u8 BattleScript_HitFromAccCheck[];
|
||||
extern const u8 BattleScript_HitFromAtkString[];
|
||||
extern const u8 BattleScript_HitFromCritCalc[];
|
||||
extern const u8 BattleScript_HitFromAtkAnimation[];
|
||||
extern const u8 BattleScript_MoveEnd[];
|
||||
extern const u8 BattleScript_MakeMoveMissed[];
|
||||
extern const u8 BattleScript_PrintMoveMissed[];
|
||||
extern const u8 BattleScript_MoveMissedPause[];
|
||||
extern const u8 BattleScript_MoveMissed[];
|
||||
extern const u8 BattleScript_EffectSleep[];
|
||||
extern const u8 BattleScript_AlreadyAsleep[];
|
||||
extern const u8 BattleScript_WasntAffected[];
|
||||
extern const u8 BattleScript_CantMakeAsleep[];
|
||||
extern const u8 BattleScript_EffectPoisonHit[];
|
||||
extern const u8 BattleScript_EffectAbsorb[];
|
||||
extern const u8 BattleScript_82D8B26[];
|
||||
extern const u8 BattleScript_82D8B2E[];
|
||||
extern const u8 BattleScript_82D8B45[];
|
||||
extern const u8 BattleScript_EffectBurnHit[];
|
||||
extern const u8 BattleScript_EffectFreezeHit[];
|
||||
extern const u8 BattleScript_EffectParalyzeHit[];
|
||||
extern const u8 BattleScript_EffectExplosion[];
|
||||
extern const u8 BattleScript_82D8B94[];
|
||||
extern const u8 BattleScript_82D8B96[];
|
||||
extern const u8 BattleScript_82D8BCF[];
|
||||
extern const u8 BattleScript_82D8BEA[];
|
||||
extern const u8 BattleScript_EffectDreamEater[];
|
||||
extern const u8 BattleScript_82D8C0E[];
|
||||
extern const u8 BattleScript_82D8C18[];
|
||||
extern const u8 BattleScript_82D8C56[];
|
||||
extern const u8 BattleScript_EffectMirrorMove[];
|
||||
extern const u8 BattleScript_EffectAttackUp[];
|
||||
extern const u8 BattleScript_EffectDefenseUp[];
|
||||
extern const u8 BattleScript_EffectSpecialAttackUp[];
|
||||
extern const u8 BattleScript_EffectEvasionUp[];
|
||||
extern const u8 BattleScript_EffectStatUp[];
|
||||
extern const u8 BattleScript_EffectStatUpAfterAtkCanceler[];
|
||||
extern const u8 BattleScript_StatUpAttackAnim[];
|
||||
extern const u8 BattleScript_StatUpDoAnim[];
|
||||
extern const u8 BattleScript_StatUpPrintString[];
|
||||
extern const u8 BattleScript_StatUpEnd[];
|
||||
extern const u8 BattleScript_StatUp[];
|
||||
extern const u8 BattleScript_EffectAttackDown[];
|
||||
extern const u8 BattleScript_EffectDefenseDown[];
|
||||
extern const u8 BattleScript_EffectSpeedDown[];
|
||||
extern const u8 BattleScript_EffectAccuracyDown[];
|
||||
extern const u8 BattleScript_EffectEvasionDown[];
|
||||
extern const u8 BattleScript_EffectStatDown[];
|
||||
extern const u8 BattleScript_StatDownDoAnim[];
|
||||
extern const u8 BattleScript_StatDownPrintString[];
|
||||
extern const u8 BattleScript_82D8D60[];
|
||||
extern const u8 BattleScript_StatDown[];
|
||||
extern const u8 BattleScript_EffectHaze[];
|
||||
extern const u8 BattleScript_EffectBide[];
|
||||
extern const u8 BattleScript_EffectRampage[];
|
||||
extern const u8 BattleScript_82D8DAE[];
|
||||
extern const u8 BattleScript_EffectRoar[];
|
||||
extern const u8 BattleScript_EffectMultiHit[];
|
||||
extern const u8 BattleScript_82D8DFD[];
|
||||
extern const u8 BattleScript_82D8E1F[];
|
||||
extern const u8 BattleScript_82D8E71[];
|
||||
extern const u8 BattleScript_82D8E74[];
|
||||
extern const u8 BattleScript_82D8E93[];
|
||||
extern const u8 BattleScript_EffectConversion[];
|
||||
extern const u8 BattleScript_EffectFlinchHit[];
|
||||
extern const u8 BattleScript_EffectRestoreHp[];
|
||||
extern const u8 BattleScript_EffectToxic[];
|
||||
extern const u8 BattleScript_AlreadyPoisoned[];
|
||||
extern const u8 BattleScript_ImmunityProtected[];
|
||||
extern const u8 BattleScript_EffectPayDay[];
|
||||
extern const u8 BattleScript_EffectLightScreen[];
|
||||
extern const u8 BattleScript_EffectTriAttack[];
|
||||
extern const u8 BattleScript_EffectRest[];
|
||||
extern const u8 BattleScript_RestCantSleep[];
|
||||
extern const u8 BattleScript_RestIsAlreadyAsleep[];
|
||||
extern const u8 BattleScript_EffectOHKO[];
|
||||
extern const u8 BattleScript_KOFail[];
|
||||
extern const u8 BattleScript_EffectRazorWind[];
|
||||
extern const u8 BattleScript_TwoTurnMovesSecondTurn[];
|
||||
extern const u8 BattleScriptFirstChargingTurn[];
|
||||
extern const u8 BattleScript_EffectSuperFang[];
|
||||
extern const u8 BattleScript_EffectDragonRage[];
|
||||
extern const u8 BattleScript_EffectTrap[];
|
||||
extern const u8 BattleScript_DoWrapEffect[];
|
||||
extern const u8 BattleScript_EffectDoubleHit[];
|
||||
extern const u8 BattleScript_EffectRecoilIfMiss[];
|
||||
extern const u8 BattleScript_82D9135[];
|
||||
extern const u8 BattleScript_EffectMist[];
|
||||
extern const u8 BattleScript_EffectFocusEnergy[];
|
||||
extern const u8 BattleScript_EffectRecoil[];
|
||||
extern const u8 BattleScript_EffectConfuse[];
|
||||
extern const u8 BattleScript_AlreadyConfused[];
|
||||
extern const u8 BattleScript_EffectAttackUp2[];
|
||||
extern const u8 BattleScript_EffectDefenseUp2[];
|
||||
extern const u8 BattleScript_EffectSpeedUp2[];
|
||||
extern const u8 BattleScript_EffectSpecialAttackUp2[];
|
||||
extern const u8 BattleScript_EffectSpecialDefenseUp2[];
|
||||
extern const u8 BattleScript_EffectTransform[];
|
||||
extern const u8 BattleScript_EffectAttackDown2[];
|
||||
extern const u8 BattleScript_EffectDefenseDown2[];
|
||||
extern const u8 BattleScript_EffectSpeedDown2[];
|
||||
extern const u8 BattleScript_EffectSpecialDefenseDown2[];
|
||||
extern const u8 BattleScript_EffectReflect[];
|
||||
extern const u8 BattleScript_PrintReflectLightScreenSafeguardString[];
|
||||
extern const u8 BattleScript_EffectPoison[];
|
||||
extern const u8 BattleScript_EffectParalyze[];
|
||||
extern const u8 BattleScript_AlreadyParalyzed[];
|
||||
extern const u8 BattleScript_LimberProtected[];
|
||||
extern const u8 BattleScript_EffectAttackDownHit[];
|
||||
extern const u8 BattleScript_EffectDefenseDownHit[];
|
||||
extern const u8 BattleScript_EffectSpeedDownHit[];
|
||||
extern const u8 BattleScript_EffectSpecialAttackDownHit[];
|
||||
extern const u8 BattleScript_EffectSpecialDefenseDownHit[];
|
||||
extern const u8 BattleScript_EffectAccuracyDownHit[];
|
||||
extern const u8 BattleScript_EffectSkyAttack[];
|
||||
extern const u8 BattleScript_EffectConfuseHit[];
|
||||
extern const u8 BattleScript_EffectTwineedle[];
|
||||
extern const u8 BattleScript_EffectSubstitute[];
|
||||
extern const u8 BattleScript_SubstituteAnim[];
|
||||
extern const u8 BattleScript_SubstituteString[];
|
||||
extern const u8 BattleScript_AlreadyHasSubstitute[];
|
||||
extern const u8 BattleScript_EffectRecharge[];
|
||||
extern const u8 BattleScript_MoveUsedMustRecharge[];
|
||||
extern const u8 BattleScript_EffectRage[];
|
||||
extern const u8 BattleScript_RageMiss[];
|
||||
extern const u8 BattleScript_EffectMimic[];
|
||||
extern const u8 BattleScript_EffectMetronome[];
|
||||
extern const u8 BattleScript_EffectLeechSeed[];
|
||||
extern const u8 BattleScript_DoLeechSeed[];
|
||||
extern const u8 BattleScript_EffectSplash[];
|
||||
extern const u8 BattleScript_EffectDisable[];
|
||||
extern const u8 BattleScript_EffectLevelDamage[];
|
||||
extern const u8 BattleScript_EffectPsywave[];
|
||||
extern const u8 BattleScript_EffectCounter[];
|
||||
extern const u8 BattleScript_EffectEncore[];
|
||||
extern const u8 BattleScript_EffectPainSplit[];
|
||||
extern const u8 BattleScript_EffectSnore[];
|
||||
extern const u8 BattleScript_SnoreIsAsleep[];
|
||||
extern const u8 BattleScript_DoSnore[];
|
||||
extern const u8 BattleScript_EffectConversion2[];
|
||||
extern const u8 BattleScript_EffectLockOn[];
|
||||
extern const u8 BattleScript_EffectSketch[];
|
||||
extern const u8 BattleScript_EffectSleepTalk[];
|
||||
extern const u8 BattleScript_SleepTalkIsAsleep[];
|
||||
extern const u8 BattleScript_SleepTalkUsingMove[];
|
||||
extern const u8 BattleScript_EffectDestinyBond[];
|
||||
extern const u8 BattleScript_EffectFlail[];
|
||||
extern const u8 BattleScript_EffectSpite[];
|
||||
extern const u8 BattleScript_EffectHealBell[];
|
||||
extern const u8 BattleScript_CheckHealBellMon2Unaffected[];
|
||||
extern const u8 BattleScript_PartyHealEnd[];
|
||||
extern const u8 BattleScript_EffectTripleKick[];
|
||||
extern const u8 BattleScript_TripleKickLoop[];
|
||||
extern const u8 BattleScript_DoTripleKickAttack[];
|
||||
extern const u8 BattleScript_TripleKickNoMoreHits[];
|
||||
extern const u8 BattleScript_TripleKickPrintStrings[];
|
||||
extern const u8 BattleScript_TripleKickEnd[];
|
||||
extern const u8 BattleScript_EffectThief[];
|
||||
extern const u8 BattleScript_EffectMeanLook[];
|
||||
extern const u8 BattleScript_EffectNightmare[];
|
||||
extern const u8 BattleScript_NightmareWorked[];
|
||||
extern const u8 BattleScript_EffectMinimize[];
|
||||
extern const u8 BattleScript_EffectCurse[];
|
||||
extern const u8 BattleScript_CurseTrySpeed[];
|
||||
extern const u8 BattleScript_CurseTryAttack[];
|
||||
extern const u8 BattleScript_CurseTryDefence[];
|
||||
extern const u8 BattleScript_CurseEnd[];
|
||||
extern const u8 BattleScript_GhostCurse[];
|
||||
extern const u8 BattleScript_DoGhostCurse[];
|
||||
extern const u8 BattleScript_EffectProtect[];
|
||||
extern const u8 BattleScript_EffectSpikes[];
|
||||
extern const u8 BattleScript_EffectForesight[];
|
||||
extern const u8 BattleScript_EffectPerishSong[];
|
||||
extern const u8 BattleScript_PerishSongLoop[];
|
||||
extern const u8 BattleScript_PerishSongLoopIncrement[];
|
||||
extern const u8 BattleScript_PerishSongNotAffected[];
|
||||
extern const u8 BattleScript_EffectSandstorm[];
|
||||
extern const u8 BattleScript_EffectRollout[];
|
||||
extern const u8 BattleScript_RolloutCheckAccuracy[];
|
||||
extern const u8 BattleScript_RolloutHit[];
|
||||
extern const u8 BattleScript_EffectSwagger[];
|
||||
extern const u8 BattleScript_SwaggerTryConfuse[];
|
||||
extern const u8 BattleScript_EffectFuryCutter[];
|
||||
extern const u8 BattleScript_FuryCutterHit[];
|
||||
extern const u8 BattleScript_EffectAttract[];
|
||||
extern const u8 BattleScript_EffectReturn[];
|
||||
extern const u8 BattleScript_EffectPresent[];
|
||||
extern const u8 BattleScript_EffectSafeguard[];
|
||||
extern const u8 BattleScript_EffectThawHit[];
|
||||
extern const u8 BattleScript_EffectMagnitude[];
|
||||
extern const u8 BattleScript_EffectBatonPass[];
|
||||
extern const u8 BattleScript_EffectRapidSpin[];
|
||||
extern const u8 BattleScript_EffectSonicboom[];
|
||||
extern const u8 BattleScript_EffectMorningSun[];
|
||||
extern const u8 BattleScript_EffectHiddenPower[];
|
||||
extern const u8 BattleScript_EffectRainDance[];
|
||||
extern const u8 BattleScript_MoveWeatherChange[];
|
||||
extern const u8 BattleScript_EffectSunnyDay[];
|
||||
extern const u8 BattleScript_EffectDefenseUpHit[];
|
||||
extern const u8 BattleScript_EffectAttackUpHit[];
|
||||
extern const u8 BattleScript_EffectAllStatsUpHit[];
|
||||
extern const u8 BattleScript_EffectBellyDrum[];
|
||||
extern const u8 BattleScript_EffectPsychUp[];
|
||||
extern const u8 BattleScript_EffectMirrorCoat[];
|
||||
extern const u8 BattleScript_EffectSkullBash[];
|
||||
extern const u8 BattleScript_SkullBashEnd[];
|
||||
extern const u8 BattleScript_EffectTwister[];
|
||||
extern const u8 BattleScript_FlinchEffect[];
|
||||
extern const u8 BattleScript_EffectEarthquake[];
|
||||
extern const u8 BattleScript_82D9C44[];
|
||||
extern const u8 BattleScript_82D9C64[];
|
||||
extern const u8 BattleScript_82D9C73[];
|
||||
extern const u8 BattleScript_82D9CAC[];
|
||||
extern const u8 BattleScript_EffectFutureSight[];
|
||||
extern const u8 BattleScript_EffectGust[];
|
||||
extern const u8 BattleScript_EffectStomp[];
|
||||
extern const u8 BattleScript_EffectSolarbeam[];
|
||||
extern const u8 BattleScript_SolarbeamDecideTurn[];
|
||||
extern const u8 BattleScript_SolarbeamOnFirstTurn[];
|
||||
extern const u8 BattleScript_EffectThunder[];
|
||||
extern const u8 BattleScript_EffectTeleport[];
|
||||
extern const u8 BattleScript_EffectBeatUp[];
|
||||
extern const u8 BattleScript_BeatUpLoop[];
|
||||
extern const u8 BattleScript_BeatUpAttack[];
|
||||
extern const u8 BattleScript_BeatUpEnd[];
|
||||
extern const u8 BattleScript_EffectSemiInvulnerable[];
|
||||
extern const u8 BattleScript_FirstTurnBounce[];
|
||||
extern const u8 BattleScript_FirstTurnDive[];
|
||||
extern const u8 BattleScript_FirstTurnFly[];
|
||||
extern const u8 BattleScript_FirstTurnSemiInvulnerable[];
|
||||
extern const u8 BattleScript_SecondTurnSemiInvulnerable[];
|
||||
extern const u8 BattleScript_SemiInvulnerableTryHit[];
|
||||
extern const u8 BattleScript_SemiInvulnerableMiss[];
|
||||
extern const u8 BattleScript_EffectDefenseCurl[];
|
||||
extern const u8 BattleScript_DefenseCurlDoStatUpAnim[];
|
||||
extern const u8 BattleScript_EffectSoftboiled[];
|
||||
extern const u8 BattleScript_PresentHealTarget[];
|
||||
extern const u8 BattleScript_AlreadyAtFullHp[];
|
||||
extern const u8 BattleScript_EffectFakeOut[];
|
||||
extern const u8 BattleScript_ButItFailedAtkStringPpReduce[];
|
||||
extern const u8 BattleScript_ButItFailedPpReduce[];
|
||||
extern const u8 BattleScript_ButItFailed[];
|
||||
extern const u8 BattleScript_NotAffected[];
|
||||
extern const u8 BattleScript_EffectUproar[];
|
||||
extern const u8 BattleScript_UproarHit[];
|
||||
extern const u8 BattleScript_EffectStockpile[];
|
||||
extern const u8 BattleScript_EffectSpitUp[];
|
||||
extern const u8 BattleScript_SpitUpFail[];
|
||||
extern const u8 BattleScript_82D9FA2[];
|
||||
extern const u8 BattleScript_EffectSwallow[];
|
||||
extern const u8 BattleScript_SwallowFail[];
|
||||
extern const u8 BattleScript_EffectHail[];
|
||||
extern const u8 BattleScript_EffectTorment[];
|
||||
extern const u8 BattleScript_EffectFlatter[];
|
||||
extern const u8 BattleScript_FlatterTryConfuse[];
|
||||
extern const u8 BattleScript_EffectWillOWisp[];
|
||||
extern const u8 BattleScript_WaterVeilPrevents[];
|
||||
extern const u8 BattleScript_AlreadyBurned[];
|
||||
extern const u8 BattleScript_EffectMemento[];
|
||||
extern const u8 BattleScript_82DA119[];
|
||||
extern const u8 BattleScript_82DA13C[];
|
||||
extern const u8 BattleScript_82DA148[];
|
||||
extern const u8 BattleScript_82DA153[];
|
||||
extern const u8 BattleScript_82DA15A[];
|
||||
extern const u8 BattleScript_EffectFacade[];
|
||||
extern const u8 BattleScript_FacadeDoubleDmg[];
|
||||
extern const u8 BattleScript_EffectFocusPunch[];
|
||||
extern const u8 BattleScript_EffectSmellingsalt[];
|
||||
extern const u8 BattleScript_82DA1BA[];
|
||||
extern const u8 BattleScript_EffectFollowMe[];
|
||||
extern const u8 BattleScript_EffectNaturePower[];
|
||||
extern const u8 BattleScript_EffectCharge[];
|
||||
extern const u8 BattleScript_EffectTaunt[];
|
||||
extern const u8 BattleScript_EffectHelpingHand[];
|
||||
extern const u8 BattleScript_EffectTrick[];
|
||||
extern const u8 BattleScript_EffectRolePlay[];
|
||||
extern const u8 BattleScript_EffectWish[];
|
||||
extern const u8 BattleScript_EffectAssist[];
|
||||
extern const u8 BattleScript_EffectIngrain[];
|
||||
extern const u8 BattleScript_EffectSuperpower[];
|
||||
extern const u8 BattleScript_EffectMagicCoat[];
|
||||
extern const u8 BattleScript_EffectRecycle[];
|
||||
extern const u8 BattleScript_EffectRevenge[];
|
||||
extern const u8 BattleScript_EffectBrickBreak[];
|
||||
extern const u8 BattleScript_82DA306[];
|
||||
extern const u8 BattleScript_82DA319[];
|
||||
extern const u8 BattleScript_EffectYawn[];
|
||||
extern const u8 BattleScript_82DA378[];
|
||||
extern const u8 BattleScript_82DA382[];
|
||||
extern const u8 BattleScript_EffectKnockOff[];
|
||||
extern const u8 BattleScript_EffectEndeavor[];
|
||||
extern const u8 BattleScript_EffectEruption[];
|
||||
extern const u8 BattleScript_EffectSkillSwap[];
|
||||
extern const u8 BattleScript_EffectImprison[];
|
||||
extern const u8 BattleScript_EffectRefresh[];
|
||||
extern const u8 BattleScript_EffectGrudge[];
|
||||
extern const u8 BattleScript_EffectSnatch[];
|
||||
extern const u8 BattleScript_EffectLowKick[];
|
||||
extern const u8 BattleScript_EffectSecretPower[];
|
||||
extern const u8 BattleScript_EffectDoubleEdge[];
|
||||
extern const u8 BattleScript_EffectTeeterDance[];
|
||||
extern const u8 BattleScript_82DA47B[];
|
||||
extern const u8 BattleScript_82DA4C7[];
|
||||
extern const u8 BattleScript_82DA4D0[];
|
||||
extern const u8 BattleScript_82DA4E5[];
|
||||
extern const u8 BattleScript_82DA4F3[];
|
||||
extern const u8 BattleScript_82DA501[];
|
||||
extern const u8 BattleScript_82DA50F[];
|
||||
extern const u8 BattleScript_82DA520[];
|
||||
extern const u8 BattleScript_EffectMudSport[];
|
||||
extern const u8 BattleScript_EffectPoisonFang[];
|
||||
extern const u8 BattleScript_EffectWeatherBall[];
|
||||
extern const u8 BattleScript_EffectOverheat[];
|
||||
extern const u8 BattleScript_EffectTickle[];
|
||||
extern const u8 BattleScript_TickleDoMoveAnim[];
|
||||
extern const u8 BattleScript_TickleTryLowerDef[];
|
||||
extern const u8 BattleScript_TickleEnd[];
|
||||
extern const u8 BattleScript_CantLowerMultipleStats[];
|
||||
extern const u8 BattleScript_EffectCosmicPower[];
|
||||
extern const u8 BattleScript_CosmicPowerDoMoveAnim[];
|
||||
extern const u8 BattleScript_CosmicPowerTrySpDef[];
|
||||
extern const u8 BattleScript_CosmicPowerEnd[];
|
||||
extern const u8 BattleScript_EffectSkyUppercut[];
|
||||
extern const u8 BattleScript_EffectBulkUp[];
|
||||
extern const u8 BattleScript_BulkUpDoMoveAnim[];
|
||||
extern const u8 BattleScript_BulkUpTryDef[];
|
||||
extern const u8 BattleScript_BulkUpEnd[];
|
||||
extern const u8 BattleScript_EffectCalmMind[];
|
||||
extern const u8 BattleScript_CalmMindDoMoveAnim[];
|
||||
extern const u8 BattleScript_CalmMindTrySpDef[];
|
||||
extern const u8 BattleScript_CalmMindEnd[];
|
||||
extern const u8 BattleScript_CantRaiseMultipleStats[];
|
||||
extern const u8 BattleScript_EffectDragonDance[];
|
||||
extern const u8 BattleScript_DragonDanceDoMoveAnim[];
|
||||
extern const u8 BattleScript_DragonDanceTrySpeed[];
|
||||
extern const u8 BattleScript_DragonDanceEnd[];
|
||||
extern const u8 BattleScript_EffectCamouflage[];
|
||||
extern const u8 BattleScript_FaintAttacker[];
|
||||
extern const u8 BattleScript_FaintTarget[];
|
||||
extern const u8 BattleScript_82DA7C4[];
|
||||
extern const u8 BattleScript_82DA7CD[];
|
||||
extern const u8 BattleScript_82DA816[];
|
||||
extern const u8 BattleScript_82DA8D0[];
|
||||
extern const u8 BattleScript_82DA8F5[];
|
||||
extern const u8 BattleScript_82DA8F6[];
|
||||
extern const u8 BattleScript_82DA8FC[];
|
||||
extern const u8 BattleScript_82DA908[];
|
||||
extern const u8 BattleScript_82DA92C[];
|
||||
extern const u8 BattleScript_LocalTrainerBattleWon[];
|
||||
extern const u8 BattleScript_LocalTwoTrainersDefeated[];
|
||||
extern const u8 BattleScript_LocalBattleWonLoseTexts[];
|
||||
extern const u8 BattleScript_LocalBattleWonReward[];
|
||||
extern const u8 BattleScript_PayDayMoneyAndPickUpItems[];
|
||||
extern const u8 BattleScript_LocalBattleLost[];
|
||||
extern const u8 BattleScript_LocalBattleLostPrintWhiteOut[];
|
||||
extern const u8 BattleScript_LocalBattleLostEnd[];
|
||||
extern const u8 BattleScript_CheckDomeDrew[];
|
||||
extern const u8 BattleScript_LocalBattleLostPrintTrainersWinText[];
|
||||
extern const u8 BattleScript_LocalBattleLostDoTrainer2WinText[];
|
||||
extern const u8 BattleScript_LocalBattleLostEnd_[];
|
||||
extern const u8 BattleScript_82DAA0B[];
|
||||
extern const u8 BattleScript_82DAA31[];
|
||||
extern const u8 BattleScript_LinkBattleWonOrLost[];
|
||||
extern const u8 BattleScript_LinkBattleWonOrLostWaitEnd[];
|
||||
extern const u8 BattleScript_82DAA5C[];
|
||||
extern const u8 BattleScript_82DAA83[];
|
||||
extern const u8 BattleScript_FrontierTrainerBattleWon[];
|
||||
extern const u8 BattleScript_82DAAAB[];
|
||||
extern const u8 BattleScript_82DAAAE[];
|
||||
extern const u8 BattleScript_82DAACB[];
|
||||
extern const u8 BattleScript_82DAADA[];
|
||||
extern const u8 BattleScript_SmokeBallEscape[];
|
||||
extern const u8 BattleScript_RanAwayUsingMonAbility[];
|
||||
extern const u8 BattleScript_GotAwaySafely[];
|
||||
extern const u8 BattleScript_WildMonFled[];
|
||||
extern const u8 BattleScript_PrintCantRunFromTrainer[];
|
||||
extern const u8 BattleScript_PrintFailedToRunString[];
|
||||
extern const u8 BattleScript_PrintCantEscapeFromBattle[];
|
||||
extern const u8 BattleScript_PrintFullBox[];
|
||||
extern const u8 BattleScript_ActionSwitch[];
|
||||
extern const u8 BattleScript_82DAB35[];
|
||||
extern const u8 BattleScript_82DAB37[];
|
||||
extern const u8 BattleScript_82DAB44[];
|
||||
extern const u8 BattleScript_82DAB77[];
|
||||
extern const u8 BattleScript_82DABB8[];
|
||||
extern const u8 BattleScript_Pausex20[];
|
||||
extern const u8 BattleScript_LevelUp[];
|
||||
extern const u8 BattleScript_TryLearnMoveLoop[];
|
||||
extern const u8 BattleScript_AskToLearnMove[];
|
||||
extern const u8 BattleScript_ForgotAndLearnedNewMove[];
|
||||
extern const u8 BattleScript_LearnedNewMove[];
|
||||
extern const u8 BattleScript_LearnMoveReturn[];
|
||||
extern const u8 BattleScript_RainContinuesOrEnds[];
|
||||
extern const u8 BattleScript_RainContinuesOrEndsEnd[];
|
||||
extern const u8 BattleScript_DamagingWeatherContinues[];
|
||||
extern const u8 BattleScript_DamagingWeatherLoop[];
|
||||
extern const u8 BattleScript_DamagingWeatherLoopIncrement[];
|
||||
extern const u8 BattleScript_DamagingWeatherContinuesEnd[];
|
||||
extern const u8 BattleScript_SandStormHailEnds[];
|
||||
extern const u8 BattleScript_SunlightContinues[];
|
||||
extern const u8 BattleScript_SunlightFaded[];
|
||||
extern const u8 BattleScript_OverworldWeatherStarts[];
|
||||
extern const u8 BattleScript_SideStatusWoreOff[];
|
||||
extern const u8 BattleScript_SafeguardProtected[];
|
||||
extern const u8 BattleScript_SafeguardEnds[];
|
||||
extern const u8 BattleScript_LeechSeedTurnDrain[];
|
||||
extern const u8 BattleScript_82DAD47[];
|
||||
extern const u8 BattleScript_82DAD4D[];
|
||||
extern const u8 BattleScript_BideStoringEnergy[];
|
||||
extern const u8 BattleScript_BideAttack[];
|
||||
extern const u8 BattleScript_BideNoEnergyToAttack[];
|
||||
extern const u8 BattleScript_82DADD8[];
|
||||
extern const u8 BattleScript_82DADF1[];
|
||||
extern const u8 BattleScript_MistProtected[];
|
||||
extern const u8 BattleScript_RageIsBuilding[];
|
||||
extern const u8 BattleScript_MoveUsedIsDisabled[];
|
||||
extern const u8 BattleScript_SelectingDisabledMove[];
|
||||
extern const u8 BattleScript_DisabledNoMore[];
|
||||
extern const u8 BattleScript_82DAE2A[];
|
||||
extern const u8 BattleScript_82DAE2D[];
|
||||
extern const u8 BattleScript_EncoredNoMore[];
|
||||
extern const u8 BattleScript_DestinyBondTakesLife[];
|
||||
extern const u8 BattleScript_SpikesOnAttacker[];
|
||||
extern const u8 BattleScript_82DAE7A[];
|
||||
extern const u8 BattleScript_SpikesOnTarget[];
|
||||
extern const u8 BattleScript_82DAEB1[];
|
||||
extern const u8 BattleScript_SpikesOngBank1[];
|
||||
extern const u8 BattleScript_82DAEE8[];
|
||||
extern const u8 BattleScript_82DAEFE[];
|
||||
extern const u8 BattleScript_PerishSongTakesLife[];
|
||||
extern const u8 BattleScript_PerishSongCountGoesDown[];
|
||||
extern const u8 BattleScript_AllStatsUp[];
|
||||
extern const u8 BattleScript_82DAF54[];
|
||||
extern const u8 BattleScript_82DAF72[];
|
||||
extern const u8 BattleScript_82DAF86[];
|
||||
extern const u8 BattleScript_82DAF9A[];
|
||||
extern const u8 BattleScript_82DAFAE[];
|
||||
extern const u8 BattleScript_82DAFC2[];
|
||||
extern const u8 BattleScript_RapidSpinAway[];
|
||||
extern const u8 BattleScript_WrapFree[];
|
||||
extern const u8 BattleScript_LeechSeedFree[];
|
||||
extern const u8 BattleScript_SpikesFree[];
|
||||
extern const u8 BattleScript_MonTookFutureAttack[];
|
||||
extern const u8 BattleScript_82DB001[];
|
||||
extern const u8 BattleScript_82DB008[];
|
||||
extern const u8 BattleScript_82DB020[];
|
||||
extern const u8 BattleScript_82DB027[];
|
||||
extern const u8 BattleScript_82DB03F[];
|
||||
extern const u8 BattleScript_82DB058[];
|
||||
extern const u8 BattleScript_NoMovesLeft[];
|
||||
extern const u8 BattleScript_SelectingMoveWithNoPP[];
|
||||
extern const u8 BattleScript_NoPPForMove[];
|
||||
extern const u8 BattleScript_SelectingTormentedMove[];
|
||||
extern const u8 BattleScript_82DB08D[];
|
||||
extern const u8 BattleScript_82DB098[];
|
||||
extern const u8 BattleScript_SelectingNotAllowedMoveTaunt[];
|
||||
extern const u8 BattleScript_MoveUsedIsTaunted[];
|
||||
extern const u8 BattleScript_82DB0AF[];
|
||||
extern const u8 BattleScript_WishComesTrue[];
|
||||
extern const u8 BattleScript_82DB0DE[];
|
||||
extern const u8 BattleScript_IngrainTurnHeal[];
|
||||
extern const u8 BattleScript_82DB109[];
|
||||
extern const u8 BattleScript_AtkDefDown[];
|
||||
extern const u8 BattleScript_82DB144[];
|
||||
extern const u8 BattleScript_82DB167[];
|
||||
extern const u8 BattleScript_KnockedOff[];
|
||||
extern const u8 BattleScript_MoveUsedIsImprisoned[];
|
||||
extern const u8 BattleScript_SelectingImprisionedMove[];
|
||||
extern const u8 BattleScript_82DB185[];
|
||||
extern const u8 BattleScript_GrudgeTakesPp[];
|
||||
extern const u8 BattleScript_MagicCoatBounce[];
|
||||
extern const u8 BattleScript_SnatchedMove[];
|
||||
extern const u8 BattleScript_EnduredMsg[];
|
||||
extern const u8 BattleScript_OneHitKOMsg[];
|
||||
extern const u8 BattleScript_SAtkDown2[];
|
||||
extern const u8 BattleScript_82DB1FE[];
|
||||
extern const u8 BattleScript_FocusPunchSetUp[];
|
||||
extern const u8 BattleScript_MoveUsedIsAsleep[];
|
||||
extern const u8 BattleScript_MoveUsedWokeUp[];
|
||||
extern const u8 BattleScript_MonWokeUpInUproar[];
|
||||
extern const u8 BattleScript_PoisonTurnDmg[];
|
||||
extern const u8 BattleScript_82DB243[];
|
||||
extern const u8 BattleScript_82DB245[];
|
||||
extern const u8 BattleScript_82DB25E[];
|
||||
extern const u8 BattleScript_BurnTurnDmg[];
|
||||
extern const u8 BattleScript_MoveUsedIsFrozen[];
|
||||
extern const u8 BattleScript_MoveUsedUnfroze[];
|
||||
extern const u8 BattleScript_DefrostedViaFireMove[];
|
||||
extern const u8 BattleScript_MoveUsedIsParalyzed[];
|
||||
extern const u8 BattleScript_MoveUsedFlinched[];
|
||||
extern const u8 BattleScript_PrintUproarOverTurns[];
|
||||
extern const u8 BattleScript_ThrashConfuses[];
|
||||
extern const u8 BattleScript_MoveUsedIsConfused[];
|
||||
extern const u8 BattleScript_82DB2D4[];
|
||||
extern const u8 BattleScript_82DB2FF[];
|
||||
extern const u8 BattleScript_MoveUsedIsConfusedNoMore[];
|
||||
extern const u8 BattleScript_PrintPayDayMoneyString[];
|
||||
extern const u8 BattleScript_WrapTurnDmg[];
|
||||
extern const u8 BattleScript_WrapEnds[];
|
||||
extern const u8 BattleScript_MoveUsedIsInLove[];
|
||||
extern const u8 BattleScript_MoveUsedIsParalyzedCantAttack[];
|
||||
extern const u8 BattleScript_NightmareTurnDmg[];
|
||||
extern const u8 BattleScript_CurseTurnDmg[];
|
||||
extern const u8 BattleScript_TargetPRLZHeal[];
|
||||
extern const u8 BattleScript_MoveEffectSleep[];
|
||||
extern const u8 BattleScript_82DB374[];
|
||||
extern const u8 BattleScript_YawnMakesAsleep[];
|
||||
extern const u8 BattleScript_MoveEffectPoison[];
|
||||
extern const u8 BattleScript_MoveEffectBurn[];
|
||||
extern const u8 BattleScript_MoveEffectFreeze[];
|
||||
extern const u8 BattleScript_MoveEffectParalysis[];
|
||||
extern const u8 BattleScript_MoveEffectUproar[];
|
||||
extern const u8 BattleScript_MoveEffectToxic[];
|
||||
extern const u8 BattleScript_MoveEffectPayDay[];
|
||||
extern const u8 BattleScript_MoveEffectWrap[];
|
||||
extern const u8 BattleScript_MoveEffectConfusion[];
|
||||
extern const u8 BattleScript_MoveEffectRecoil33[];
|
||||
extern const u8 BattleScript_DoRecoil33[];
|
||||
extern const u8 BattleScript_Recoil33End[];
|
||||
extern const u8 BattleScript_ItemSteal[];
|
||||
extern const u8 BattleScript_DrizzleActivates[];
|
||||
extern const u8 BattleScript_SpeedBoostActivates[];
|
||||
extern const u8 BattleScript_TraceActivates[];
|
||||
extern const u8 BattleScript_RainDishActivates[];
|
||||
extern const u8 BattleScript_SandstreamActivates[];
|
||||
extern const u8 BattleScript_ShedSkinActivates[];
|
||||
extern const u8 BattleScript_WeatherFormChanges[];
|
||||
extern const u8 BattleScript_WeatherFormChangesLoop[];
|
||||
extern const u8 BattleScript_CastformChange[];
|
||||
extern const u8 BattleScript_82DB4AF[];
|
||||
extern const u8 BattleScript_82DB4B8[];
|
||||
extern const u8 BattleScript_82DB4BE[];
|
||||
extern const u8 BattleScript_82DB4C1[];
|
||||
extern const u8 BattleScript_82DB4CD[];
|
||||
extern const u8 BattleScript_82DB510[];
|
||||
extern const u8 BattleScript_82DB51B[];
|
||||
extern const u8 BattleScript_82DB51C[];
|
||||
extern const u8 BattleScript_DroughtActivates[];
|
||||
extern const u8 BattleScript_TookAttack[];
|
||||
extern const u8 BattleScript_SturdyPreventsOHKO[];
|
||||
extern const u8 BattleScript_DampStopsExplosion[];
|
||||
extern const u8 BattleScript_MoveHPDrain_PPLoss[];
|
||||
extern const u8 BattleScript_MoveHPDrain[];
|
||||
extern const u8 BattleScript_MonMadeMoveUseless_PPLoss[];
|
||||
extern const u8 BattleScript_MonMadeMoveUseless[];
|
||||
extern const u8 BattleScript_FlashFireBoost_PPLoss[];
|
||||
extern const u8 BattleScript_FlashFireBoost[];
|
||||
extern const u8 BattleScript_82DB5B9[];
|
||||
extern const u8 BattleScript_AbilityNoStatLoss[];
|
||||
extern const u8 BattleScript_BRNPrevention[];
|
||||
extern const u8 BattleScript_PRLZPrevention[];
|
||||
extern const u8 BattleScript_PSNPrevention[];
|
||||
extern const u8 BattleScript_ObliviousPreventsAttraction[];
|
||||
extern const u8 BattleScript_FlinchPrevention[];
|
||||
extern const u8 BattleScript_OwnTempoPrevents[];
|
||||
extern const u8 BattleScript_SoundproofProtected[];
|
||||
extern const u8 BattleScript_AbilityNoSpecificStatLoss[];
|
||||
extern const u8 BattleScript_StickyHoldActivates[];
|
||||
extern const u8 BattleScript_ColorChangeActivates[];
|
||||
extern const u8 BattleScript_RoughSkinActivates[];
|
||||
extern const u8 BattleScript_CuteCharmActivates[];
|
||||
extern const u8 BattleScript_ApplySecondaryEffect[];
|
||||
extern const u8 BattleScript_SynchronizeActivates[];
|
||||
extern const u8 BattleScript_NoItemSteal[];
|
||||
extern const u8 BattleScript_AbilityCuredStatus[];
|
||||
extern const u8 BattleScript_82DB695[];
|
||||
extern const u8 BattleScript_IgnoresAndUsesRandomMove[];
|
||||
extern const u8 BattleScript_MoveUsedLoafingAround[];
|
||||
extern const u8 BattleScript_82DB6C7[];
|
||||
extern const u8 BattleScript_IgnoresAndFallsAsleep[];
|
||||
extern const u8 BattleScript_82DB6F0[];
|
||||
extern const u8 BattleScript_SubstituteFade[];
|
||||
extern const u8 BattleScript_BerryCurePrlzEnd2[];
|
||||
extern const u8 BattleScript_BerryCureParRet[];
|
||||
extern const u8 BattleScript_BerryCurePsnEnd2[];
|
||||
extern const u8 BattleScript_BerryCurePsnRet[];
|
||||
extern const u8 BattleScript_BerryCureBrnEnd2[];
|
||||
extern const u8 BattleScript_BerryCureBrnRet[];
|
||||
extern const u8 BattleScript_BerryCureFrzEnd2[];
|
||||
extern const u8 BattleScript_BerryCureFrzRet[];
|
||||
extern const u8 BattleScript_BerryCureSlpEnd2[];
|
||||
extern const u8 BattleScript_BerryCureSlpRet[];
|
||||
extern const u8 BattleScript_BerryCureConfusionEnd2[];
|
||||
extern const u8 BattleScript_BerryCureConfusionRet[];
|
||||
extern const u8 BattleScript_BerryCureChosenStatusEnd2[];
|
||||
extern const u8 BattleScript_BerryCureChosenStatusRet[];
|
||||
extern const u8 BattleScript_WhiteHerbEnd2[];
|
||||
extern const u8 BattleScript_WhiteHerbRet[];
|
||||
extern const u8 BattleScript_ItemHealHP_RemoveItem[];
|
||||
extern const u8 BattleScript_BerryPPHealEnd2[];
|
||||
extern const u8 BattleScript_ItemHealHP_End2[];
|
||||
extern const u8 BattleScript_ItemHealHP_Ret[];
|
||||
extern const u8 BattleScript_SelectingNotAllowedMoveChoiceItem[];
|
||||
extern const u8 BattleScript_HangedOnMsg[];
|
||||
extern const u8 BattleScript_BerryConfuseHealEnd2[];
|
||||
extern const u8 BattleScript_BerryStatRaiseEnd2[];
|
||||
extern const u8 BattleScript_82DB85B[];
|
||||
extern const u8 BattleScript_BerryFocusEnergyEnd2[];
|
||||
extern const u8 BattleScript_ActionSelectionItemsCantBeUsed[];
|
||||
extern const u8 BattleScript_82DB87D[];
|
||||
extern const u8 BattleScript_82DB881[];
|
||||
extern const u8 BattleScript_82DB887[];
|
||||
extern const u8 BattleScript_82DB89D[];
|
||||
extern const u8 BattleScript_82DB8BE[];
|
||||
extern const u8 BattleScript_82DB8E0[];
|
||||
extern const u8 BattleScript_82DB8F3[];
|
||||
extern const u8 BattleScript_82DB973[];
|
||||
extern const u8 BattleScript_82DB992[];
|
||||
extern const u8 BattleScript_AskIfWantsToForfeitMatch[];
|
||||
extern const u8 BattleScript_82DB9C1[];
|
||||
extern const u8 BattleScript_82DB9C8[];
|
||||
extern const u8 BattleScript_BallThrow[];
|
||||
extern const u8 BattleScript_BallThrowByWally[];
|
||||
extern const u8 BattleScript_SafariBallThrow[];
|
||||
extern const u8 BattleScript_SuccessBallThrow[];
|
||||
extern const u8 BattleScript_82DBD92[];
|
||||
extern const u8 BattleScript_82DBDA5[];
|
||||
extern const u8 BattleScript_82DBDC2[];
|
||||
extern const u8 BattleScript_82DBDC3[];
|
||||
extern const u8 BattleScript_WallyBallThrow[];
|
||||
extern const u8 BattleScript_ShakeBallThrow[];
|
||||
extern const u8 BattleScript_82DBE01[];
|
||||
extern const u8 BattleScript_TrainerBallBlock[];
|
||||
extern const u8 BattleScript_82DBE12[];
|
||||
extern const u8 BattleScript_82DBE1C[];
|
||||
extern const u8 BattleScript_82DBE4B[];
|
||||
extern const u8 BattleScript_82DBE6F[];
|
||||
extern const u8 BattleScript_82DBE91[];
|
||||
extern const u8 BattleScript_RunByUsingItem[];
|
||||
extern const u8 BattleScript_ActionWatchesCarefully[];
|
||||
extern const u8 BattleScript_ActionGetNear[];
|
||||
extern const u8 BattleScript_ActionThrowPokeblock[];
|
||||
extern const u8 BattleScript_82DBEE3[];
|
||||
|
||||
#endif // GUARD_BATTLE_SCRIPTS_H
|
||||
@@ -4,6 +4,9 @@
|
||||
void BattleSetup_StartScriptedWildBattle(void);
|
||||
u8 BattleSetup_GetTerrainId(void);
|
||||
u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data);
|
||||
void BattleSetup_StartBattlePikeWildBattle(void);
|
||||
void BattleSetup_StartWildBattle(void);
|
||||
void BattleSetup_StartRoamerBattle(void);
|
||||
|
||||
u8 HasTrainerAlreadyBeenFought(u16);
|
||||
void trainer_flag_set(u16);
|
||||
|
||||
@@ -11,6 +11,16 @@ enum
|
||||
BERRY_FIRMNESS_SUPER_HARD,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
FLAVOR_SPICY,
|
||||
FLAVOR_DRY,
|
||||
FLAVOR_SWEET,
|
||||
FLAVOR_BITTER,
|
||||
FLAVOR_SOUR,
|
||||
FLAVOR_COUNT
|
||||
};
|
||||
|
||||
#define NUM_BERRIES 44
|
||||
|
||||
extern const u8 *const gBerryTreeFieldObjectGraphicsIdTablePointers[NUM_BERRIES];
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
#ifndef GUARD_BERRY_BLENDER_H
|
||||
#define GUARD_BERRY_BLENDER_H
|
||||
|
||||
void DoBerryBlending(void);
|
||||
u16 GetBlenderArrowPosition(void);
|
||||
void ShowBerryBlenderRecordWindow(void);
|
||||
|
||||
#endif // GUARD_BERRY_BLENDER_H
|
||||
@@ -29,5 +29,6 @@ void LoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *dest, s
|
||||
void LoadSpecialPokePic_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic);
|
||||
|
||||
extern u8 gDecompressionBuffer[];
|
||||
u32 sub_8034974(const u8 *ptr);
|
||||
|
||||
#endif // GUARD_DECOMPRESS_H
|
||||
|
||||
+3
-1
@@ -1,7 +1,9 @@
|
||||
#ifndef GUARD_FLAGS_H
|
||||
#define GUARD_FLAGS_H
|
||||
|
||||
#define FLAG_PENDING_DAYCARE_EGG 0x86
|
||||
#define FLAG_340 0x340
|
||||
#define FLAG_LEGENDARIES_IN_SOOTOPOLIS 0x53
|
||||
#define FLAG_PENDING_DAYCARE_EGG 0x86
|
||||
|
||||
#define FLAG_TRAINER_FLAG_START 0x500
|
||||
|
||||
|
||||
@@ -406,7 +406,7 @@ void m4aSoundVSyncOff(void);
|
||||
|
||||
void m4aMPlayTempoControl(struct MusicPlayerInfo *mplayInfo, u16 tempo);
|
||||
void m4aMPlayVolumeControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u16 volume);
|
||||
void m4aMPlayPitchControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u16 pitch);
|
||||
void m4aMPlayPitchControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, s16 pitch);
|
||||
void m4aMPlayPanpotControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, s8 pan);
|
||||
void ClearModM(struct MusicPlayerTrack *track);
|
||||
void m4aMPlayModDepthSet(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u8 modDepth);
|
||||
|
||||
+3
-1
@@ -239,7 +239,9 @@ struct SaveBlock2
|
||||
/*0xCA9*/ u8 field_CA9_d : 1; // 0x20
|
||||
/*0xCA9*/ u8 field_CA9_e : 1; // 0x40
|
||||
/*0xCA9*/ u8 field_CA9_f : 1; // 0x80
|
||||
/*0xCAA*/ u16 field_CAA[0x2e];
|
||||
/*0xCAA*/ u16 field_CAA[4];
|
||||
/*0xCB2*/ u16 battlePyramidWildHeaderId;
|
||||
/*0xCB4*/ u8 field_CB4[82];
|
||||
/*0xD06*/ u8 field_D06;
|
||||
/*0xD07*/ u8 field_D07;
|
||||
/*0xD08*/ u8 filler_D08[0x112];
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_ITEM_MENU_ICONS
|
||||
#define GUARD_ITEM_MENU_ICONS
|
||||
|
||||
u8 sub_80D511C(u8 a0, u8 a1, u8 a2, u8 a3);
|
||||
|
||||
#endif // GUARD_ITEM_MENU_ICONS
|
||||
@@ -386,6 +386,10 @@ enum
|
||||
ITEM_OLD_SEA_MAP, // 0x178
|
||||
};
|
||||
|
||||
#define FIRST_BERRY_INDEX ITEM_CHERI_BERRY
|
||||
#define LAST_BERRY_INDEX ITEM_ENIGMA_BERRY
|
||||
#define ITEM_TO_BERRY(itemId)(((itemId - FIRST_BERRY_INDEX) + 1))
|
||||
|
||||
#define NUM_TECHNICAL_MACHINES 50
|
||||
#define NUM_HIDDEN_MACHINES 8
|
||||
|
||||
|
||||
@@ -231,6 +231,7 @@ void LinkVSync(void);
|
||||
void Timer3Intr(void);
|
||||
void SerialCB(void);
|
||||
u8 GetLinkPlayerCount(void);
|
||||
bool32 InUnionRoom(void);
|
||||
void sub_800E0E8(void);
|
||||
bool8 sub_800A520(void);
|
||||
void sub_800DFB4(u8, u8);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef GUARD_MENU_H
|
||||
#define GUARD_MENU_H
|
||||
|
||||
#include "text.h"
|
||||
#include "window.h"
|
||||
|
||||
struct MenuAction
|
||||
@@ -32,5 +33,7 @@ s8 sub_8198C58(void);
|
||||
void copy_decompressed_tile_data_to_vram_autofree(u8 arg0, const void *arg1, bool32 arg2, u16 arg3, u8 arg4);
|
||||
void do_scheduled_bg_tilemap_copies_to_vram(void);
|
||||
void clear_scheduled_bg_copies_to_vram(void);
|
||||
void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, struct TextColor *color, s8 speed, const u8 *str);
|
||||
void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u16 a3);
|
||||
|
||||
#endif // GUARD_MENU_H
|
||||
|
||||
@@ -15,5 +15,6 @@ void DisplayItemMessageOnField(u8 taskId, const u8 *src, TaskFunc callback);
|
||||
void sub_8197434(u8 a0, u8 a1);
|
||||
void SetStandardWindowBorderStyle(u8 a0, u8 a1);
|
||||
void sub_8197930(void);
|
||||
u8 GetPlayerTextSpeed(void);
|
||||
|
||||
#endif // GUARD_NEW_MENU_HELPERS_H
|
||||
|
||||
+5
-17
@@ -23,23 +23,11 @@ enum
|
||||
};
|
||||
|
||||
void ClearPokeblocks(void);
|
||||
|
||||
/*
|
||||
void sub_810B96C(void);
|
||||
u8 sub_810BA50(s16, s16, u8);
|
||||
u8 sub_810C9B0(struct Pokeblock *);
|
||||
s16 GetPokeblockData(const struct Pokeblock *, u8);
|
||||
u8 sub_810C9E8(struct Pokeblock *);
|
||||
void sub_810BA7C(u8);
|
||||
bool8 PokeblockClearIfExists(u8);
|
||||
s8 GetFirstFreePokeblockSlot(void);
|
||||
bool32 AddPokeblock(struct Pokeblock *pokeblock);
|
||||
u8 GetHighestPokeblocksFlavorLevel(const struct Pokeblock *pokeblock);
|
||||
u8 GetPokeblocksFeel(const struct Pokeblock *pokeblock);
|
||||
u8 GetPokeblocksFlavor(const struct Pokeblock *pokeblock);
|
||||
s16 PokeblockGetGain(u8, const struct Pokeblock *);
|
||||
u8 sub_810CB68(u8, u8*);
|
||||
void PokeblockCopyName(struct Pokeblock *pokeblock, u8 *dest);
|
||||
void CB2_PreparePokeblockFeedScene(void);
|
||||
|
||||
#include "main.h"
|
||||
|
||||
void sub_8136130(struct Pokeblock *, MainCallback);
|
||||
*/
|
||||
|
||||
#endif // GUARD_POKEBLOCK_H
|
||||
|
||||
+2
-2
@@ -642,8 +642,8 @@ u8 CheckPartyPokerus(struct Pokemon *party, u8 selection);
|
||||
u8 CheckPartyHasHadPokerus(struct Pokemon *party, u8 selection);
|
||||
void UpdatePartyPokerusTime(u16 days);
|
||||
void PartySpreadPokerus(struct Pokemon *party);
|
||||
s8 GetMonFlavourRelation(struct Pokemon *mon, u8 a2);
|
||||
s8 GetFlavourRelationByPersonality(u32 personality, u8 a2);
|
||||
s8 GetMonFlavorRelation(struct Pokemon *mon, u8 a2);
|
||||
s8 GetFlavorRelationByPersonality(u32 personality, u8 a2);
|
||||
u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit);
|
||||
u8 GetDefaultMoveTarget(u8 atkBank);
|
||||
u16 PlayerGenderToFrontTrainerPicId(u8 playerGender);
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
#define CHAR_x 0xEC
|
||||
#define CHAR_y 0xED
|
||||
#define CHAR_z 0xEE
|
||||
#define CHAR_SPECIAL_F7 0xF7
|
||||
#define CHAR_SPECIAL_F9 0xF9
|
||||
#define CHAR_COLON 0xF0
|
||||
#define CHAR_PROMPT_SCROLL 0xFA // waits for button press and scrolls dialog
|
||||
@@ -85,6 +86,8 @@
|
||||
|
||||
#define NUM_TEXT_PRINTERS 32
|
||||
|
||||
#define TEXT_SPEED_FF 0xFF
|
||||
|
||||
struct TextPrinterSubStruct
|
||||
{
|
||||
u8 font_type:4; // 0x14
|
||||
|
||||
@@ -13,5 +13,7 @@ void sub_80EE184(void);
|
||||
void sub_80EEA70(void);
|
||||
void sub_80F14F8(TVShow *shows);
|
||||
size_t sub_80EF370(int value);
|
||||
bool8 Put3CheersForPokeblocksOnTheAir(const u8 *partnersName, u8 flavor, u8 unused, u8 sheen, u8 language);
|
||||
void SetPokemonAnglerSpecies(u16 species);
|
||||
|
||||
#endif //GUARD_TV_H
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
#ifndef GUARD_UNK_TEXT_UTIL_H
|
||||
#define GUARD_UNK_TEXT_UTIL_H
|
||||
|
||||
void UnkTextUtil_Reset(void);
|
||||
void UnkTextUtil_SetPtrI(u8 idx, const u8 *ptr);
|
||||
u8 *UnkTextUtil_StringExpandPlaceholders(u8 *dest, const u8 *src);
|
||||
const u8 *UnkTextUtil_GetPtrI(u8 idx);
|
||||
|
||||
#endif //GUARD_UNK_TEXT_UTIL_H
|
||||
@@ -30,6 +30,7 @@
|
||||
#define VAR_RESET_RTC_ENABLE 0x402C
|
||||
|
||||
#define VAR_0x4037 0x4037
|
||||
#define VAR_ALTERING_CAVE_WILD_SET 0x403E
|
||||
#define VAR_DAYS 0x4040
|
||||
|
||||
#define VAR_DEPT_STORE_FLOOR 0x4043
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
#ifndef GUARD_WILD_ENCOUNTER_H
|
||||
#define GUARD_WILD_ENCOUNTER_H
|
||||
|
||||
#define LAND_WILD_COUNT 12
|
||||
#define WATER_WILD_COUNT 5
|
||||
#define ROCK_WILD_COUNT 5
|
||||
#define FISH_WILD_COUNT 10
|
||||
|
||||
struct WildPokemon
|
||||
{
|
||||
u8 minLevel;
|
||||
u8 maxLevel;
|
||||
u16 species;
|
||||
};
|
||||
|
||||
struct WildPokemonInfo
|
||||
{
|
||||
u8 encounterRate;
|
||||
const struct WildPokemon *wildPokemon;
|
||||
};
|
||||
|
||||
struct WildPokemonHeader
|
||||
{
|
||||
u8 mapGroup;
|
||||
u8 mapNum;
|
||||
const struct WildPokemonInfo *landMonsInfo;
|
||||
const struct WildPokemonInfo *waterMonsInfo;
|
||||
const struct WildPokemonInfo *rockSmashMonsInfo;
|
||||
const struct WildPokemonInfo *fishingMonsInfo;
|
||||
};
|
||||
|
||||
extern const struct WildPokemonHeader gWildMonHeaders[];
|
||||
|
||||
void DisableWildEncounters(bool8 disabled);
|
||||
bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavior);
|
||||
void ScrSpecial_RockSmashWildEncounter(void);
|
||||
bool8 SweetScentWildEncounter(void);
|
||||
bool8 DoesCurrentMapHaveFishingMons(void);
|
||||
void FishingWildEncounter(u8 rod);
|
||||
u16 GetLocalWildMon(bool8 *isWaterMon);
|
||||
u16 GetLocalWaterMon(void);
|
||||
bool8 UpdateRepelCounter(void);
|
||||
|
||||
#endif // GUARD_WILD_ENCOUNTER_H
|
||||
+2
-4
@@ -86,10 +86,8 @@ SECTIONS {
|
||||
asm/smokescreen.o(.text);
|
||||
asm/pokeball.o(.text);
|
||||
src/load_save.o(.text);
|
||||
asm/load_save.o(.text);
|
||||
asm/trade.o(.text);
|
||||
src/berry_blender.o(.text);
|
||||
asm/berry_blender.o(.text);
|
||||
src/play_time.o(.text);
|
||||
src/new_game.o(.text);
|
||||
asm/rom4.o(.text);
|
||||
@@ -127,7 +125,7 @@ SECTIONS {
|
||||
asm/battle_setup.o(.text);
|
||||
asm/cable_club.o(.text);
|
||||
asm/trainer_see.o(.text);
|
||||
asm/wild_encounter.o(.text);
|
||||
src/wild_encounter.o(.text);
|
||||
asm/field_effect.o(.text);
|
||||
asm/unknown_task.o(.text);
|
||||
asm/option_menu.o(.text);
|
||||
@@ -247,7 +245,7 @@ SECTIONS {
|
||||
asm/item_menu.o(.text);
|
||||
asm/list_menu.o(.text);
|
||||
asm/menu_indicators.o(.text);
|
||||
asm/unk_text_util.o(.text);
|
||||
src/unk_text_util.o(.text);
|
||||
src/save_location.o(.text);
|
||||
asm/item_icon.o(.text);
|
||||
asm/party_menu.o(.text);
|
||||
|
||||
+66
-90
@@ -6,6 +6,7 @@
|
||||
#include "gpu_regs.h"
|
||||
#include "unknown_task.h"
|
||||
#include "battle_setup.h"
|
||||
#include "battle_scripts.h"
|
||||
#include "pokemon.h"
|
||||
#include "palette.h"
|
||||
#include "task.h"
|
||||
@@ -120,14 +121,14 @@ extern u32 gBattleExecBuffer;
|
||||
extern u8 gMultiHitCounter;
|
||||
extern u8 gBattleMoveFlags;
|
||||
extern s32 gBattleMoveDamage;
|
||||
extern const u8* gUnknown_02024230[BATTLE_BANKS_COUNT];
|
||||
extern u16 gUnknownMovesUsedByBanks[BATTLE_BANKS_COUNT];
|
||||
extern u16 gLastUsedMovesByBanks[BATTLE_BANKS_COUNT];
|
||||
extern u16 gUnknown_02024250[BATTLE_BANKS_COUNT];
|
||||
extern u16 gUnknown_02024258[BATTLE_BANKS_COUNT];
|
||||
extern u16 gUnknown_02024260[BATTLE_BANKS_COUNT];
|
||||
extern const u8* gPalaceSelectionBattleScripts[BATTLE_BANKS_COUNT];
|
||||
extern u16 gLastPrintedMoves[BATTLE_BANKS_COUNT];
|
||||
extern u16 gLastMoves[BATTLE_BANKS_COUNT];
|
||||
extern u16 gLastLandedMoves[BATTLE_BANKS_COUNT];
|
||||
extern u16 gLastHitByType[BATTLE_BANKS_COUNT];
|
||||
extern u16 gLastResultingMoves[BATTLE_BANKS_COUNT];
|
||||
extern u16 gLockedMoves[BATTLE_BANKS_COUNT];
|
||||
extern u8 gUnknown_02024270[BATTLE_BANKS_COUNT];
|
||||
extern u8 gLastHitBy[BATTLE_BANKS_COUNT];
|
||||
extern u8 gUnknown_02024284[BATTLE_BANKS_COUNT];
|
||||
extern u32 gStatuses3[BATTLE_BANKS_COUNT];
|
||||
extern u16 gSideAffecting[2];
|
||||
@@ -141,7 +142,7 @@ extern u16 gChosenMovesByBanks[BATTLE_BANKS_COUNT];
|
||||
extern u8 gCurrentActionFuncId;
|
||||
extern u8 gLastUsedAbility;
|
||||
extern u8 gUnknown_0203CF00[];
|
||||
extern const u8* gBattlescriptPtrsForSelection[BATTLE_BANKS_COUNT];
|
||||
extern const u8* gSelectionBattleScripts[BATTLE_BANKS_COUNT];
|
||||
extern const u8* gBattlescriptCurrInstr;
|
||||
extern u8 gActionsByTurnOrder[BATTLE_BANKS_COUNT];
|
||||
extern u8 gCurrentTurnActionNumber;
|
||||
@@ -149,7 +150,7 @@ extern u16 gDynamicBasePower;
|
||||
extern u8 gCritMultiplier;
|
||||
extern u8 gCurrMovePos;
|
||||
extern u8 gUnknown_020241E9;
|
||||
extern u16 gLastUsedMove;
|
||||
extern u16 gChosenMove;
|
||||
|
||||
extern const struct BattleMove gBattleMoves[];
|
||||
extern const u16 gUnknown_08C004E0[]; // battle textbox palette
|
||||
@@ -179,31 +180,6 @@ extern const u8 gText_Ice[];
|
||||
extern const u8 gText_Confusion[];
|
||||
extern const u8 gText_Love[];
|
||||
|
||||
// battlescripts
|
||||
extern const u8 gUnknown_082DB8BE[];
|
||||
extern const u8 gUnknown_082DB881[];
|
||||
extern const u8 BattleScript_ActionSelectionItemsCantBeUsed[];
|
||||
extern const u8 gUnknown_082DAB11[];
|
||||
extern const u8 gUnknown_082DB9BA[];
|
||||
extern const u8 gUnknown_082DAAFE[];
|
||||
extern const u8 gUnknown_082DAB0B[];
|
||||
extern const u8 BattleScript_FocusPunchSetUp[];
|
||||
extern const u8 BattleScript_LinkBattleWonOrLost[];
|
||||
extern const u8 BattleScript_FrontierTrainerBattleWon[];
|
||||
extern const u8 BattleScript_LocalTrainerBattleWon[];
|
||||
extern const u8 BattleScript_PayDayMoneyAndPickUpItems[];
|
||||
extern const u8 BattleScript_LocalBattleLost[];
|
||||
extern const u8 gUnknown_082DB9C8[];
|
||||
extern const u8 gUnknown_082DAA0B[];
|
||||
extern const u8 gUnknown_082DB9C1[];
|
||||
extern const u8 BattleScript_RanAwayUsingMonAbility[];
|
||||
extern const u8 BattleScript_SmokeBallEscape[];
|
||||
extern const u8 BattleScript_GotAwaySafely[];
|
||||
extern const u8 BattleScript_WildMonFled[];
|
||||
extern const u8 BattleScript_MoveUsedLoafingAround[];
|
||||
extern const u8 BattleScript_ActionSwitch[];
|
||||
extern const u8 BattleScript_PrintFailedToRunString[];
|
||||
|
||||
// functions
|
||||
extern void dp12_8087EA4(void);
|
||||
extern void sub_80356D0(void);
|
||||
@@ -486,7 +462,7 @@ static void sub_8036A5C(void)
|
||||
u32 status = 0;
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 6; i++)
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
|
||||
hp = GetMonData(&gPlayerParty[i], MON_DATA_HP);
|
||||
@@ -1903,7 +1879,7 @@ static void sub_8038B94(u8 taskId)
|
||||
}
|
||||
|
||||
r7 = 0;
|
||||
for (i = 0; i < 6; i++)
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
u16 species = GetMonData(&sp4[i], MON_DATA_SPECIES2);
|
||||
u16 hp = GetMonData(&sp4[i], MON_DATA_HP);
|
||||
@@ -1927,7 +1903,7 @@ static void sub_8038B94(u8 taskId)
|
||||
gTasks[taskId].data[3] = r7;
|
||||
|
||||
r7 = 0;
|
||||
for (i = 0; i < 6; i++)
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
u16 species = GetMonData(&sp8[i], MON_DATA_SPECIES2);
|
||||
u16 hp = GetMonData(&sp8[i], MON_DATA_HP);
|
||||
@@ -2766,17 +2742,17 @@ static void BattleStartClearSetData(void)
|
||||
for (j = 0; j < sizeof(struct DisableStruct); j++)
|
||||
dataPtr[j] = 0;
|
||||
|
||||
gDisableStructs[i].isFirstTurn= 2;
|
||||
gDisableStructs[i].isFirstTurn = 2;
|
||||
gUnknown_02024284[i] = 0;
|
||||
gLastUsedMovesByBanks[i] = 0;
|
||||
gUnknown_02024250[i] = 0;
|
||||
gUnknown_02024258[i] = 0;
|
||||
gUnknown_02024260[i] = 0;
|
||||
gUnknown_02024270[i] = 0xFF;
|
||||
gLastMoves[i] = 0;
|
||||
gLastLandedMoves[i] = 0;
|
||||
gLastHitByType[i] = 0;
|
||||
gLastResultingMoves[i] = 0;
|
||||
gLastHitBy[i] = 0xFF;
|
||||
gLockedMoves[i] = 0;
|
||||
gUnknownMovesUsedByBanks[i] = 0;
|
||||
gLastPrintedMoves[i] = 0;
|
||||
gBattleResources->flags->flags[i] = 0;
|
||||
gUnknown_02024230[i] = 0;
|
||||
gPalaceSelectionBattleScripts[i] = 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < 2; i++)
|
||||
@@ -2933,14 +2909,14 @@ void SwitchInClearSetData(void)
|
||||
}
|
||||
|
||||
gBattleMoveFlags = 0;
|
||||
gDisableStructs[gActiveBank].isFirstTurn= 2;
|
||||
gDisableStructs[gActiveBank].isFirstTurn = 2;
|
||||
gDisableStructs[gActiveBank].truantUnknownBit = disableStructCopy.truantUnknownBit;
|
||||
gLastUsedMovesByBanks[gActiveBank] = 0;
|
||||
gUnknown_02024250[gActiveBank] = 0;
|
||||
gUnknown_02024258[gActiveBank] = 0;
|
||||
gUnknown_02024260[gActiveBank] = 0;
|
||||
gUnknownMovesUsedByBanks[gActiveBank] = 0;
|
||||
gUnknown_02024270[gActiveBank] = 0xFF;
|
||||
gLastMoves[gActiveBank] = 0;
|
||||
gLastLandedMoves[gActiveBank] = 0;
|
||||
gLastHitByType[gActiveBank] = 0;
|
||||
gLastResultingMoves[gActiveBank] = 0;
|
||||
gLastPrintedMoves[gActiveBank] = 0;
|
||||
gLastHitBy[gActiveBank] = 0xFF;
|
||||
|
||||
*(gBattleStruct->mirrorMoves + gActiveBank * 2 + 0) = 0;
|
||||
*(gBattleStruct->mirrorMoves + gActiveBank * 2 + 1) = 0;
|
||||
@@ -3027,12 +3003,12 @@ void FaintClearSetData(void)
|
||||
|
||||
gDisableStructs[gActiveBank].isFirstTurn = 2;
|
||||
|
||||
gLastUsedMovesByBanks[gActiveBank] = 0;
|
||||
gUnknown_02024250[gActiveBank] = 0;
|
||||
gUnknown_02024258[gActiveBank] = 0;
|
||||
gUnknown_02024260[gActiveBank] = 0;
|
||||
gUnknownMovesUsedByBanks[gActiveBank] = 0;
|
||||
gUnknown_02024270[gActiveBank] = 0xFF;
|
||||
gLastMoves[gActiveBank] = 0;
|
||||
gLastLandedMoves[gActiveBank] = 0;
|
||||
gLastHitByType[gActiveBank] = 0;
|
||||
gLastResultingMoves[gActiveBank] = 0;
|
||||
gLastPrintedMoves[gActiveBank] = 0;
|
||||
gLastHitBy[gActiveBank] = 0xFF;
|
||||
|
||||
*(u8*)((u8*)(&gBattleStruct->choicedMove[gActiveBank]) + 0) = 0;
|
||||
*(u8*)((u8*)(&gBattleStruct->choicedMove[gActiveBank]) + 1) = 0;
|
||||
@@ -3214,7 +3190,7 @@ static void BattleIntroDrawPartySummaryScreens(void)
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
|
||||
{
|
||||
for (i = 0; i < 6; i++)
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE
|
||||
|| GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG)
|
||||
@@ -3232,7 +3208,7 @@ static void BattleIntroDrawPartySummaryScreens(void)
|
||||
EmitDrawPartyStatusSummary(0, hpStatus, 0x80);
|
||||
MarkBufferBankForExecution(gActiveBank);
|
||||
|
||||
for (i = 0; i < 6; i++)
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_NONE
|
||||
|| GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_EGG)
|
||||
@@ -3705,7 +3681,7 @@ static void TryDoEventsBeforeFirstTurn(void)
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_ARENA)
|
||||
{
|
||||
StopCryAndClearCrySongs();
|
||||
BattleScriptExecute(gUnknown_082DB8BE);
|
||||
BattleScriptExecute(BattleScript_82DB8BE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3793,9 +3769,9 @@ void BattleTurnPassed(void)
|
||||
gRandomTurnNumber = Random();
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
|
||||
BattleScriptExecute(gUnknown_082DB881);
|
||||
BattleScriptExecute(BattleScript_82DB881);
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->field_DA == 0)
|
||||
BattleScriptExecute(gUnknown_082DB8BE);
|
||||
BattleScriptExecute(BattleScript_82DB8BE);
|
||||
}
|
||||
|
||||
u8 IsRunningFromBattleImpossible(void)
|
||||
@@ -4008,7 +3984,7 @@ static void HandleTurnActionSelectionState(void)
|
||||
| BATTLE_TYPE_x2000000))
|
||||
{
|
||||
RecordedBattle_ClearBankAction(gActiveBank, 1);
|
||||
gBattlescriptPtrsForSelection[gActiveBank] = BattleScript_ActionSelectionItemsCantBeUsed;
|
||||
gSelectionBattleScripts[gActiveBank] = BattleScript_ActionSelectionItemsCantBeUsed;
|
||||
gBattleCommunication[gActiveBank] = STATE_SELECTION_SCRIPT;
|
||||
*(gBattleStruct->selectionScriptFinished + gActiveBank) = FALSE;
|
||||
*(gBattleStruct->stateIdAfterSelScript + gActiveBank) = STATE_BEFORE_ACTION_CHOSEN;
|
||||
@@ -4053,7 +4029,7 @@ static void HandleTurnActionSelectionState(void)
|
||||
case ACTION_SAFARI_ZONE_BALL:
|
||||
if (IsPlayerPartyAndPokemonStorageFull())
|
||||
{
|
||||
gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DAB11;
|
||||
gSelectionBattleScripts[gActiveBank] = BattleScript_PrintFullBox;
|
||||
gBattleCommunication[gActiveBank] = STATE_SELECTION_SCRIPT;
|
||||
*(gBattleStruct->selectionScriptFinished + gActiveBank) = FALSE;
|
||||
*(gBattleStruct->stateIdAfterSelScript + gActiveBank) = STATE_BEFORE_ACTION_CHOSEN;
|
||||
@@ -4108,7 +4084,7 @@ static void HandleTurnActionSelectionState(void)
|
||||
&& gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_x4000000)
|
||||
&& gBattleBufferB[gActiveBank][1] == ACTION_RUN)
|
||||
{
|
||||
gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DB9BA;
|
||||
gSelectionBattleScripts[gActiveBank] = BattleScript_AskIfWantsToForfeitMatch;
|
||||
gBattleCommunication[gActiveBank] = 8;
|
||||
*(gBattleStruct->selectionScriptFinished + gActiveBank) = FALSE;
|
||||
*(gBattleStruct->stateIdAfterSelScript + gActiveBank) = STATE_BEFORE_ACTION_CHOSEN;
|
||||
@@ -4118,13 +4094,13 @@ static void HandleTurnActionSelectionState(void)
|
||||
&& !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000))
|
||||
&& gBattleBufferB[gActiveBank][1] == ACTION_RUN)
|
||||
{
|
||||
BattleScriptExecute(gUnknown_082DAAFE);
|
||||
BattleScriptExecute(BattleScript_PrintCantRunFromTrainer);
|
||||
gBattleCommunication[gActiveBank] = 1;
|
||||
}
|
||||
else if (IsRunningFromBattleImpossible() != 0
|
||||
else if (IsRunningFromBattleImpossible()
|
||||
&& gBattleBufferB[gActiveBank][1] == ACTION_RUN)
|
||||
{
|
||||
gBattlescriptPtrsForSelection[gActiveBank] = gUnknown_082DAB0B;
|
||||
gSelectionBattleScripts[gActiveBank] = BattleScript_PrintCantEscapeFromBattle;
|
||||
gBattleCommunication[gActiveBank] = STATE_SELECTION_SCRIPT;
|
||||
*(gBattleStruct->selectionScriptFinished + gActiveBank) = FALSE;
|
||||
*(gBattleStruct->stateIdAfterSelScript + gActiveBank) = STATE_BEFORE_ACTION_CHOSEN;
|
||||
@@ -4277,12 +4253,12 @@ static void HandleTurnActionSelectionState(void)
|
||||
else
|
||||
{
|
||||
gBankAttacker = gActiveBank;
|
||||
gBattlescriptCurrInstr = gBattlescriptPtrsForSelection[gActiveBank];
|
||||
gBattlescriptCurrInstr = gSelectionBattleScripts[gActiveBank];
|
||||
if (!(gBattleExecBuffer & ((gBitTable[gActiveBank]) | (0xF0000000) | (gBitTable[gActiveBank] << 4) | (gBitTable[gActiveBank] << 8) | (gBitTable[gActiveBank] << 0xC))))
|
||||
{
|
||||
gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]]();
|
||||
}
|
||||
gBattlescriptPtrsForSelection[gActiveBank] = gBattlescriptCurrInstr;
|
||||
gSelectionBattleScripts[gActiveBank] = gBattlescriptCurrInstr;
|
||||
}
|
||||
break;
|
||||
case STATE_WAIT_SET_BEFORE_ACTION:
|
||||
@@ -4309,12 +4285,12 @@ static void HandleTurnActionSelectionState(void)
|
||||
else
|
||||
{
|
||||
gBankAttacker = gActiveBank;
|
||||
gBattlescriptCurrInstr = gBattlescriptPtrsForSelection[gActiveBank];
|
||||
gBattlescriptCurrInstr = gSelectionBattleScripts[gActiveBank];
|
||||
if (!(gBattleExecBuffer & ((gBitTable[gActiveBank]) | (0xF0000000) | (gBitTable[gActiveBank] << 4) | (gBitTable[gActiveBank] << 8) | (gBitTable[gActiveBank] << 0xC))))
|
||||
{
|
||||
gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]]();
|
||||
}
|
||||
gBattlescriptPtrsForSelection[gActiveBank] = gBattlescriptCurrInstr;
|
||||
gSelectionBattleScripts[gActiveBank] = gBattlescriptCurrInstr;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -4812,13 +4788,13 @@ static void HandleEndTurn_BattleLost(void)
|
||||
{
|
||||
if (gBattleOutcome & BATTLE_OUTCOME_BIT_x80)
|
||||
{
|
||||
gBattlescriptCurrInstr = gUnknown_082DB9C8;
|
||||
gBattlescriptCurrInstr = BattleScript_82DB9C8;
|
||||
gBattleOutcome &= ~(BATTLE_OUTCOME_BIT_x80);
|
||||
gSaveBlock2Ptr->field_CA9_b = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBattlescriptCurrInstr = gUnknown_082DAA0B;
|
||||
gBattlescriptCurrInstr = BattleScript_82DAA0B;
|
||||
gBattleOutcome &= ~(BATTLE_OUTCOME_BIT_x80);
|
||||
}
|
||||
}
|
||||
@@ -4844,13 +4820,13 @@ static void HandleEndTurn_RanFromBattle(void)
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER && gBattleTypeFlags & BATTLE_TYPE_TRAINER)
|
||||
{
|
||||
gBattlescriptCurrInstr = gUnknown_082DB9C1;
|
||||
gBattlescriptCurrInstr = BattleScript_82DB9C1;
|
||||
gBattleOutcome = BATTLE_FORFEITED;
|
||||
gSaveBlock2Ptr->field_CA9_b = 1;
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_x4000000)
|
||||
{
|
||||
gBattlescriptCurrInstr = gUnknown_082DB9C1;
|
||||
gBattlescriptCurrInstr = BattleScript_82DB9C1;
|
||||
gBattleOutcome = BATTLE_FORFEITED;
|
||||
}
|
||||
else
|
||||
@@ -5073,19 +5049,19 @@ static void HandleAction_UseMove(void)
|
||||
if (gProtectStructs[gBankAttacker].onlyStruggle)
|
||||
{
|
||||
gProtectStructs[gBankAttacker].onlyStruggle = 0;
|
||||
gCurrentMove = gLastUsedMove = MOVE_STRUGGLE;
|
||||
gCurrentMove = gChosenMove = MOVE_STRUGGLE;
|
||||
gHitMarker |= HITMARKER_NO_PPDEDUCT;
|
||||
*(gBattleStruct->moveTarget + gBankAttacker) = GetMoveTarget(MOVE_STRUGGLE, 0);
|
||||
}
|
||||
else if (gBattleMons[gBankAttacker].status2 & STATUS2_MULTIPLETURNS || gBattleMons[gBankAttacker].status2 & STATUS2_RECHARGE)
|
||||
{
|
||||
gCurrentMove = gLastUsedMove = gLockedMoves[gBankAttacker];
|
||||
gCurrentMove = gChosenMove = gLockedMoves[gBankAttacker];
|
||||
}
|
||||
// encore forces you to use the same move
|
||||
else if (gDisableStructs[gBankAttacker].encoredMove != MOVE_NONE
|
||||
&& gDisableStructs[gBankAttacker].encoredMove == gBattleMons[gBankAttacker].moves[gDisableStructs[gBankAttacker].encoredMovePos])
|
||||
{
|
||||
gCurrentMove = gLastUsedMove = gDisableStructs[gBankAttacker].encoredMove;
|
||||
gCurrentMove = gChosenMove = gDisableStructs[gBankAttacker].encoredMove;
|
||||
gCurrMovePos = gUnknown_020241E9 = gDisableStructs[gBankAttacker].encoredMovePos;
|
||||
*(gBattleStruct->moveTarget + gBankAttacker) = GetMoveTarget(gCurrentMove, 0);
|
||||
}
|
||||
@@ -5094,7 +5070,7 @@ static void HandleAction_UseMove(void)
|
||||
&& gDisableStructs[gBankAttacker].encoredMove != gBattleMons[gBankAttacker].moves[gDisableStructs[gBankAttacker].encoredMovePos])
|
||||
{
|
||||
gCurrMovePos = gUnknown_020241E9 = gDisableStructs[gBankAttacker].encoredMovePos;
|
||||
gCurrentMove = gLastUsedMove = gBattleMons[gBankAttacker].moves[gCurrMovePos];
|
||||
gCurrentMove = gChosenMove = gBattleMons[gBankAttacker].moves[gCurrMovePos];
|
||||
gDisableStructs[gBankAttacker].encoredMove = MOVE_NONE;
|
||||
gDisableStructs[gBankAttacker].encoredMovePos = 0;
|
||||
gDisableStructs[gBankAttacker].encoreTimer1 = 0;
|
||||
@@ -5102,12 +5078,12 @@ static void HandleAction_UseMove(void)
|
||||
}
|
||||
else if (gBattleMons[gBankAttacker].moves[gCurrMovePos] != gChosenMovesByBanks[gBankAttacker])
|
||||
{
|
||||
gCurrentMove = gLastUsedMove = gBattleMons[gBankAttacker].moves[gCurrMovePos];
|
||||
gCurrentMove = gChosenMove = gBattleMons[gBankAttacker].moves[gCurrMovePos];
|
||||
*(gBattleStruct->moveTarget + gBankAttacker) = GetMoveTarget(gCurrentMove, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
gCurrentMove = gLastUsedMove = gBattleMons[gBankAttacker].moves[gCurrMovePos];
|
||||
gCurrentMove = gChosenMove = gBattleMons[gBankAttacker].moves[gCurrMovePos];
|
||||
}
|
||||
|
||||
if (gBattleMons[gBankAttacker].hp != 0)
|
||||
@@ -5147,7 +5123,7 @@ static void HandleAction_UseMove(void)
|
||||
}
|
||||
if (var == 4)
|
||||
{
|
||||
if (gBattleMoves[gLastUsedMove].target & MOVE_TARGET_RANDOM)
|
||||
if (gBattleMoves[gChosenMove].target & MOVE_TARGET_RANDOM)
|
||||
{
|
||||
if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
|
||||
{
|
||||
@@ -5192,7 +5168,7 @@ static void HandleAction_UseMove(void)
|
||||
}
|
||||
}
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE
|
||||
&& gBattleMoves[gLastUsedMove].target & MOVE_TARGET_RANDOM)
|
||||
&& gBattleMoves[gChosenMove].target & MOVE_TARGET_RANDOM)
|
||||
{
|
||||
if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
|
||||
{
|
||||
@@ -5242,11 +5218,11 @@ static void HandleAction_UseMove(void)
|
||||
gCurrentActionFuncId = 12;
|
||||
return;
|
||||
}
|
||||
else if (gUnknown_02024230[gBankAttacker] != NULL)
|
||||
else if (gPalaceSelectionBattleScripts[gBankAttacker] != NULL)
|
||||
{
|
||||
gBattleCommunication[MULTISTRING_CHOOSER] = 4;
|
||||
gBattlescriptCurrInstr = gUnknown_02024230[gBankAttacker];
|
||||
gUnknown_02024230[gBankAttacker] = NULL;
|
||||
gBattlescriptCurrInstr = gPalaceSelectionBattleScripts[gBankAttacker];
|
||||
gPalaceSelectionBattleScripts[gBankAttacker] = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -5625,8 +5601,8 @@ static void HandleAction_ActionFinished(void)
|
||||
gBattleMoveFlags = 0;
|
||||
gBattleScripting.animTurn = 0;
|
||||
gBattleScripting.animTargetsHit = 0;
|
||||
gUnknown_02024250[gBankAttacker] = 0;
|
||||
gUnknown_02024258[gBankAttacker] = 0;
|
||||
gLastLandedMoves[gBankAttacker] = 0;
|
||||
gLastHitByType[gBankAttacker] = 0;
|
||||
gBattleStruct->dynamicMoveType = 0;
|
||||
gDynamicBasePower = 0;
|
||||
gBattleScripting.atk49_state = 0;
|
||||
|
||||
@@ -58,7 +58,7 @@ extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT];
|
||||
extern u16 gCurrentMove;
|
||||
extern u8 gBankTarget;
|
||||
extern u8 gAbsentBankFlags;
|
||||
extern u16 gLastUsedMovesByBanks[BATTLE_BANKS_COUNT];
|
||||
extern u16 gLastMoves[BATTLE_BANKS_COUNT];
|
||||
extern u16 gTrainerBattleOpponent_A;
|
||||
extern u16 gTrainerBattleOpponent_B;
|
||||
extern u32 gStatuses3[BATTLE_BANKS_COUNT];
|
||||
@@ -633,12 +633,12 @@ static void RecordLastUsedMoveByTarget(void)
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
if (gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] == gLastUsedMovesByBanks[gBankTarget])
|
||||
if (gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] == gLastMoves[gBankTarget])
|
||||
break;
|
||||
if (gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] != gLastUsedMovesByBanks[gBankTarget] // HACK: This redundant condition is a hack to make the asm match.
|
||||
if (gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] != gLastMoves[gBankTarget] // HACK: This redundant condition is a hack to make the asm match.
|
||||
&& gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] == 0)
|
||||
{
|
||||
gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] = gLastUsedMovesByBanks[gBankTarget];
|
||||
gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] = gLastMoves[gBankTarget];
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1252,9 +1252,9 @@ static void BattleAICmd_is_most_powerful_move(void)
|
||||
static void BattleAICmd_get_last_used_bank_move(void)
|
||||
{
|
||||
if (gAIScriptPtr[1] == AI_USER)
|
||||
AI_THINKING_STRUCT->funcResult = gLastUsedMovesByBanks[sBank_AI];
|
||||
AI_THINKING_STRUCT->funcResult = gLastMoves[sBank_AI];
|
||||
else
|
||||
AI_THINKING_STRUCT->funcResult = gLastUsedMovesByBanks[gBankTarget];
|
||||
AI_THINKING_STRUCT->funcResult = gLastMoves[gBankTarget];
|
||||
|
||||
gAIScriptPtr += 2;
|
||||
}
|
||||
|
||||
@@ -16,8 +16,8 @@ extern u32 gBattleTypeFlags;
|
||||
extern u32 gStatuses3[BATTLE_BANKS_COUNT];
|
||||
extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT];
|
||||
extern u16 gBattlePartyID[BATTLE_BANKS_COUNT];
|
||||
extern u16 gUnknown_02024250[BATTLE_BANKS_COUNT];
|
||||
extern u8 gUnknown_02024270[BATTLE_BANKS_COUNT];
|
||||
extern u16 gLastLandedMoves[BATTLE_BANKS_COUNT];
|
||||
extern u8 gLastHitBy[BATTLE_BANKS_COUNT];
|
||||
extern u16 gDynamicBasePower;
|
||||
extern u8 gBattleMoveFlags;
|
||||
extern u8 gCritMultiplier;
|
||||
@@ -141,11 +141,11 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void)
|
||||
|
||||
if (HasSuperEffectiveMoveAgainstOpponents(TRUE) && Random() % 3 != 0)
|
||||
return FALSE;
|
||||
if (gUnknown_02024250[gActiveBank] == 0)
|
||||
if (gLastLandedMoves[gActiveBank] == 0)
|
||||
return FALSE;
|
||||
if (gUnknown_02024250[gActiveBank] == 0xFFFF)
|
||||
if (gLastLandedMoves[gActiveBank] == 0xFFFF)
|
||||
return FALSE;
|
||||
if (gBattleMoves[gUnknown_02024250[gActiveBank]].power == 0)
|
||||
if (gBattleMoves[gLastLandedMoves[gActiveBank]].power == 0)
|
||||
return FALSE;
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
|
||||
@@ -162,11 +162,11 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void)
|
||||
bankIn2 = gActiveBank;
|
||||
}
|
||||
|
||||
if (gBattleMoves[gUnknown_02024250[gActiveBank]].type == TYPE_FIRE)
|
||||
if (gBattleMoves[gLastLandedMoves[gActiveBank]].type == TYPE_FIRE)
|
||||
absorbingTypeAbility = ABILITY_FLASH_FIRE;
|
||||
else if (gBattleMoves[gUnknown_02024250[gActiveBank]].type == TYPE_WATER)
|
||||
else if (gBattleMoves[gLastLandedMoves[gActiveBank]].type == TYPE_WATER)
|
||||
absorbingTypeAbility = ABILITY_WATER_ABSORB;
|
||||
else if (gBattleMoves[gUnknown_02024250[gActiveBank]].type == TYPE_ELECTRIC)
|
||||
else if (gBattleMoves[gLastLandedMoves[gActiveBank]].type == TYPE_ELECTRIC)
|
||||
absorbingTypeAbility = ABILITY_VOLT_ABSORB;
|
||||
else
|
||||
return FALSE;
|
||||
@@ -238,13 +238,13 @@ static bool8 ShouldSwitchIfNaturalCure(void)
|
||||
if (gBattleMons[gActiveBank].hp < gBattleMons[gActiveBank].maxHP / 2)
|
||||
return FALSE;
|
||||
|
||||
if ((gUnknown_02024250[gActiveBank] == 0 || gUnknown_02024250[gActiveBank] == 0xFFFF) && Random() & 1)
|
||||
if ((gLastLandedMoves[gActiveBank] == 0 || gLastLandedMoves[gActiveBank] == 0xFFFF) && Random() & 1)
|
||||
{
|
||||
*(gBattleStruct->AI_monToSwitchIntoId + gActiveBank) = 6;
|
||||
EmitTwoReturnValues(1, ACTION_SWITCH, 0);
|
||||
return TRUE;
|
||||
}
|
||||
else if (gBattleMoves[gUnknown_02024250[gActiveBank]].power == 0 && Random() & 1)
|
||||
else if (gBattleMoves[gLastLandedMoves[gActiveBank]].power == 0 && Random() & 1)
|
||||
{
|
||||
*(gBattleStruct->AI_monToSwitchIntoId + gActiveBank) = 6;
|
||||
EmitTwoReturnValues(1, ACTION_SWITCH, 0);
|
||||
@@ -345,13 +345,13 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent)
|
||||
u16 move;
|
||||
u8 moveFlags;
|
||||
|
||||
if (gUnknown_02024250[gActiveBank] == 0)
|
||||
if (gLastLandedMoves[gActiveBank] == 0)
|
||||
return FALSE;
|
||||
if (gUnknown_02024250[gActiveBank] == 0xFFFF)
|
||||
if (gLastLandedMoves[gActiveBank] == 0xFFFF)
|
||||
return FALSE;
|
||||
if (gUnknown_02024270[gActiveBank] == 0xFF)
|
||||
if (gLastHitBy[gActiveBank] == 0xFF)
|
||||
return FALSE;
|
||||
if (gBattleMoves[gUnknown_02024250[gActiveBank]].power == 0)
|
||||
if (gBattleMoves[gLastLandedMoves[gActiveBank]].power == 0)
|
||||
return FALSE;
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
|
||||
@@ -411,10 +411,10 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent)
|
||||
else
|
||||
monAbility = gBaseStats[species].ability1;
|
||||
|
||||
moveFlags = AI_TypeCalc(gUnknown_02024250[gActiveBank], species, monAbility);
|
||||
moveFlags = AI_TypeCalc(gLastLandedMoves[gActiveBank], species, monAbility);
|
||||
if (moveFlags & flags)
|
||||
{
|
||||
bankIn1 = gUnknown_02024270[gActiveBank];
|
||||
bankIn1 = gLastHitBy[gActiveBank];
|
||||
|
||||
for (j = 0; j < 4; j++)
|
||||
{
|
||||
|
||||
@@ -82,7 +82,7 @@ static void LinkOpponentHandleBallThrowAnim(void);
|
||||
static void LinkOpponentHandlePause(void);
|
||||
static void LinkOpponentHandleMoveAnimation(void);
|
||||
static void LinkOpponentHandlePrintString(void);
|
||||
static void LinkOpponentHandlePrintStringPlayerOnly(void);
|
||||
static void LinkOpponentHandlePrintSelectionString(void);
|
||||
static void LinkOpponentHandleChooseAction(void);
|
||||
static void LinkOpponentHandleUnknownYesNoBox(void);
|
||||
static void LinkOpponentHandleChooseMove(void);
|
||||
@@ -108,7 +108,7 @@ static void LinkOpponentHandleCmd39(void);
|
||||
static void LinkOpponentHandleCmd40(void);
|
||||
static void LinkOpponentHandleHitAnimation(void);
|
||||
static void LinkOpponentHandleCmd42(void);
|
||||
static void LinkOpponentHandleEffectivenessSound(void);
|
||||
static void LinkOpponentHandlePlaySE(void);
|
||||
static void LinkOpponentHandlePlayFanfareOrBGM(void);
|
||||
static void LinkOpponentHandleFaintingCry(void);
|
||||
static void LinkOpponentHandleIntroSlide(void);
|
||||
@@ -154,7 +154,7 @@ static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
||||
LinkOpponentHandlePause,
|
||||
LinkOpponentHandleMoveAnimation,
|
||||
LinkOpponentHandlePrintString,
|
||||
LinkOpponentHandlePrintStringPlayerOnly,
|
||||
LinkOpponentHandlePrintSelectionString,
|
||||
LinkOpponentHandleChooseAction,
|
||||
LinkOpponentHandleUnknownYesNoBox,
|
||||
LinkOpponentHandleChooseMove,
|
||||
@@ -180,7 +180,7 @@ static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
||||
LinkOpponentHandleCmd40,
|
||||
LinkOpponentHandleHitAnimation,
|
||||
LinkOpponentHandleCmd42,
|
||||
LinkOpponentHandleEffectivenessSound,
|
||||
LinkOpponentHandlePlaySE,
|
||||
LinkOpponentHandlePlayFanfareOrBGM,
|
||||
LinkOpponentHandleFaintingCry,
|
||||
LinkOpponentHandleIntroSlide,
|
||||
@@ -1505,7 +1505,7 @@ static void LinkOpponentHandlePrintString(void)
|
||||
sub_817C95C(*stringId);
|
||||
}
|
||||
|
||||
static void LinkOpponentHandlePrintStringPlayerOnly(void)
|
||||
static void LinkOpponentHandlePrintSelectionString(void)
|
||||
{
|
||||
LinkOpponentBufferExecCompleted();
|
||||
}
|
||||
@@ -1681,7 +1681,7 @@ static void LinkOpponentHandleCmd42(void)
|
||||
LinkOpponentBufferExecCompleted();
|
||||
}
|
||||
|
||||
static void LinkOpponentHandleEffectivenessSound(void)
|
||||
static void LinkOpponentHandlePlaySE(void)
|
||||
{
|
||||
s8 pan;
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ static void LinkPartnerHandleBallThrowAnim(void);
|
||||
static void LinkPartnerHandlePause(void);
|
||||
static void LinkPartnerHandleMoveAnimation(void);
|
||||
static void LinkPartnerHandlePrintString(void);
|
||||
static void LinkPartnerHandlePrintStringPlayerOnly(void);
|
||||
static void LinkPartnerHandlePrintSelectionString(void);
|
||||
static void LinkPartnerHandleChooseAction(void);
|
||||
static void LinkPartnerHandleUnknownYesNoBox(void);
|
||||
static void LinkPartnerHandleChooseMove(void);
|
||||
@@ -104,7 +104,7 @@ static void LinkPartnerHandleCmd39(void);
|
||||
static void LinkPartnerHandleCmd40(void);
|
||||
static void LinkPartnerHandleHitAnimation(void);
|
||||
static void LinkPartnerHandleCmd42(void);
|
||||
static void LinkPartnerHandleEffectivenessSound(void);
|
||||
static void LinkPartnerHandlePlaySE(void);
|
||||
static void LinkPartnerHandlePlayFanfareOrBGM(void);
|
||||
static void LinkPartnerHandleFaintingCry(void);
|
||||
static void LinkPartnerHandleIntroSlide(void);
|
||||
@@ -149,7 +149,7 @@ static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
||||
LinkPartnerHandlePause,
|
||||
LinkPartnerHandleMoveAnimation,
|
||||
LinkPartnerHandlePrintString,
|
||||
LinkPartnerHandlePrintStringPlayerOnly,
|
||||
LinkPartnerHandlePrintSelectionString,
|
||||
LinkPartnerHandleChooseAction,
|
||||
LinkPartnerHandleUnknownYesNoBox,
|
||||
LinkPartnerHandleChooseMove,
|
||||
@@ -175,7 +175,7 @@ static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
||||
LinkPartnerHandleCmd40,
|
||||
LinkPartnerHandleHitAnimation,
|
||||
LinkPartnerHandleCmd42,
|
||||
LinkPartnerHandleEffectivenessSound,
|
||||
LinkPartnerHandlePlaySE,
|
||||
LinkPartnerHandlePlayFanfareOrBGM,
|
||||
LinkPartnerHandleFaintingCry,
|
||||
LinkPartnerHandleIntroSlide,
|
||||
@@ -1327,7 +1327,7 @@ static void LinkPartnerHandlePrintString(void)
|
||||
sub_817C95C(*stringId);
|
||||
}
|
||||
|
||||
static void LinkPartnerHandlePrintStringPlayerOnly(void)
|
||||
static void LinkPartnerHandlePrintSelectionString(void)
|
||||
{
|
||||
LinkPartnerBufferExecCompleted();
|
||||
}
|
||||
@@ -1503,7 +1503,7 @@ static void LinkPartnerHandleCmd42(void)
|
||||
LinkPartnerBufferExecCompleted();
|
||||
}
|
||||
|
||||
static void LinkPartnerHandleEffectivenessSound(void)
|
||||
static void LinkPartnerHandlePlaySE(void)
|
||||
{
|
||||
s8 pan;
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ static void OpponentHandleBallThrow(void);
|
||||
static void OpponentHandlePause(void);
|
||||
static void OpponentHandleMoveAnimation(void);
|
||||
static void OpponentHandlePrintString(void);
|
||||
static void OpponentHandlePrintStringPlayerOnly(void);
|
||||
static void OpponentHandlePrintSelectionString(void);
|
||||
static void OpponentHandleChooseAction(void);
|
||||
static void OpponentHandleUnknownYesNoBox(void);
|
||||
static void OpponentHandleChooseMove(void);
|
||||
@@ -109,7 +109,7 @@ static void OpponentHandleCmd39(void);
|
||||
static void OpponentHandleCmd40(void);
|
||||
static void OpponentHandleHitAnimation(void);
|
||||
static void OpponentHandleCmd42(void);
|
||||
static void OpponentHandleEffectivenessSound(void);
|
||||
static void OpponentHandlePlaySE(void);
|
||||
static void OpponentHandlePlayFanfareOrBGM(void);
|
||||
static void OpponentHandleFaintingCry(void);
|
||||
static void OpponentHandleIntroSlide(void);
|
||||
@@ -155,7 +155,7 @@ static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
||||
OpponentHandlePause,
|
||||
OpponentHandleMoveAnimation,
|
||||
OpponentHandlePrintString,
|
||||
OpponentHandlePrintStringPlayerOnly,
|
||||
OpponentHandlePrintSelectionString,
|
||||
OpponentHandleChooseAction,
|
||||
OpponentHandleUnknownYesNoBox,
|
||||
OpponentHandleChooseMove,
|
||||
@@ -181,7 +181,7 @@ static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
||||
OpponentHandleCmd40,
|
||||
OpponentHandleHitAnimation,
|
||||
OpponentHandleCmd42,
|
||||
OpponentHandleEffectivenessSound,
|
||||
OpponentHandlePlaySE,
|
||||
OpponentHandlePlayFanfareOrBGM,
|
||||
OpponentHandleFaintingCry,
|
||||
OpponentHandleIntroSlide,
|
||||
@@ -1537,7 +1537,7 @@ static void OpponentHandlePrintString(void)
|
||||
sub_81A57E4(gActiveBank, *stringId);
|
||||
}
|
||||
|
||||
static void OpponentHandlePrintStringPlayerOnly(void)
|
||||
static void OpponentHandlePrintSelectionString(void)
|
||||
{
|
||||
OpponentBufferExecCompleted();
|
||||
}
|
||||
@@ -1826,7 +1826,7 @@ static void OpponentHandleCmd42(void)
|
||||
OpponentBufferExecCompleted();
|
||||
}
|
||||
|
||||
static void OpponentHandleEffectivenessSound(void)
|
||||
static void OpponentHandlePlaySE(void)
|
||||
{
|
||||
s8 pan;
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@ static void PlayerHandleBallThrowAnim(void);
|
||||
static void PlayerHandlePause(void);
|
||||
static void PlayerHandleMoveAnimation(void);
|
||||
static void PlayerHandlePrintString(void);
|
||||
static void PlayerHandlePrintStringPlayerOnly(void);
|
||||
static void PlayerHandlePrintSelectionString(void);
|
||||
static void PlayerHandleChooseAction(void);
|
||||
static void PlayerHandleUnknownYesNoBox(void);
|
||||
static void PlayerHandleChooseMove(void);
|
||||
@@ -128,7 +128,7 @@ static void PlayerHandleCmd39(void);
|
||||
static void PlayerHandleCmd40(void);
|
||||
static void PlayerHandleHitAnimation(void);
|
||||
static void PlayerHandleCmd42(void);
|
||||
static void PlayerHandleEffectivenessSound(void);
|
||||
static void PlayerHandlePlaySE(void);
|
||||
static void PlayerHandlePlayFanfareOrBGM(void);
|
||||
static void PlayerHandleFaintingCry(void);
|
||||
static void PlayerHandleIntroSlide(void);
|
||||
@@ -189,7 +189,7 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
||||
PlayerHandlePause,
|
||||
PlayerHandleMoveAnimation,
|
||||
PlayerHandlePrintString,
|
||||
PlayerHandlePrintStringPlayerOnly,
|
||||
PlayerHandlePrintSelectionString,
|
||||
PlayerHandleChooseAction,
|
||||
PlayerHandleUnknownYesNoBox,
|
||||
PlayerHandleChooseMove,
|
||||
@@ -215,7 +215,7 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
||||
PlayerHandleCmd40,
|
||||
PlayerHandleHitAnimation,
|
||||
PlayerHandleCmd42,
|
||||
PlayerHandleEffectivenessSound,
|
||||
PlayerHandlePlaySE,
|
||||
PlayerHandlePlayFanfareOrBGM,
|
||||
PlayerHandleFaintingCry,
|
||||
PlayerHandleIntroSlide,
|
||||
@@ -2576,7 +2576,7 @@ static void PlayerHandlePrintString(void)
|
||||
sub_81A57E4(gActiveBank, *stringId);
|
||||
}
|
||||
|
||||
static void PlayerHandlePrintStringPlayerOnly(void)
|
||||
static void PlayerHandlePrintSelectionString(void)
|
||||
{
|
||||
if (GetBankSide(gActiveBank) == SIDE_PLAYER)
|
||||
PlayerHandlePrintString();
|
||||
@@ -2913,7 +2913,7 @@ static void PlayerHandleCmd42(void)
|
||||
PlayerBufferExecCompleted();
|
||||
}
|
||||
|
||||
static void PlayerHandleEffectivenessSound(void)
|
||||
static void PlayerHandlePlaySE(void)
|
||||
{
|
||||
s8 pan;
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ static void PlayerPartnerHandleBallThrowAnim(void);
|
||||
static void PlayerPartnerHandlePause(void);
|
||||
static void PlayerPartnerHandleMoveAnimation(void);
|
||||
static void PlayerPartnerHandlePrintString(void);
|
||||
static void PlayerPartnerHandlePrintStringPlayerOnly(void);
|
||||
static void PlayerPartnerHandlePrintSelectionString(void);
|
||||
static void PlayerPartnerHandleChooseAction(void);
|
||||
static void PlayerPartnerHandleUnknownYesNoBox(void);
|
||||
static void PlayerPartnerHandleChooseMove(void);
|
||||
@@ -104,7 +104,7 @@ static void PlayerPartnerHandleCmd39(void);
|
||||
static void PlayerPartnerHandleCmd40(void);
|
||||
static void PlayerPartnerHandleHitAnimation(void);
|
||||
static void PlayerPartnerHandleCmd42(void);
|
||||
static void PlayerPartnerHandleEffectivenessSound(void);
|
||||
static void PlayerPartnerHandlePlaySE(void);
|
||||
static void PlayerPartnerHandlePlayFanfareOrBGM(void);
|
||||
static void PlayerPartnerHandleFaintingCry(void);
|
||||
static void PlayerPartnerHandleIntroSlide(void);
|
||||
@@ -155,7 +155,7 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
||||
PlayerPartnerHandlePause,
|
||||
PlayerPartnerHandleMoveAnimation,
|
||||
PlayerPartnerHandlePrintString,
|
||||
PlayerPartnerHandlePrintStringPlayerOnly,
|
||||
PlayerPartnerHandlePrintSelectionString,
|
||||
PlayerPartnerHandleChooseAction,
|
||||
PlayerPartnerHandleUnknownYesNoBox,
|
||||
PlayerPartnerHandleChooseMove,
|
||||
@@ -181,7 +181,7 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
||||
PlayerPartnerHandleCmd40,
|
||||
PlayerPartnerHandleHitAnimation,
|
||||
PlayerPartnerHandleCmd42,
|
||||
PlayerPartnerHandleEffectivenessSound,
|
||||
PlayerPartnerHandlePlaySE,
|
||||
PlayerPartnerHandlePlayFanfareOrBGM,
|
||||
PlayerPartnerHandleFaintingCry,
|
||||
PlayerPartnerHandleIntroSlide,
|
||||
@@ -1519,7 +1519,7 @@ static void PlayerPartnerHandlePrintString(void)
|
||||
gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter2;
|
||||
}
|
||||
|
||||
static void PlayerPartnerHandlePrintStringPlayerOnly(void)
|
||||
static void PlayerPartnerHandlePrintSelectionString(void)
|
||||
{
|
||||
PlayerPartnerBufferExecCompleted();
|
||||
}
|
||||
@@ -1756,7 +1756,7 @@ static void PlayerPartnerHandleCmd42(void)
|
||||
PlayerPartnerBufferExecCompleted();
|
||||
}
|
||||
|
||||
static void PlayerPartnerHandleEffectivenessSound(void)
|
||||
static void PlayerPartnerHandlePlaySE(void)
|
||||
{
|
||||
s8 pan;
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ static void RecordedOpponentHandleBallThrowAnim(void);
|
||||
static void RecordedOpponentHandlePause(void);
|
||||
static void RecordedOpponentHandleMoveAnimation(void);
|
||||
static void RecordedOpponentHandlePrintString(void);
|
||||
static void RecordedOpponentHandlePrintStringPlayerOnly(void);
|
||||
static void RecordedOpponentHandlePrintSelectionString(void);
|
||||
static void RecordedOpponentHandleChooseAction(void);
|
||||
static void RecordedOpponentHandleUnknownYesNoBox(void);
|
||||
static void RecordedOpponentHandleChooseMove(void);
|
||||
@@ -107,7 +107,7 @@ static void RecordedOpponentHandleCmd39(void);
|
||||
static void RecordedOpponentHandleCmd40(void);
|
||||
static void RecordedOpponentHandleHitAnimation(void);
|
||||
static void RecordedOpponentHandleCmd42(void);
|
||||
static void RecordedOpponentHandleEffectivenessSound(void);
|
||||
static void RecordedOpponentHandlePlaySE(void);
|
||||
static void RecordedOpponentHandlePlayFanfareOrBGM(void);
|
||||
static void RecordedOpponentHandleFaintingCry(void);
|
||||
static void RecordedOpponentHandleIntroSlide(void);
|
||||
@@ -153,7 +153,7 @@ static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void
|
||||
RecordedOpponentHandlePause,
|
||||
RecordedOpponentHandleMoveAnimation,
|
||||
RecordedOpponentHandlePrintString,
|
||||
RecordedOpponentHandlePrintStringPlayerOnly,
|
||||
RecordedOpponentHandlePrintSelectionString,
|
||||
RecordedOpponentHandleChooseAction,
|
||||
RecordedOpponentHandleUnknownYesNoBox,
|
||||
RecordedOpponentHandleChooseMove,
|
||||
@@ -179,7 +179,7 @@ static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void
|
||||
RecordedOpponentHandleCmd40,
|
||||
RecordedOpponentHandleHitAnimation,
|
||||
RecordedOpponentHandleCmd42,
|
||||
RecordedOpponentHandleEffectivenessSound,
|
||||
RecordedOpponentHandlePlaySE,
|
||||
RecordedOpponentHandlePlayFanfareOrBGM,
|
||||
RecordedOpponentHandleFaintingCry,
|
||||
RecordedOpponentHandleIntroSlide,
|
||||
@@ -1435,7 +1435,7 @@ static void RecordedOpponentHandlePrintString(void)
|
||||
gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter;
|
||||
}
|
||||
|
||||
static void RecordedOpponentHandlePrintStringPlayerOnly(void)
|
||||
static void RecordedOpponentHandlePrintSelectionString(void)
|
||||
{
|
||||
RecordedOpponentBufferExecCompleted();
|
||||
}
|
||||
@@ -1625,7 +1625,7 @@ static void RecordedOpponentHandleCmd42(void)
|
||||
RecordedOpponentBufferExecCompleted();
|
||||
}
|
||||
|
||||
static void RecordedOpponentHandleEffectivenessSound(void)
|
||||
static void RecordedOpponentHandlePlaySE(void)
|
||||
{
|
||||
s8 pan;
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ static void RecordedPlayerHandleBallThrowAnim(void);
|
||||
static void RecordedPlayerHandlePause(void);
|
||||
static void RecordedPlayerHandleMoveAnimation(void);
|
||||
static void RecordedPlayerHandlePrintString(void);
|
||||
static void RecordedPlayerHandlePrintStringPlayerOnly(void);
|
||||
static void RecordedPlayerHandlePrintSelectionString(void);
|
||||
static void RecordedPlayerHandleChooseAction(void);
|
||||
static void RecordedPlayerHandleUnknownYesNoBox(void);
|
||||
static void RecordedPlayerHandleChooseMove(void);
|
||||
@@ -107,7 +107,7 @@ static void RecordedPlayerHandleCmd39(void);
|
||||
static void RecordedPlayerHandleCmd40(void);
|
||||
static void RecordedPlayerHandleHitAnimation(void);
|
||||
static void RecordedPlayerHandleCmd42(void);
|
||||
static void RecordedPlayerHandleEffectivenessSound(void);
|
||||
static void RecordedPlayerHandlePlaySE(void);
|
||||
static void RecordedPlayerHandlePlayFanfareOrBGM(void);
|
||||
static void RecordedPlayerHandleFaintingCry(void);
|
||||
static void RecordedPlayerHandleIntroSlide(void);
|
||||
@@ -152,7 +152,7 @@ static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void)
|
||||
RecordedPlayerHandlePause,
|
||||
RecordedPlayerHandleMoveAnimation,
|
||||
RecordedPlayerHandlePrintString,
|
||||
RecordedPlayerHandlePrintStringPlayerOnly,
|
||||
RecordedPlayerHandlePrintSelectionString,
|
||||
RecordedPlayerHandleChooseAction,
|
||||
RecordedPlayerHandleUnknownYesNoBox,
|
||||
RecordedPlayerHandleChooseMove,
|
||||
@@ -178,7 +178,7 @@ static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void)
|
||||
RecordedPlayerHandleCmd40,
|
||||
RecordedPlayerHandleHitAnimation,
|
||||
RecordedPlayerHandleCmd42,
|
||||
RecordedPlayerHandleEffectivenessSound,
|
||||
RecordedPlayerHandlePlaySE,
|
||||
RecordedPlayerHandlePlayFanfareOrBGM,
|
||||
RecordedPlayerHandleFaintingCry,
|
||||
RecordedPlayerHandleIntroSlide,
|
||||
@@ -1437,7 +1437,7 @@ static void RecordedPlayerHandlePrintString(void)
|
||||
gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter;
|
||||
}
|
||||
|
||||
static void RecordedPlayerHandlePrintStringPlayerOnly(void)
|
||||
static void RecordedPlayerHandlePrintSelectionString(void)
|
||||
{
|
||||
RecordedPlayerBufferExecCompleted();
|
||||
}
|
||||
@@ -1644,7 +1644,7 @@ static void RecordedPlayerHandleCmd42(void)
|
||||
RecordedPlayerBufferExecCompleted();
|
||||
}
|
||||
|
||||
static void RecordedPlayerHandleEffectivenessSound(void)
|
||||
static void RecordedPlayerHandlePlaySE(void)
|
||||
{
|
||||
s8 pan;
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@ static void SafariHandleBallThrowAnim(void);
|
||||
static void SafariHandlePause(void);
|
||||
static void SafariHandleMoveAnimation(void);
|
||||
static void SafariHandlePrintString(void);
|
||||
static void SafariHandlePrintStringPlayerOnly(void);
|
||||
static void SafariHandlePrintSelectionString(void);
|
||||
static void SafariHandleChooseAction(void);
|
||||
static void SafariHandleUnknownYesNoBox(void);
|
||||
static void SafariHandleChooseMove(void);
|
||||
@@ -92,7 +92,7 @@ static void SafariHandleCmd39(void);
|
||||
static void SafariHandleCmd40(void);
|
||||
static void SafariHandleHitAnimation(void);
|
||||
static void SafariHandleCmd42(void);
|
||||
static void SafariHandleEffectivenessSound(void);
|
||||
static void SafariHandlePlaySE(void);
|
||||
static void SafariHandlePlayFanfareOrBGM(void);
|
||||
static void SafariHandleFaintingCry(void);
|
||||
static void SafariHandleIntroSlide(void);
|
||||
@@ -130,7 +130,7 @@ static void (*const sSafariBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
||||
SafariHandlePause,
|
||||
SafariHandleMoveAnimation,
|
||||
SafariHandlePrintString,
|
||||
SafariHandlePrintStringPlayerOnly,
|
||||
SafariHandlePrintSelectionString,
|
||||
SafariHandleChooseAction,
|
||||
SafariHandleUnknownYesNoBox,
|
||||
SafariHandleChooseMove,
|
||||
@@ -156,7 +156,7 @@ static void (*const sSafariBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
||||
SafariHandleCmd40,
|
||||
SafariHandleHitAnimation,
|
||||
SafariHandleCmd42,
|
||||
SafariHandleEffectivenessSound,
|
||||
SafariHandlePlaySE,
|
||||
SafariHandlePlayFanfareOrBGM,
|
||||
SafariHandleFaintingCry,
|
||||
SafariHandleIntroSlide,
|
||||
@@ -449,7 +449,7 @@ static void SafariHandlePrintString(void)
|
||||
gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter;
|
||||
}
|
||||
|
||||
static void SafariHandlePrintStringPlayerOnly(void)
|
||||
static void SafariHandlePrintSelectionString(void)
|
||||
{
|
||||
if (GetBankSide(gActiveBank) == SIDE_PLAYER)
|
||||
SafariHandlePrintString();
|
||||
@@ -607,7 +607,7 @@ static void SafariHandleCmd42(void)
|
||||
SafariBufferExecCompleted();
|
||||
}
|
||||
|
||||
static void SafariHandleEffectivenessSound(void)
|
||||
static void SafariHandlePlaySE(void)
|
||||
{
|
||||
s8 pan;
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ static void WallyHandleBallThrowAnim(void);
|
||||
static void WallyHandlePause(void);
|
||||
static void WallyHandleMoveAnimation(void);
|
||||
static void WallyHandlePrintString(void);
|
||||
static void WallyHandlePrintStringPlayerOnly(void);
|
||||
static void WallyHandlePrintSelectionString(void);
|
||||
static void WallyHandleChooseAction(void);
|
||||
static void WallyHandleUnknownYesNoBox(void);
|
||||
static void WallyHandleChooseMove(void);
|
||||
@@ -112,7 +112,7 @@ static void WallyHandleCmd39(void);
|
||||
static void WallyHandleCmd40(void);
|
||||
static void WallyHandleHitAnimation(void);
|
||||
static void WallyHandleCmd42(void);
|
||||
static void WallyHandleEffectivenessSound(void);
|
||||
static void WallyHandlePlaySE(void);
|
||||
static void WallyHandlePlayFanfareOrBGM(void);
|
||||
static void WallyHandleFaintingCry(void);
|
||||
static void WallyHandleIntroSlide(void);
|
||||
@@ -155,7 +155,7 @@ static void (*const sWallyBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
||||
WallyHandlePause,
|
||||
WallyHandleMoveAnimation,
|
||||
WallyHandlePrintString,
|
||||
WallyHandlePrintStringPlayerOnly,
|
||||
WallyHandlePrintSelectionString,
|
||||
WallyHandleChooseAction,
|
||||
WallyHandleUnknownYesNoBox,
|
||||
WallyHandleChooseMove,
|
||||
@@ -181,7 +181,7 @@ static void (*const sWallyBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
||||
WallyHandleCmd40,
|
||||
WallyHandleHitAnimation,
|
||||
WallyHandleCmd42,
|
||||
WallyHandleEffectivenessSound,
|
||||
WallyHandlePlaySE,
|
||||
WallyHandlePlayFanfareOrBGM,
|
||||
WallyHandleFaintingCry,
|
||||
WallyHandleIntroSlide,
|
||||
@@ -1211,7 +1211,7 @@ static void WallyHandlePrintString(void)
|
||||
gBattleBankFunc[gActiveBank] = CompleteOnInactiveTextPrinter;
|
||||
}
|
||||
|
||||
static void WallyHandlePrintStringPlayerOnly(void)
|
||||
static void WallyHandlePrintSelectionString(void)
|
||||
{
|
||||
if (GetBankSide(gActiveBank) == SIDE_PLAYER)
|
||||
WallyHandlePrintString();
|
||||
@@ -1419,7 +1419,7 @@ static void WallyHandleCmd42(void)
|
||||
WallyBufferExecCompleted();
|
||||
}
|
||||
|
||||
static void WallyHandleEffectivenessSound(void)
|
||||
static void WallyHandlePlaySE(void)
|
||||
{
|
||||
PlaySE(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8));
|
||||
WallyBufferExecCompleted();
|
||||
|
||||
@@ -37,6 +37,9 @@ extern u16 gBattleWeather;
|
||||
extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT];
|
||||
extern u16 gCurrentMove;
|
||||
extern u16 gLastUsedMove;
|
||||
extern u16 gChosenMove;
|
||||
extern u16 gLastUsedItem;
|
||||
extern u8 gBattleOutcome;
|
||||
extern u8 gLastUsedAbility;
|
||||
extern u8 gStringBank;
|
||||
|
||||
@@ -1118,7 +1121,7 @@ void EmitPrintString(u8 bufferId, u16 stringID)
|
||||
|
||||
stringInfo = (struct StringInfoBattle*)(&sBattleBuffersTransferData[4]);
|
||||
stringInfo->currentMove = gCurrentMove;
|
||||
stringInfo->lastMove = gLastUsedMove;
|
||||
stringInfo->originallyUsedMove = gChosenMove;
|
||||
stringInfo->lastItem = gLastUsedItem;
|
||||
stringInfo->lastAbility = gLastUsedAbility;
|
||||
stringInfo->scrActive = gBattleScripting.bank;
|
||||
@@ -1138,10 +1141,10 @@ void EmitPrintString(u8 bufferId, u16 stringID)
|
||||
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sizeof(struct StringInfoBattle) + 4);
|
||||
}
|
||||
|
||||
void EmitPrintStringPlayerOnly(u8 bufferId, u16 stringID)
|
||||
void EmitPrintSelectionString(u8 bufferId, u16 stringID)
|
||||
{
|
||||
s32 i;
|
||||
struct StringInfoBattle* stringInfo;
|
||||
struct StringInfoBattle *stringInfo;
|
||||
|
||||
sBattleBuffersTransferData[0] = CONTROLLER_PRINTSTRINGPLAYERONLY;
|
||||
sBattleBuffersTransferData[1] = CONTROLLER_PRINTSTRINGPLAYERONLY;
|
||||
@@ -1150,7 +1153,7 @@ void EmitPrintStringPlayerOnly(u8 bufferId, u16 stringID)
|
||||
|
||||
stringInfo = (struct StringInfoBattle*)(&sBattleBuffersTransferData[4]);
|
||||
stringInfo->currentMove = gCurrentMove;
|
||||
stringInfo->lastMove = gLastUsedMove;
|
||||
stringInfo->originallyUsedMove = gChosenMove;
|
||||
stringInfo->lastItem = gLastUsedItem;
|
||||
stringInfo->lastAbility = gLastUsedAbility;
|
||||
stringInfo->scrActive = gBattleScripting.bank;
|
||||
@@ -1425,7 +1428,7 @@ void EmitCmd42(u8 bufferId)
|
||||
PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4);
|
||||
}
|
||||
|
||||
void EmitEffectivenessSound(u8 bufferId, u16 songId)
|
||||
void EmitPlaySE(u8 bufferId, u16 songId)
|
||||
{
|
||||
sBattleBuffersTransferData[0] = CONTROLLER_EFFECTIVENESSSOUND;
|
||||
sBattleBuffersTransferData[1] = songId;
|
||||
|
||||
+235
-55
@@ -59,7 +59,7 @@ extern const u8* GetTrainer2LoseText(void); // battle_setup
|
||||
extern void GetFrontierTrainerName(u8 *dst, u16 trainerId);
|
||||
extern s32 GetStringCenterAlignXOffsetWithLetterSpacing(u8 fontId, const u8 *str, s32 totalWidth, s16 letterSpacing);
|
||||
extern u8 GetTextSpeedInRecordedBattle(void);
|
||||
extern u8 sav2_get_text_speed(void);
|
||||
extern u8 GetPlayerTextSpeed(void);
|
||||
|
||||
// this file's functions
|
||||
static void sub_814F8F8(u8 *textPtr);
|
||||
@@ -932,58 +932,237 @@ const u16 gSandStormHailDmgStringIds[] =
|
||||
STRINGID_PKMNBUFFETEDBYSANDSTORM, STRINGID_PKMNPELTEDBYHAIL
|
||||
};
|
||||
|
||||
// todo once battlescripts are dumped
|
||||
const u16 gTooLazyToSplitThemStringIds[] =
|
||||
const u16 gSandStormHailEndStringIds[] =
|
||||
{
|
||||
STRINGID_SANDSTORMSUBSIDED, STRINGID_HAILSTOPPED, STRINGID_RAINCONTINUES, STRINGID_DOWNPOURCONTINUES,
|
||||
STRINGID_RAINSTOPPED, STRINGID_PKMNPROTECTEDITSELF2, STRINGID_PKMNBRACEDITSELF,
|
||||
STRINGID_BUTITFAILED, STRINGID_BUTITFAILED, STRINGID_PKMNRAISEDDEF,
|
||||
STRINGID_PKMNRAISEDDEFALITTLE, STRINGID_PKMNRAISEDSPDEF, STRINGID_PKMNRAISEDSPDEFALITTLE,
|
||||
STRINGID_PKMNCOVEREDBYVEIL, STRINGID_PKMNSEEDED, STRINGID_PKMNEVADEDATTACK,
|
||||
STRINGID_SANDSTORMSUBSIDED, STRINGID_HAILSTOPPED
|
||||
};
|
||||
|
||||
const u16 gRainContinuesStringIds[] =
|
||||
{
|
||||
STRINGID_RAINCONTINUES, STRINGID_DOWNPOURCONTINUES, STRINGID_RAINSTOPPED
|
||||
};
|
||||
|
||||
const u16 gProtectLikeUsedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNPROTECTEDITSELF2, STRINGID_PKMNBRACEDITSELF, STRINGID_BUTITFAILED
|
||||
};
|
||||
|
||||
const u16 gReflectLightScreenSafeguardStringIds[] =
|
||||
{
|
||||
STRINGID_BUTITFAILED, STRINGID_PKMNRAISEDDEF, STRINGID_PKMNRAISEDDEFALITTLE,
|
||||
STRINGID_PKMNRAISEDSPDEF, STRINGID_PKMNRAISEDSPDEFALITTLE, STRINGID_PKMNCOVEREDBYVEIL
|
||||
};
|
||||
|
||||
const u16 gLeechSeedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNSEEDED, STRINGID_PKMNEVADEDATTACK,
|
||||
STRINGID_ITDOESNTAFFECT, STRINGID_PKMNSAPPEDBYLEECHSEED, STRINGID_ITSUCKEDLIQUIDOOZE,
|
||||
STRINGID_PKMNWENTTOSLEEP, STRINGID_PKMNSLEPTHEALTHY, STRINGID_PKMNMAKINGUPROAR,
|
||||
STRINGID_PKMNCALMEDDOWN, STRINGID_PKMNSTOCKPILED, STRINGID_PKMNCANTSTOCKPILE,
|
||||
STRINGID_PKMNWOKEUP, STRINGID_PKMNWOKEUPINUPROAR, STRINGID_FAILEDTOSWALLOW,
|
||||
STRINGID_PKMNHPFULL, STRINGID_PKMNCANTSLEEPINUPROAR2, STRINGID_UPROARKEPTPKMNAWAKE,
|
||||
STRINGID_PKMNSTAYEDAWAKEUSING, STRINGID_PKMNSSTATCHANGED, STRINGID_PKMNSSTATCHANGED2,
|
||||
STRINGID_STATSWONTINCREASE, STRINGID_EMPTYSTRING3, STRINGID_USINGXTHEYOFZN,
|
||||
STRINGID_PKMNUSEDXTOGETPUMPED, STRINGID_PKMNSSTATCHANGED3, STRINGID_PKMNSSTATCHANGED4,
|
||||
STRINGID_STATSWONTDECREASE, STRINGID_EMPTYSTRING3, STRINGID_PKMNWHIPPEDWHIRLWIND,
|
||||
STRINGID_PKMNTOOKSUNLIGHT, STRINGID_PKMNLOWEREDHEAD, STRINGID_PKMNISGLOWING,
|
||||
STRINGID_PKMNFLEWHIGH, STRINGID_PKMNDUGHOLE, STRINGID_PKMNHIDUNDERWATER,
|
||||
STRINGID_PKMNSPRANGUP, STRINGID_PKMNSQUEEZEDBYBIND, STRINGID_PKMNWRAPPEDBY,
|
||||
STRINGID_PKMNTRAPPEDINVORTEX, STRINGID_PKMNCLAMPED, STRINGID_PKMNTRAPPEDINVORTEX,
|
||||
STRINGID_PKMNTRAPPEDBYSANDTOMB, STRINGID_PKMNSHROUDEDINMIST, STRINGID_BUTITFAILED,
|
||||
STRINGID_PKMNGETTINGPUMPED, STRINGID_BUTITFAILED, STRINGID_PKMNTRANSFORMEDINTO,
|
||||
STRINGID_BUTITFAILED, STRINGID_PKMNMADESUBSTITUTE, STRINGID_TOOWEAKFORSUBSTITUTE,
|
||||
STRINGID_PKMNWASPOISONED, STRINGID_PKMNPOISONEDBY, STRINGID_PKMNWASPARALYZED,
|
||||
STRINGID_PKMNWASPARALYZEDBY, STRINGID_PKMNFELLASLEEP, STRINGID_PKMNMADESLEEP,
|
||||
STRINGID_PKMNWASBURNED, STRINGID_PKMNBURNEDBY, STRINGID_PKMNWASFROZEN,
|
||||
STRINGID_PKMNFROZENBY, STRINGID_PKMNWASDEFROSTED2, STRINGID_PKMNWASDEFROSTEDBY,
|
||||
STRINGID_ATTACKMISSED, STRINGID_PKMNUNAFFECTED, STRINGID_PKMNFELLINLOVE,
|
||||
STRINGID_PKMNSXINFATUATEDY, STRINGID_PKMNENERGYDRAINED, STRINGID_ITSUCKEDLIQUIDOOZE,
|
||||
STRINGID_ELECTRICITYWEAKENED, STRINGID_FIREWEAKENED, STRINGID_BELLCHIMED,
|
||||
STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, STRINGID_BELLCHIMED,
|
||||
STRINGID_SOOTHINGAROMA, STRINGID_PKMNFORESAWATTACK, STRINGID_PKMNCHOSEXASDESTINY,
|
||||
STRINGID_PKMNBROKEFREE, STRINGID_ITAPPEAREDCAUGHT, STRINGID_AARGHALMOSTHADIT,
|
||||
STRINGID_SHOOTSOCLOSE, STRINGID_ITISRAINING, STRINGID_ITISRAINING,
|
||||
};
|
||||
|
||||
const u16 gRestUsedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNWENTTOSLEEP, STRINGID_PKMNSLEPTHEALTHY
|
||||
};
|
||||
|
||||
const u16 gUproarOverTurnStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNMAKINGUPROAR, STRINGID_PKMNCALMEDDOWN
|
||||
};
|
||||
|
||||
const u16 gStockpileUsedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNSTOCKPILED, STRINGID_PKMNCANTSTOCKPILE,
|
||||
};
|
||||
|
||||
const u16 gWokeUpStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNWOKEUP, STRINGID_PKMNWOKEUPINUPROAR
|
||||
};
|
||||
|
||||
const u16 gSwallowFailStringIds[] =
|
||||
{
|
||||
STRINGID_FAILEDTOSWALLOW, STRINGID_PKMNHPFULL
|
||||
};
|
||||
|
||||
const u16 gUproarAwakeStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNCANTSLEEPINUPROAR2, STRINGID_UPROARKEPTPKMNAWAKE, STRINGID_PKMNSTAYEDAWAKEUSING
|
||||
};
|
||||
|
||||
const u16 gStatUpStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNSSTATCHANGED, STRINGID_PKMNSSTATCHANGED2, STRINGID_STATSWONTINCREASE,
|
||||
STRINGID_EMPTYSTRING3, STRINGID_USINGXTHEYOFZN, STRINGID_PKMNUSEDXTOGETPUMPED
|
||||
};
|
||||
|
||||
const u16 gStatDownStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNSSTATCHANGED3, STRINGID_PKMNSSTATCHANGED4, STRINGID_STATSWONTDECREASE, STRINGID_EMPTYSTRING3
|
||||
};
|
||||
|
||||
const u16 gFirstTurnOfTwoStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNWHIPPEDWHIRLWIND, STRINGID_PKMNTOOKSUNLIGHT, STRINGID_PKMNLOWEREDHEAD, STRINGID_PKMNISGLOWING,
|
||||
STRINGID_PKMNFLEWHIGH, STRINGID_PKMNDUGHOLE, STRINGID_PKMNHIDUNDERWATER, STRINGID_PKMNSPRANGUP
|
||||
};
|
||||
|
||||
const u16 gWrappedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNSQUEEZEDBYBIND, STRINGID_PKMNWRAPPEDBY, STRINGID_PKMNTRAPPEDINVORTEX,
|
||||
STRINGID_PKMNCLAMPED, STRINGID_PKMNTRAPPEDINVORTEX, STRINGID_PKMNTRAPPEDBYSANDTOMB
|
||||
};
|
||||
|
||||
const u16 gMistUsedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNSHROUDEDINMIST, STRINGID_BUTITFAILED
|
||||
};
|
||||
|
||||
const u16 gFocusEnergyUsedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNGETTINGPUMPED, STRINGID_BUTITFAILED
|
||||
};
|
||||
|
||||
const u16 gTransformUsedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNTRANSFORMEDINTO, STRINGID_BUTITFAILED
|
||||
};
|
||||
|
||||
const u16 gSubsituteUsedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNMADESUBSTITUTE, STRINGID_TOOWEAKFORSUBSTITUTE
|
||||
};
|
||||
|
||||
const u16 gGotPoisonedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNWASPOISONED, STRINGID_PKMNPOISONEDBY
|
||||
};
|
||||
|
||||
const u16 gGotParalyzedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNWASPARALYZED, STRINGID_PKMNWASPARALYZEDBY
|
||||
};
|
||||
|
||||
const u16 gFellAsleepStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNFELLASLEEP, STRINGID_PKMNMADESLEEP,
|
||||
};
|
||||
|
||||
const u16 gGotBurnedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNWASBURNED, STRINGID_PKMNBURNEDBY
|
||||
};
|
||||
|
||||
const u16 gGotFrozenStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNWASFROZEN, STRINGID_PKMNFROZENBY
|
||||
};
|
||||
|
||||
const u16 gGotDefrostedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNWASDEFROSTED2, STRINGID_PKMNWASDEFROSTEDBY
|
||||
};
|
||||
|
||||
const u16 gKOFailedStringIds[] =
|
||||
{
|
||||
STRINGID_ATTACKMISSED, STRINGID_PKMNUNAFFECTED
|
||||
};
|
||||
|
||||
const u16 gAttractUsedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNFELLINLOVE, STRINGID_PKMNSXINFATUATEDY
|
||||
};
|
||||
|
||||
const u16 gLeechSeedDrainStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNENERGYDRAINED, STRINGID_ITSUCKEDLIQUIDOOZE
|
||||
};
|
||||
|
||||
const u16 gSportsUsedStringIds[] =
|
||||
{
|
||||
STRINGID_ELECTRICITYWEAKENED, STRINGID_FIREWEAKENED
|
||||
};
|
||||
|
||||
const u16 gPartyStatusHealStringIds[] =
|
||||
{
|
||||
STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, STRINGID_BELLCHIMED,
|
||||
// interesting how there are four instances of the same string
|
||||
STRINGID_SOOTHINGAROMA
|
||||
};
|
||||
|
||||
const u16 gFutureMoveUsedStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNFORESAWATTACK, STRINGID_PKMNCHOSEXASDESTINY
|
||||
};
|
||||
|
||||
const u16 gBallEscapeStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNBROKEFREE, STRINGID_ITAPPEAREDCAUGHT, STRINGID_AARGHALMOSTHADIT, STRINGID_SHOOTSOCLOSE
|
||||
};
|
||||
|
||||
const u16 gWeatherContinuesStringIds[] =
|
||||
{
|
||||
STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING,
|
||||
STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING,
|
||||
STRINGID_SANDSTORMISRAGING, STRINGID_ITISRAINING, STRINGID_ITISRAINING,
|
||||
STRINGID_ITISRAINING, STRINGID_SUNLIGHTSTRONG, STRINGID_ITISRAINING,
|
||||
STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_PKMNLOAFING,
|
||||
STRINGID_PKMNWONTOBEY, STRINGID_PKMNTURNEDAWAY, STRINGID_PKMNPRETENDNOTNOTICE,
|
||||
STRINGID_PKMNINCAPABLEOFPOWER, STRINGID_CREPTCLOSER, STRINGID_CANTGETCLOSER,
|
||||
STRINGID_PKMNCURIOUSABOUTX, STRINGID_PKMNENTHRALLEDBYX, STRINGID_PKMNIGNOREDX,
|
||||
STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_SANDSTORMISRAGING,
|
||||
STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING,
|
||||
STRINGID_SUNLIGHTSTRONG, STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING
|
||||
};
|
||||
|
||||
const u16 gInobedientStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNLOAFING, STRINGID_PKMNWONTOBEY, STRINGID_PKMNTURNEDAWAY,
|
||||
STRINGID_PKMNPRETENDNOTNOTICE, STRINGID_PKMNINCAPABLEOFPOWER
|
||||
};
|
||||
|
||||
const u16 gSafariGetNearStringIds[] =
|
||||
{
|
||||
STRINGID_CREPTCLOSER, STRINGID_CANTGETCLOSER
|
||||
};
|
||||
|
||||
const u16 gSafariPokeblockResultStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNCURIOUSABOUTX, STRINGID_PKMNENTHRALLEDBYX, STRINGID_PKMNIGNOREDX
|
||||
};
|
||||
|
||||
const u16 gTrainerItemCuredStatusStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNSITEMSNAPPEDOUT, STRINGID_PKMNSITEMCUREDPARALYSIS, STRINGID_PKMNSITEMDEFROSTEDIT,
|
||||
STRINGID_PKMNSITEMHEALEDBURN, STRINGID_PKMNSITEMCUREDPOISON, STRINGID_PKMNSITEMWOKEIT,
|
||||
STRINGID_PKMNSITEMCUREDPROBLEM, STRINGID_PKMNSITEMNORMALIZEDSTATUS, STRINGID_PKMNSXPREVENTSBURNS,
|
||||
STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY, STRINGID_PKMNPREVENTSPARALYSISWITH,
|
||||
STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY, STRINGID_PKMNPREVENTSPOISONINGWITH,
|
||||
STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY, STRINGID_PKMNOBTAINEDX,
|
||||
STRINGID_PKMNOBTAINEDX2, STRINGID_PKMNOBTAINEDXYOBTAINEDZ, STRINGID_PKMNRAISEDFIREPOWERWITH,
|
||||
STRINGID_PKMNSXMADEYINEFFECTIVE, STRINGID_PKMNTRANSFERREDSOMEONESPC, STRINGID_PKMNTRANSFERREDLANETTESPC,
|
||||
STRINGID_PKMNBOXSOMEONESPCFULL, STRINGID_PKMNBOXLANETTESPCFULL,
|
||||
STRINGID_PKMNSITEMHEALEDBURN, STRINGID_PKMNSITEMCUREDPOISON, STRINGID_PKMNSITEMWOKEIT
|
||||
};
|
||||
|
||||
const u16 gBerryEffectStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNSITEMCUREDPROBLEM, STRINGID_PKMNSITEMNORMALIZEDSTATUS
|
||||
};
|
||||
|
||||
const u16 gBRNPreventionStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNSXPREVENTSBURNS, STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY
|
||||
};
|
||||
|
||||
const u16 gPRLZPreventionStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNPREVENTSPARALYSISWITH, STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY
|
||||
};
|
||||
|
||||
const u16 gPSNPreventionStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNPREVENTSPOISONINGWITH, STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY
|
||||
};
|
||||
|
||||
const u16 gItemSwapStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNOBTAINEDX, STRINGID_PKMNOBTAINEDX2, STRINGID_PKMNOBTAINEDXYOBTAINEDZ
|
||||
};
|
||||
|
||||
const u16 gFlashFireStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNRAISEDFIREPOWERWITH, STRINGID_PKMNSXMADEYINEFFECTIVE
|
||||
};
|
||||
|
||||
const u16 gCaughtMonStringIds[] =
|
||||
{
|
||||
STRINGID_PKMNTRANSFERREDSOMEONESPC, STRINGID_PKMNTRANSFERREDLANETTESPC, STRINGID_PKMNBOXSOMEONESPCFULL, STRINGID_PKMNBOXLANETTESPCFULL,
|
||||
};
|
||||
|
||||
const u16 gTrappingMoves[] =
|
||||
@@ -1102,9 +1281,10 @@ const u8 gText_PkmnGettingIntoPosition[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is
|
||||
const u8 gText_PkmnBeganGrowlingDeeply[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} began growling deeply!");
|
||||
const u8 gText_PkmnEagerForMore[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is eager for more!");
|
||||
|
||||
const u16 gUnknown_085CCF0A[] =
|
||||
const u16 gStringIds_85CCF0A[] =
|
||||
{
|
||||
0x016E, 0x016F, 0x0170, 0x0171
|
||||
STRINGID_GLINTAPPEARSINEYE, STRINGID_PKMNGETTINGINTOPOSITION,
|
||||
STRINGID_PKMNBEGANGROWLINGDEEPLY, STRINGID_PKMNEAGERFORMORE
|
||||
};
|
||||
|
||||
const u8 gText_RefIfNothingIsDecided[] = _("REFEREE: If nothing is decided in\n3 turns, we will go to judging!");
|
||||
@@ -1736,11 +1916,11 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst)
|
||||
else
|
||||
toCpy = gMoveNames[gStringInfo->currentMove];
|
||||
break;
|
||||
case B_TXT_LAST_MOVE: // last used move name
|
||||
if (gStringInfo->lastMove > LAST_MOVE_INDEX)
|
||||
case B_TXT_LAST_MOVE: // originally used move name
|
||||
if (gStringInfo->originallyUsedMove > LAST_MOVE_INDEX)
|
||||
toCpy = gText_UnknownMoveTypes[gBattleStruct->stringMoveType];
|
||||
else
|
||||
toCpy = gMoveNames[gStringInfo->lastMove];
|
||||
toCpy = gMoveNames[gStringInfo->originallyUsedMove];
|
||||
break;
|
||||
case B_TXT_LAST_ITEM: // last used item
|
||||
if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000))
|
||||
@@ -2118,7 +2298,7 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst)
|
||||
StringGetEnd10(dst);
|
||||
srcID += 3;
|
||||
break;
|
||||
case B_BUFF_NEGATIVE_FLAVOUR: // flavour table
|
||||
case B_BUFF_NEGATIVE_FLAVOR: // flavor table
|
||||
StringAppend(dst, gPokeblockWasTooXStringTable[src[srcID + 1]]);
|
||||
srcID += 2;
|
||||
break;
|
||||
@@ -2266,7 +2446,7 @@ void BattleHandleAddTextPrinter(const u8 *text, u8 arg1)
|
||||
else if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
|
||||
speed = sRecordedBattleTextSpeeds[GetTextSpeedInRecordedBattle()];
|
||||
else
|
||||
speed = sav2_get_text_speed();
|
||||
speed = GetPlayerTextSpeed();
|
||||
|
||||
gTextFlags.flag_0 = 1;
|
||||
}
|
||||
|
||||
+437
-516
File diff suppressed because it is too large
Load Diff
+219
-391
File diff suppressed because it is too large
Load Diff
+8
-14
@@ -18,12 +18,6 @@ extern u16 gSpecialVar_ItemId;
|
||||
|
||||
extern const u8 BerryTreeScript[];
|
||||
|
||||
#define BERRY_NAME_LENGTH 6
|
||||
|
||||
#define FIRST_BERRY ITEM_CHERI_BERRY
|
||||
#define LAST_BERRY ITEM_ENIGMA_BERRY
|
||||
|
||||
|
||||
static const u8 sBerryDescriptionPart1_Cheri[] = _("Blooms with delicate pretty flowers.");
|
||||
static const u8 sBerryDescriptionPart2_Cheri[] = _("The bright red BERRY is very spicy.");
|
||||
static const u8 sBerryDescriptionPart1_Chesto[] = _("The BERRY’s thick skin and fruit are");
|
||||
@@ -1062,28 +1056,28 @@ u8 GetStageByBerryTreeId(u8 id)
|
||||
|
||||
u8 ItemIdToBerryType(u16 item)
|
||||
{
|
||||
u16 berry = item - FIRST_BERRY;
|
||||
u16 berry = item - FIRST_BERRY_INDEX;
|
||||
|
||||
if (berry > LAST_BERRY - FIRST_BERRY)
|
||||
if (berry > LAST_BERRY_INDEX - FIRST_BERRY_INDEX)
|
||||
return 1;
|
||||
else
|
||||
return item - FIRST_BERRY + 1;
|
||||
return ITEM_TO_BERRY(item);
|
||||
}
|
||||
|
||||
u16 BerryTypeToItemId(u16 berry)
|
||||
{
|
||||
u16 item = berry - 1;
|
||||
|
||||
if (item > LAST_BERRY - FIRST_BERRY)
|
||||
return FIRST_BERRY;
|
||||
if (item > LAST_BERRY_INDEX - FIRST_BERRY_INDEX)
|
||||
return FIRST_BERRY_INDEX;
|
||||
else
|
||||
return berry + FIRST_BERRY - 1;
|
||||
return berry + FIRST_BERRY_INDEX - 1;
|
||||
}
|
||||
|
||||
void GetBerryNameByBerryType(u8 berry, u8 *string)
|
||||
{
|
||||
memcpy(string, GetBerryInfo(berry)->name, BERRY_NAME_LENGTH);
|
||||
string[BERRY_NAME_LENGTH] = EOS;
|
||||
memcpy(string, GetBerryInfo(berry)->name, BERRY_NAME_COUNT - 1);
|
||||
string[BERRY_NAME_COUNT - 1] = EOS;
|
||||
}
|
||||
|
||||
void GetBerryCountStringByBerryType(u8 berry, u8* dest, u32 berryCount)
|
||||
|
||||
+3104
-72
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,3 @@
|
||||
|
||||
// Includes
|
||||
#include "global.h"
|
||||
#include "gpu_regs.h"
|
||||
#include "multiboot.h"
|
||||
@@ -10,6 +8,7 @@
|
||||
#include "task.h"
|
||||
#include "unknown_task.h"
|
||||
#include "window.h"
|
||||
#include "text.h"
|
||||
#include "menu.h"
|
||||
#include "m4a.h"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "task.h"
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
#include "menu.h"
|
||||
#include "sound.h"
|
||||
#include "main.h"
|
||||
#include "save.h"
|
||||
|
||||
+2
-3
@@ -459,10 +459,9 @@ _08034964:\n\
|
||||
.syntax divided");
|
||||
}
|
||||
|
||||
u32 sub_8034974(void* ptr)
|
||||
u32 sub_8034974(const u8 *ptr)
|
||||
{
|
||||
u8* ptr_ = (u8*)(ptr);
|
||||
return (ptr_[3] << 16) | (ptr_[2] << 8) | (ptr_[1]);
|
||||
return (ptr[3] << 16) | (ptr[2] << 8) | (ptr[1]);
|
||||
}
|
||||
|
||||
bool8 LoadCompressedObjectPicUsingHeap(const struct CompressedSpriteSheet* src)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "decompress.h"
|
||||
#include "malloc.h"
|
||||
#include "text.h"
|
||||
#include "string_util.h"
|
||||
#include "international_string_util.h"
|
||||
#include "script.h"
|
||||
|
||||
@@ -57,8 +57,6 @@ extern const u32 gUnknown_08331F60[]; // tilemap gameboy circle
|
||||
extern const u8 gText_HatchedFromEgg[];
|
||||
extern const u8 gText_NickHatchPrompt[];
|
||||
|
||||
extern u8* GetMonNick(struct Pokemon* mon, u8* dst);
|
||||
extern u8* GetBoxMonNick(struct BoxPokemon* boxMon, u8* dst);
|
||||
extern u8 sav1_map_get_name(void);
|
||||
extern void TVShowConvertInternationalString(u8* str1, u8* str2, u8);
|
||||
extern void sub_806A068(u16, u8);
|
||||
@@ -69,7 +67,6 @@ extern void remove_some_task(void);
|
||||
extern void c2_exit_to_overworld_2_switch(void);
|
||||
extern void play_some_sound(void);
|
||||
extern void DoNamingScreen(u8, const u8*, u16, u8, u32, MainCallback);
|
||||
extern void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, struct TextColor* colors, s8 speed, u8 *str);
|
||||
extern u16 sub_80D22D0(void);
|
||||
extern u8 CountPartyAliveNonEggMonsExcept(u8);
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "global.h"
|
||||
#include "international_string_util.h"
|
||||
#include "text.h"
|
||||
#include "international_string_util.h"
|
||||
|
||||
extern s32 convert_pixel_width_to_tile_width(s32 a0); // script menu
|
||||
|
||||
|
||||
+5
-5
@@ -5,7 +5,7 @@
|
||||
#include "text.h"
|
||||
#include "event_data.h"
|
||||
|
||||
extern void ApplyNewEncyprtionKeyToHword(u16* hword, u32 newKey);
|
||||
extern void ApplyNewEncryptionKeyToHword(u16* hword, u32 newKey);
|
||||
extern bool8 InBattlePyramid(void);
|
||||
|
||||
extern const u8 gText_PokeBalls[];
|
||||
@@ -45,19 +45,19 @@ void SetBagItemId(u16* slot, u16 newItemId)
|
||||
*slot = newItemId;
|
||||
}
|
||||
|
||||
void ApplyNewEncyprtionKeyToBagItems(u32 newKey)
|
||||
void ApplyNewEncryptionKeyToBagItems(u32 newKey)
|
||||
{
|
||||
u32 pocket, item;
|
||||
for (pocket = 0; pocket < 5; pocket++)
|
||||
{
|
||||
for (item = 0; item < gBagPockets[pocket].capacity; item++)
|
||||
ApplyNewEncyprtionKeyToHword(&(gBagPockets[pocket].itemSlots[item].quantity), newKey);
|
||||
ApplyNewEncryptionKeyToHword(&(gBagPockets[pocket].itemSlots[item].quantity), newKey);
|
||||
}
|
||||
}
|
||||
|
||||
void ApplyNewEncyprtionKeyToBagItems_(u32 newKey) // really GF?
|
||||
void ApplyNewEncryptionKeyToBagItems_(u32 newKey) // really GF?
|
||||
{
|
||||
ApplyNewEncyprtionKeyToBagItems(newKey);
|
||||
ApplyNewEncryptionKeyToBagItems(newKey);
|
||||
}
|
||||
|
||||
// TODO: move those max values to defines
|
||||
|
||||
+321
-16
@@ -4,18 +4,33 @@
|
||||
#include "main.h"
|
||||
#include "pokemon.h"
|
||||
#include "rng.h"
|
||||
#include "malloc.h"
|
||||
|
||||
extern void* gUnknown_0203CF5C;
|
||||
|
||||
extern bool16 IdentifyFlash(void);
|
||||
extern void SetBagItemsPointers(void);
|
||||
extern void SetDecorationInventoriesPointers(void);
|
||||
extern void ApplyNewEncryptionKeyToGameStats(u32 key);
|
||||
extern void ApplyNewEncryptionKeyToBagItems(u32 newKey);
|
||||
extern void ApplyNewEncryptionKeyToBagItems_(u32 key);
|
||||
extern void ApplyNewEncryptionKeyToBerryPowder(u32 key);
|
||||
extern void sub_8084FAC(int unused);
|
||||
|
||||
void ApplyNewEncyprtionKeyToAllEncryptedData(u32 encryptionKey);
|
||||
// this is probably wrong or misleading due to it being used in ResetHeap...
|
||||
extern void InitHeap(void *pointer, u32 size);
|
||||
|
||||
#define SAVEBLOCK_MOVE_RANGE 128
|
||||
|
||||
struct LoadedSaveData
|
||||
{
|
||||
/*0x0000*/ struct ItemSlot items[30];
|
||||
/*0x0078*/ struct ItemSlot keyItems[30];
|
||||
/*0x00F0*/ struct ItemSlot pokeBalls[16];
|
||||
/*0x0130*/ struct ItemSlot TMsHMs[64];
|
||||
/*0x0230*/ struct ItemSlot berries[46];
|
||||
/*0x02E8*/ struct MailStruct mail[16];
|
||||
};
|
||||
|
||||
EWRAM_DATA struct SaveBlock2 gSaveblock2 = {0};
|
||||
EWRAM_DATA u8 gSaveblock2_DMA[SAVEBLOCK_MOVE_RANGE] = {0};
|
||||
|
||||
@@ -25,6 +40,11 @@ EWRAM_DATA u8 gSaveblock1_DMA[SAVEBLOCK_MOVE_RANGE] = {0};
|
||||
EWRAM_DATA struct PokemonStorage gPokemonStorage = {0};
|
||||
EWRAM_DATA u8 gSaveblock3_DMA[SAVEBLOCK_MOVE_RANGE] = {0};
|
||||
|
||||
EWRAM_DATA struct LoadedSaveData gLoadedSaveData = {0};
|
||||
EWRAM_DATA u32 gLastEncryptionKey = {0};
|
||||
|
||||
void ApplyNewEncryptionKeyToAllEncryptedData(u32 encryptionKey);
|
||||
|
||||
void CheckForFlashMemory(void)
|
||||
{
|
||||
if (!IdentifyFlash())
|
||||
@@ -60,18 +80,45 @@ void SetSaveBlocksPointers(u16 offset)
|
||||
SetDecorationInventoriesPointers();
|
||||
}
|
||||
|
||||
// stuff i used to try and match MoveSaveBlocks_ResetHeap
|
||||
struct SaveBlocksInOne
|
||||
{
|
||||
struct SaveBlock2 sav2;
|
||||
struct SaveBlock1 sav1;
|
||||
struct PokemonStorage sav3;
|
||||
};
|
||||
|
||||
extern struct SaveBlocksInOne gHeap;
|
||||
|
||||
#define ewram_addr 0x02000000 // oh no...
|
||||
#define ewram_addr2 0x02000f2c
|
||||
#define ewram_addr3 0x02004cb4
|
||||
|
||||
#define eSaveBlockCopy (*(struct SaveBlocksInOne *)(ewram_addr + 0x0))
|
||||
#define eSaveBlock2Copy (*(struct SaveBlock2 *)((void*)(ewram_addr + 0x0)))
|
||||
#define eSaveBlock1Copy (*(struct SaveBlock1 *)((void*)(ewram_addr + sizeof(struct SaveBlock2))))
|
||||
#define eSaveBlock3Copy (*(struct PokemonStorage *)((void*)(ewram_addr + sizeof(struct SaveBlock2) + sizeof(struct SaveBlock1))))
|
||||
|
||||
#ifdef NONMATCHING // this is one devil of a motherfucker
|
||||
/*
|
||||
The reason MoveSaveBlocks_ResetHeap mismatches is due to incorrect memcpys. Various
|
||||
things have been tried, such as: direct struct copys, ewram casts, use of defining
|
||||
the addresses manually, using memcpy anyway, delayed allocation of pointers at
|
||||
the start of function, as seen above and below. Scope declaration has been used to try and
|
||||
reproduce the correct macro thought to be used, but nothing has worked. It is worth
|
||||
noting that at this point that the compiler will delay the allocation of the save block
|
||||
pointers at the beginningto be allocated later: which might matter for matching this.
|
||||
Due to loading shared ewram heap areas directly, it is very likely emerald used ewram
|
||||
defines for this function, but there is no known example of a matching define.
|
||||
In addition, dead code might be present in the form of a runtime variable used
|
||||
to fix the address of the save blocks. This has been tested and is shown to affect
|
||||
the registers as well.
|
||||
*/
|
||||
void MoveSaveBlocks_ResetHeap(void)
|
||||
{
|
||||
void *vblankCB, *hblankCB;
|
||||
u32 encryptionKey;
|
||||
struct SaveBlocksInOne* copiedSavs;
|
||||
struct SaveBlock1 **sav1Copy = &gSaveBlock1Ptr; // r10;
|
||||
|
||||
// save interrupt functions and turn them off
|
||||
vblankCB = gMain.vblankCallback;
|
||||
@@ -80,24 +127,22 @@ void MoveSaveBlocks_ResetHeap(void)
|
||||
gMain.hblankCallback = NULL;
|
||||
gUnknown_0203CF5C = NULL;
|
||||
|
||||
copiedSavs = (void*)(gHeap);
|
||||
|
||||
// copy saveblocks' content
|
||||
copiedSavs->sav2 = *gSaveBlock2Ptr;
|
||||
copiedSavs->sav1 = *gSaveBlock1Ptr;
|
||||
copiedSavs->sav3 = *gPokemonStoragePtr;
|
||||
// backup the saves.
|
||||
eSaveBlock1Copy = **sav1Copy;
|
||||
eSaveBlock2Copy = *gSaveBlock2Ptr;
|
||||
eSaveBlock3Copy = *gPokemonStoragePtr;
|
||||
|
||||
// change saveblocks' pointers
|
||||
// argument is a sum of the individual trainerId bytes
|
||||
SetSaveBlocksPointers(copiedSavs->sav2.playerTrainerId[0] + copiedSavs->sav2.playerTrainerId[1] + copiedSavs->sav2.playerTrainerId[2] + copiedSavs->sav2.playerTrainerId[3]);
|
||||
SetSaveBlocksPointers(eSaveBlock2Copy.playerTrainerId[0] + eSaveBlock2Copy.playerTrainerId[1] + eSaveBlock2Copy.playerTrainerId[2] + eSaveBlock2Copy.playerTrainerId[3]);
|
||||
|
||||
// restore saveblock data since the pointers changed
|
||||
*gSaveBlock2Ptr = copiedSavs->sav2;
|
||||
*gSaveBlock1Ptr = copiedSavs->sav1;
|
||||
*gPokemonStoragePtr = copiedSavs->sav3;
|
||||
**sav1Copy = eSaveBlock1Copy;
|
||||
*gSaveBlock2Ptr = eSaveBlock2Copy;
|
||||
*gPokemonStoragePtr = eSaveBlock3Copy;
|
||||
|
||||
// heap was destroyed in the copying process, so reset it
|
||||
InitHeap(gHeap, sizeof(gHeap));
|
||||
InitHeap((void*)(0x02000000), 0x1C000);
|
||||
|
||||
// restore interrupt functions
|
||||
gMain.hblankCallback = hblankCB;
|
||||
@@ -105,6 +150,266 @@ void MoveSaveBlocks_ResetHeap(void)
|
||||
|
||||
// create a new encryption key
|
||||
encryptionKey = (Random() << 0x10) + (Random());
|
||||
ApplyNewEncyprtionKeyToAllEncryptedData(encryptionKey);
|
||||
ApplyNewEncryptionKeyToAllEncryptedData(encryptionKey);
|
||||
gSaveBlock2Ptr->encryptionKey = encryptionKey;
|
||||
}*/
|
||||
}
|
||||
#else
|
||||
__attribute__((naked))
|
||||
void MoveSaveBlocks_ResetHeap(void)
|
||||
{
|
||||
asm(".syntax unified\n\
|
||||
push {r4-r7,lr}\n\
|
||||
mov r7, r10\n\
|
||||
mov r6, r9\n\
|
||||
mov r5, r8\n\
|
||||
push {r5-r7}\n\
|
||||
sub sp, 0x8\n\
|
||||
ldr r5, =gMain\n\
|
||||
ldr r0, [r5, 0xC]\n\
|
||||
str r0, [sp]\n\
|
||||
ldr r1, [r5, 0x10]\n\
|
||||
str r1, [sp, 0x4]\n\
|
||||
movs r0, 0\n\
|
||||
str r0, [r5, 0xC]\n\
|
||||
str r0, [r5, 0x10]\n\
|
||||
ldr r1, =gUnknown_0203CF5C\n\
|
||||
str r0, [r1]\n\
|
||||
ldr r4, =0x02000000\n\
|
||||
ldr r0, =gSaveBlock2Ptr\n\
|
||||
ldr r1, [r0]\n\
|
||||
ldr r6, =0x00000f2c\n\
|
||||
adds r0, r4, 0\n\
|
||||
adds r2, r6, 0\n\
|
||||
bl memcpy\n\
|
||||
ldr r1, =gSaveBlock1Ptr\n\
|
||||
mov r10, r1\n\
|
||||
ldr r1, [r1]\n\
|
||||
ldr r7, =0x00003d88\n\
|
||||
ldr r0, =0x02000f2c\n\
|
||||
adds r2, r7, 0\n\
|
||||
bl memcpy\n\
|
||||
ldr r0, =gPokemonStoragePtr\n\
|
||||
mov r8, r0\n\
|
||||
ldr r1, [r0]\n\
|
||||
ldr r0, =0x000083d0\n\
|
||||
mov r9, r0\n\
|
||||
ldr r0, =0x02004cb4\n\
|
||||
mov r2, r9\n\
|
||||
bl memcpy\n\
|
||||
ldrb r1, [r4, 0xA]\n\
|
||||
ldrb r0, [r4, 0xB]\n\
|
||||
adds r1, r0\n\
|
||||
ldrb r0, [r4, 0xC]\n\
|
||||
adds r1, r0\n\
|
||||
ldrb r0, [r4, 0xD]\n\
|
||||
adds r0, r1\n\
|
||||
bl SetSaveBlocksPointers\n\
|
||||
ldr r1, =gSaveBlock2Ptr\n\
|
||||
ldr r0, [r1]\n\
|
||||
adds r1, r4, 0\n\
|
||||
adds r2, r6, 0\n\
|
||||
bl memcpy\n\
|
||||
mov r1, r10\n\
|
||||
ldr r0, [r1]\n\
|
||||
ldr r1, =0x02000f2c\n\
|
||||
adds r2, r7, 0\n\
|
||||
bl memcpy\n\
|
||||
mov r1, r8\n\
|
||||
ldr r0, [r1]\n\
|
||||
ldr r1, =0x02004cb4\n\
|
||||
mov r2, r9\n\
|
||||
bl memcpy\n\
|
||||
movs r1, 0xE0\n\
|
||||
lsls r1, 9\n\
|
||||
adds r0, r4, 0\n\
|
||||
bl InitHeap\n\
|
||||
ldr r0, [sp, 0x4]\n\
|
||||
str r0, [r5, 0x10]\n\
|
||||
ldr r1, [sp]\n\
|
||||
str r1, [r5, 0xC]\n\
|
||||
bl Random\n\
|
||||
adds r4, r0, 0\n\
|
||||
bl Random\n\
|
||||
lsls r4, 16\n\
|
||||
lsls r0, 16\n\
|
||||
lsrs r0, 16\n\
|
||||
adds r4, r0\n\
|
||||
adds r0, r4, 0\n\
|
||||
bl ApplyNewEncryptionKeyToAllEncryptedData\n\
|
||||
ldr r1, =gSaveBlock2Ptr\n\
|
||||
ldr r0, [r1]\n\
|
||||
adds r0, 0xAC\n\
|
||||
str r4, [r0]\n\
|
||||
add sp, 0x8\n\
|
||||
pop {r3-r5}\n\
|
||||
mov r8, r3\n\
|
||||
mov r9, r4\n\
|
||||
mov r10, r5\n\
|
||||
pop {r4-r7}\n\
|
||||
pop {r0}\n\
|
||||
bx r0\n\
|
||||
.pool\n\
|
||||
.syntax divided\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
u8 sav2_x1_query_bit1(void)
|
||||
{
|
||||
return gSaveBlock2Ptr->specialSaveWarp & 1;
|
||||
}
|
||||
|
||||
void sav2_x9_clear_bit1(void)
|
||||
{
|
||||
gSaveBlock2Ptr->specialSaveWarp &= ~1;
|
||||
}
|
||||
|
||||
void sub_8076D48(void)
|
||||
{
|
||||
gSaveBlock2Ptr->specialSaveWarp |= 1;
|
||||
}
|
||||
|
||||
void sub_8076D5C(void)
|
||||
{
|
||||
sub_8084FAC(0);
|
||||
gSaveBlock2Ptr->specialSaveWarp |= 1;
|
||||
}
|
||||
|
||||
void sav2_gender2_inplace_and_xFE(void)
|
||||
{
|
||||
gSaveBlock2Ptr->specialSaveWarp &= ~1;
|
||||
}
|
||||
|
||||
void copy_player_party_to_sav1(void) // SavePlayerParty
|
||||
{
|
||||
int i;
|
||||
|
||||
gSaveBlock1Ptr->playerPartyCount = gPlayerPartyCount;
|
||||
|
||||
for (i = 0; i < 6; i++)
|
||||
gSaveBlock1Ptr->playerParty[i] = gPlayerParty[i];
|
||||
}
|
||||
|
||||
void copy_player_party_from_sav1(void) // LoadPlayerParty
|
||||
{
|
||||
int i;
|
||||
|
||||
gPlayerPartyCount = gSaveBlock1Ptr->playerPartyCount;
|
||||
|
||||
for (i = 0; i < 6; i++)
|
||||
gPlayerParty[i] = gSaveBlock1Ptr->playerParty[i];
|
||||
}
|
||||
|
||||
void save_serialize_npcs(void) // SaveMapObjects
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 16; i++)
|
||||
gSaveBlock1Ptr->mapObjects[i] = gMapObjects[i];
|
||||
}
|
||||
|
||||
void save_deserialize_npcs(void) // LoadMapObjects
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 16; i++)
|
||||
gMapObjects[i] = gSaveBlock1Ptr->mapObjects[i];
|
||||
}
|
||||
|
||||
void SaveSerializedGame(void)
|
||||
{
|
||||
copy_player_party_to_sav1();
|
||||
save_serialize_npcs();
|
||||
}
|
||||
|
||||
void LoadSerializedGame(void)
|
||||
{
|
||||
copy_player_party_from_sav1();
|
||||
save_deserialize_npcs();
|
||||
}
|
||||
|
||||
void copy_bags_and_unk_data_from_save_blocks(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
// load player items.
|
||||
for (i = 0; i < 30; i++)
|
||||
gLoadedSaveData.items[i] = gSaveBlock1Ptr->bagPocket_Items[i];
|
||||
|
||||
// load player key items.
|
||||
for (i = 0; i < 30; i++)
|
||||
gLoadedSaveData.keyItems[i] = gSaveBlock1Ptr->bagPocket_KeyItems[i];
|
||||
|
||||
// load player pokeballs.
|
||||
for (i = 0; i < 16; i++)
|
||||
gLoadedSaveData.pokeBalls[i] = gSaveBlock1Ptr->bagPocket_PokeBalls[i];
|
||||
|
||||
// load player TMs and HMs.
|
||||
for (i = 0; i < 64; i++)
|
||||
gLoadedSaveData.TMsHMs[i] = gSaveBlock1Ptr->bagPocket_TMHM[i];
|
||||
|
||||
// load player berries.
|
||||
for (i = 0; i < 46; i++)
|
||||
gLoadedSaveData.berries[i] = gSaveBlock1Ptr->bagPocket_Berries[i];
|
||||
|
||||
// load mail.
|
||||
for (i = 0; i < 16; i++)
|
||||
gLoadedSaveData.mail[i] = gSaveBlock1Ptr->mail[i];
|
||||
|
||||
gLastEncryptionKey = gSaveBlock2Ptr->encryptionKey;
|
||||
}
|
||||
|
||||
void copy_bags_and_unk_data_to_save_blocks(void)
|
||||
{
|
||||
int i;
|
||||
u32 encryptionKeyBackup;
|
||||
|
||||
// save player items.
|
||||
for (i = 0; i < 30; i++)
|
||||
gSaveBlock1Ptr->bagPocket_Items[i] = gLoadedSaveData.items[i];
|
||||
|
||||
// save player key items.
|
||||
for (i = 0; i < 30; i++)
|
||||
gSaveBlock1Ptr->bagPocket_KeyItems[i] = gLoadedSaveData.keyItems[i];
|
||||
|
||||
// save player pokeballs.
|
||||
for (i = 0; i < 16; i++)
|
||||
gSaveBlock1Ptr->bagPocket_PokeBalls[i] = gLoadedSaveData.pokeBalls[i];
|
||||
|
||||
// save player TMs and HMs.
|
||||
for (i = 0; i < 64; i++)
|
||||
gSaveBlock1Ptr->bagPocket_TMHM[i] = gLoadedSaveData.TMsHMs[i];
|
||||
|
||||
// save player berries.
|
||||
for (i = 0; i < 46; i++)
|
||||
gSaveBlock1Ptr->bagPocket_Berries[i] = gLoadedSaveData.berries[i];
|
||||
|
||||
// save mail.
|
||||
for (i = 0; i < 16; i++)
|
||||
gSaveBlock1Ptr->mail[i] = gLoadedSaveData.mail[i];
|
||||
|
||||
encryptionKeyBackup = gSaveBlock2Ptr->encryptionKey;
|
||||
gSaveBlock2Ptr->encryptionKey = gLastEncryptionKey;
|
||||
ApplyNewEncryptionKeyToBagItems(encryptionKeyBackup);
|
||||
gSaveBlock2Ptr->encryptionKey = encryptionKeyBackup; // updated twice?
|
||||
}
|
||||
|
||||
void ApplyNewEncryptionKeyToHword(u16 *hWord, u32 newKey)
|
||||
{
|
||||
*hWord ^= gSaveBlock2Ptr->encryptionKey;
|
||||
*hWord ^= newKey;
|
||||
}
|
||||
|
||||
void ApplyNewEncryptionKeyToWord(u32 *word, u32 newKey)
|
||||
{
|
||||
*word ^= gSaveBlock2Ptr->encryptionKey;
|
||||
*word ^= newKey;
|
||||
}
|
||||
|
||||
void ApplyNewEncryptionKeyToAllEncryptedData(u32 encryptionKey)
|
||||
{
|
||||
ApplyNewEncryptionKeyToGameStats(encryptionKey);
|
||||
ApplyNewEncryptionKeyToBagItems_(encryptionKey);
|
||||
ApplyNewEncryptionKeyToBerryPowder(encryptionKey);
|
||||
ApplyNewEncryptionKeyToWord(&gSaveBlock1Ptr->money, encryptionKey);
|
||||
ApplyNewEncryptionKeyToHword(&gSaveBlock1Ptr->coins, encryptionKey);
|
||||
}
|
||||
|
||||
+2
-2
@@ -45,7 +45,7 @@ void m4aMPlayVolumeControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u16
|
||||
mplayInfo->ident = ID_NUMBER;
|
||||
}
|
||||
|
||||
void m4aMPlayPitchControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u16 pitch)
|
||||
void m4aMPlayPitchControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, s16 pitch)
|
||||
{
|
||||
s32 i;
|
||||
u32 bit;
|
||||
@@ -66,7 +66,7 @@ void m4aMPlayPitchControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u16
|
||||
{
|
||||
if (track->flags & MPT_FLG_EXIST)
|
||||
{
|
||||
track->keyShiftX = (s16)pitch >> 8;
|
||||
track->keyShiftX = pitch >> 8;
|
||||
track->pitX = pitch;
|
||||
track->flags |= MPT_FLG_PITCHG;
|
||||
}
|
||||
|
||||
+1
-3
@@ -1,14 +1,12 @@
|
||||
|
||||
// Includes
|
||||
#include "global.h"
|
||||
#include "main.h"
|
||||
#include "overworld.h"
|
||||
#include "task.h"
|
||||
#include "unknown_task.h"
|
||||
#include "palette.h"
|
||||
#include "text.h"
|
||||
#include "menu.h"
|
||||
#include "menu_helpers.h"
|
||||
#include "text.h"
|
||||
#include "text_window.h"
|
||||
#include "string_util.h"
|
||||
#include "international_string_util.h"
|
||||
|
||||
+2
-2
@@ -1297,13 +1297,13 @@ bool8 IsPokeSpriteNotFlipped(u16 species)
|
||||
return gBaseStats[species].noFlip;
|
||||
}
|
||||
|
||||
s8 GetMonFlavourRelation(struct Pokemon *mon, u8 a2)
|
||||
s8 GetMonFlavorRelation(struct Pokemon *mon, u8 a2)
|
||||
{
|
||||
u8 nature = GetNature(mon);
|
||||
return gPokeblockFlavorCompatibilityTable[nature * 5 + a2];
|
||||
}
|
||||
|
||||
s8 GetFlavourRelationByPersonality(u32 personality, u8 a2)
|
||||
s8 GetFlavorRelationByPersonality(u32 personality, u8 a2)
|
||||
{
|
||||
u8 nature = GetNatureFromPersonality(personality);
|
||||
return gPokeblockFlavorCompatibilityTable[nature * 5 + a2];
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "sound.h"
|
||||
#include "species.h"
|
||||
#include "sprite.h"
|
||||
#include "unk_text_util.h"
|
||||
#include "string_util.h"
|
||||
#include "task.h"
|
||||
#include "text.h"
|
||||
@@ -166,9 +167,7 @@ extern s32 GetStringCenterAlignXOffset(u8 fontId, u8 *str, s32 totalWidth);
|
||||
extern s32 GetStringRightAlignXOffset(u8 fontId, u8 *str, s32 totalWidth);
|
||||
extern bool8 sub_81A6BF4();
|
||||
extern bool8 sub_81B9E94();
|
||||
extern void sub_81AFBF0();
|
||||
extern u8 sub_81AFC0C(u8 a, u8 *b);
|
||||
extern void sub_81AFC28(u8 *a, u8 *b);
|
||||
extern void UnkTextUtil_Reset();
|
||||
extern void sub_8124610(u8 *a, u8 b);
|
||||
extern int GetPlayerIDAsU32();
|
||||
extern u8 GetCurrentPpToMaxPpState(u8 a, u8 b);
|
||||
@@ -2993,12 +2992,12 @@ void sub_81C307C()
|
||||
{
|
||||
struct PokeSummary *sum = &gUnknown_0203CF1C->summary;
|
||||
u8 *text;
|
||||
sub_81AFBF0();
|
||||
sub_81AFC0C(0, gUnknown_0861CE74);
|
||||
sub_81AFC0C(1, gUnknown_0861CE7B);
|
||||
UnkTextUtil_Reset();
|
||||
UnkTextUtil_SetPtrI(0, gUnknown_0861CE74);
|
||||
UnkTextUtil_SetPtrI(1, gUnknown_0861CE7B);
|
||||
sub_81C31C0();
|
||||
if (sub_81A6BF4() == TRUE || sub_81B9E94() == TRUE || sub_81C3304() == TRUE)
|
||||
sub_81AFC28(gStringVar4, gText_XNature);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gText_XNature);
|
||||
else
|
||||
{
|
||||
u8 *alloced1 = Alloc(32);
|
||||
@@ -3007,7 +3006,7 @@ void sub_81C307C()
|
||||
if (sum->metLocation <= 0xD4)
|
||||
{
|
||||
sub_8124610(alloced2, sum->metLocation);
|
||||
sub_81AFC0C(4, alloced2);
|
||||
UnkTextUtil_SetPtrI(4, alloced2);
|
||||
}
|
||||
if (sub_81C3220() == 1)
|
||||
{
|
||||
@@ -3022,7 +3021,7 @@ void sub_81C307C()
|
||||
text = (sum->metLocation > 0xD4) ? gText_XNatureObtainedInTrade : gText_XNatureProbablyMetAt;
|
||||
else
|
||||
text = gText_XNatureObtainedInTrade;
|
||||
sub_81AFC28(gStringVar4, text);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, text);
|
||||
Free(alloced1);
|
||||
Free(alloced2);
|
||||
}
|
||||
@@ -3036,8 +3035,8 @@ void sub_81C3194()
|
||||
void sub_81C31C0()
|
||||
{
|
||||
struct UnkSummaryStruct *sumStruct = gUnknown_0203CF1C;
|
||||
sub_81AFC0C(2, gNatureNamePointers[sumStruct->summary.nature]);
|
||||
sub_81AFC0C(5, gText_EmptyString5);
|
||||
UnkTextUtil_SetPtrI(2, gNatureNamePointers[sumStruct->summary.nature]);
|
||||
UnkTextUtil_SetPtrI(5, gText_EmptyString5);
|
||||
}
|
||||
|
||||
void sub_81C31F0(u8 *a)
|
||||
@@ -3046,7 +3045,7 @@ void sub_81C31F0(u8 *a)
|
||||
if (level == 0)
|
||||
level = 5;
|
||||
ConvertIntToDecimalStringN(a, level, 0, 3);
|
||||
sub_81AFC0C(3, a);
|
||||
UnkTextUtil_SetPtrI(3, a);
|
||||
}
|
||||
|
||||
u8 sub_81C3220()
|
||||
@@ -3301,12 +3300,12 @@ void sub_81C3710()
|
||||
ConvertIntToDecimalStringN(alloced2, gUnknown_0203CF1C->summary.maxHP, 1, 3);
|
||||
ConvertIntToDecimalStringN(alloced3, gUnknown_0203CF1C->summary.atk, 1, 7);
|
||||
ConvertIntToDecimalStringN(alloced4, gUnknown_0203CF1C->summary.def, 1, 7);
|
||||
sub_81AFBF0();
|
||||
sub_81AFC0C(0, alloced1);
|
||||
sub_81AFC0C(1, alloced2);
|
||||
sub_81AFC0C(2, alloced3);
|
||||
sub_81AFC0C(3, alloced4);
|
||||
sub_81AFC28(gStringVar4, gUnknown_0861CE82);
|
||||
UnkTextUtil_Reset();
|
||||
UnkTextUtil_SetPtrI(0, alloced1);
|
||||
UnkTextUtil_SetPtrI(1, alloced2);
|
||||
UnkTextUtil_SetPtrI(2, alloced3);
|
||||
UnkTextUtil_SetPtrI(3, alloced4);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_0861CE82);
|
||||
Free(alloced1);
|
||||
Free(alloced2);
|
||||
Free(alloced3);
|
||||
@@ -3323,11 +3322,11 @@ void sub_81C3808()
|
||||
ConvertIntToDecimalStringN(gStringVar1, gUnknown_0203CF1C->summary.spatk, 1, 3);
|
||||
ConvertIntToDecimalStringN(gStringVar2, gUnknown_0203CF1C->summary.spdef, 1, 3);
|
||||
ConvertIntToDecimalStringN(gStringVar3, gUnknown_0203CF1C->summary.speed, 1, 3);
|
||||
sub_81AFBF0();
|
||||
sub_81AFC0C(0, gStringVar1);
|
||||
sub_81AFC0C(1, gStringVar2);
|
||||
sub_81AFC0C(2, gStringVar3);
|
||||
sub_81AFC28(gStringVar4, gUnknown_0861CE8E);
|
||||
UnkTextUtil_Reset();
|
||||
UnkTextUtil_SetPtrI(0, gStringVar1);
|
||||
UnkTextUtil_SetPtrI(1, gStringVar2);
|
||||
UnkTextUtil_SetPtrI(2, gStringVar3);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_0861CE8E);
|
||||
}
|
||||
|
||||
void sub_81C3890()
|
||||
@@ -3436,10 +3435,10 @@ void sub_81C3B08(u8 a)
|
||||
sub_81C25A4(r8, gMoveNames[move], 0, (a<<4) + 1, 0, 1);
|
||||
ConvertIntToDecimalStringN(gStringVar1, r10->summary.pp[a], 1, 2);
|
||||
ConvertIntToDecimalStringN(gStringVar2, r6, 1, 2);
|
||||
sub_81AFBF0();
|
||||
sub_81AFC0C(0, gStringVar1);
|
||||
sub_81AFC0C(1, gStringVar2);
|
||||
sub_81AFC28(gStringVar4, gUnknown_0861CE97);
|
||||
UnkTextUtil_Reset();
|
||||
UnkTextUtil_SetPtrI(0, gStringVar1);
|
||||
UnkTextUtil_SetPtrI(1, gStringVar2);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_0861CE97);
|
||||
text = gStringVar4;
|
||||
r5 = GetCurrentPpToMaxPpState(r10->summary.pp[a], r6) + 9;
|
||||
offset = GetStringRightAlignXOffset(1, text, 0x2C);
|
||||
@@ -3531,17 +3530,17 @@ void sub_81C3B08(u8 a)
|
||||
movs r2, 0x1\n\
|
||||
movs r3, 0x2\n\
|
||||
bl ConvertIntToDecimalStringN\n\
|
||||
bl sub_81AFBF0\n\
|
||||
bl UnkTextUtil_Reset\n\
|
||||
movs r0, 0\n\
|
||||
mov r1, r8\n\
|
||||
bl sub_81AFC0C\n\
|
||||
bl UnkTextUtil_SetPtrI\n\
|
||||
movs r0, 0x1\n\
|
||||
adds r1, r4, 0\n\
|
||||
bl sub_81AFC0C\n\
|
||||
bl UnkTextUtil_SetPtrI\n\
|
||||
ldr r4, =gStringVar4\n\
|
||||
ldr r1, =gUnknown_0861CE97\n\
|
||||
adds r0, r4, 0\n\
|
||||
bl sub_81AFC28\n\
|
||||
bl UnkTextUtil_StringExpandPlaceholders\n\
|
||||
adds r7, r4, 0\n\
|
||||
ldrb r0, [r5]\n\
|
||||
adds r1, r6, 0\n\
|
||||
|
||||
+1
-3
@@ -1,7 +1,6 @@
|
||||
|
||||
// Includes
|
||||
#include "global.h"
|
||||
#include "main.h"
|
||||
#include "text.h"
|
||||
#include "menu.h"
|
||||
#include "malloc.h"
|
||||
#include "gpu_regs.h"
|
||||
@@ -17,7 +16,6 @@
|
||||
#include "string_util.h"
|
||||
#include "international_string_util.h"
|
||||
#include "strings.h"
|
||||
#include "text.h"
|
||||
#include "text_window.h"
|
||||
#include "songs.h"
|
||||
#include "m4a.h"
|
||||
|
||||
@@ -13,8 +13,6 @@
|
||||
#define MSG_WIN_TOP 12
|
||||
#define CLOCK_WIN_TOP (MSG_WIN_TOP - 4)
|
||||
|
||||
extern void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, struct TextColor *color, s8 speed, u8 *str);
|
||||
|
||||
extern void (*gGameContinueCallback)(void);
|
||||
|
||||
extern u32 gDamagedSaveSectors;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user